iso: fresh work dir each build (avoid stale-stage reuse) + modern bootmodes
mkarchiso reuses completed stages in the work dir -> a 'too short' build that ships a stale airootfs. bootstrap now 'rm -rf' the work dir first. Also switch profiledef bootmodes to the non-deprecated names (bios.syslinux, uefi.systemd-boot). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -39,10 +39,13 @@ install -m644 "$HERE/overrides/pacman.conf" "$PROFILE/pacman.conf"
|
||||
cp -rT "$HERE/overrides/airootfs" "$PROFILE/airootfs"
|
||||
|
||||
echo "==> profile ready: $PROFILE"
|
||||
WORK=/tmp/tanin-work
|
||||
if [ "${1:-}" = "--build" ]; then
|
||||
echo "==> building ISO (sudo mkarchiso) …"
|
||||
sudo mkarchiso -v -w /tmp/tanin-work -o "$HERE/out" "$PROFILE"
|
||||
echo "==> clean work dir (mkarchiso reuses stale stages otherwise -> 'too short' builds)"
|
||||
sudo rm -rf "$WORK"
|
||||
echo "==> building ISO (sudo mkarchiso) … this takes a while (downloads + squashfs)"
|
||||
sudo mkarchiso -v -w "$WORK" -o "$HERE/out" "$PROFILE"
|
||||
echo "ISO written to $HERE/out/"
|
||||
else
|
||||
echo "build with: sudo mkarchiso -v -w /tmp/tanin-work -o \"$HERE/out\" \"$PROFILE\""
|
||||
echo "build with: sudo rm -rf $WORK && sudo mkarchiso -v -w $WORK -o \"$HERE/out\" \"$PROFILE\""
|
||||
fi
|
||||
|
||||
@@ -6,6 +6,6 @@ timeout: 30
|
||||
script:
|
||||
- "rm -f /etc/systemd/system/getty@tty1.service.d/autologin.conf"
|
||||
- "rmdir --ignore-fail-on-non-empty /etc/systemd/system/getty@tty1.service.d 2>/dev/null || true"
|
||||
- "rm -f /root/.bash_profile"
|
||||
- "rm -f /root/.zprofile"
|
||||
- "rm -f /usr/local/bin/tanin-installer"
|
||||
- "systemctl set-default graphical.target"
|
||||
|
||||
@@ -1 +1 @@
|
||||
archiso
|
||||
taninux
|
||||
|
||||
@@ -1,11 +1,5 @@
|
||||
To install [38;2;23;147;209mArch Linux[0m follow the installation guide:
|
||||
https://wiki.archlinux.org/title/Installation_guide
|
||||
|
||||
For Wi-Fi, authenticate to the wireless network using the [35miwctl[0m utility.
|
||||
For mobile broadband (WWAN) modems, connect with the [35mmmcli[0m utility.
|
||||
Ethernet, WLAN and WWAN interfaces using DHCP should work automatically.
|
||||
TANINUX (camel) — a curated Arch desktop: niri + eww.
|
||||
|
||||
After connecting to the internet, the installation guide can be accessed
|
||||
via the convenience script [35mInstallation_guide[0m.
|
||||
The installer launches on tty1. To start it manually: tanin-installer
|
||||
|
||||
[41m [41m [41m [40m [44m [40m [41m [46m [45m [41m [46m [43m [41m [44m [45m [40m [44m [40m [41m [44m [41m [41m [46m [42m [41m [44m [43m [41m [45m [40m [40m [44m [40m [41m [44m [42m [41m [46m [44m [41m [46m [47m [0m
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
NAME="TANINUX"
|
||||
PRETTY_NAME="TANINUX (camel)"
|
||||
ID=taninux
|
||||
ID_LIKE=arch
|
||||
BUILD_ID=rolling
|
||||
ANSI_COLOR="38;2;163;158;196"
|
||||
HOME_URL="https://taninux.kgva.ch"
|
||||
DOCUMENTATION_URL="https://git.openbureau.ch/karim/taninux"
|
||||
SUPPORT_URL="https://git.openbureau.ch/karim/taninux"
|
||||
BUG_REPORT_URL="https://git.openbureau.ch/karim/taninux/issues"
|
||||
LOGO=taninux
|
||||
@@ -1,6 +0,0 @@
|
||||
# Live ISO: on the first console (tty1), launch the TANINUX installer.
|
||||
# (On an installed system this file isn't present — Calamares' shellprocess
|
||||
# strips the live-only bits from the target.)
|
||||
if [[ "$(tty)" == /dev/tty1 ]] && [[ -z "${WAYLAND_DISPLAY:-}" ]] && ! pgrep -x cage >/dev/null 2>&1; then
|
||||
exec tanin-installer
|
||||
fi
|
||||
@@ -0,0 +1,5 @@
|
||||
# Live ISO: auto-launch the TANINUX installer on the first console.
|
||||
# (Removed from the installed target by Calamares' shellprocess-striplive.)
|
||||
if [[ "$(tty)" == /dev/tty1 ]] && [[ -z "$WAYLAND_DISPLAY" ]] && ! pgrep -x cage >/dev/null 2>&1; then
|
||||
exec tanin-installer
|
||||
fi
|
||||
@@ -1,4 +1,4 @@
|
||||
title Arch Linux install medium (%ARCH%, UEFI)
|
||||
title TANINUX install medium (%ARCH%, UEFI)
|
||||
sort-key 01
|
||||
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-zen
|
||||
initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-zen.img
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
title Arch Linux install medium (%ARCH%, UEFI) with speech
|
||||
title TANINUX install medium (%ARCH%, UEFI) with speech
|
||||
sort-key 02
|
||||
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-zen
|
||||
initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-zen.img
|
||||
|
||||
@@ -44,13 +44,13 @@ timeout_style=menu
|
||||
|
||||
# Menu entries
|
||||
|
||||
menuentry "Arch Linux install medium (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
|
||||
menuentry "TANINUX install medium (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
|
||||
set gfxpayload=keep
|
||||
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-zen archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID%
|
||||
initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-zen.img
|
||||
}
|
||||
|
||||
menuentry "Arch Linux install medium with speakup screen reader (%ARCH%, ${archiso_platform})" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'archlinux-accessibility' {
|
||||
menuentry "TANINUX install medium with speakup screen reader (%ARCH%, ${archiso_platform})" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'archlinux-accessibility' {
|
||||
set gfxpayload=keep
|
||||
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-zen archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% accessibility=on
|
||||
initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-zen.img
|
||||
|
||||
@@ -21,13 +21,13 @@ timeout_style=menu
|
||||
|
||||
# Menu entries
|
||||
|
||||
menuentry "Arch Linux install medium (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
|
||||
menuentry "TANINUX install medium (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
|
||||
set gfxpayload=keep
|
||||
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-zen archisobasedir=%INSTALL_DIR% img_dev=UUID=${archiso_img_dev_uuid} img_loop="${iso_path}"
|
||||
initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-zen.img
|
||||
}
|
||||
|
||||
menuentry "Arch Linux install medium with speakup screen reader (%ARCH%, ${archiso_platform})" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'archlinux-accessibility' {
|
||||
menuentry "TANINUX install medium with speakup screen reader (%ARCH%, ${archiso_platform})" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'archlinux-accessibility' {
|
||||
set gfxpayload=keep
|
||||
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-zen archisobasedir=%INSTALL_DIR% img_dev=UUID=${archiso_img_dev_uuid} img_loop="${iso_path}" accessibility=on
|
||||
initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-zen.img
|
||||
|
||||
@@ -16,9 +16,15 @@ airootfs_image_type="squashfs"
|
||||
airootfs_image_tool_options=('-comp' 'zstd' '-Xcompression-level' '19' '-b' '1M')
|
||||
bootstrap_tarball_compression=('zstd' '-c' '-T0' '--auto-threads=logical' '--long' '-19')
|
||||
file_permissions=(
|
||||
# --- releng's entries (must keep — we replace releng's profiledef) ---
|
||||
["/etc/shadow"]="0:0:400"
|
||||
["/etc/gshadow"]="0:0:400"
|
||||
["/root"]="0:0:750"
|
||||
["/root/.automated_script.sh"]="0:0:755"
|
||||
["/root/.gnupg"]="0:0:700"
|
||||
["/usr/local/bin/choose-mirror"]="0:0:755"
|
||||
["/usr/local/bin/Installation_guide"]="0:0:755"
|
||||
["/usr/local/bin/livecd-sound"]="0:0:755"
|
||||
# --- TANINUX additions ---
|
||||
["/root/customize_airootfs.sh"]="0:0:755"
|
||||
["/usr/local/bin/tanin-installer"]="0:0:755"
|
||||
)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
SERIAL 0 115200
|
||||
UI vesamenu.c32
|
||||
MENU TITLE Arch Linux
|
||||
MENU TITLE TANINUX
|
||||
MENU BACKGROUND splash.png
|
||||
|
||||
MENU WIDTH 78
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
LABEL arch_nbd
|
||||
TEXT HELP
|
||||
Boot the Arch Linux install medium using NBD.
|
||||
It allows you to install Arch Linux or perform system maintenance.
|
||||
Boot the TANINUX install medium using NBD.
|
||||
It allows you to install TANINUX or perform system maintenance.
|
||||
ENDTEXT
|
||||
MENU LABEL Arch Linux install medium (%ARCH%, NBD)
|
||||
MENU LABEL TANINUX install medium (%ARCH%, NBD)
|
||||
LINUX ::/%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-zen
|
||||
INITRD ::/%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-zen.img
|
||||
APPEND archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% archiso_nbd_srv=${pxeserver} cms_verify=y
|
||||
@@ -11,10 +11,10 @@ SYSAPPEND 3
|
||||
|
||||
LABEL arch_nfs
|
||||
TEXT HELP
|
||||
Boot the Arch Linux live medium using NFS.
|
||||
It allows you to install Arch Linux or perform system maintenance.
|
||||
Boot the TANINUX live medium using NFS.
|
||||
It allows you to install TANINUX or perform system maintenance.
|
||||
ENDTEXT
|
||||
MENU LABEL Arch Linux install medium (%ARCH%, NFS)
|
||||
MENU LABEL TANINUX install medium (%ARCH%, NFS)
|
||||
LINUX ::/%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-zen
|
||||
INITRD ::/%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-zen.img
|
||||
APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt cms_verify=y
|
||||
@@ -22,10 +22,10 @@ SYSAPPEND 3
|
||||
|
||||
LABEL arch_http
|
||||
TEXT HELP
|
||||
Boot the Arch Linux live medium using HTTP.
|
||||
It allows you to install Arch Linux or perform system maintenance.
|
||||
Boot the TANINUX live medium using HTTP.
|
||||
It allows you to install TANINUX or perform system maintenance.
|
||||
ENDTEXT
|
||||
MENU LABEL Arch Linux install medium (%ARCH%, HTTP)
|
||||
MENU LABEL TANINUX install medium (%ARCH%, HTTP)
|
||||
LINUX ::/%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-zen
|
||||
INITRD ::/%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-zen.img
|
||||
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ cms_verify=y
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
LABEL arch
|
||||
TEXT HELP
|
||||
Boot the Arch Linux install medium on BIOS.
|
||||
It allows you to install Arch Linux or perform system maintenance.
|
||||
Boot the TANINUX install medium on BIOS.
|
||||
It allows you to install TANINUX or perform system maintenance.
|
||||
ENDTEXT
|
||||
MENU LABEL Arch Linux install medium (%ARCH%, BIOS)
|
||||
MENU LABEL TANINUX install medium (%ARCH%, BIOS)
|
||||
LINUX /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-zen
|
||||
INITRD /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-zen.img
|
||||
APPEND archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID%
|
||||
@@ -11,10 +11,10 @@ APPEND archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID%
|
||||
# Accessibility boot option
|
||||
LABEL archspeech
|
||||
TEXT HELP
|
||||
Boot the Arch Linux install medium on BIOS with speakup screen reader.
|
||||
It allows you to install Arch Linux or perform system maintenance with speech feedback.
|
||||
Boot the TANINUX install medium on BIOS with speakup screen reader.
|
||||
It allows you to install TANINUX or perform system maintenance with speech feedback.
|
||||
ENDTEXT
|
||||
MENU LABEL Arch Linux install medium (%ARCH%, BIOS) with ^speech
|
||||
MENU LABEL TANINUX install medium (%ARCH%, BIOS) with ^speech
|
||||
LINUX /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-zen
|
||||
INITRD /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-zen.img
|
||||
APPEND archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% accessibility=on
|
||||
|
||||
@@ -8,8 +8,7 @@ iso_application="TANINUX (camel) — niri/eww desktop · live + Calamares instal
|
||||
iso_version="$(date +%Y.%m.%d)"
|
||||
install_dir="tanin"
|
||||
buildmodes=('iso')
|
||||
bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito'
|
||||
'uefi-x64.systemd-boot.esp' 'uefi-x64.systemd-boot.eltorito')
|
||||
bootmodes=('bios.syslinux' 'uefi.systemd-boot')
|
||||
arch="x86_64"
|
||||
pacman_conf="pacman.conf"
|
||||
airootfs_image_type="squashfs"
|
||||
|
||||
Reference in New Issue
Block a user