fixes for fresh ecne install
authorIan Kelling <iank@fsf.org>
Tue, 3 Dec 2024 13:10:36 +0000 (08:10 -0500)
committerIan Kelling <iank@fsf.org>
Tue, 3 Dec 2024 13:10:36 +0000 (08:10 -0500)
fai-redep
fai/config/class/50-host-classes
fai/config/class/ECNE.var [deleted file]
fai/config/files/etc/apt/preferences.d/ecne-missing/ECNE_MISSING [moved from fai/config/files/etc/apt/preferences.d/ecne-missing/ECNE with 100% similarity]
fai/config/files/etc/apt/sources.list.d/ecne-missing.list/ECNE_MISSING [moved from fai/config/files/etc/apt/sources.list.d/ecne-missing.list/ECNE with 100% similarity]
fai/config/package_config/MINT.gpg [moved from fai/config/package_config/ECNE_EXTRA.gpg with 100% similarity]
fai/config/scripts/IANK/11-iank
lk

index f893432881e5733c73bfed106639308a1e27063c..95991d0aadb56ae661a000337c937f20c49723ae 100755 (executable)
--- a/fai-redep
+++ b/fai-redep
@@ -127,7 +127,8 @@ else
   rsrv -rlpt /q/root/shadow /q/root/luks /fai/config/distro-install-common
 fi
 
-rsrv -rlpt --delete /a/opt/btrfs-progs-release /a/opt/btrfs-progs /fai/config/distro-install-common
+# note: if we need specific btrfs dev version, add/change source to /a/opt/btrfs-progs
+rsrv -rlpt --delete /a/opt/btrfs-progs-release /fai/config/distro-install-common
 
 dirs=(/p/c/machine_specific/${target:-*}/filesystem/etc/ssh)
 if [[ -e ${dirs[0]} ]]; then
index 7fb3e6476056b1e706627218819057ed4245a399..a272d75b9dfbf571fb6b5135367b98df3bdffb77 100755 (executable)
@@ -48,7 +48,7 @@ echo FAIBASE STANDARD DEBIAN
 # BULLSEYE_FREE, BULLSEYE_NONFREE
 # BOOKWORM_FREE, BOOKWORM_NONFREE
 # TESTING_FREE, TESTING_NONFREE,
-# XENIAL_FREE, BIONIC, FOCAL, FLIDAS, ETIONA, NABIA, ARAMO, ECNE.
+# XENIAL_FREE, BIONIC, FOCAL, FLIDAS, ETIONA, NABIA, ARAMO, ECNE, ECNE_MISSING (some noble packages).
 #
 # It's all a little redundant in some cases, but it keeps things
 # simpler.
diff --git a/fai/config/class/ECNE.var b/fai/config/class/ECNE.var
deleted file mode 100644 (file)
index b5191c4..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-# note: at least on t12, if linux-libre is installed at the same time or
-# before initramfs-tools, then it won't generate an initrd file, until
-# you do dpkg-reconfigure
-
-kernelname=linux-libre
index 424b57d47e01b5ff44e95adcb11af4aa5932939a..a5638745d93d9f40cefbc3e979ab9a52f69ba732 100755 (executable)
@@ -54,7 +54,7 @@ if [[ ! -e $dst && -e $src ]]; then
   mount -o bind $src $dst
 fi
 
-chmod 700 /mnt/root
+chmod 700 $target/mnt/root
 
 $FAI/distro-install-common/end
 
@@ -207,19 +207,6 @@ dns=systemd-resolved
 EOF
 
 
-  if [[ ! $FAI_WRAPPER || $SSH_CLIENT ]]; then
-    # for running from fai or remote connections, don't kill the internet
-    ethusb_arg=-c
-  fi
-  if [[ $(timeout 1 dig +short @10.2.0.1 -x 10.2.0.2 2>&1 ||:) == kd.b8.nz. ]] \
-       && ip n show 10.2.0.1 | grep . &>/dev/null; then
-    # we are at_home
-    $FAI/distro-install-common/ethusb-static $ethusb_arg
-  else
-    $FAI/distro-install-common/ethusb-static off $ethusb_arg
-  fi
-
-
 else
   cat > $target/etc/network/interfaces <<-EOF
 # generated by FAI
