host=$1
# ||: because if we are using 2+ resolvers, 1 may fail, causing error, but we still get
# a valid address and we just use that
-addr=$(host $host | sed -rn 's/^\S+ has address //p;T;q' ||:)
+host_output=$(host $host ||:)
+addr=$(printf "%s\n" "$host_output" | sed -rn 's/^\S+ has address //p;T;q' ||:)
+if [[ ! $addr ]]; then
+ echo "error: chost: found no address found from host $host. stdout: $host_output" >&2
+ exit 1
+fi
h=$(host $addr)
case $h in
*"no PTR record")
rsrv -rlpt /q/root/shadow /q/root/luks /fai/config/distro-install-common
fi
-rsrv -rlpt --delete /a/bin/ds/bash-lib-u /a/opt/btrfs-progs-release /a/opt/btrfs-progs /fai/config/distro-install-common
+rsrv -rlpt --delete /a/opt/btrfs-progs-release /a/opt/btrfs-progs /fai/config/distro-install-common
dirs=(/p/c/machine_specific/${target:-*}/filesystem/etc/ssh)
if [[ -e ${dirs[0]} ]]; then
Setup fai or arch pxe (depending on $0 name)
then start a virtual machine to test the config
+note: useful for debugging:
+apt install guestmount
+guestmount -a /var/lib/libvirt/images/demohost1 -i --ro /mnt/1
+# when done:
+guestunmount /mnt/1
+
todo: make it so this can run this on a network we dont control, the 2
ways I know which could work are either running in libvirt's the nated
network, and altering the dnsmasq options for the dnsmasq that runs in
# if we only have wifi, cant use eth0
net_arg="-w network=default,mac=52:54:00:9c:ef:ad"
+
+
+ # make the dynamic range not conflict with static ip.
+ sub="range start='192.168.122.100' end='192.168.122.254'"
+ if ! virsh net-dumpxml default | grep -F "$sub" &>/dev/null; then
+ virsh net-update default delete ip-dhcp-range '<range start="192.168.122.2" end="192.168.122.254"/>' --live --config
+ virsh net-update default add ip-dhcp-range "<range $sub/>" --live --config
+ fi
+ sub="name='demohost' ip='192.168.122.84'"
+ if ! virsh net-dumpxml default | grep -F "$sub" &>/dev/null; then
+ virsh net-update default add ip-dhcp-host "<host mac='52:54:00:9c:ef:ad' $sub />" --live --config;
+ fi
fi
if [[ $this_dir == /a/bin/* ]]; then
# something like:
# init_module+0x108/0x1000 [raid6_pq]
#
-# uniq is to stop gtk-warning spam
-# e virt-install --os-variant $variant -n $name --pxe -r 2048 --vcpus 1 \
- # ${disk_arg[*]} -w bridge=br0,mac=52:54:00:9c:ef:ad $reboot_arg \
- # --graphics spice,listen=0.0.0.0 $console_arg |& grep -v '^ *$' | uniq &
cpus=1
if (( $(nproc) > 2 )); then
fi
e systemctl start libvirtd
+if [[ ! $SSH_CLIENT ]]; then
+ graphics_arg="--graphics spice,listen=0.0.0.0"
+fi
+
e virt-install --rng /dev/urandom --os-variant $variant -n $name $boot_arg -r 2048 --vcpus $cpus \
${disk_arg[*]} $net_arg $reboot_arg \
- --graphics spice,listen=0.0.0.0 $console_arg |& grep -v '^ *$' | uniq &
+ $graphics_arg $console_arg
-if [[ $SSH_CLIENT ]]; then
- fg
-fi
-
sleep 90
while ! timeout -s 9 10 ssh -oBatchMode=yes root@$name true; do
e sleep 5
done
+
+if [[ $SSH_CLIENT ]]; then
+ echo ssh succeed, because we are in ssh, now waiting on virt-install
+ wait %%
+fi
unset -f err-cleanup
if $pxe; then
rm -f /tmp/fai-revm-did-pxe
#! /bin/bash
-
+_
# do only execute if this is called on the client being installed. Do not use during fai-diskimage
if [ X$FAI_ACTION = Xinstall -a $do_init_tasks -eq 0 ]; then
exit 0
# NABIA_EXTRA: extra repos for NABIA from other distros
# ARAMO_EXTRA: extra repos for ARAMO from other distros
#
-# UBUNTU_UP: for trisquel, we want to inherit ubuntu things, except for
-# some ubuntu things which go in this class. UP = upstream.
-#
# D16: for kgpe-d16 specific settings.
#
# JAMMY_FIRMWARE: for trisquel install to get nonfree firmware from
--- /dev/null
+# 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
--- /dev/null
+Package: *
+Pin: release a=ecne
+Pin-Priority: -100
+
+Package: *
+Pin: release a=ecne-updates
+Pin-Priority: -100
+
+Package: *
+Pin: release a=ecne-security
+Pin-Priority: -100
+
+Package: *
+Pin: release a=ecne-backports
+Pin-Priority: -100
Package: *
Pin: release n=noble,o=Ubuntu
Pin-Priority: -100
+
+Package: *
+Pin: release o=linuxmint
+Pin-Priority: -100
--- /dev/null
+Package: *
+Pin: release n=noble,o=Ubuntu
+Pin-Priority: -100
+
+Package: 9menu a11y-profile-manager a11y-profile-manager-doc a11y-profile-manager-indicator abiword abiword-common abiword-plugin-grammar acetoneiso akregator apache2 apache2 apache2 apache2-bin apache2-bin apache2-bin apache2-data apache2-data apache2-data apache2-dev apache2-dev apache2-dev apache2-doc apache2-doc apache2-doc apache2-ssl-dev apache2-ssl-dev apache2-ssl-dev apache2-suexec-custom apache2-suexec-custom apache2-suexec-custom apache2-suexec-pristine apache2-suexec-pristine apache2-suexec-pristine apache2-utils apache2-utils apache2-utils apparmor apparmor apparmor-notify apparmor-notify apparmor-profiles apparmor-profiles apparmor-utils apparmor-utils app-install-data apt apt-doc aptitude aptitude-common aptitude-doc-cs aptitude-doc-en aptitude-doc-es aptitude-doc-fi aptitude-doc-fr aptitude-doc-it aptitude-doc-ja aptitude-doc-nl aptitude-doc-ru apt-mirror apt-move apt-transport-https apt-utils arctica-greeter arctica-greeter-guest-session arctica-greeter-remote-logon arctica-greeter-theme-debian arctica-greeter-theme-debian-emerald arctica-greeter-theme-debian-futureprototype arctica-greeter-theme-debian-homeworld arctica-greeter-theme-debian-softwaves argon2 asunder at-spi2-common at-spi2-core at-spi2-doc b43-fwcutter base-files bash bash-builtins bash-doc bash-static bdf2psf bibledit bibledit-cloud bibledit-cloud-data bibledit-data bible-kjv bible-kjv-text bibletime bibletime-data bleachbit bogl-bterm bogl-utils boinc boinc-client boinc-client-nvidia-cuda boinc-client-opencl boinc-dev boinc-manager boinc-screensaver brltty brltty-espeak brltty-flite brltty-speechd brltty-x11 bsdextrautils bsdutils btrfs-progs budgie-arm-environment budgie-desktop-environment budgie-lightdm-theme budgie-lightdm-theme-base budgie-live-settings budgie-raspi-settings bumblebee busybox busybox busybox busybox-initramfs busybox-initramfs busybox-initramfs busybox-static busybox-static busybox-static busybox-syslogd busybox-syslogd busybox-syslogd ca-certificates casper cdebconf cdebconf-gtk cdrkit-doc chromium-browser-l10n chromium-chromedriver chromium-codecs-ffmpeg chromium-codecs-ffmpeg-extra cl-brlapi comerr-dev command-not-found compiz compizconfig-settings-manager compiz-core compiz-dev compiz-gnome compiz-mate compiz-plugins compiz-plugins-default compiz-plugins-extra compiz-plugins-main compiz-plugins-main-default compiz-plugins-main-dev compton connman connman-dev connman-doc connman-tests connman-vpn console-setup console-setup-linux console-setup-mini cron cron-daemon-common cryptsetup cryptsetup-bin cryptsetup-initramfs cryptsetup-ssh cryptsetup-suspend cups-filters cups-filters-core-drivers debian-mate-default-settings debian-ports-archive-keyring debian-reference debian-reference-common debian-reference-de debian-reference-en debian-reference-es debian-reference-fr debian-reference-id debian-reference-it debian-reference-ja debian-reference-pt debian-reference-pt-br debian-reference-zh-cn debian-reference-zh-tw debootstrap deja-dup desktop-file-utils devscripts dh-apparmor dh-apparmor dh-modaliases dirmngr distro-info distro-info-data distro-info-data distro-info-data dmeventd dmidecode dmraid dmsetup dosfstools doxygen doxygen-doc doxygen-doxyparse doxygen-gui doxygen-latex dpkg dpkg dpkg dpkg-dev dpkg-dev dpkg-dev dselect dselect dselect dsniff e2fsck-static e2fsprogs e2fsprogs-l10n eapoltest eapoltest eapoltest eject emacs emacs-bin-common emacs-common emacs-el emacs-gtk emacs-lucid emacs-nox emacs-pgtk epiphany-browser epiphany-browser-data epoptes epoptes-client espeakup evince evince-common expat fdisk fglrx-pxpress finch finch-dev firefox-locale-af firefox-locale-an firefox-locale-ar firefox-locale-as firefox-locale-ast firefox-locale-az firefox-locale-be firefox-locale-bg firefox-locale-bn firefox-locale-br firefox-locale-bs firefox-locale-ca firefox-locale-cak firefox-locale-cs firefox-locale-csb firefox-locale-cy firefox-locale-da firefox-locale-de firefox-locale-el firefox-locale-en firefox-locale-eo firefox-locale-es firefox-locale-et firefox-locale-eu firefox-locale-fa firefox-locale-fi firefox-locale-fr firefox-locale-fy firefox-locale-ga firefox-locale-gd firefox-locale-gl firefox-locale-gn firefox-locale-gu firefox-locale-he firefox-locale-hi firefox-locale-hr firefox-locale-hsb firefox-locale-hu firefox-locale-hy firefox-locale-ia firefox-locale-id firefox-locale-is firefox-locale-it firefox-locale-ja firefox-locale-ka firefox-locale-kab firefox-locale-kk firefox-locale-km firefox-locale-kn firefox-locale-ko firefox-locale-ku firefox-locale-lg firefox-locale-lt firefox-locale-lv firefox-locale-mai firefox-locale-mk firefox-locale-ml firefox-locale-mn firefox-locale-mr firefox-locale-ms firefox-locale-my firefox-locale-nb firefox-locale-ne firefox-locale-nl firefox-locale-nn firefox-locale-nso firefox-locale-oc firefox-locale-or firefox-locale-pa firefox-locale-pl firefox-locale-pt firefox-locale-ro firefox-locale-ru firefox-locale-si firefox-locale-sk firefox-locale-sl firefox-locale-sq firefox-locale-sr firefox-locale-sv firefox-locale-sw firefox-locale-szl firefox-locale-ta firefox-locale-te firefox-locale-th firefox-locale-tr firefox-locale-uk firefox-locale-ur firefox-locale-uz firefox-locale-vi firefox-locale-xh firefox-locale-zh-hans firefox-locale-zh-hant firefox-locale-zu foomatic-filters foomatic-filters-beh freedom-maker fuse fuse2fs fuse3 fwupdate genisoimage gimp gimp gimp-data gimp-data gir1.2-a11yprofilemanager-0.1 gir1.2-abi-3.0 gir1.2-atk-1.0 gir1.2-atspi-2.0 gir1.2-evince-3.0 gir1.2-gmenu-3.0 gir1.2-goa-1.0 gir1.2-libxfce4ui-2.0 gir1.2-lightdm-1 gir1.2-matemenu-2.0 gir1.2-matepanelapplet-4.0 gir1.2-nautilus-4.0 gir1.2-nautilus-4.0 gir1.2-nm-1.0 gir1.2-packagekitglib-1.0 gir1.2-rb-3.0 glibc-doc glibc-doc glibc-doc glibc-source glibc-source glibc-source gnome gnome-accessibility-profiles gnome-api-docs gnome-boxes gnome-brave-icon-theme gnome-colors gnome-colors-common gnome-control-center gnome-control-center-data gnome-control-center-dev gnome-control-center-faces gnome-core gnome-devel gnome-dust-icon-theme gnome-flashback gnome-flashback-common gnome-games gnome-human-icon-theme gnome-illustrious-icon-theme gnome-menus gnome-noble-icon-theme gnome-online-accounts gnome-platform-devel gnome-session gnome-session-bin gnome-session-common gnome-session-flashback gnome-startup-applications gnome-tweaks gnome-user-docs gnome-user-docs-as gnome-user-docs-ca gnome-user-docs-cs gnome-user-docs-da gnome-user-docs-de gnome-user-docs-el gnome-user-docs-es gnome-user-docs-eu gnome-user-docs-fa gnome-user-docs-fi gnome-user-docs-fr gnome-user-docs-gl gnome-user-docs-gu gnome-user-docs-he gnome-user-docs-hi gnome-user-docs-hr gnome-user-docs-hu gnome-user-docs-id gnome-user-docs-it gnome-user-docs-ja gnome-user-docs-kn gnome-user-docs-ko gnome-user-docs-lt gnome-user-docs-lv gnome-user-docs-mr gnome-user-docs-nl gnome-user-docs-pa gnome-user-docs-pl gnome-user-docs-pt gnome-user-docs-ro gnome-user-docs-ru gnome-user-docs-sl gnome-user-docs-sr gnome-user-docs-sv gnome-user-docs-ta gnome-user-docs-te gnome-user-docs-tr gnome-user-docs-uk gnome-user-docs-vi gnome-user-docs-zh-hans gnome-wine-icon-theme gnome-wise-icon-theme gnupg gnupg2 gnupg-agent gnupg-l10n gnupg-utils gpg gpg-agent gpgconf gpgrt-tools gpgsm gpgv gpgv-static gpgv-win32 gpg-wks-client gpg-wks-server greybird-gtk-theme grub2 grub2-common grub-common grub-coreboot grub-coreboot-bin grub-coreboot-dbg grub-efi grub-efi-amd64 grub-efi-amd64-bin grub-efi-amd64-dbg grub-efi-amd64-signed grub-efi-amd64-signed-template grub-efi-ia32 grub-efi-ia32-bin grub-efi-ia32-dbg grub-emu grub-emu-dbg grub-firmware-qemu grub-ieee1275 grub-ieee1275-bin grub-ieee1275-dbg grub-linuxbios grub-pc grub-pc-bin grub-pc-dbg grub-rescue-pc grub-theme-starfield grub-xen grub-xen-bin grub-xen-dbg grub-xen-host gstreamer1.0-packagekit gtk2-engines-oxygen haveged hexchat hexchat-common hexchat-dev hexchat-lua hexchat-perl hexchat-plugins hexchat-python3 holotz-castle holotz-castle-data holotz-castle-editor hostapd hostapd hostapd hpijs-ppds hplip hplip-data hplip-doc hplip-gui humanity-icon-theme icedax indicator-applet indicator-datetime indicator-session initramfs-tools initramfs-tools-bin initramfs-tools-core isc-dhcp-client isc-dhcp-client-ddns isc-dhcp-common isc-dhcp-dev isc-dhcp-keama isc-dhcp-relay isc-dhcp-server isc-dhcp-server-ldap iscsiuio iscsiuio jfsutils kbd kde-config-telepathy-accounts kde-config-updates kde-config-whoopsie kernel-wedge keyboard-configuration keyboxd kmod kodi-inputstream-adaptive kodi-inputstream-rtmp kopete kopete-data kpartx kpartx-boot language-selector-common language-selector-gnome lib32ncurses6 lib32ncurses-dev lib32ncursesw6 lib32tinfo6 lib32z1 lib32z1-dev liba11y-profile-manager-0.1-0 liba11y-profile-manager-0.1-dev liba11y-profile-manager-data libabiword-3.0 libabiword-dev libaio1t64 libaio-dev libapache2-mod-apparmor libapache2-mod-apparmor libapache2-mod-md libapache2-mod-md libapache2-mod-md libapache2-mod-proxy-uwsgi libapache2-mod-proxy-uwsgi libapache2-mod-proxy-uwsgi libapparmor1 libapparmor1 libapparmor-dev libapparmor-dev libapt-pkg6.0t64 libapt-pkg-dev libapt-pkg-doc libargon2-1 libargon2-dev libasound2-data libasound2-dev libasound2-doc libasound2-plugin-smixer libasound2t64 libatk1.0-0t64 libatk1.0-dev libatk1.0-doc libatk-adaptor libatk-bridge2.0-0t64 libatk-bridge2.0-dev libatopology2t64 libatopology-dev libatspi2.0-0t64 libatspi2.0-dev libbiblesync1.1 libbiblesync-dev libblkid1 libblkid-dev libbogl0 libbogl-dev libboinc7t64 libboinc-app7t64 libboinc-app-dev libbrlapi0.8 libbrlapi-dev libbrlapi-java libbrlapi-jni libbsd0 libbsd-dev libbtrfs0t64 libbtrfs-dev libbtrfsutil1t64 libbtrfsutil-dev libc6 libc6 libc6 libc6-dbg libc6-dbg libc6-dbg libc6-dev libc6-dev libc6-dev libc6-dev-i386 libc6-dev-i386 libc6-dev-i386 libc6-dev-x32 libc6-dev-x32 libc6-dev-x32 libc6-i386 libc6-i386 libc6-i386 libc6-x32 libc6-x32 libc6-x32 libcap2 libcap2-bin libcap-dev libc-bin libc-bin libc-bin libc-dev-bin libc-dev-bin libc-dev-bin libc-devtools libc-devtools libc-devtools libcolorcorrect5 libcolorcorrect5 libcolorcorrect5 libcom-err2 libcompizconfig0 libcompizconfig0-dev libcrypt1 libcrypt-dev libcryptsetup12 libcryptsetup-dev libdebconfclient0 libdebconfclient0-dev libdebian-installer4 libdebian-installer4-dev libdebian-installer-extra4 libdecoration0-dev libdecoration0t64 libdevmapper1.02.1 libdevmapper-dev libdevmapper-event1.02.1 libdistro-info-perl libdmraid1.0.0.rc16 libdmraid-dev libdpkg-dev libdpkg-dev libdpkg-dev libdpkg-perl libdpkg-perl libdpkg-perl libevdocument3-4t64 libevince-dev libevview3-3t64 libexpat1 libexpat1-dev libext2fs2t64 libext2fs-dev libfdisk1 libfdisk-dev libfribidi0 libfribidi-bin libfribidi-dev libfuse2t64 libfuse3-3 libfuse3-dev libfuse-dev libgcrypt20 libgcrypt20-dev libgcrypt20-doc libgcrypt-mingw-w64-dev libgimp2.0-dev libgimp2.0-dev libgimp2.0-doc libgimp2.0-doc libgimp2.0t64 libgimp2.0t64 libgnome-menu-3-0 libgnome-menu-3-dev libgoa-1.0-0b libgoa-1.0-common libgoa-1.0-dev libgoa-1.0-doc libgoa-backend-1.0-2 libgoa-backend-1.0-dev libgpg-error0 libgpg-error-dev libgpg-error-l10n libgpg-error-mingw-w64-dev libhavege2 libhavege-dev libhpmud0 libhpmud-dev libisns0t64 libisns-dev libiw30t64 libiw-dev libjson-c5 libjson-c-dev libjson-c-doc libkfontinst5 libkfontinst5 libkfontinst5 libkfontinstui5 libkfontinstui5 libkfontinstui5 libkmod2 libkmod-dev libkopete1 libkopete-dev libkworkspace5-5 libkworkspace5-5 libkworkspace5-5 liblightdm-gobject-1-0 liblightdm-gobject-1-dev liblightdm-gobject-1-doc liblightdm-qt5-3-0 liblightdm-qt5-3-dev liblvm2cmd2.03 liblvm2-dev liblzo2-2 liblzo2-dev libmate-menu2 libmate-menu-dev libmate-panel-applet-4-1 libmate-panel-applet-dev libmate-panel-applet-doc libmd0 libmd-dev libminizip1t64 libminizip-dev libmount1 libmount-dev libnautilus-extension4 libnautilus-extension4 libnautilus-extension-dev libnautilus-extension-dev libncurses6 libncurses-dev libncursesw6 libnewt0.52 libnewt-dev libnewt-pic libnginx-mod-http-geoip libnginx-mod-http-image-filter libnginx-mod-http-perl libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream libnginx-mod-stream-geoip libnl-3-200 libnl-3-200-dbg libnl-3-dev libnl-cli-3-200 libnl-cli-3-dev libnl-genl-3-200 libnl-genl-3-dev libnl-idiag-3-200 libnl-idiag-3-dev libnl-nf-3-200 libnl-nf-3-dev libnl-route-3-200 libnl-route-3-dev libnl-utils libnl-xfrm-3-200 libnl-xfrm-3-dev libnm0 libnm-dev libnotificationmanager1 libnotificationmanager1 libnotificationmanager1 libnss-myhostname libnss-myhostname libnss-mymachines libnss-mymachines libnss-resolve libnss-resolve libnss-systemd libnss-systemd libntfs-3g89t64 libnvpair3linux libopeniscsiusr libopeniscsiusr libopeniscsiusr-dev libopeniscsiusr-dev libpackagekit-glib2-18 libpackagekit-glib2-dev libpam-apparmor libpam-apparmor libpam-cap libpam-systemd libpam-systemd libparted2t64 libparted-dev libparted-fs-resize0t64 libparted-i18n libpci3 libpci-dev libpcre16-3 libpcre2-16-0 libpcre2-32-0 libpcre2-8-0 libpcre2-dev libpcre2-posix3 libpcre3 libpcre32-3 libpcre3-dbg libpcre3-dev libpcrecpp0v5 libplasma-geolocation-interface5 libplasma-geolocation-interface5 libplasma-geolocation-interface5 libplymouth5 libplymouth-dev libpopt0 libpopt-dev libpulse0 libpulse-dev libpulse-mainloop-glib0 libpurple0t64 libpurple-bin libpurple-dev libqt5pdf5 libqt5pdfwidgets5 libqt5webengine5 libqt5webenginecore5 libqt5webengine-data libqt5webenginewidgets5 libreiserfscore0t64 libreiserfscore-dev librhythmbox-core10 libsane-hpaio libselinux1 libselinux1-dev libslang2 libslang2-dev libslang2-modules libslang2-pic libsmartcols1 libsmartcols-dev libss2 libssl3t64 libssl3t64 libssl3t64 libssl-dev libssl-dev libssl-dev libssl-doc libssl-doc libssl-doc libsystemd0 libsystemd0 libsystemd-dev libsystemd-dev libsystemd-shared libsystemd-shared libtaskmanager6 libtaskmanager6 libtaskmanager6 libtextwrap1 libtextwrap-dev libtinfo6 libudev1 libudev1 libudev-dev libudev-dev libunity-core-6.0-9 libunity-core-6.0-dev libuuid1 libuutil3linux libva2 libva-dev libva-drm2 libva-glx2 libva-wayland2 libva-x11-2 libweather-ion7 libweather-ion7 libweather-ion7 libwpa-client-dev libwpa-client-dev libwpa-client-dev libx32z1 libx32z1-dev libxcrypt-source libxfce4ui-2-0 libxfce4ui-2-dev libxfce4ui-common libxfce4ui-glade libxfce4ui-utils libxnvctrl0 libxnvctrl-dev libzpool5linux libzstd1 libzstd-dev liferea liferea-data lightdm lightdm-gtk-greeter light-themes lighttpd lighttpd-doc lighttpd-mod-authn-gssapi lighttpd-mod-authn-pam lighttpd-mod-authn-sasl lighttpd-mod-deflate lighttpd-mod-gnutls lighttpd-mod-maxminddb lighttpd-mod-mbedtls lighttpd-mod-nss lighttpd-mod-openssl lighttpd-modules-dbi lighttpd-modules-ldap lighttpd-modules-lua lighttpd-modules-mysql lighttpd-mod-vhostdb-pgsql lighttpd-mod-webdav lighttpd-mod-wolfssl localechooser-data locales locales locales locales-all locales-all locales-all logsave ltsp lvm2 lvm2-dbusd lvm2-lockd mate-accessibility-profiles mate-core mate-desktop-environment mate-desktop-environment-core mate-desktop-environment-extra mate-desktop-environment-extras mate-indicator-applet mate-indicator-applet-common mate-media mate-media-common mate-menus mate-panel mate-panel-common mate-session-manager mate-tweak mate-user-guide mdadm mencoder minigalaxy minizip motd-news-config mount mplayer mplayer-doc mplayer-gui mtpaint multipath-tools multipath-tools-boot nano nano-tiny nautilus nautilus nautilus-data nautilus-data ncurses-base ncurses-bin ncurses-doc ncurses-examples ncurses-term ndisc6 neofetch network-manager network-manager-config-connectivity-debian network-manager-dev network-manager-gnome newt-tcl nginx nginx-common nginx-core nginx-dev nginx-doc nginx-extras nginx-full nginx-light notify-osd nscd nscd nscd ntfs-3g ntfs-3g-dev nvidia-common nvidia-prime nvidia-settings oem-config oem-config-debconf oem-config-gtk oem-config-kde oem-config-remaster oem-qemu-meta open-iscsi open-iscsi open-isns-discoveryd open-isns-server open-isns-utils openssh-client openssh-client openssh-client openssh-server openssh-server openssh-server openssh-sftp-server openssh-sftp-server openssh-sftp-server openssh-tests openssh-tests openssh-tests openssl openssl openssl ophcrack ophcrack-cli orca origami osinfo-db osinfo-db os-prober p7zip p7zip-full packagekit packagekit-command-not-found packagekit-docs packagekit-gtk3-module packagekit-tools parted parted-doc pbuilder pciutils pcmciautils pcre2-utils pcregrep pdfarranger pidgin pidgin-data pidgin-dev pipsi plasma-desktop plasma-desktop-data plasma-desktop-dev plasma-discover plasma-discover-backend-flatpak plasma-discover-backend-fwupd plasma-discover-common plasma-discover-notifier plasma-workspace plasma-workspace plasma-workspace plasma-workspace-data plasma-workspace-data plasma-workspace-data plasma-workspace-dev plasma-workspace-dev plasma-workspace-dev plasma-workspace-wayland plasma-workspace-wayland plasma-workspace-wayland plymouth plymouth-label plymouth-label-ft plymouth-themes plymouth-theme-spinner plymouth-x11 pocillo-icon-theme postgresql postgresql-all postgresql-client postgresql-client-common postgresql-common postgresql-contrib postgresql-doc postgresql-server-dev-all ppa-purge ppa-purge printer-driver-hpcups printer-driver-hpijs printer-driver-postscript-hp pulseaudio-equalizer pulseaudio-module-bluetooth pulseaudio-module-gsettings pulseaudio-module-jack pulseaudio-module-lirc pulseaudio-module-raop pulseaudio-module-zeroconf pulseaudio-utils pvpgn python3-apparmor python3-apparmor python3-apt python3-brlapi python3-btrfsutil python3-commandnotfound python3-compizconfig python3-cupshelpers python3-distro-info python3-distupgrade python3-distupgrade python3-libapparmor python3-libapparmor python3-newt python3-pip python3-pip-whl python3-selinux python3-software-properties python3-update-manager python-apt-common python-apt-dev python-apt-doc qml-module-qtquick-pdf qml-module-qtwebengine qsampler qstat qt5-image-formats-plugin-pdf qtpdf5-dev qtpdf5-doc qtpdf5-doc-html qtpdf5-examples qtwebengine5-dev qtwebengine5-dev-tools qtwebengine5-doc qtwebengine5-doc-html qtwebengine5-examples qtwebengine5-private-dev quassel quassel-client quassel-core quassel-data r8168-dkms rdate rdnssd redshift redshift-gtk reiserfsprogs reprepro rfkill rhythmbox rhythmbox-data rhythmbox-dev rhythmbox-doc rhythmbox-plugin-cdrecorder rhythmbox-plugins rhythmbox-plugin-zeitgeist rman rtl8812au-dkms rtl8812au-dkms ruby-selinux scdaemon screen screenfetch scummvm scummvm-data sddm-theme-breeze sddm-theme-breeze sddm-theme-breeze seahorse selinux-utils shim shim-dbg shim-signed simutrans simutrans-data simutrans-makeobj simutrans-pak64 slim slsh smtube software-properties-common software-properties-gtk ss-dev ssh ssh ssh ssh-askpass-gnome ssh-askpass-gnome ssh-askpass-gnome sweethome3d-furniture-nonfree system-config-printer system-config-printer-common system-config-printer-udev systemd systemd systemd-boot systemd-boot systemd-boot-efi systemd-boot-efi systemd-container systemd-container systemd-coredump systemd-coredump systemd-dev systemd-dev systemd-homed systemd-homed systemd-journal-remote systemd-journal-remote systemd-oomd systemd-oomd systemd-resolved systemd-resolved systemd-standalone-sysusers systemd-standalone-sysusers systemd-standalone-tmpfiles systemd-standalone-tmpfiles systemd-sysv systemd-sysv systemd-tests systemd-tests systemd-timesyncd systemd-timesyncd systemd-ukify systemd-ukify systemd-userdbd systemd-userdbd task-albanian-desktop task-amharic task-amharic-desktop task-amharic-gnome-desktop task-amharic-kde-desktop task-arabic task-arabic-desktop task-arabic-kde-desktop task-asturian task-asturian-desktop task-basque task-basque-desktop task-basque-kde-desktop task-belarusian task-belarusian-desktop task-belarusian-kde-desktop task-bengali task-bengali-desktop task-bengali-kde-desktop task-bosnian task-bosnian-desktop task-bosnian-kde-desktop task-brazilian-portuguese task-brazilian-portuguese-desktop task-brazilian-portuguese-kde-desktop task-british-desktop task-british-kde-desktop task-bulgarian task-bulgarian-desktop task-bulgarian-kde-desktop task-catalan task-catalan-desktop task-catalan-kde-desktop task-chinese-s task-chinese-s-desktop task-chinese-s-gnome-desktop task-chinese-s-kde-desktop task-chinese-t task-chinese-t-desktop task-chinese-t-gnome-desktop task-chinese-t-kde-desktop task-cinnamon-desktop task-croatian task-croatian-desktop task-croatian-kde-desktop task-cyrillic task-cyrillic-desktop task-cyrillic-kde-desktop task-czech task-czech-desktop task-czech-kde-desktop task-danish task-danish-desktop task-danish-kde-desktop task-desktop task-dutch task-dutch-desktop task-dutch-kde-desktop task-dzongkha-desktop task-dzongkha-kde-desktop task-english task-esperanto task-esperanto-desktop task-esperanto-kde-desktop task-estonian task-estonian-desktop task-estonian-kde-desktop task-finnish task-finnish-desktop task-finnish-kde-desktop task-french task-french-desktop task-french-kde-desktop task-galician task-galician-desktop task-galician-kde-desktop task-georgian-desktop task-german task-german-desktop task-german-kde-desktop task-gnome-desktop task-gnome-flashback-desktop task-greek task-greek-desktop task-greek-kde-desktop task-gujarati task-gujarati-desktop task-gujarati-kde-desktop task-hebrew task-hebrew-desktop task-hebrew-gnome-desktop task-hebrew-kde-desktop task-hindi task-hindi-desktop task-hindi-kde-desktop task-hungarian task-hungarian-desktop task-hungarian-kde-desktop task-icelandic task-icelandic-desktop task-icelandic-kde-desktop task-indonesian-desktop task-indonesian-kde-desktop task-irish task-irish-desktop task-irish-kde-desktop task-italian task-italian-desktop task-italian-kde-desktop task-japanese task-japanese-desktop task-japanese-gnome-desktop task-japanese-gnome-flashback-desktop task-japanese-kde-desktop task-kannada-desktop task-kannada-gnome-desktop task-kannada-kde-desktop task-kazakh task-kazakh-desktop task-kazakh-kde-desktop task-kde-desktop task-khmer task-khmer-desktop task-khmer-kde-desktop task-korean task-korean-desktop task-korean-gnome-desktop task-korean-kde-desktop task-kurdish task-kurdish-desktop task-kurdish-kde-desktop task-laptop task-latvian task-latvian-desktop task-latvian-kde-desktop task-lithuanian task-lithuanian-desktop task-lithuanian-kde-desktop task-lxde-desktop task-lxqt-desktop task-macedonian task-macedonian-desktop task-macedonian-kde-desktop task-malayalam task-malayalam-desktop task-malayalam-gnome-desktop task-malayalam-kde-desktop task-marathi task-marathi-desktop task-mate-desktop task-nepali-desktop task-nepali-kde-desktop task-northern-sami task-northern-sami-desktop task-norwegian task-norwegian-desktop task-norwegian-kde-desktop task-persian task-persian-desktop task-persian-kde-desktop task-polish task-polish-desktop task-polish-kde-desktop task-portuguese task-portuguese-desktop task-portuguese-kde-desktop task-punjabi task-punjabi-desktop task-punjabi-kde-desktop task-romanian task-romanian-desktop task-romanian-kde-desktop task-russian task-russian-desktop task-russian-kde-desktop tasksel tasksel-data task-serbian task-serbian-desktop task-serbian-kde-desktop task-sinhala-desktop task-sinhala-kde-desktop task-slovak task-slovak-desktop task-slovak-kde-desktop task-slovenian task-slovenian-desktop task-slovenian-kde-desktop task-south-african-english-desktop task-spanish task-spanish-desktop task-spanish-kde-desktop task-ssh-server task-swedish task-swedish-desktop task-swedish-kde-desktop task-tagalog task-tamil task-tamil-desktop task-tamil-gnome-desktop task-telugu task-telugu-desktop task-telugu-gnome-desktop task-telugu-kde-desktop task-thai task-thai-desktop task-thai-gnome-desktop task-thai-kde-desktop task-turkish task-turkish-desktop task-turkish-kde-desktop task-ukrainian task-ukrainian-desktop task-ukrainian-kde-desktop task-uyghur-desktop task-uyghur-kde-desktop task-vietnamese-desktop task-vietnamese-kde-desktop task-web-server task-welsh task-welsh-desktop task-xfce-desktop task-xhosa-desktop task-xhosa-kde-desktop tatan tor torbrowser-launcher torbrowser-launcher tor-geoipdb ubiquity ubiquity-casper ubiquity-frontend-debconf ubiquity-frontend-gtk ubiquity-frontend-gtk-panel ubiquity-frontend-kde ublock-origin-doc ubufox ubuntu-keyring udev udev udhcpc udhcpc udhcpc udhcpd udhcpd udhcpd unattended-upgrades unity unity-accessibility-profiles unity-autopilot unity-greeter unity-schemas unity-services unity-session unity-uwidgets unp unzip update-manager-core update-notifier update-notifier-common usb-creator-common usb-creator-gtk usb-creator-kde user-mode-linux-doc user-setup util-linux util-linux-extra util-linux-locales uuid-dev uuid-runtime va-driver-all vanilla-gnome-desktop viewnior vinagre vokoscreen-ng w9wm webext-ublock-origin-chromium webext-ublock-origin-firefox wget wget wget whiptail wide-dhcpv6-client wide-dhcpv6-relay wide-dhcpv6-server winetricks wireless-regdb wireless-tools wodim wpagui wpagui wpagui wpasupplicant wpasupplicant wpasupplicant xbrlapi xdm xdrawchem xfslibs-dev xfsprogs xqf xserver-xorg-video-ati xserver-xorg-video-radeon xterm xul-ext-ubufox zip zlib1g zlib1g-dev zstd
+Pin: release n=noble,o=Ubuntu
+Pin-Priority: 500
+
Package: *
Pin: release n=noble,o=Ubuntu
Pin-Priority: -100
+
+Package: apache2 apache2-bin apache2-data apache2-dev apache2-doc apache2-ssl-dev apache2-utils apparmor apparmor-profiles apparmor-utils apt apt-doc apt-utils at-spi2-common at-spi2-core at-spi2-doc b43-fwcutter base-files bash bash-doc bogl-bterm bogl-utils brltty bsdextrautils bsdutils btrfs-progs busybox-initramfs busybox-static busybox-syslogd ca-certificates casper cdebconf cdrkit-doc comerr-dev command-not-found console-setup console-setup-linux cron cron-daemon-common cryptsetup cryptsetup-bin cryptsetup-initramfs cups-filters cups-filters-core-drivers debootstrap deja-dup desktop-file-utils devscripts dirmngr distro-info distro-info-data dmeventd dmidecode dmraid dmsetup dosfstools dpkg dpkg-dev dselect e2fsprogs e2fsprogs-l10n eject evince evince-common fdisk fglrx-pxpress fuse3 genisoimage gir1.2-atk-1.0 gir1.2-atspi-2.0 gir1.2-evince-3.0 gir1.2-gmenu-3.0 gir1.2-goa-1.0 gir1.2-nautilus-4.0 gir1.2-nm-1.0 gir1.2-packagekitglib-1.0 gir1.2-rb-3.0 glibc-doc gnome-control-center gnome-control-center-data gnome-control-center-dev gnome-control-center-faces gnome-menus gnome-online-accounts gnome-session-bin gnome-session-common gnome-startup-applications gnome-user-docs gnome-user-docs-as gnome-user-docs-ca gnome-user-docs-cs gnome-user-docs-da gnome-user-docs-de gnome-user-docs-el gnome-user-docs-es gnome-user-docs-eu gnome-user-docs-fa gnome-user-docs-fi gnome-user-docs-fr gnome-user-docs-gl gnome-user-docs-gu gnome-user-docs-he gnome-user-docs-hi gnome-user-docs-hr gnome-user-docs-hu gnome-user-docs-id gnome-user-docs-it gnome-user-docs-ja gnome-user-docs-kn gnome-user-docs-ko gnome-user-docs-lt gnome-user-docs-lv gnome-user-docs-mr gnome-user-docs-nl gnome-user-docs-pa gnome-user-docs-pl gnome-user-docs-pt gnome-user-docs-ro gnome-user-docs-ru gnome-user-docs-sl gnome-user-docs-sr gnome-user-docs-sv gnome-user-docs-ta gnome-user-docs-te gnome-user-docs-tr gnome-user-docs-uk gnome-user-docs-vi gnome-user-docs-zh-hans gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpgconf gpgsm gpgv gpg-wks-client grub2-common grub-common grub-efi grub-efi-amd64 grub-efi-amd64-bin grub-efi-amd64-dbg grub-efi-amd64-signed grub-efi-ia32 grub-efi-ia32-bin grub-efi-ia32-dbg grub-ieee1275 grub-ieee1275-bin grub-ieee1275-dbg grub-pc grub-pc-bin grub-pc-dbg grub-xen grub-xen-bin grub-xen-dbg gstreamer1.0-packagekit hplip hplip-data hplip-doc humanity-icon-theme initramfs-tools initramfs-tools-bin initramfs-tools-core jfsutils kbd keyboard-configuration keyboxd kmod kpartx kpartx-boot language-selector-common language-selector-gnome lib32ncurses6 lib32ncurses-dev lib32ncursesw6 lib32tinfo6 lib32z1 lib32z1-dev libaio1t64 libaio-dev libapache2-mod-apparmor libapparmor1 libapparmor-dev libapt-pkg6.0t64 libapt-pkg-dev libapt-pkg-doc libargon2-1 libargon2-dev libasound2-data libasound2-dev libasound2-doc libasound2t64 libatk1.0-0t64 libatk1.0-dev libatk1.0-doc libatk-adaptor libatk-bridge2.0-0t64 libatk-bridge2.0-dev libatopology2t64 libatopology-dev libatspi2.0-0t64 libatspi2.0-dev libblkid1 libblkid-dev libbogl0 libbogl-dev libbrlapi0.8 libbrlapi-dev libbsd0 libbsd-dev libbtrfs0t64 libbtrfs-dev libbtrfsutil1t64 libbtrfsutil-dev libc6 libc6-dbg libc6-dev libc6-dev-i386 libc6-dev-x32 libc6-i386 libc6-x32 libcap2 libcap2-bin libcap-dev libc-bin libc-dev-bin libc-devtools libcom-err2 libcrypt1 libcrypt-dev libcryptsetup12 libcryptsetup-dev libdebconfclient0 libdebconfclient0-dev libdebian-installer4 libdebian-installer4-dev libdebian-installer-extra4 libdevmapper1.02.1 libdevmapper-dev libdevmapper-event1.02.1 libdistro-info-perl libdmraid1.0.0.rc16 libdmraid-dev libdpkg-dev libdpkg-perl libevdocument3-4t64 libevview3-3t64 libexpat1 libexpat1-dev libext2fs2t64 libext2fs-dev libfdisk1 libfdisk-dev libfribidi0 libfribidi-dev libfuse3-3 libfuse3-dev libgcrypt20 libgcrypt20-dev libgcrypt20-doc libgnome-menu-3-0 libgoa-1.0-0b libgoa-1.0-common libgoa-1.0-dev libgoa-1.0-doc libgoa-backend-1.0-2 libgpg-error0 libgpg-error-dev libgpg-error-l10n libhpmud0 libhpmud-dev libisns0t64 libisns-dev libiw30t64 libiw-dev libjson-c5 libjson-c-dev libjson-c-doc libkmod2 libkmod-dev liblvm2cmd2.03 liblvm2-dev liblzo2-2 liblzo2-dev libmd0 libmd-dev libmount1 libmount-dev libnautilus-extension4 libncurses6 libncurses-dev libncursesw6 libnewt0.52 libnewt-dev libnginx-mod-http-image-filter libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream libnl-3-200 libnl-3-200-dbg libnl-3-dev libnl-cli-3-200 libnl-cli-3-dev libnl-genl-3-200 libnl-genl-3-dev libnl-idiag-3-200 libnl-idiag-3-dev libnl-nf-3-200 libnl-nf-3-dev libnl-route-3-200 libnl-route-3-dev libnl-xfrm-3-200 libnl-xfrm-3-dev libnm0 libnm-dev libnss-mymachines libnss-systemd libntfs-3g89t64 libnvpair3linux libopeniscsiusr libopeniscsiusr-dev libpackagekit-glib2-18 libpam-apparmor libpam-cap libpam-systemd libparted2t64 libparted-dev libparted-fs-resize0t64 libpci3 libpci-dev libpcre2-16-0 libpcre2-32-0 libpcre2-8-0 libpcre2-dev libpcre2-posix3 libplymouth5 libplymouth-dev libpopt0 libpopt-dev libpulse0 libpulse-mainloop-glib0 libreiserfscore0t64 libreiserfscore-dev librhythmbox-core10 libsane-hpaio libselinux1 libselinux1-dev libslang2 libslang2-dev libsmartcols1 libsmartcols-dev libss2 libssl3t64 libssl-dev libssl-doc libsystemd0 libsystemd-dev libsystemd-shared libtextwrap1 libtextwrap-dev libtinfo6 libudev1 libudev-dev libuuid1 libuutil3linux libwpa-client-dev libx32z1 libx32z1-dev libxnvctrl0 libxnvctrl-dev libzpool5linux libzstd1 libzstd-dev localechooser-data locales logsave lvm2 lvm2-dbusd mdadm motd-news-config mount multipath-tools multipath-tools-boot nano nautilus nautilus-data ncurses-base ncurses-bin ncurses-doc ncurses-examples ncurses-term network-manager network-manager-dev network-manager-gnome nginx nginx-common nginx-core nginx-doc ntfs-3g ntfs-3g-dev nvidia-prime nvidia-settings oem-config oem-config-gtk oem-qemu-meta open-iscsi openssh-client openssh-server openssh-sftp-server openssl orca os-prober packagekit packagekit-docs packagekit-tools parted parted-doc pciutils pcmciautils plymouth plymouth-label plymouth-theme-spinner postgresql postgresql-client postgresql-client-common postgresql-common postgresql-contrib postgresql-doc printer-driver-hpcups printer-driver-hpijs printer-driver-postscript-hp python3-apparmor python3-apt python3-brlapi python3-commandnotfound python3-cupshelpers python3-distro-info python3-distupgrade python3-libapparmor python3-newt python3-software-properties python3-update-manager python-apt-common python-apt-doc rdate reiserfsprogs rfkill rhythmbox rhythmbox-data rhythmbox-doc rhythmbox-plugins screen seahorse shim shim-dbg shim-signed software-properties-common software-properties-gtk ss-dev ssh system-config-printer-common system-config-printer-udev systemd systemd-container systemd-dev systemd-oomd systemd-resolved systemd-sysv systemd-timesyncd ubiquity ubiquity-casper ubiquity-frontend-debconf ubiquity-frontend-gtk ubuntu-keyring udev unattended-upgrades unzip update-manager-core update-notifier update-notifier-common usb-creator-common usb-creator-gtk user-setup util-linux util-linux-locales uuid-dev uuid-runtime wget whiptail wireless-regdb wireless-tools wpasupplicant xbrlapi xfslibs-dev xfsprogs xserver-xorg-video-ati xserver-xorg-video-radeon zip zlib1g zlib1g-dev zstd
+Pin: release n=noble,o=Ubuntu
+Pin-Priority: 500
deb http://archive.trisquel.org/trisquel/ ecne-updates main
deb-src http://archive.trisquel.org/trisquel/ ecne-updates main
-deb http://archive.trisquel.info/trisquel/ ecne-security main
-deb-src http://archive.trisquel.info/trisquel/ ecne-security main
+deb http://archive.trisquel.org/trisquel/ ecne-security main
+deb-src http://archive.trisquel.org/trisquel/ ecne-security main
deb http://archive.trisquel.org/trisquel/ ecne-backports main
deb-src http://archive.trisquel.org/trisquel/ ecne-backports main
--- /dev/null
+deb http://archive.ubuntu.com/ubuntu/ noble main universe
+deb-src http://archive.ubuntu.com/ubuntu/ noble main universe
+
+deb http://archive.ubuntu.com/ubuntu/ noble-security main universe
+deb-src http://archive.ubuntu.com/ubuntu/ noble-security main universe
+
+deb http://archive.ubuntu.com/ubuntu/ noble-updates main universe
+deb-src http://archive.ubuntu.com/ubuntu/ noble-updates main universe
+++ /dev/null
-NOBLE
\ No newline at end of file
# or run eval-fai-classfile FILE.
# - Set a VOL_DISTROVER (if not doing mkroot2) eg:
# fai-setclass VOL_NABIA
+# - fai-setclass IANK|FSF
+# /a/bin/fai/fai/config/hooks/partition.DEFAULT
#
# ARGS (only 1 is valid):
#
## potentially useful later:
# sed 's#/root/keyscript,#decrypt_keyctl,#;s/$/,noauto/' /tmp/fai/crypttab >/etc/crypttab
#
-# environment variables:
+## environment variables:
#
# HOSTNAME: if demohost, we set the luks password to just
# 'x'. Used in various other ways too.
# exit. This is useful for partitioning a disk in preparation to replace
# a failed or failing disk from a raid10 array.
#
+# DISTRO: if not set, derived from VOL_... variable in a switch below.
+#
# classes:
#
+# FSF|IANK: what kind of partitioning we want to do.
+#
# REPARTITION: forces repartitioning even if we detect the proper amount
# of partitions already exist.
#
# inspiration taken from files in fai-setup-storage package
# if we are not running in fai, skiptask won't be defined, so carry on.
-skiptask partition || ! type skiptask
+if type -p skiptask &>/dev/null; then
+ skiptask partition
+fi
if ! type -p devbyid; then
for d in $FAI/distro-install-common \
fi
if [[ $SPECIAL_DISK ]]; then
- lvcreate -y -L $max_root_mib $vg -n data
+ lvcreate -y -L $root_mib $vg -n data
else
# -L unit default mebibyte
lvcreate -y -L $root_mib $vg -n root
mkfs.ext2 $dev$grub_extsuf
if [[ $SPECIAL_DISK ]]; then
- luks-setup /dev/$vg/data crypt-$vg-data
+ if ! fsf; then
+ luks-setup /dev/$vg/data crypt-$vg-data
+ fi
exit 0
fi
lvm2
keyutils
cryptsetup
-btrfs-progs
sudo
bridge-utils
netcat-openbsd
linux-image-generic-
PACKAGES install AMD64
-linux-image-generic
+# see note about initramfs in ECNE.var
+initramfs-tools
memtest86+
PACKAGES install FLIDAS64 XENIAL64
m() { printf "%s\n" "$*"; "$@"; }
-source $FAI/distro-install-common/bash-misc-functions
+source $FAI/distro-install-common/bash-misc-funcs
fcopy -riB /root
cmdline="rd.luks.crypttab=no net.ifnames=0 $cmdline_extra"
-u /etc/default/grub.d/iank.cfg <<'EOF'
+u $target/etc/default/grub.d/fsf.cfg <<EOF
# note: in git history, you can see code that modified the existing
# GRUB_CMDLINE_LINUX_DEFAULT. That was being cautious in case something
# else modified it, but experience has shown nothing else modifying it.
GRUB_RECORDFAIL_TIMEOUT=4
EOF
+if ! ifclass IANK; then
+ $ROOTCMD apt-get -y install btrfs-progs
+ # todo: not sure this is needed. do an install and check logs.
+ $ROOTCMD update-initramfs -u -k all
+fi
+
if $ur; then
+ #$ROOTCMD dpkg-reconfigure --default-priority linux-image-6.10.5-gnu
+ #$ROOTCMD update-initramfs -c -k all
$ROOTCMD update-grub
fi
# I prefer to stick with ifup/down or networkmanager: networkd is not in its
# own package, so cant use in other init systems. b. it works fine.
chroot $FAI_ROOT bash <<EOF
-systemctl disable systemd-networkd.socket systemd-networkd networkd-dispatcher systemd-networkd-wait-online
-systemctl mask systemd-networkd.socket systemd-networkd networkd-dispatcher systemd-networkd-wait-online
+# in debian bookworm, this service no longer exists by default
+if systemctl cat networkd-dispatcher.service &>/dev/null; then
+ systemctl disable networkd-dispatcher
+ systemctl mask networkd-dispatcher
+fi
+
+systemctl disable systemd-networkd.socket systemd-networkd systemd-networkd-wait-online
+systemctl mask systemd-networkd.socket systemd-networkd systemd-networkd-wait-online
EOF
# note: systemd-resolved + ifupdown causes networking.service to fail in t11,
# https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1907878
-systemctl disable systemd-resolved
-# rm first to remove any symlink
+
+# This does an exit 1 with no output. very not nice of systemd to give
+# us no information on error. However, when i ran the command on a
+# normal t11 system, it output that it removed 2 files, so hopefully
+# doing that will be equivalent.
+#
+#$ROOTCMD systemctl disable systemd-resolved
+
+rm -f $target/etc/systemd/system/multi-user.target.wants/systemd-resolved.service
+rm -f $target/etc/systemd/system/dbus-org.freedesktop.resolve1.service.
+
+# remove any symlink created by systemd-resolved
rm -f $target/etc/resolv.conf
if ifclass demohost || [[ $GATEWAYS != 209.51.188.* ]]; then
nameserver 209.51.188.27
EOF
fi
+
+if ifclass ECNE; then
+ cat >$target/etc/os-release <<'EOF'
+NAME="Trisquel GNU/Linux"
+VERSION="12.0, Ecne"
+ID=trisquel
+ID_LIKE=debian
+PRETTY_NAME="Trisquel GNU/Linux Ecne (12.0)"
+VERSION_ID="12.0"
+VERSION_CODENAME="aramo"
+UBUNTU_CODENAME="noble"
+HOME_URL="https://trisquel.info/"
+SUPPORT_URL="https://trisquel.info/wiki"
+BUG_REPORT_URL="https://gitlab.trisquel.org/trisquel"
+PRIVACY_POLICY_URL="https://trisquel.info/legal"
+EOF
+
+ cat >$target/etc/apt/apt.conf.d/01-vendor-trisquel <<'EOF'
+Update-Manager::Always-Include-Phased-Updates "True";
+EOF
+ rm $target/etc/update-motd.d/{00-header,10-help-text,50-motd-news}
+ truncate -s0 $target/var/run/motd.dynamic
+
+ cat >$target/etc/issue <<'EOF'
+Trisquel GNU/Linux 12.0 \n \l
+EOF
+ cat >$target/etc/issue.net <<'EOF'
+Trisquel GNU/Linux 12.0
+EOF
+
+ cat >$target/etc/lsb-release <<'EOF'
+DISTRIB_ID=Trisquel
+DISTRIB_RELEASE=12.0
+DISTRIB_CODENAME=aramo
+DISTRIB_DESCRIPTION="Trisquel GNU/Linux 12.0, Aramo"
+EOF
+fi
case $HOSTNAME in
sy|so)
# note, on sy t11, severe wifi degredation on mainline 6.8
- :
+ $ROOTCMD apt-get -y install linux-image-generic
;;
*)
if ! $ROOTCMD dpkg -s -- freesh-archive-keyring 2>&1 | grep -Fx "Status: install ok installed" &>/dev/null; then
;;
esac
-### using dev version for bug fix temporarily. when done, set this to false,
-### and we can stop copying it in fai-redep.
+
+#### begin btrfs-progs
+
+## 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
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
bp_dirname=btrfs-progs-release
# latest released version.
else
mkdir -p $target/tmp/bprogs
mount -o bind $bp_dir $target/tmp/bprogs
+ # pre-build. in t11:
+ # ./autogen.sh && ./configure --disable-documentation --prefix=/usr && make
+ # in t12, we have the docs prerequisites, so enabled documentation
$ROOTCMD bash -xe <<EOF
cd /tmp/bprogs
make install
# if we are in a full install, gotta prevent build-dep from
# using repos that are pinned negative, and pulling in uninstallable
# packages.
+ #
+ # todo: this isn't considering the chroot.
if [[ -e /b/distro-functions/src/package-manager-abstractions ]]; then
. /b/distro-functions/src/package-manager-abstractions
- pbuild-dep btrfs-progs -y
+ p build-dep btrfs-progs/$(debian-codename) -y
else
$ROOTCMD apt-get -y build-dep btrfs-progs
fi
# at some point, fix the build for early distro.
$ROOTCMD bash -xe <<EOF
cd /tmp/${tarball%.tar.gz}
-./configure
+./configure --prefix=/usr
make
make install
EOF
# assuming ipv4, or else we might need to deal with multiple addresses
# in an ipv4 + ipv6 network.
- my_ip=$(ip -4 route get $hostip | sed -nr 's,^.*src\s+(\S+).*,\1,p')
- if [[ ! $my_ip || $my_ip =~ [[:space:]] ]]; then
- echo "$0: error: failed to get \$my_ip, got: $my_ip"
- exit 1
- fi
+ #
+ # t11 has via. presumably, older os had src
+ my_ip=$(ip -4 route get $hostip | head -n1 | sed -nr 's,^.*(src|via)\s+(\S+).*,\1,p' || [[ $? == 141 ]] )
else
- my_ip=$(ip r show default | sed -r 's/.*src ([^ ]*).*/\1/' | head -n1)
+ my_ip=$(ip -4 r show default | head -n1 | sed -r 's/.*(src|via) ([^ ]*).*/\1/' || [[ $? == 141 ]] )
fi
+if [[ ! $my_ip || $my_ip =~ [[:space:]] ]]; then
+ echo "$0: error: failed to get \$my_ip, got: $my_ip"
+ exit 1
+fi
+
+
if [[ $host == default ]]; then
ip='*'
elif [[ $host == [0-9]*.[0-9]*.[0-9]*.[0-9]* ]]; then