@@ -400,25 +387,23 @@ for f in $(dpkg-query -L btrfs-progs | grep '/man/|^/s?bin/|^/usr/lib/udev') ; d
   $ROOTCMD dpkg-divert --no-rename --local --add $f
 done
 
-## using dev version for bug fix temporarily. when done, set this to false,
-## and we can stop copying it in fai-redep.
-static_ver=true
+# from packages listed in .github/workflows/devel.yml
+# The dumb makefile makes us build docs even if they were already built.
+if ! type -p sphinx-build &>/dev/null; then
+  $ROOTCMD apt-get -y install python3-sphinx-rtd-theme
+fi
+
+
+## If we need to use a dev version temporarily, this to true
+## and copy it over in fai-redep. See comment there.
+static_ver=false
 if $static_ver; then
   # The version with the bug fix is really some git version, but this is
   # what it outputs for --version.
   ver=6.10
   bp_dirname=btrfs-progs
-  if grep -F 'VERSION_CODENAME="aramo"' /etc/os-release; then
-    bp_dirname=btrfs-progs-t11
-  fi
 else
-  # from packages listed in .github/workflows/devel.yml
-  # The dumb makefile makes us build docs even if they were already built.
-  if ! type -p sphinx-build &>/dev/null; then
-    $ROOTCMD apt-get -y install python3-sphinx-rtd-theme
-  fi
 
-  python3-sphinx-rtd-theme
   bp_dirname=btrfs-progs-release
   # latest released version.
   pre=https://mirrors.edge.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs
@@ -438,8 +423,10 @@ fi
 
 last_built_ver=$($bp_dir/btrfs --version 2>/dev/null | head -n1 | awk '{print $2}')
 
+# todo: this doesn't account for multiple distros versions that require
+# their own builds.
 if [[ $ver != "$cur_ver" ]]; then
-  # Assume we've build the static_ver version.
+  # Assumes we've pre-built the static_ver version if we are using that.
   if $static_ver || [[ $ver == "$last_built_ver" ]]; then
     if ! $ROOTCMD dpkg -s -- build-essential  2>&1 | grep -Fx "Status: install ok installed" &>/dev/null; then
       $ROOTCMD apt-get -y install build-essential
@@ -460,7 +447,7 @@ if [[ $ver != "$cur_ver" ]]; then
       $ROOTCMD bash -xe <<EOF
 cd /tmp/bprogs
 make install
-mv /usr/bin/{fsck,mkfs}.btfs /usr/sbin/
+mv /usr/bin/{fsck,mkfs}.btrfs /usr/sbin/
 EOF
     fi
   else
@@ -471,10 +458,12 @@ EOF
     # using repos that are pinned negative, and pulling in uninstallable
     # packages.
     #
-    # todo: this isn't considering the chroot.
+    # todo: this isn't considering the chroot, assumes we've built it
+    # outside the chroot and won't get into this case.
     if [[ -e /b/distro-functions/src/package-manager-abstractions ]]; then
       . /b/distro-functions/src/package-manager-abstractions
-      p build-dep btrfs-progs/$(debian-codename) -y
+      debian_codename=$(debian-codename)
+      p build-dep btrfs-progs/$debian_codename -y
     else
       $ROOTCMD apt-get -y build-dep btrfs-progs
     fi
diff --git a/lk b/lk
index 3364717a549500c63192d7e1da6fec2d5dba012d..117e8d4d5586b295f0c1eee6ada1786f6663f4cd 100755 (executable)
--- a/lk
+++ b/lk
@@ -33,10 +33,12 @@ Alternative to http server:
 2. On another machine nc INSTALL_MACHINE 1234 <live-kexec
 Obviously beware that anyone on your network could send commands to the install machine.
 
-This has been tested on trisquel 7 & 8 & ubuntu 16.04 & 18.10.  With
+This has been tested on trisquel 7,8,11 & ubuntu 16.04 & 18.10.  With
 18.10 and trisquel 8 on an x200, kexec was unreliable, resulting in
 freezes and kernel panics. On t11, linux 5.15.0-40-generic, after kexec,
-black screen, ping worked but nothing else. Debian 11 live image worked.
+black screen, ping worked but nothing else. More recently, t11 live cd
+worked fine. Debian 11 live image worked. Note: t12 and debian bookworm
+no longer have the package pxe-kexec packaged.
 
 If the screen just sits in a weird color inverted, corrupted looking state,
 it's probably nothing wrong with the computer, but a problem