From 745e9a4158fa22fc17d8845d4d443cac2dedac4e Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Sat, 30 Mar 2013 20:30:07 -0300 Subject: [archiso] Prepare release Signed-off-by: Gerardo Exequiel Pozzi --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index f17343f..33054a3 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -V=6 +V=7 INSTALL_FILES=$(wildcard archiso/initcpio/install/*) HOOKS_FILES=$(wildcard archiso/initcpio/hooks/*) -- cgit v1.2.2 From 86e1f5057256d29490f26a7c2b576ef4f508bf62 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sat, 13 Apr 2013 15:58:37 +0200 Subject: [configs/releng] pacman 4.1 compatibility * Remove the unattended-keyring-init patch as this was applied by upstream with pacamn 4.1 * Update our pacman.conf following the new upstream default Signed-off-by: Pierre Schmitz Signed-off-by: Gerardo Exequiel Pozzi --- configs/releng/build.sh | 1 - .../pacman-key-4.0.3_unattended-keyring-init.patch | 32 ---------------------- configs/releng/pacman.conf | 14 ++++------ 3 files changed, 5 insertions(+), 42 deletions(-) delete mode 100644 configs/releng/pacman-key-4.0.3_unattended-keyring-init.patch diff --git a/configs/releng/build.sh b/configs/releng/build.sh index 560fda2..6e9e2f8 100755 --- a/configs/releng/build.sh +++ b/configs/releng/build.sh @@ -79,7 +79,6 @@ make_setup_mkinitcpio() { make_customize_root_image() { cp -af ${script_path}/root-image ${work_dir}/${arch} - patch ${work_dir}/${arch}/root-image/usr/bin/pacman-key < ${script_path}/pacman-key-4.0.3_unattended-keyring-init.patch curl -o ${work_dir}/${arch}/root-image/etc/pacman.d/mirrorlist 'https://www.archlinux.org/mirrorlist/?country=all&protocol=http&use_mirror_status=on' lynx -dump -nolist 'https://wiki.archlinux.org/index.php/Installation_Guide?action=render' >> ${work_dir}/${arch}/root-image/root/install.txt diff --git a/configs/releng/pacman-key-4.0.3_unattended-keyring-init.patch b/configs/releng/pacman-key-4.0.3_unattended-keyring-init.patch deleted file mode 100644 index 0a5117f..0000000 --- a/configs/releng/pacman-key-4.0.3_unattended-keyring-init.patch +++ /dev/null @@ -1,32 +0,0 @@ -Author: Pierre Schmitz - -* pacman-key: Use lsign_keys function in --populate -* pacman-key: reduce verbosity of --populate - ---- pacman-key 2012-07-10 18:45:32.000000000 -0300 -+++ pacman-key 2012-07-18 16:38:18.264110004 -0300 -@@ -376,7 +376,7 @@ - # Add keys from requested keyrings - for keyring in "${KEYRINGIDS[@]}"; do - msg "$(gettext "Appending keys from %s.gpg...")" "$keyring" -- "${GPG_PACMAN[@]}" --import "${KEYRING_IMPORT_DIR}/${keyring}.gpg" -+ "${GPG_PACMAN[@]}" --quiet --import "${KEYRING_IMPORT_DIR}/${keyring}.gpg" - done - - # Read the trusted key IDs to an array. Because this is an ownertrust -@@ -403,12 +403,13 @@ - msg "$(gettext "Locally signing trusted keys in keyring...")" - for key_id in "${!trusted_ids[@]}"; do - msg2 "$(gettext "Locally signing key %s...")" "${key_id}" -- "${GPG_PACMAN[@]}" --quiet --lsign-key "${key_id}" -+ KEYIDS=("${key_id}") -+ lsign_keys - done - msg "$(gettext "Importing owner trust values...")" - for keyring in "${KEYRINGIDS[@]}"; do - if [[ -f "${KEYRING_IMPORT_DIR}/${keyring}-trusted" ]]; then -- "${GPG_PACMAN[@]}" --import-ownertrust "${KEYRING_IMPORT_DIR}/${keyring}-trusted" -+ "${GPG_PACMAN[@]}" --import-ownertrust "${KEYRING_IMPORT_DIR}/${keyring}-trusted" 2>/dev/null - fi - done - fi diff --git a/configs/releng/pacman.conf b/configs/releng/pacman.conf index 821f9a5..45fe03d 100644 --- a/configs/releng/pacman.conf +++ b/configs/releng/pacman.conf @@ -15,11 +15,10 @@ #LogFile = /var/log/pacman.log #GPGDir = /etc/pacman.d/gnupg/ HoldPkg = pacman glibc -# If upgrades are available for these packages they will be asked for first -SyncFirst = pacman #XferCommand = /usr/bin/curl -C - -f %u > %o #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u #CleanMethod = KeepInstalled +#UseDelta = 0.7 Architecture = auto # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup @@ -31,7 +30,7 @@ Architecture = auto # Misc options #UseSyslog -#UseDelta +#Color #TotalDownload # We cannot check disk space from within a chroot environment #CheckSpace @@ -39,7 +38,9 @@ Architecture = auto # By default, pacman accepts packages signed by keys that its local keyring # trusts (see pacman-key and its man page), as well as unsigned packages. -#SigLevel = Optional TrustedOnly +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required # NOTE: You must run `pacman-key --init` before first using pacman; the local # keyring can then be populated with the keys of all official Arch Linux @@ -69,23 +70,18 @@ Architecture = auto # after the header, and they will be used before the default mirrors. #[testing] -#SigLevel = PackageRequired #Include = /etc/pacman.d/mirrorlist [core] -SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist [extra] -SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist #[community-testing] -#SigLevel = PackageRequired #Include = /etc/pacman.d/mirrorlist [community] -SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist # An example of a custom package repository. See the pacman manpage for -- cgit v1.2.2 From 1d8bb94dc601dcbcf9e7328ee4675000630d9e89 Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Sat, 13 Apr 2013 16:05:46 -0300 Subject: [archiso] Prepare release Signed-off-by: Gerardo Exequiel Pozzi --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 33054a3..33bd97f 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -V=7 +V=8 INSTALL_FILES=$(wildcard archiso/initcpio/install/*) HOOKS_FILES=$(wildcard archiso/initcpio/hooks/*) -- cgit v1.2.2 From e266e32a861b565e2dd03e046d037b26f1ed15b5 Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Fri, 19 Apr 2013 00:45:38 -0300 Subject: [archiso] patch not needed anymore Signed-off-by: Gerardo Exequiel Pozzi --- docs/README.build | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/README.build b/docs/README.build index 2037f89..3286a1a 100644 --- a/docs/README.build +++ b/docs/README.build @@ -19,7 +19,6 @@ INDEX ** For configs/releng build.sh needs theses packages (build host): + dosfstools for mkfs.vfat - + patch for patch + lynx for fetching the latest installation guide ** For these hooks needs these packages (on target root-image) -- cgit v1.2.2 From 47f39ec5d3b93f95bcf67ef3db18893cb06b99e8 Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Sun, 12 May 2013 01:22:57 -0300 Subject: [archiso] /usr/sbin -> /usr/bin Signed-off-by: Gerardo Exequiel Pozzi --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 33bd97f..e1ced09 100644 --- a/Makefile +++ b/Makefile @@ -18,7 +18,7 @@ all: install: install-program install-initcpio install-examples install-doc install-program: - install -D -m 755 archiso/mkarchiso $(DESTDIR)/usr/sbin/mkarchiso + install -D -m 755 archiso/mkarchiso $(DESTDIR)/usr/bin/mkarchiso install-initcpio: install -d $(SCRIPT_DIR) $(HOOKS_DIR) $(INSTALL_DIR) -- cgit v1.2.2 From 8fd197a420558a6b9b55f2e61a7cc2008a0200e6 Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Sun, 12 May 2013 01:59:01 -0300 Subject: [configs/releng] Add gpm and f2fs-tools "gpm" requested at arch-releng and "f2fs-tools" at FS#35101 Signed-off-by: Gerardo Exequiel Pozzi --- configs/releng/packages.both | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configs/releng/packages.both b/configs/releng/packages.both index 87a9d5a..eb1f375 100644 --- a/configs/releng/packages.both +++ b/configs/releng/packages.both @@ -12,8 +12,10 @@ dnsutils dosfstools elinks ethtool +f2fs-tools fsarchiver gnu-netcat +gpm gptfdisk grml-zsh-config grub-bios -- cgit v1.2.2 From 718089f7cb499d2a9935de71dcbc8b3e53c6fb2a Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Sun, 26 May 2013 18:56:25 -0300 Subject: [configs/releng] Use drop-in feature of systemd for getty autologin Signed-off-by: Gerardo Exequiel Pozzi --- .../etc/systemd/system/getty@tty1.service.d/autologin.conf | 3 +++ configs/releng/root-image/root/customize_root_image.sh | 7 +------ 2 files changed, 4 insertions(+), 6 deletions(-) create mode 100644 configs/releng/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf diff --git a/configs/releng/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf b/configs/releng/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf new file mode 100644 index 0000000..d1d8474 --- /dev/null +++ b/configs/releng/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf @@ -0,0 +1,3 @@ +[Service] +ExecStart= +ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux diff --git a/configs/releng/root-image/root/customize_root_image.sh b/configs/releng/root-image/root/customize_root_image.sh index cc47845..ba106c8 100755 --- a/configs/releng/root-image/root/customize_root_image.sh +++ b/configs/releng/root-image/root/customize_root_image.sh @@ -17,9 +17,4 @@ chmod 440 /etc/sudoers.d/g_wheel sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist -sed 's#\(^ExecStart=-/sbin/agetty\)#\1 --autologin root#; - s#\(^Alias=getty.target.wants/\).\+#\1autologin@tty1.service#' \ - /usr/lib/systemd/system/getty@.service > /etc/systemd/system/autologin@.service - -systemctl disable getty@tty1.service -systemctl enable multi-user.target pacman-init.service autologin@.service dhcpcd.service +systemctl enable multi-user.target pacman-init.service dhcpcd.service -- cgit v1.2.2 From 7d14796716939fbabb9daba6b6f5294016d63cd4 Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Tue, 28 May 2013 11:51:30 -0300 Subject: [configs/releng] Use a udev rule instead of dhcpcd.service https://mailman.archlinux.org/pipermail/arch-releng/2013-May/003163.html Thanks Dave & Thomas Signed-off-by: Gerardo Exequiel Pozzi --- configs/releng/root-image/etc/udev/rules.d/81-dhcpcd.rules | 1 + configs/releng/root-image/root/customize_root_image.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 configs/releng/root-image/etc/udev/rules.d/81-dhcpcd.rules diff --git a/configs/releng/root-image/etc/udev/rules.d/81-dhcpcd.rules b/configs/releng/root-image/etc/udev/rules.d/81-dhcpcd.rules new file mode 100644 index 0000000..970da69 --- /dev/null +++ b/configs/releng/root-image/etc/udev/rules.d/81-dhcpcd.rules @@ -0,0 +1 @@ +ACTION=="add", SUBSYSTEM=="net", ENV{SYSTEMD_WANTS}="dhcpcd@$name.service" diff --git a/configs/releng/root-image/root/customize_root_image.sh b/configs/releng/root-image/root/customize_root_image.sh index ba106c8..2fccf47 100755 --- a/configs/releng/root-image/root/customize_root_image.sh +++ b/configs/releng/root-image/root/customize_root_image.sh @@ -17,4 +17,4 @@ chmod 440 /etc/sudoers.d/g_wheel sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist -systemctl enable multi-user.target pacman-init.service dhcpcd.service +systemctl enable multi-user.target pacman-init.service -- cgit v1.2.2 From 34c38fb78cdf89062a3aeadfb43e6ebafad23771 Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Thu, 30 May 2013 12:11:09 -0300 Subject: prepare release Signed-off-by: Gerardo Exequiel Pozzi --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index e1ced09..15e8143 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -V=8 +V=9 INSTALL_FILES=$(wildcard archiso/initcpio/install/*) HOOKS_FILES=$(wildcard archiso/initcpio/hooks/*) -- cgit v1.2.2 From b065dcaf9b15ba2f7ad0a9ab1a279fd56d536a7f Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Thu, 30 May 2013 19:35:58 -0300 Subject: [configs/releng] Remove lilo, not in repos anymore Signed-off-by: Gerardo Exequiel Pozzi --- configs/releng/packages.both | 1 - 1 file changed, 1 deletion(-) diff --git a/configs/releng/packages.both b/configs/releng/packages.both index eb1f375..9c7610a 100644 --- a/configs/releng/packages.both +++ b/configs/releng/packages.both @@ -25,7 +25,6 @@ ipw2100-fw ipw2200-fw irssi lftp -lilo linux-atm mc mtools -- cgit v1.2.2 From 2e9e57b5bd11d8b8a4840a708ee3dbd4791c2a62 Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Thu, 30 May 2013 19:38:41 -0300 Subject: [configs/releng] Adjust TEXT HELP width of syslinux menus. Keep < 80 chars Fixes FS#35533 Signed-off-by: Gerardo Exequiel Pozzi --- configs/releng/syslinux/archiso_pxe32.cfg | 12 ++++++------ configs/releng/syslinux/archiso_pxe64.cfg | 12 ++++++------ configs/releng/syslinux/archiso_sys32.cfg | 4 ++-- configs/releng/syslinux/archiso_sys64.cfg | 4 ++-- configs/releng/syslinux/archiso_tail.cfg | 4 ++-- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/configs/releng/syslinux/archiso_pxe32.cfg b/configs/releng/syslinux/archiso_pxe32.cfg index 4bdeefa..383094a 100644 --- a/configs/releng/syslinux/archiso_pxe32.cfg +++ b/configs/releng/syslinux/archiso_pxe32.cfg @@ -1,7 +1,7 @@ LABEL arch32_nbd TEXT HELP -Boot the Arch Linux (i686) live medium (Using NBD). It allows you to install Arch Linux or -perform system maintenance. +Boot the Arch Linux (i686) live medium (Using NBD). +It allows you to install Arch Linux or perform system maintenance. ENDTEXT MENU LABEL Boot Arch Linux (i686) (NBD) LINUX boot/i686/vmlinuz @@ -11,8 +11,8 @@ IPAPPEND 3 LABEL arch32_nfs TEXT HELP -Boot the Arch Linux (i686) live medium (Using NFS). It allows you to install Arch Linux or -perform system maintenance. +Boot the Arch Linux (i686) live medium (Using NFS). +It allows you to install Arch Linux or perform system maintenance. ENDTEXT MENU LABEL Boot Arch Linux (i686) (NFS) LINUX boot/i686/vmlinuz @@ -22,8 +22,8 @@ IPAPPEND 3 LABEL arch32_http TEXT HELP -Boot the Arch Linux (i686) live medium (Using HTTP). It allows you to install Arch Linux or -perform system maintenance. +Boot the Arch Linux (i686) live medium (Using HTTP). +It allows you to install Arch Linux or perform system maintenance. ENDTEXT MENU LABEL Boot Arch Linux (i686) (HTTP) LINUX boot/i686/vmlinuz diff --git a/configs/releng/syslinux/archiso_pxe64.cfg b/configs/releng/syslinux/archiso_pxe64.cfg index 1676236..6227393 100644 --- a/configs/releng/syslinux/archiso_pxe64.cfg +++ b/configs/releng/syslinux/archiso_pxe64.cfg @@ -1,7 +1,7 @@ LABEL arch64_nbd TEXT HELP -Boot the Arch Linux (x86_64) live medium (Using NBD). It allows you to install Arch Linux or -perform system maintenance. +Boot the Arch Linux (x86_64) live medium (Using NBD). +It allows you to install Arch Linux or perform system maintenance. ENDTEXT MENU LABEL Boot Arch Linux (x86_64) (NBD) LINUX boot/x86_64/vmlinuz @@ -11,8 +11,8 @@ IPAPPEND 3 LABEL arch64_nfs TEXT HELP -Boot the Arch Linux (x86_64) live medium (Using NFS). It allows you to install Arch Linux or -perform system maintenance. +Boot the Arch Linux (x86_64) live medium (Using NFS). +It allows you to install Arch Linux or perform system maintenance. ENDTEXT MENU LABEL Boot Arch Linux (x86_64) (NFS) LINUX boot/x86_64/vmlinuz @@ -22,8 +22,8 @@ IPAPPEND 3 LABEL arch64_http TEXT HELP -Boot the Arch Linux (x86_64) live medium (Using HTTP). It allows you to install Arch Linux or -perform system maintenance. +Boot the Arch Linux (x86_64) live medium (Using HTTP). +It allows you to install Arch Linux or perform system maintenance. ENDTEXT MENU LABEL Boot Arch Linux (x86_64) (HTTP) LINUX boot/x86_64/vmlinuz diff --git a/configs/releng/syslinux/archiso_sys32.cfg b/configs/releng/syslinux/archiso_sys32.cfg index 261579e..43f839e 100644 --- a/configs/releng/syslinux/archiso_sys32.cfg +++ b/configs/releng/syslinux/archiso_sys32.cfg @@ -1,7 +1,7 @@ LABEL arch32 TEXT HELP -Boot the Arch Linux (i686) live medium. It allows you to install Arch Linux or -perform system maintenance. +Boot the Arch Linux (i686) live medium. +It allows you to install Arch Linux or perform system maintenance. ENDTEXT MENU LABEL Boot Arch Linux (i686) LINUX boot/i686/vmlinuz diff --git a/configs/releng/syslinux/archiso_sys64.cfg b/configs/releng/syslinux/archiso_sys64.cfg index eb89813..9d6c4de 100644 --- a/configs/releng/syslinux/archiso_sys64.cfg +++ b/configs/releng/syslinux/archiso_sys64.cfg @@ -1,7 +1,7 @@ LABEL arch64 TEXT HELP -Boot the Arch Linux (x86_64) live medium. It allows you to install Arch Linux or -perform system maintenance. +Boot the Arch Linux (x86_64) live medium. +It allows you to install Arch Linux or perform system maintenance. ENDTEXT MENU LABEL Boot Arch Linux (x86_64) LINUX boot/x86_64/vmlinuz diff --git a/configs/releng/syslinux/archiso_tail.cfg b/configs/releng/syslinux/archiso_tail.cfg index a55548c..5d95b3b 100644 --- a/configs/releng/syslinux/archiso_tail.cfg +++ b/configs/releng/syslinux/archiso_tail.cfg @@ -1,7 +1,7 @@ LABEL existing TEXT HELP -Boot an existing operating system. Press TAB to edit the disk and partition -number to boot. +Boot an existing operating system. +Press TAB to edit the disk and partition number to boot. ENDTEXT MENU LABEL Boot existing OS COM32 boot/syslinux/chain.c32 -- cgit v1.2.2 From 6634f0a7814e121e25a52eca2f70bd09c1adc122 Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Thu, 30 May 2013 20:22:08 -0300 Subject: prepare release Signed-off-by: Gerardo Exequiel Pozzi --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 15e8143..fc89288 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -V=9 +V=10 INSTALL_FILES=$(wildcard archiso/initcpio/install/*) HOOKS_FILES=$(wildcard archiso/initcpio/hooks/*) -- cgit v1.2.2 From 5d75049c119983aad719d03e92557f10aef5d199 Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Tue, 4 Jun 2013 21:33:52 -0300 Subject: [configs/releng] Update zsh path to match /etc/shells Signed-off-by: Gerardo Exequiel Pozzi --- configs/releng/root-image/root/customize_root_image.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/releng/root-image/root/customize_root_image.sh b/configs/releng/root-image/root/customize_root_image.sh index 2fccf47..97e2874 100755 --- a/configs/releng/root-image/root/customize_root_image.sh +++ b/configs/releng/root-image/root/customize_root_image.sh @@ -7,10 +7,10 @@ locale-gen ln -sf /usr/share/zoneinfo/UTC /etc/localtime -usermod -s /bin/zsh root +usermod -s /usr/bin/zsh root cp -aT /etc/skel/ /root/ -useradd -m -p "" -g users -G "adm,audio,floppy,log,network,rfkill,scanner,storage,optical,power,wheel" -s /bin/zsh arch +useradd -m -p "" -g users -G "adm,audio,floppy,log,network,rfkill,scanner,storage,optical,power,wheel" -s /usr/bin/zsh arch chmod 750 /etc/sudoers.d chmod 440 /etc/sudoers.d/g_wheel -- cgit v1.2.2 From 0696e888012f89da0b67d6999f14dfe422497914 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20B=C3=A4chler?= Date: Sun, 16 Jun 2013 11:27:58 +0200 Subject: releng: Allow specifying a mirror on the kernel command line. The new mirror= option takes a mirror URL and creates a new mirrorlist. When setting mirror=auto, the mirror is taken from archiso_http_srv in order to keep using the mirror selected in the netboot menu. --- .../root-image/etc/systemd/scripts/choose-mirror | 26 ++++++++++++++++++++++ .../etc/systemd/system/choose-mirror.service | 10 +++++++++ .../releng/root-image/root/customize_root_image.sh | 2 +- 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100755 configs/releng/root-image/etc/systemd/scripts/choose-mirror create mode 100644 configs/releng/root-image/etc/systemd/system/choose-mirror.service diff --git a/configs/releng/root-image/etc/systemd/scripts/choose-mirror b/configs/releng/root-image/etc/systemd/scripts/choose-mirror new file mode 100755 index 0000000..0ae0806 --- /dev/null +++ b/configs/releng/root-image/etc/systemd/scripts/choose-mirror @@ -0,0 +1,26 @@ +#!/bin/bash + +get_cmdline() { + local param + for param in $(< /proc/cmdline); do + case "${param}" in + $1=*) echo "${param##*=}"; + return 0 + ;; + esac + done +} + +mirror=$(get_cmdline mirror) +[[ $mirror = auto ]] && mirror=$(get_cmdline archiso_http_srv) +[[ $mirror ]] || exit 0 + +mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig +cat >/etc/pacman.d/mirrorlist << EOF +# +# Arch Linux repository mirrorlist +# Generated by archiso +# + +Server = ${mirror%%/}/\$repo/os/\$arch +EOF diff --git a/configs/releng/root-image/etc/systemd/system/choose-mirror.service b/configs/releng/root-image/etc/systemd/system/choose-mirror.service new file mode 100644 index 0000000..1e4d771 --- /dev/null +++ b/configs/releng/root-image/etc/systemd/system/choose-mirror.service @@ -0,0 +1,10 @@ +[Unit] +Description=Choose mirror from the kernel command line +ConditionKernelCommandLine=mirror + +[Service] +Type=oneshot +ExecStart=/etc/systemd/scripts/choose-mirror + +[Install] +WantedBy=multi-user.target diff --git a/configs/releng/root-image/root/customize_root_image.sh b/configs/releng/root-image/root/customize_root_image.sh index 97e2874..a60f308 100755 --- a/configs/releng/root-image/root/customize_root_image.sh +++ b/configs/releng/root-image/root/customize_root_image.sh @@ -17,4 +17,4 @@ chmod 440 /etc/sudoers.d/g_wheel sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist -systemctl enable multi-user.target pacman-init.service +systemctl enable multi-user.target pacman-init.service choose-mirror.service -- cgit v1.2.2 From 3e4740484edd23d6c1db42ab24c3555e8ab6b03a Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Wed, 19 Jun 2013 20:28:33 -0300 Subject: [configs/releng] Add SecureBoot support via prebootloader Tested only under QEMU using OVMF SecureBoot enabled firmware plus lockdown-ms. Both loader.efi (gummiboot) and vmlinuz.efi should be hashed before boot in secure mode. Signed-off-by: Gerardo Exequiel Pozzi --- configs/releng/build.sh | 10 ++++++++-- configs/releng/packages.x86_64 | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/configs/releng/build.sh b/configs/releng/build.sh index 6e9e2f8..bec9a42 100755 --- a/configs/releng/build.sh +++ b/configs/releng/build.sh @@ -128,7 +128,10 @@ make_isolinux() { # Prepare /EFI make_efi() { mkdir -p ${work_dir}/iso/EFI/boot - cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/iso/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/PreLoader.efi ${work_dir}/iso/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/HashTool.efi ${work_dir}/iso/EFI/boot/ + + cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/iso/EFI/boot/loader.efi mkdir -p ${work_dir}/iso/loader/entries cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/iso/loader/ @@ -159,7 +162,10 @@ make_efiboot() { cp ${work_dir}/iso/${install_dir}/boot/x86_64/archiso.img ${work_dir}/efiboot/EFI/archiso/archiso.img mkdir -p ${work_dir}/efiboot/EFI/boot - cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/PreLoader.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/HashTool.efi ${work_dir}/efiboot/EFI/boot/ + + cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/efiboot/EFI/boot/loader.efi mkdir -p ${work_dir}/efiboot/loader/entries cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/efiboot/loader/ diff --git a/configs/releng/packages.x86_64 b/configs/releng/packages.x86_64 index aceb6cf..3b75077 100644 --- a/configs/releng/packages.x86_64 +++ b/configs/releng/packages.x86_64 @@ -1,3 +1,4 @@ grub-efi-x86_64 gummiboot +prebootloader refind-efi -- cgit v1.2.2 From f19f6173c8650ebc43dc166ee2a2f3f92a753afe Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Thu, 20 Jun 2013 18:30:00 -0300 Subject: [archiso] Add support to isohybrid-gpt for EFI boot Tested and works fine under qemu using seabios and ovmf $ qemu-system-x86_64 -enable-kvm -drive file=~/archlinux-2013.06.20-dual.iso $ qemu-system-x86_64 -enable-kvm -drive file=~/archlinux-2013.06.20-dual.iso,media=cdrom $ qemu-system-x86_64 -enable-kvm -bios ~/arch/OVMF/bios.bin -drive file=~/archlinux-2013.06.20-dual.iso $ qemu-system-x86_64 -enable-kvm -bios ~/arch/OVMF/bios.bin -drive file=~/archlinux-2013.06.20-dual.iso,media=cdrom Signed-off-by: Gerardo Exequiel Pozzi --- archiso/mkarchiso | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/archiso/mkarchiso b/archiso/mkarchiso index fa32b62..8f9ed42 100755 --- a/archiso/mkarchiso +++ b/archiso/mkarchiso @@ -414,7 +414,10 @@ command_iso () { # If exists, add an EFI "El Torito" boot image (FAT filesystem) to ISO-9660 image. if [[ -f "${work_dir}/iso/EFI/archiso/efiboot.img" ]]; then - _iso_efi_boot_args="--efi-boot EFI/archiso/efiboot.img" + _iso_efi_boot_args="-eltorito-alt-boot + -e EFI/archiso/efiboot.img + -no-emul-boot + -isohybrid-gpt-basdat" fi _show_config iso @@ -436,8 +439,8 @@ command_iso () { -eltorito-boot isolinux/isolinux.bin \ -eltorito-catalog isolinux/boot.cat \ -no-emul-boot -boot-load-size 4 -boot-info-table \ - ${_iso_efi_boot_args} \ -isohybrid-mbr ${work_dir}/iso/isolinux/isohdpfx.bin \ + ${_iso_efi_boot_args} \ -output "${out_dir}/${img_name}" \ "${work_dir}/iso/" _msg_info "Done! | $(ls -sh ${out_dir}/${img_name})" -- cgit v1.2.2 From acd4eac21ca125e7f2de37afed22a15b6803994f Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Sun, 23 Jun 2013 12:19:30 -0300 Subject: [configs/releng] Update package list for grub Signed-off-by: Gerardo Exequiel Pozzi --- configs/releng/packages.both | 2 +- configs/releng/packages.x86_64 | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/configs/releng/packages.both b/configs/releng/packages.both index 9c7610a..105f01e 100644 --- a/configs/releng/packages.both +++ b/configs/releng/packages.both @@ -18,7 +18,7 @@ gnu-netcat gpm gptfdisk grml-zsh-config -grub-bios +grub haveged hdparm ipw2100-fw diff --git a/configs/releng/packages.x86_64 b/configs/releng/packages.x86_64 index 3b75077..407ead2 100644 --- a/configs/releng/packages.x86_64 +++ b/configs/releng/packages.x86_64 @@ -1,4 +1,3 @@ -grub-efi-x86_64 gummiboot prebootloader refind-efi -- cgit v1.2.2 From d01e0548ab6cca0e2a68bf8bd331567cd79f9a17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20B=C3=A4chler?= Date: Sun, 9 Jun 2013 14:59:16 +0200 Subject: configs/releng: ppp 2.4.5-7 has been removed from the base group, add it to packages.both --- configs/releng/packages.both | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/releng/packages.both b/configs/releng/packages.both index 105f01e..8d6c9ff 100644 --- a/configs/releng/packages.both +++ b/configs/releng/packages.both @@ -40,6 +40,7 @@ partclone parted partimage pptpclient +ppp rfkill rp-pppoe rsync -- cgit v1.2.2 From e6cae1d3e8ee8db15de9f0f40f8f38f2d464402e Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Fri, 28 Jun 2013 12:39:52 -0300 Subject: [archiso] Document mirror= bootparam Signed-off-by: Gerardo Exequiel Pozzi --- docs/README.bootparams | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/README.bootparams b/docs/README.bootparams index 13e1ead..8063bd1 100644 --- a/docs/README.bootparams +++ b/docs/README.bootparams @@ -9,6 +9,8 @@ INDEX * hooks/archiso_pxe_nfs * hooks/archiso_loop_mnt +* Boot parameters (configs/releng) + * scripts/choose-mirror *** Boot parameters (initramfs stage) @@ -125,3 +127,15 @@ INDEX Default: (unset) or "/dev/disk/by-label/${img_label}" * img_loop= Full path where archiso-image.iso is located on ${img_dev} Default: (unset) + + + +*** Boot parameters (configs/releng) + +** scripts/choose-mirror + +* mirror= Takes a mirror URL and creates a new mirrorlist. + When setting mirror=auto, the mirror is taken from + archiso_http_srv= in order to keep using the mirror + selected in the netboot menu. + Default: (unset) -- cgit v1.2.2 From ce9c853292e0d37e3931634f43ce697ccd33ad11 Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Fri, 28 Jun 2013 12:49:46 -0300 Subject: [archiso] Document isohybrid-gpt boot method Signed-off-by: Gerardo Exequiel Pozzi --- docs/README.knownissues | 11 ----------- docs/README.transfer | 13 ++++++++++++- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/README.knownissues b/docs/README.knownissues index 2f9cf70..3a94764 100644 --- a/docs/README.knownissues +++ b/docs/README.knownissues @@ -9,15 +9,4 @@ (A.K.A deinitramfs), build at initramfs by [archiso_shutdown] initcpio hook. Proper shutdown is mostly important when persistent is used. -** (2) ISOHYBRID-MBR does boot on some hardware: - Some firmwares (BIOS) gets confused about using this hack - (first partition start at offset 0 -> MBR "infinite recursion"). - Solutions: - (a) Do not use this method, instead copy files manually and - setup the bootloader [PC-BIOS (MBR)] (See README.transfer). - (b) Change offset of the partition on the ISO or on the target medium - (if ISO is already dumped): - # isohybrid.pl -offset 1 - OR - # isohybrid.pl -offset 1 diff --git a/docs/README.transfer b/docs/README.transfer index d3ec720..c2883ad 100644 --- a/docs/README.transfer +++ b/docs/README.transfer @@ -7,6 +7,7 @@ INDEX * PC-BIOS (MBR) * PC-BIOS (ISOHYBRID-MBR) * PC-EFI (GPT) [x86_64 only] + * PC-EFI (ISOHYBRID-GPT) [x86_64 only] @@ -95,7 +96,7 @@ Note: COW is not supported on NTFS. Note: This method is the most easily, quick and dirty, but is the most limited if you want to use your target medium for other purposes. - See README.knownissues (2) if using this method does not boot. + If using this does not work, use PC-BIOS (MBR) method instead. 1) Dump ISO file to target medium. # dd if= of= @@ -120,3 +121,13 @@ Note: Using here a GPT partition mode as example, but MBR should also works 5) Unmount target filesystem. # umount + + +* PC-EFI (ISOHYBRID-GPT) [x86_64 only] + +Note: This method is the most easily, quick and dirty, but is the most limited + if you want to use your target medium for other purposes. + If using this does not work, use PC-EFI (GPT) method instead. + +1) Dump ISO file to target medium. +# dd if= of= -- cgit v1.2.2 From ab97a2161b71258efa2c17a2ac339224b5dac80e Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Fri, 28 Jun 2013 12:54:00 -0300 Subject: [archiso] README.build update Signed-off-by: Gerardo Exequiel Pozzi --- docs/README.build | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/README.build b/docs/README.build index 3286a1a..80d4b2c 100644 --- a/docs/README.build +++ b/docs/README.build @@ -76,9 +76,7 @@ It consists of some fields which define the behaviour of images. The /isolinux directory holds files needed for the ISOLINUX boot loader module of SYSLINUX. ISOLINUX can not find config files on -/arch/boot/syslinux, like other boot loaders modules (EXTLINUX, SYSLINUX, etc). -When make your custom boot-pendrive, you need to copy /arch directory to it. -/isolinux/isolinux.cfg just holds /arch/boot/syslinux/syslinux.cfg +/arch/boot/syslinux, like other boot loaders modules (SYSLINUX, PXELINUX). @@ -101,7 +99,7 @@ used to build official images with much more things. *** Building official Arch Linux live media. (configs/releng) * Install needed packages. - # pacman -S git make squashfs-tools libisoburn dosfstools lynx patch --needed + # pacman -S git make squashfs-tools libisoburn dosfstools lynx --needed * Install archiso. # git clone git://projects.archlinux.org/archiso.git -- cgit v1.2.2 From c7925edadf412018ca989a678dba40b1d2f27f59 Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Sat, 29 Jun 2013 16:49:52 -0300 Subject: prepare release Signed-off-by: Gerardo Exequiel Pozzi --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index fc89288..274d8f8 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -V=10 +V=11 INSTALL_FILES=$(wildcard archiso/initcpio/install/*) HOOKS_FILES=$(wildcard archiso/initcpio/hooks/*) -- cgit v1.2.2 From 491b627eb4b6af909ba8e19751378672930328eb Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Tue, 23 Jul 2013 11:46:51 -0300 Subject: [configs/releng] Unlist timestamp initcpio hook Signed-off-by: Gerardo Exequiel Pozzi --- configs/releng/mkinitcpio.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/releng/mkinitcpio.conf b/configs/releng/mkinitcpio.conf index f676106..2f46da4 100644 --- a/configs/releng/mkinitcpio.conf +++ b/configs/releng/mkinitcpio.conf @@ -1,2 +1,2 @@ -HOOKS="base udev timestamp memdisk archiso_shutdown archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms block pcmcia filesystems keyboard" +HOOKS="base udev memdisk archiso_shutdown archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms block pcmcia filesystems keyboard" COMPRESSION="xz" -- cgit v1.2.2 From 17803d20925a72d31dbdbacf56cb0a7d2db6efcb Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Mon, 2 Sep 2013 20:03:39 -0300 Subject: Leave only directory for profile releng --- configs/baseline/aitab | 2 - configs/baseline/build.sh | 83 ------- configs/baseline/isolinux/isolinux.cfg | 5 - configs/baseline/mkinitcpio.conf | 1 - configs/baseline/syslinux/syslinux.cfg | 8 - configs/profile/aitab | 3 + configs/profile/build.sh | 262 +++++++++++++++++++++ .../loader/entries/parabolaiso-x86_64-cd.conf | 4 + .../loader/entries/parabolaiso-x86_64-usb.conf | 4 + .../loader/entries/uefi-shell-v1-x86_64.conf | 2 + .../loader/entries/uefi-shell-v2-x86_64.conf | 2 + configs/profile/efiboot/loader/loader.conf | 2 + configs/profile/isolinux/isolinux.cfg | 5 + configs/profile/mkinitcpio.conf | 2 + configs/profile/packages.both | 60 +++++ configs/profile/packages.i686 | 0 configs/profile/packages.x86_64 | 3 + configs/profile/pacman.conf | 92 ++++++++ configs/profile/root-image/etc/fstab | 0 configs/profile/root-image/etc/hostname | 1 + configs/profile/root-image/etc/locale.conf | 1 + configs/profile/root-image/etc/pam.d/su | 6 + configs/profile/root-image/etc/sudoers.d/g_wheel | 1 + .../root-image/etc/systemd/scripts/choose-mirror | 26 ++ .../etc/systemd/system/choose-mirror.service | 10 + .../etc/systemd/system/etc-pacman.d-gnupg.mount | 8 + .../system/getty@tty1.service.d/autologin.conf | 3 + .../etc/systemd/system/pacman-init.service | 15 ++ .../root-image/etc/udev/rules.d/81-dhcpcd.rules | 1 + .../profile/root-image/root/.automated_script.sh | 34 +++ configs/profile/root-image/root/.zlogin | 1 + .../root-image/root/customize_root_image.sh | 20 ++ configs/profile/root-image/root/install.txt | 3 + configs/profile/syslinux/parabolaiso.cfg | 11 + configs/profile/syslinux/parabolaiso_head.cfg | 25 ++ configs/profile/syslinux/parabolaiso_pxe32.cfg | 32 +++ configs/profile/syslinux/parabolaiso_pxe64.cfg | 32 +++ .../profile/syslinux/parabolaiso_pxe_32_inc.cfg | 3 + .../profile/syslinux/parabolaiso_pxe_both_inc.cfg | 4 + .../profile/syslinux/parabolaiso_pxe_choose.cfg | 11 + configs/profile/syslinux/parabolaiso_sys32.cfg | 9 + configs/profile/syslinux/parabolaiso_sys64.cfg | 9 + .../profile/syslinux/parabolaiso_sys_32_inc.cfg | 3 + .../profile/syslinux/parabolaiso_sys_both_inc.cfg | 4 + .../profile/syslinux/parabolaiso_sys_choose.cfg | 11 + configs/profile/syslinux/parabolaiso_tail.cfg | 27 +++ configs/profile/syslinux/splash.png | Bin 0 -> 45400 bytes configs/profile/syslinux/syslinux.cfg | 5 + configs/releng/aitab | 3 - configs/releng/build.sh | 262 --------------------- .../loader/entries/parabolaiso-x86_64-cd.conf | 4 - .../loader/entries/parabolaiso-x86_64-usb.conf | 4 - .../loader/entries/uefi-shell-v1-x86_64.conf | 2 - .../loader/entries/uefi-shell-v2-x86_64.conf | 2 - configs/releng/efiboot/loader/loader.conf | 2 - configs/releng/isolinux/isolinux.cfg | 5 - configs/releng/mkinitcpio.conf | 2 - configs/releng/packages.both | 60 ----- configs/releng/packages.i686 | 0 configs/releng/packages.x86_64 | 3 - configs/releng/pacman.conf | 92 -------- configs/releng/root-image/etc/fstab | 0 configs/releng/root-image/etc/hostname | 1 - configs/releng/root-image/etc/locale.conf | 1 - configs/releng/root-image/etc/pam.d/su | 6 - configs/releng/root-image/etc/sudoers.d/g_wheel | 1 - .../root-image/etc/systemd/scripts/choose-mirror | 26 -- .../etc/systemd/system/choose-mirror.service | 10 - .../etc/systemd/system/etc-pacman.d-gnupg.mount | 8 - .../system/getty@tty1.service.d/autologin.conf | 3 - .../etc/systemd/system/pacman-init.service | 15 -- .../root-image/etc/udev/rules.d/81-dhcpcd.rules | 1 - .../releng/root-image/root/.automated_script.sh | 34 --- configs/releng/root-image/root/.zlogin | 1 - .../releng/root-image/root/customize_root_image.sh | 20 -- configs/releng/root-image/root/install.txt | 3 - configs/releng/syslinux/parabolaiso.cfg | 11 - configs/releng/syslinux/parabolaiso_head.cfg | 25 -- configs/releng/syslinux/parabolaiso_pxe32.cfg | 32 --- configs/releng/syslinux/parabolaiso_pxe64.cfg | 32 --- configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg | 3 - .../releng/syslinux/parabolaiso_pxe_both_inc.cfg | 4 - configs/releng/syslinux/parabolaiso_pxe_choose.cfg | 11 - configs/releng/syslinux/parabolaiso_sys32.cfg | 9 - configs/releng/syslinux/parabolaiso_sys64.cfg | 9 - configs/releng/syslinux/parabolaiso_sys_32_inc.cfg | 3 - .../releng/syslinux/parabolaiso_sys_both_inc.cfg | 4 - configs/releng/syslinux/parabolaiso_sys_choose.cfg | 11 - configs/releng/syslinux/parabolaiso_tail.cfg | 27 --- configs/releng/syslinux/splash.png | Bin 45400 -> 0 bytes configs/releng/syslinux/syslinux.cfg | 5 - 91 files changed, 757 insertions(+), 856 deletions(-) delete mode 100644 configs/baseline/aitab delete mode 100755 configs/baseline/build.sh delete mode 100644 configs/baseline/isolinux/isolinux.cfg delete mode 100644 configs/baseline/mkinitcpio.conf delete mode 100644 configs/baseline/syslinux/syslinux.cfg create mode 100644 configs/profile/aitab create mode 100755 configs/profile/build.sh create mode 100644 configs/profile/efiboot/loader/entries/parabolaiso-x86_64-cd.conf create mode 100644 configs/profile/efiboot/loader/entries/parabolaiso-x86_64-usb.conf create mode 100644 configs/profile/efiboot/loader/entries/uefi-shell-v1-x86_64.conf create mode 100644 configs/profile/efiboot/loader/entries/uefi-shell-v2-x86_64.conf create mode 100644 configs/profile/efiboot/loader/loader.conf create mode 100644 configs/profile/isolinux/isolinux.cfg create mode 100644 configs/profile/mkinitcpio.conf create mode 100644 configs/profile/packages.both create mode 100644 configs/profile/packages.i686 create mode 100644 configs/profile/packages.x86_64 create mode 100644 configs/profile/pacman.conf create mode 100644 configs/profile/root-image/etc/fstab create mode 100644 configs/profile/root-image/etc/hostname create mode 100644 configs/profile/root-image/etc/locale.conf create mode 100644 configs/profile/root-image/etc/pam.d/su create mode 100644 configs/profile/root-image/etc/sudoers.d/g_wheel create mode 100755 configs/profile/root-image/etc/systemd/scripts/choose-mirror create mode 100644 configs/profile/root-image/etc/systemd/system/choose-mirror.service create mode 100644 configs/profile/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount create mode 100644 configs/profile/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf create mode 100644 configs/profile/root-image/etc/systemd/system/pacman-init.service create mode 100644 configs/profile/root-image/etc/udev/rules.d/81-dhcpcd.rules create mode 100755 configs/profile/root-image/root/.automated_script.sh create mode 100644 configs/profile/root-image/root/.zlogin create mode 100755 configs/profile/root-image/root/customize_root_image.sh create mode 100644 configs/profile/root-image/root/install.txt create mode 100644 configs/profile/syslinux/parabolaiso.cfg create mode 100644 configs/profile/syslinux/parabolaiso_head.cfg create mode 100644 configs/profile/syslinux/parabolaiso_pxe32.cfg create mode 100644 configs/profile/syslinux/parabolaiso_pxe64.cfg create mode 100644 configs/profile/syslinux/parabolaiso_pxe_32_inc.cfg create mode 100644 configs/profile/syslinux/parabolaiso_pxe_both_inc.cfg create mode 100644 configs/profile/syslinux/parabolaiso_pxe_choose.cfg create mode 100644 configs/profile/syslinux/parabolaiso_sys32.cfg create mode 100644 configs/profile/syslinux/parabolaiso_sys64.cfg create mode 100644 configs/profile/syslinux/parabolaiso_sys_32_inc.cfg create mode 100644 configs/profile/syslinux/parabolaiso_sys_both_inc.cfg create mode 100644 configs/profile/syslinux/parabolaiso_sys_choose.cfg create mode 100644 configs/profile/syslinux/parabolaiso_tail.cfg create mode 100644 configs/profile/syslinux/splash.png create mode 100644 configs/profile/syslinux/syslinux.cfg delete mode 100644 configs/releng/aitab delete mode 100755 configs/releng/build.sh delete mode 100644 configs/releng/efiboot/loader/entries/parabolaiso-x86_64-cd.conf delete mode 100644 configs/releng/efiboot/loader/entries/parabolaiso-x86_64-usb.conf delete mode 100644 configs/releng/efiboot/loader/entries/uefi-shell-v1-x86_64.conf delete mode 100644 configs/releng/efiboot/loader/entries/uefi-shell-v2-x86_64.conf delete mode 100644 configs/releng/efiboot/loader/loader.conf delete mode 100644 configs/releng/isolinux/isolinux.cfg delete mode 100644 configs/releng/mkinitcpio.conf delete mode 100644 configs/releng/packages.both delete mode 100644 configs/releng/packages.i686 delete mode 100644 configs/releng/packages.x86_64 delete mode 100644 configs/releng/pacman.conf delete mode 100644 configs/releng/root-image/etc/fstab delete mode 100644 configs/releng/root-image/etc/hostname delete mode 100644 configs/releng/root-image/etc/locale.conf delete mode 100644 configs/releng/root-image/etc/pam.d/su delete mode 100644 configs/releng/root-image/etc/sudoers.d/g_wheel delete mode 100755 configs/releng/root-image/etc/systemd/scripts/choose-mirror delete mode 100644 configs/releng/root-image/etc/systemd/system/choose-mirror.service delete mode 100644 configs/releng/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount delete mode 100644 configs/releng/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf delete mode 100644 configs/releng/root-image/etc/systemd/system/pacman-init.service delete mode 100644 configs/releng/root-image/etc/udev/rules.d/81-dhcpcd.rules delete mode 100755 configs/releng/root-image/root/.automated_script.sh delete mode 100644 configs/releng/root-image/root/.zlogin delete mode 100755 configs/releng/root-image/root/customize_root_image.sh delete mode 100644 configs/releng/root-image/root/install.txt delete mode 100644 configs/releng/syslinux/parabolaiso.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_head.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_pxe32.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_pxe64.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_pxe_choose.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_sys32.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_sys64.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_sys_32_inc.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_sys_both_inc.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_sys_choose.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_tail.cfg delete mode 100644 configs/releng/syslinux/splash.png delete mode 100644 configs/releng/syslinux/syslinux.cfg diff --git a/configs/baseline/aitab b/configs/baseline/aitab deleted file mode 100644 index 234f61c..0000000 --- a/configs/baseline/aitab +++ /dev/null @@ -1,2 +0,0 @@ -# -root-image / %ARCH% gzip ext4 50% diff --git a/configs/baseline/build.sh b/configs/baseline/build.sh deleted file mode 100755 index b016b45..0000000 --- a/configs/baseline/build.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/bash - -set -e -u - -iso_name=parabola -iso_label="PARABOLA_$(date +%Y%m)" -iso_version=$(date +%Y.%m.%d) -install_dir=parabola -arch=$(uname -m) -work_dir=work -out_dir=out - -script_path=$(readlink -f ${0%/*}) - -# Helper function to run make_*() only one time per architecture. -run_once() { - if [[ ! -e ${work_dir}/build.${1}_${arch} ]]; then - $1 - touch ${work_dir}/build.${1}_${arch} - fi -} - -# Base installation (root-image) -make_basefs() { - mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" init -} - -# Copy mkinitcpio parabolaiso hooks and build initramfs (root-image) -make_setup_mkinitcpio() { - cp /usr/lib/initcpio/hooks/parabolaiso ${work_dir}/root-image/usr/lib/initcpio/hooks - cp /usr/lib/initcpio/install/parabolaiso ${work_dir}/root-image/usr/lib/initcpio/install - cp ${script_path}/mkinitcpio.conf ${work_dir}/root-image/etc/mkinitcpio-parabolaiso.conf - mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" -r 'mkinitcpio -c /etc/mkinitcpio-parabolaiso.conf -k /boot/vmlinuz-linux-libre -g /boot/parabolaiso.img' run -} - -# Prepare ${install_dir}/boot/ -make_boot() { - mkdir -p ${work_dir}/iso/${install_dir}/boot/${arch} - cp ${work_dir}/root-image/boot/parabolaiso.img ${work_dir}/iso/${install_dir}/boot/${arch}/parabolaiso.img - cp ${work_dir}/root-image/boot/vmlinuz-linux-libre ${work_dir}/iso/${install_dir}/boot/${arch}/vmlinuz -} - -# Prepare /${install_dir}/boot/syslinux -make_syslinux() { - mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux - sed "s|%PARABOLAISO_LABEL%|${iso_label}|g; - s|%INSTALL_DIR%|${install_dir}|g; - s|%ARCH%|${arch}|g" ${script_path}/syslinux/syslinux.cfg > ${work_dir}/iso/${install_dir}/boot/syslinux/syslinux.cfg - cp ${work_dir}/root-image/usr/lib/syslinux/menu.c32 ${work_dir}/iso/${install_dir}/boot/syslinux/ -} - -# Prepare /isolinux -make_isolinux() { - mkdir -p ${work_dir}/iso/isolinux - sed "s|%INSTALL_DIR%|${install_dir}|g" ${script_path}/isolinux/isolinux.cfg > ${work_dir}/iso/isolinux/isolinux.cfg - cp ${work_dir}/root-image/usr/lib/syslinux/isolinux.bin ${work_dir}/iso/isolinux/ - cp ${work_dir}/root-image/usr/lib/syslinux/isohdpfx.bin ${work_dir}/iso/isolinux/ -} - -# Process aitab -make_aitab() { - sed "s|%ARCH%|${arch}|g" ${script_path}/aitab > ${work_dir}/iso/${install_dir}/aitab -} - -# Build all filesystem images specified in aitab (.fs.sfs .sfs) -make_prepare() { - mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" prepare -} - -# Build ISO -make_iso() { - mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" checksum - mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-${arch}.iso" -} - -run_once make_basefs -run_once make_setup_mkinitcpio -run_once make_boot -run_once make_syslinux -run_once make_isolinux -run_once make_aitab -run_once make_prepare -run_once make_iso diff --git a/configs/baseline/isolinux/isolinux.cfg b/configs/baseline/isolinux/isolinux.cfg deleted file mode 100644 index 44b5684..0000000 --- a/configs/baseline/isolinux/isolinux.cfg +++ /dev/null @@ -1,5 +0,0 @@ -DEFAULT loadconfig - -LABEL loadconfig - CONFIG /%INSTALL_DIR%/boot/syslinux/syslinux.cfg - APPEND /%INSTALL_DIR%/ diff --git a/configs/baseline/mkinitcpio.conf b/configs/baseline/mkinitcpio.conf deleted file mode 100644 index 8cf3926..0000000 --- a/configs/baseline/mkinitcpio.conf +++ /dev/null @@ -1 +0,0 @@ -HOOKS="base udev parabolaiso block filesystems" diff --git a/configs/baseline/syslinux/syslinux.cfg b/configs/baseline/syslinux/syslinux.cfg deleted file mode 100644 index 4761da9..0000000 --- a/configs/baseline/syslinux/syslinux.cfg +++ /dev/null @@ -1,8 +0,0 @@ -UI boot/syslinux/menu.c32 -MENU TITLE Parabola GNU/Linux-libre - -LABEL parabola -MENU LABEL Parabola GNU/Linux-libre -LINUX boot/%ARCH%/vmlinuz -INITRD boot/%ARCH%/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/profile/aitab b/configs/profile/aitab new file mode 100644 index 0000000..b7e9a17 --- /dev/null +++ b/configs/profile/aitab @@ -0,0 +1,3 @@ +# +root-image / i686 xz ext4 50% +root-image / x86_64 xz ext4 50% diff --git a/configs/profile/build.sh b/configs/profile/build.sh new file mode 100755 index 0000000..e7ce4a4 --- /dev/null +++ b/configs/profile/build.sh @@ -0,0 +1,262 @@ +#!/bin/bash + +set -e -u + +iso_name=parabola +iso_label="PARABOLA_$(date +%Y%m)" +iso_version=$(date +%Y.%m.%d) +install_dir=parabola +work_dir=work +out_dir=out + +arch=$(uname -m) +verbose="" +pacman_conf=${work_dir}/pacman.conf +script_path=$(readlink -f ${0%/*}) + +_usage () +{ + echo "usage ${0} [options]" + echo + echo " General options:" + echo " -N Set an iso filename (prefix)" + echo " Default: ${iso_name}" + echo " -V Set an iso version (in filename)" + echo " Default: ${iso_version}" + echo " -L Set an iso label (disk label)" + echo " Default: ${iso_label}" + echo " -D Set an install_dir (directory inside iso)" + echo " Default: ${install_dir}" + echo " -w Set the working directory" + echo " Default: ${work_dir}" + echo " -o Set the output directory" + echo " Default: ${out_dir}" + echo " -v Enable verbose output" + echo " -h This help message" + exit ${1} +} + +# Helper function to run make_*() only one time per architecture. +run_once() { + if [[ ! -e ${work_dir}/build.${1}_${arch} ]]; then + $1 + touch ${work_dir}/build.${1}_${arch} + fi +} + +# Setup custom pacman.conf with current cache directories. +make_pacman_conf() { + local _cache_dirs + _cache_dirs=($(pacman -v 2>&1 | grep '^Cache Dirs:' | sed 's/Cache Dirs:\s*//g')) + sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${_cache_dirs[@]})|g" ${script_path}/pacman.conf > ${pacman_conf} +} + +# Base installation, plus needed packages (root-image) +make_basefs() { + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" init + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -p "memtest86+ mkinitcpio-nfs-utils nbd" install +} + +# Additional packages (root-image) +make_packages() { + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -p "$(grep -h -v ^# ${script_path}/packages.{both,${arch}})" install +} + +# Copy mkinitcpio parabolaiso hooks and build initramfs (root-image) +make_setup_mkinitcpio() { + local _hook + for _hook in parabolaiso parabolaiso_shutdown parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_loop_mnt; do + cp /usr/lib/initcpio/hooks/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/hooks + cp /usr/lib/initcpio/install/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/install + done + cp /usr/lib/initcpio/install/parabolaiso_kms ${work_dir}/${arch}/root-image/usr/lib/initcpio/install + cp /usr/lib/initcpio/parabolaiso_shutdown ${work_dir}/${arch}/root-image/usr/lib/initcpio + cp ${script_path}/mkinitcpio.conf ${work_dir}/${arch}/root-image/etc/mkinitcpio-parabolaiso.conf + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -r 'mkinitcpio -c /etc/mkinitcpio-parabolaiso.conf -k /boot/vmlinuz-linux-libre -g /boot/parabolaiso.img' run +} + +# Customize installation (root-image) +make_customize_root_image() { + cp -af ${script_path}/root-image ${work_dir}/${arch} + + curl -o ${work_dir}/${arch}/root-image/etc/pacman.d/mirrorlist 'https://parabolagnulinux.org/mirrorlist/?country=all&protocol=http&use_mirror_status=on' + + lynx -dump -nolist 'https://wiki.parabolagnulinux.org/index.php/Installation_Guide?action=render' >> ${work_dir}/${arch}/root-image/root/install.txt + + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -r '/root/customize_root_image.sh' run + rm ${work_dir}/${arch}/root-image/root/customize_root_image.sh +} + +# Prepare kernel/initramfs ${install_dir}/boot/ +make_boot() { + mkdir -p ${work_dir}/iso/${install_dir}/boot/${arch} + cp ${work_dir}/${arch}/root-image/boot/parabolaiso.img ${work_dir}/iso/${install_dir}/boot/${arch}/parabolaiso.img + cp ${work_dir}/${arch}/root-image/boot/vmlinuz-linux-libre ${work_dir}/iso/${install_dir}/boot/${arch}/vmlinuz +} + +# Add other aditional/extra files to ${install_dir}/boot/ +make_boot_extra() { + cp ${work_dir}/${arch}/root-image/boot/memtest86+/memtest.bin ${work_dir}/iso/${install_dir}/boot/memtest + cp ${work_dir}/${arch}/root-image/usr/share/licenses/common/GPL2/license.txt ${work_dir}/iso/${install_dir}/boot/memtest.COPYING +} + +# Prepare /${install_dir}/boot/syslinux +make_syslinux() { + mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux + for _cfg in ${script_path}/syslinux/*.cfg; do + sed "s|%PARABOLAISO_LABEL%|${iso_label}|g; + s|%INSTALL_DIR%|${install_dir}|g" ${_cfg} > ${work_dir}/iso/${install_dir}/boot/syslinux/${_cfg##*/} + done + cp ${script_path}/syslinux/splash.png ${work_dir}/iso/${install_dir}/boot/syslinux + cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/*.c32 ${work_dir}/iso/${install_dir}/boot/syslinux + cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/*.com ${work_dir}/iso/${install_dir}/boot/syslinux + cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/*.0 ${work_dir}/iso/${install_dir}/boot/syslinux + cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/memdisk ${work_dir}/iso/${install_dir}/boot/syslinux + mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux/hdt + gzip -c -9 ${work_dir}/${arch}/root-image/usr/share/hwdata/pci.ids > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/pciids.gz + gzip -c -9 ${work_dir}/${arch}/root-image/usr/lib/modules/*-LIBRE/modules.alias > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/modalias.gz +} + +# Prepare /isolinux +make_isolinux() { + mkdir -p ${work_dir}/iso/isolinux + sed "s|%INSTALL_DIR%|${install_dir}|g" ${script_path}/isolinux/isolinux.cfg > ${work_dir}/iso/isolinux/isolinux.cfg + cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/isolinux.bin ${work_dir}/iso/isolinux/ + cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/isohdpfx.bin ${work_dir}/iso/isolinux/ +} + +# Prepare /EFI +make_efi() { + mkdir -p ${work_dir}/iso/EFI/boot + cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/PreLoader.efi ${work_dir}/iso/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/HashTool.efi ${work_dir}/iso/EFI/boot/ + + cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/iso/EFI/boot/loader.efi + + mkdir -p ${work_dir}/iso/loader/entries + cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/iso/loader/ + cp ${script_path}/efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/iso/loader/entries/ + cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/iso/loader/entries/ + + sed "s|%PARABOLAISO_LABEL%|${iso_label}|g; + s|%INSTALL_DIR%|${install_dir}|g" \ + ${script_path}/efiboot/loader/entries/parabolaiso-x86_64-usb.conf > ${work_dir}/iso/loader/entries/parabolaiso-x86_64.conf + + # EFI Shell 2.0 for UEFI 2.3+ ( http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=UEFI_Shell ) + curl -o ${work_dir}/iso/EFI/shellx64_v2.efi https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi + # EFI Shell 1.0 for non UEFI 2.3+ ( http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=Efi-shell ) + curl -o ${work_dir}/iso/EFI/shellx64_v1.efi https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/EdkShellBinPkg/FullShell/X64/Shell_Full.efi +} + +# Prepare efiboot.img::/EFI for "El Torito" EFI boot mode +make_efiboot() { + mkdir -p ${work_dir}/iso/EFI/parabolaiso + truncate -s 31M ${work_dir}/iso/EFI/parabolaiso/efiboot.img + mkfs.vfat -n PARABOLAISO_EFI ${work_dir}/iso/EFI/parabolaiso/efiboot.img + + mkdir -p ${work_dir}/efiboot + mount ${work_dir}/iso/EFI/parabolaiso/efiboot.img ${work_dir}/efiboot + + mkdir -p ${work_dir}/efiboot/EFI/parabolaiso + cp ${work_dir}/iso/${install_dir}/boot/x86_64/vmlinuz ${work_dir}/efiboot/EFI/parabolaiso/vmlinuz.efi + cp ${work_dir}/iso/${install_dir}/boot/x86_64/parabolaiso.img ${work_dir}/efiboot/EFI/parabolaiso/parabolaiso.img + + mkdir -p ${work_dir}/efiboot/EFI/boot + cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/PreLoader.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/HashTool.efi ${work_dir}/efiboot/EFI/boot/ + + cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/efiboot/EFI/boot/loader.efi + + mkdir -p ${work_dir}/efiboot/loader/entries + cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/efiboot/loader/ + cp ${script_path}/efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/efiboot/loader/entries/ + cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/efiboot/loader/entries/ + + sed "s|%PARABOLAISO_LABEL%|${iso_label}|g; + s|%INSTALL_DIR%|${install_dir}|g" \ + ${script_path}/efiboot/loader/entries/parabolaiso-x86_64-cd.conf > ${work_dir}/efiboot/loader/entries/parabolaiso-x86_64.conf + + cp ${work_dir}/iso/EFI/shellx64_v2.efi ${work_dir}/efiboot/EFI/ + cp ${work_dir}/iso/EFI/shellx64_v1.efi ${work_dir}/efiboot/EFI/ + + umount ${work_dir}/efiboot +} + +# Copy aitab +make_aitab() { + mkdir -p ${work_dir}/iso/${install_dir} + cp ${script_path}/aitab ${work_dir}/iso/${install_dir}/aitab +} + +# Build all filesystem images specified in aitab (.fs.sfs .sfs) +make_prepare() { + cp -a -l -f ${work_dir}/${arch}/root-image ${work_dir} + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" pkglist + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" prepare + rm -rf ${work_dir}/root-image + # rm -rf ${work_dir}/${arch}/root-image (if low space, this helps) +} + +# Build ISO +make_iso() { + mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" checksum + mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-dual.iso" +} + +if [[ ${EUID} -ne 0 ]]; then + echo "This script must be run as root." + _usage 1 +fi + +if [[ ${arch} != x86_64 ]]; then + echo "This script needs to be run on x86_64" + _usage 1 +fi + +while getopts 'N:V:L:D:w:o:vh' arg; do + case "${arg}" in + N) iso_name="${OPTARG}" ;; + V) iso_version="${OPTARG}" ;; + L) iso_label="${OPTARG}" ;; + D) install_dir="${OPTARG}" ;; + w) work_dir="${OPTARG}" ;; + o) out_dir="${OPTARG}" ;; + v) verbose="-v" ;; + h) _usage 0 ;; + *) + echo "Invalid argument '${arg}'" + _usage 1 + ;; + esac +done + +mkdir -p ${work_dir} + +run_once make_pacman_conf + +# Do all stuff for each root-image +for arch in i686 x86_64; do + run_once make_basefs + run_once make_packages + run_once make_setup_mkinitcpio + run_once make_customize_root_image +done + +for arch in i686 x86_64; do + run_once make_boot +done + +# Do all stuff for "iso" +run_once make_boot_extra +run_once make_syslinux +run_once make_isolinux +run_once make_efi +run_once make_efiboot + +run_once make_aitab + +for arch in i686 x86_64; do + run_once make_prepare +done + +run_once make_iso diff --git a/configs/profile/efiboot/loader/entries/parabolaiso-x86_64-cd.conf b/configs/profile/efiboot/loader/entries/parabolaiso-x86_64-cd.conf new file mode 100644 index 0000000..057e14f --- /dev/null +++ b/configs/profile/efiboot/loader/entries/parabolaiso-x86_64-cd.conf @@ -0,0 +1,4 @@ +title Parabola GNU/Linux-libre parabolaiso x86_64 UEFI CD +linux /EFI/parabolaiso/vmlinuz.efi +initrd /EFI/parabolaiso/parabolaiso.img +options parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/profile/efiboot/loader/entries/parabolaiso-x86_64-usb.conf b/configs/profile/efiboot/loader/entries/parabolaiso-x86_64-usb.conf new file mode 100644 index 0000000..3863799 --- /dev/null +++ b/configs/profile/efiboot/loader/entries/parabolaiso-x86_64-usb.conf @@ -0,0 +1,4 @@ +title Parabola GNU/Linux-libre parabolaiso x86_64 UEFI USB +linux /%INSTALL_DIR%/boot/x86_64/vmlinuz +initrd /%INSTALL_DIR%/boot/x86_64/parabolaiso.img +options parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/profile/efiboot/loader/entries/uefi-shell-v1-x86_64.conf b/configs/profile/efiboot/loader/entries/uefi-shell-v1-x86_64.conf new file mode 100644 index 0000000..9597ff2 --- /dev/null +++ b/configs/profile/efiboot/loader/entries/uefi-shell-v1-x86_64.conf @@ -0,0 +1,2 @@ +title UEFI Shell x86_64 v1 +efi /EFI/shellx64_v1.efi diff --git a/configs/profile/efiboot/loader/entries/uefi-shell-v2-x86_64.conf b/configs/profile/efiboot/loader/entries/uefi-shell-v2-x86_64.conf new file mode 100644 index 0000000..0dde77a --- /dev/null +++ b/configs/profile/efiboot/loader/entries/uefi-shell-v2-x86_64.conf @@ -0,0 +1,2 @@ +title UEFI Shell x86_64 v2 +efi /EFI/shellx64_v2.efi diff --git a/configs/profile/efiboot/loader/loader.conf b/configs/profile/efiboot/loader/loader.conf new file mode 100644 index 0000000..ba02c50 --- /dev/null +++ b/configs/profile/efiboot/loader/loader.conf @@ -0,0 +1,2 @@ +timeout 3 +default parabolaiso-x86_64 diff --git a/configs/profile/isolinux/isolinux.cfg b/configs/profile/isolinux/isolinux.cfg new file mode 100644 index 0000000..3ee24e0 --- /dev/null +++ b/configs/profile/isolinux/isolinux.cfg @@ -0,0 +1,5 @@ +DEFAULT loadconfig + +LABEL loadconfig + CONFIG /%INSTALL_DIR%/boot/syslinux/parabolaiso.cfg + APPEND /%INSTALL_DIR%/ diff --git a/configs/profile/mkinitcpio.conf b/configs/profile/mkinitcpio.conf new file mode 100644 index 0000000..1006d1d --- /dev/null +++ b/configs/profile/mkinitcpio.conf @@ -0,0 +1,2 @@ +HOOKS="base udev memdisk parabolaiso_shutdown parabolaiso parabolaiso_loop_mnt parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_kms block pcmcia filesystems keyboard" +COMPRESSION="xz" diff --git a/configs/profile/packages.both b/configs/profile/packages.both new file mode 100644 index 0000000..8d6c9ff --- /dev/null +++ b/configs/profile/packages.both @@ -0,0 +1,60 @@ +arch-install-scripts +b43-fwcutter +btrfs-progs +crda +darkhttpd +ddrescue +dhclient +dialog +dmraid +dnsmasq +dnsutils +dosfstools +elinks +ethtool +f2fs-tools +fsarchiver +gnu-netcat +gpm +gptfdisk +grml-zsh-config +grub +haveged +hdparm +ipw2100-fw +ipw2200-fw +irssi +lftp +linux-atm +mc +mtools +nfs-utils +nilfs-utils +nmap +ntfs-3g +ntp +openconnect +openssh +openvpn +partclone +parted +partimage +pptpclient +ppp +rfkill +rp-pppoe +rsync +smartmontools +speedtouch +sudo +tcpdump +testdisk +usb_modeswitch +vpnc +wget +wireless_tools +wpa_actiond +wvdial +xl2tpd +zd1211-firmware +zsh diff --git a/configs/profile/packages.i686 b/configs/profile/packages.i686 new file mode 100644 index 0000000..e69de29 diff --git a/configs/profile/packages.x86_64 b/configs/profile/packages.x86_64 new file mode 100644 index 0000000..407ead2 --- /dev/null +++ b/configs/profile/packages.x86_64 @@ -0,0 +1,3 @@ +gummiboot +prebootloader +refind-efi diff --git a/configs/profile/pacman.conf b/configs/profile/pacman.conf new file mode 100644 index 0000000..800d572 --- /dev/null +++ b/configs/profile/pacman.conf @@ -0,0 +1,92 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +HoldPkg = pacman glibc +#XferCommand = /usr/bin/curl -C - -f %u > %o +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +#UseDelta = 0.7 +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +#Color +#TotalDownload +# We cannot check disk space from within a chroot environment +#CheckSpace +#VerbosePkgLists + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required + +# NOTE: You must run `pacman-key --init` before first using pacman; the local +# keyring can then be populated with the keys of all official Parabola GNU/Linux-libre +# packagers with `pacman-key --populate archlinux`. + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +#[testing] +#Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +#[community-testing] +#Include = /etc/pacman.d/mirrorlist + +[community] +Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs + diff --git a/configs/profile/root-image/etc/fstab b/configs/profile/root-image/etc/fstab new file mode 100644 index 0000000..e69de29 diff --git a/configs/profile/root-image/etc/hostname b/configs/profile/root-image/etc/hostname new file mode 100644 index 0000000..8aaf41b --- /dev/null +++ b/configs/profile/root-image/etc/hostname @@ -0,0 +1 @@ +parabolaiso diff --git a/configs/profile/root-image/etc/locale.conf b/configs/profile/root-image/etc/locale.conf new file mode 100644 index 0000000..01ec548 --- /dev/null +++ b/configs/profile/root-image/etc/locale.conf @@ -0,0 +1 @@ +LANG=en_US.UTF-8 diff --git a/configs/profile/root-image/etc/pam.d/su b/configs/profile/root-image/etc/pam.d/su new file mode 100644 index 0000000..a291042 --- /dev/null +++ b/configs/profile/root-image/etc/pam.d/su @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +auth sufficient pam_wheel.so trust use_uid +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so diff --git a/configs/profile/root-image/etc/sudoers.d/g_wheel b/configs/profile/root-image/etc/sudoers.d/g_wheel new file mode 100644 index 0000000..8c45359 --- /dev/null +++ b/configs/profile/root-image/etc/sudoers.d/g_wheel @@ -0,0 +1 @@ +%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/configs/profile/root-image/etc/systemd/scripts/choose-mirror b/configs/profile/root-image/etc/systemd/scripts/choose-mirror new file mode 100755 index 0000000..13c9f69 --- /dev/null +++ b/configs/profile/root-image/etc/systemd/scripts/choose-mirror @@ -0,0 +1,26 @@ +#!/bin/bash + +get_cmdline() { + local param + for param in $(< /proc/cmdline); do + case "${param}" in + $1=*) echo "${param##*=}"; + return 0 + ;; + esac + done +} + +mirror=$(get_cmdline mirror) +[[ $mirror = auto ]] && mirror=$(get_cmdline parabolaiso_http_srv) +[[ $mirror ]] || exit 0 + +mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig +cat >/etc/pacman.d/mirrorlist << EOF +# +# Parabola GNU/Linux-libre repository mirrorlist +# Generated by parabolaiso +# + +Server = ${mirror%%/}/\$repo/os/\$arch +EOF diff --git a/configs/profile/root-image/etc/systemd/system/choose-mirror.service b/configs/profile/root-image/etc/systemd/system/choose-mirror.service new file mode 100644 index 0000000..1e4d771 --- /dev/null +++ b/configs/profile/root-image/etc/systemd/system/choose-mirror.service @@ -0,0 +1,10 @@ +[Unit] +Description=Choose mirror from the kernel command line +ConditionKernelCommandLine=mirror + +[Service] +Type=oneshot +ExecStart=/etc/systemd/scripts/choose-mirror + +[Install] +WantedBy=multi-user.target diff --git a/configs/profile/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount b/configs/profile/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount new file mode 100644 index 0000000..4eab551 --- /dev/null +++ b/configs/profile/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount @@ -0,0 +1,8 @@ +[Unit] +Description=Temporary /etc/pacman.d/gnupg directory + +[Mount] +What=tmpfs +Where=/etc/pacman.d/gnupg +Type=tmpfs +Options=mode=0755 diff --git a/configs/profile/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf b/configs/profile/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf new file mode 100644 index 0000000..d1d8474 --- /dev/null +++ b/configs/profile/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf @@ -0,0 +1,3 @@ +[Service] +ExecStart= +ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux diff --git a/configs/profile/root-image/etc/systemd/system/pacman-init.service b/configs/profile/root-image/etc/systemd/system/pacman-init.service new file mode 100644 index 0000000..23b8144 --- /dev/null +++ b/configs/profile/root-image/etc/systemd/system/pacman-init.service @@ -0,0 +1,15 @@ +[Unit] +Description=Initializes Pacman keyring +Wants=haveged.service +After=haveged.service +Requires=etc-pacman.d-gnupg.mount +After=etc-pacman.d-gnupg.mount + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/bin/pacman-key --init +ExecStart=/usr/bin/pacman-key --populate archlinux + +[Install] +WantedBy=multi-user.target diff --git a/configs/profile/root-image/etc/udev/rules.d/81-dhcpcd.rules b/configs/profile/root-image/etc/udev/rules.d/81-dhcpcd.rules new file mode 100644 index 0000000..970da69 --- /dev/null +++ b/configs/profile/root-image/etc/udev/rules.d/81-dhcpcd.rules @@ -0,0 +1 @@ +ACTION=="add", SUBSYSTEM=="net", ENV{SYSTEMD_WANTS}="dhcpcd@$name.service" diff --git a/configs/profile/root-image/root/.automated_script.sh b/configs/profile/root-image/root/.automated_script.sh new file mode 100755 index 0000000..fb106da --- /dev/null +++ b/configs/profile/root-image/root/.automated_script.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +script_cmdline () +{ + local param + for param in $(< /proc/cmdline); do + case "${param}" in + script=*) echo "${param##*=}" ; return 0 ;; + esac + done +} + +automated_script () +{ + local script rt + script="$(script_cmdline)" + if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then + if [[ "${script}" =~ ^http:// || "${script}" =~ ^ftp:// ]]; then + wget "${script}" --retry-connrefused -q -O /tmp/startup_script >/dev/null + rt=$? + else + cp "${script}" /tmp/startup_script + rt=$? + fi + if [[ ${rt} -eq 0 ]]; then + chmod +x /tmp/startup_script + /tmp/startup_script + fi + fi +} + +if [[ $(tty) == "/dev/tty1" ]]; then + automated_script +fi diff --git a/configs/profile/root-image/root/.zlogin b/configs/profile/root-image/root/.zlogin new file mode 100644 index 0000000..f598e43 --- /dev/null +++ b/configs/profile/root-image/root/.zlogin @@ -0,0 +1 @@ +~/.automated_script.sh diff --git a/configs/profile/root-image/root/customize_root_image.sh b/configs/profile/root-image/root/customize_root_image.sh new file mode 100755 index 0000000..7c9a003 --- /dev/null +++ b/configs/profile/root-image/root/customize_root_image.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +set -e -u + +sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen +locale-gen + +ln -sf /usr/share/zoneinfo/UTC /etc/localtime + +usermod -s /usr/bin/zsh root +cp -aT /etc/skel/ /root/ + +useradd -m -p "" -g users -G "adm,audio,floppy,log,network,rfkill,scanner,storage,optical,power,wheel" -s /usr/bin/zsh parabola + +chmod 750 /etc/sudoers.d +chmod 440 /etc/sudoers.d/g_wheel + +sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist + +systemctl enable multi-user.target pacman-init.service choose-mirror.service diff --git a/configs/profile/root-image/root/install.txt b/configs/profile/root-image/root/install.txt new file mode 100644 index 0000000..87b85cb --- /dev/null +++ b/configs/profile/root-image/root/install.txt @@ -0,0 +1,3 @@ +View this installation guide online at +https://wiki.parabolagnulinux.org/index.php/Installation_Guide + diff --git a/configs/profile/syslinux/parabolaiso.cfg b/configs/profile/syslinux/parabolaiso.cfg new file mode 100644 index 0000000..473e245 --- /dev/null +++ b/configs/profile/syslinux/parabolaiso.cfg @@ -0,0 +1,11 @@ +DEFAULT select + +LABEL select +COM32 boot/syslinux/whichsys.c32 +APPEND -pxe- pxe -sys- sys -iso- sys + +LABEL pxe +CONFIG boot/syslinux/parabolaiso_pxe_choose.cfg + +LABEL sys +CONFIG boot/syslinux/parabolaiso_sys_choose.cfg diff --git a/configs/profile/syslinux/parabolaiso_head.cfg b/configs/profile/syslinux/parabolaiso_head.cfg new file mode 100644 index 0000000..278255d --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_head.cfg @@ -0,0 +1,25 @@ +SERIAL 0 38400 +UI boot/syslinux/vesamenu.c32 +MENU TITLE Parabola GNU/Linux-libre +MENU BACKGROUND boot/syslinux/splash.png + +MENU WIDTH 78 +MENU MARGIN 4 +MENU ROWS 7 +MENU VSHIFT 10 +MENU TABMSGROW 14 +MENU CMDLINEROW 14 +MENU HELPMSGROW 16 +MENU HELPMSGENDROW 29 + +# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu + +MENU COLOR border 30;44 #40ffffff #a0000000 std +MENU COLOR title 1;36;44 #9033ccff #a0000000 std +MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all +MENU COLOR unsel 37;44 #50ffffff #a0000000 std +MENU COLOR help 37;40 #c0ffffff #a0000000 std +MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std +MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std +MENU COLOR msg07 37;40 #90ffffff #a0000000 std +MENU COLOR tabmsg 31;40 #30ffffff #00000000 std diff --git a/configs/profile/syslinux/parabolaiso_pxe32.cfg b/configs/profile/syslinux/parabolaiso_pxe32.cfg new file mode 100644 index 0000000..60bc713 --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_pxe32.cfg @@ -0,0 +1,32 @@ +LABEL parabola32_nbd +TEXT HELP +Boot the Parabola GNU/Linux-libre (i686) live medium (Using NBD). +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (i686) (NBD) +LINUX boot/i686/vmlinuz +INITRD boot/i686/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% parabolaiso_nbd_srv=${pxeserver} +IPAPPEND 3 + +LABEL parabola32_nfs +TEXT HELP +Boot the Parabola GNU/Linux-libre (i686) live medium (Using NFS). +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (i686) (NFS) +LINUX boot/i686/vmlinuz +INITRD boot/i686/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_nfs_srv=${pxeserver}:/run/parabolaiso/bootmnt +IPAPPEND 3 + +LABEL parabola32_http +TEXT HELP +Boot the Parabola GNU/Linux-libre (i686) live medium (Using HTTP). +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (i686) (HTTP) +LINUX boot/i686/vmlinuz +INITRD boot/i686/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_http_srv=http://${pxeserver}/ +IPAPPEND 3 diff --git a/configs/profile/syslinux/parabolaiso_pxe64.cfg b/configs/profile/syslinux/parabolaiso_pxe64.cfg new file mode 100644 index 0000000..34bf7d7 --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_pxe64.cfg @@ -0,0 +1,32 @@ +LABEL parabola64_nbd +TEXT HELP +Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NBD). +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (NBD) +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% parabolaiso_nbd_srv=${pxeserver} +IPAPPEND 3 + +LABEL parabola64_nfs +TEXT HELP +Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NFS). +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (NFS) +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_nfs_srv=${pxeserver}:/run/parabolaiso/bootmnt +IPAPPEND 3 + +LABEL parabola64_http +TEXT HELP +Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using HTTP). +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (HTTP) +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_http_srv=http://${pxeserver}/ +IPAPPEND 3 diff --git a/configs/profile/syslinux/parabolaiso_pxe_32_inc.cfg b/configs/profile/syslinux/parabolaiso_pxe_32_inc.cfg new file mode 100644 index 0000000..ba514cb --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_pxe_32_inc.cfg @@ -0,0 +1,3 @@ +INCLUDE boot/syslinux/parabolaiso_head.cfg +INCLUDE boot/syslinux/parabolaiso_pxe32.cfg +INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/profile/syslinux/parabolaiso_pxe_both_inc.cfg b/configs/profile/syslinux/parabolaiso_pxe_both_inc.cfg new file mode 100644 index 0000000..9396d9b --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_pxe_both_inc.cfg @@ -0,0 +1,4 @@ +INCLUDE boot/syslinux/parabolaiso_head.cfg +INCLUDE boot/syslinux/parabolaiso_pxe64.cfg +INCLUDE boot/syslinux/parabolaiso_pxe32.cfg +INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/profile/syslinux/parabolaiso_pxe_choose.cfg b/configs/profile/syslinux/parabolaiso_pxe_choose.cfg new file mode 100644 index 0000000..a3a768f --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_pxe_choose.cfg @@ -0,0 +1,11 @@ +DEFAULT choose + +LABEL choose +COM32 boot/syslinux/ifcpu64.c32 +APPEND have64 -- nohave64 + +LABEL have64 +CONFIG boot/syslinux/parabolaiso_pxe_both_inc.cfg + +LABEL nohave64 +CONFIG boot/syslinux/parabolaiso_pxe_32_inc.cfg diff --git a/configs/profile/syslinux/parabolaiso_sys32.cfg b/configs/profile/syslinux/parabolaiso_sys32.cfg new file mode 100644 index 0000000..4abdf7a --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_sys32.cfg @@ -0,0 +1,9 @@ +LABEL parabola32 +TEXT HELP +Boot the Parabola GNU/Linux-libre (i686) live medium. +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (i686) +LINUX boot/i686/vmlinuz +INITRD boot/i686/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/profile/syslinux/parabolaiso_sys64.cfg b/configs/profile/syslinux/parabolaiso_sys64.cfg new file mode 100644 index 0000000..b154459 --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_sys64.cfg @@ -0,0 +1,9 @@ +LABEL parabola64 +TEXT HELP +Boot the Parabola GNU/Linux-libre (x86_64) live medium. +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/profile/syslinux/parabolaiso_sys_32_inc.cfg b/configs/profile/syslinux/parabolaiso_sys_32_inc.cfg new file mode 100644 index 0000000..c641201 --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_sys_32_inc.cfg @@ -0,0 +1,3 @@ +INCLUDE boot/syslinux/parabolaiso_head.cfg +INCLUDE boot/syslinux/parabolaiso_sys32.cfg +INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/profile/syslinux/parabolaiso_sys_both_inc.cfg b/configs/profile/syslinux/parabolaiso_sys_both_inc.cfg new file mode 100644 index 0000000..9dfb87f --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_sys_both_inc.cfg @@ -0,0 +1,4 @@ +INCLUDE boot/syslinux/parabolaiso_head.cfg +INCLUDE boot/syslinux/parabolaiso_sys64.cfg +INCLUDE boot/syslinux/parabolaiso_sys32.cfg +INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/profile/syslinux/parabolaiso_sys_choose.cfg b/configs/profile/syslinux/parabolaiso_sys_choose.cfg new file mode 100644 index 0000000..d436062 --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_sys_choose.cfg @@ -0,0 +1,11 @@ +DEFAULT choose + +LABEL choose +COM32 boot/syslinux/ifcpu64.c32 +APPEND have64 -- nohave64 + +LABEL have64 +CONFIG boot/syslinux/parabolaiso_sys_both_inc.cfg + +LABEL nohave64 +CONFIG boot/syslinux/parabolaiso_sys_32_inc.cfg diff --git a/configs/profile/syslinux/parabolaiso_tail.cfg b/configs/profile/syslinux/parabolaiso_tail.cfg new file mode 100644 index 0000000..5d95b3b --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_tail.cfg @@ -0,0 +1,27 @@ +LABEL existing +TEXT HELP +Boot an existing operating system. +Press TAB to edit the disk and partition number to boot. +ENDTEXT +MENU LABEL Boot existing OS +COM32 boot/syslinux/chain.c32 +APPEND hd0 0 + +# http://www.memtest.org/ +LABEL memtest +MENU LABEL Run Memtest86+ (RAM test) +LINUX boot/memtest + +# http://hdt-project.org/ +LABEL hdt +MENU LABEL Hardware Information (HDT) +COM32 boot/syslinux/hdt.c32 +APPEND modules_alias=boot/syslinux/hdt/modalias.gz pciids=boot/syslinux/hdt/pciids.gz + +LABEL reboot +MENU LABEL Reboot +COM32 boot/syslinux/reboot.c32 + +LABEL poweroff +MENU LABEL Power Off +COMBOOT boot/syslinux/poweroff.com diff --git a/configs/profile/syslinux/splash.png b/configs/profile/syslinux/splash.png new file mode 100644 index 0000000..64b959a Binary files /dev/null and b/configs/profile/syslinux/splash.png differ diff --git a/configs/profile/syslinux/syslinux.cfg b/configs/profile/syslinux/syslinux.cfg new file mode 100644 index 0000000..0869ed2 --- /dev/null +++ b/configs/profile/syslinux/syslinux.cfg @@ -0,0 +1,5 @@ +DEFAULT loadconfig + +LABEL loadconfig + CONFIG parabolaiso.cfg + APPEND ../../ diff --git a/configs/releng/aitab b/configs/releng/aitab deleted file mode 100644 index b7e9a17..0000000 --- a/configs/releng/aitab +++ /dev/null @@ -1,3 +0,0 @@ -# -root-image / i686 xz ext4 50% -root-image / x86_64 xz ext4 50% diff --git a/configs/releng/build.sh b/configs/releng/build.sh deleted file mode 100755 index e7ce4a4..0000000 --- a/configs/releng/build.sh +++ /dev/null @@ -1,262 +0,0 @@ -#!/bin/bash - -set -e -u - -iso_name=parabola -iso_label="PARABOLA_$(date +%Y%m)" -iso_version=$(date +%Y.%m.%d) -install_dir=parabola -work_dir=work -out_dir=out - -arch=$(uname -m) -verbose="" -pacman_conf=${work_dir}/pacman.conf -script_path=$(readlink -f ${0%/*}) - -_usage () -{ - echo "usage ${0} [options]" - echo - echo " General options:" - echo " -N Set an iso filename (prefix)" - echo " Default: ${iso_name}" - echo " -V Set an iso version (in filename)" - echo " Default: ${iso_version}" - echo " -L Set an iso label (disk label)" - echo " Default: ${iso_label}" - echo " -D Set an install_dir (directory inside iso)" - echo " Default: ${install_dir}" - echo " -w Set the working directory" - echo " Default: ${work_dir}" - echo " -o Set the output directory" - echo " Default: ${out_dir}" - echo " -v Enable verbose output" - echo " -h This help message" - exit ${1} -} - -# Helper function to run make_*() only one time per architecture. -run_once() { - if [[ ! -e ${work_dir}/build.${1}_${arch} ]]; then - $1 - touch ${work_dir}/build.${1}_${arch} - fi -} - -# Setup custom pacman.conf with current cache directories. -make_pacman_conf() { - local _cache_dirs - _cache_dirs=($(pacman -v 2>&1 | grep '^Cache Dirs:' | sed 's/Cache Dirs:\s*//g')) - sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${_cache_dirs[@]})|g" ${script_path}/pacman.conf > ${pacman_conf} -} - -# Base installation, plus needed packages (root-image) -make_basefs() { - setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" init - setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -p "memtest86+ mkinitcpio-nfs-utils nbd" install -} - -# Additional packages (root-image) -make_packages() { - setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -p "$(grep -h -v ^# ${script_path}/packages.{both,${arch}})" install -} - -# Copy mkinitcpio parabolaiso hooks and build initramfs (root-image) -make_setup_mkinitcpio() { - local _hook - for _hook in parabolaiso parabolaiso_shutdown parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_loop_mnt; do - cp /usr/lib/initcpio/hooks/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/hooks - cp /usr/lib/initcpio/install/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/install - done - cp /usr/lib/initcpio/install/parabolaiso_kms ${work_dir}/${arch}/root-image/usr/lib/initcpio/install - cp /usr/lib/initcpio/parabolaiso_shutdown ${work_dir}/${arch}/root-image/usr/lib/initcpio - cp ${script_path}/mkinitcpio.conf ${work_dir}/${arch}/root-image/etc/mkinitcpio-parabolaiso.conf - setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -r 'mkinitcpio -c /etc/mkinitcpio-parabolaiso.conf -k /boot/vmlinuz-linux-libre -g /boot/parabolaiso.img' run -} - -# Customize installation (root-image) -make_customize_root_image() { - cp -af ${script_path}/root-image ${work_dir}/${arch} - - curl -o ${work_dir}/${arch}/root-image/etc/pacman.d/mirrorlist 'https://parabolagnulinux.org/mirrorlist/?country=all&protocol=http&use_mirror_status=on' - - lynx -dump -nolist 'https://wiki.parabolagnulinux.org/index.php/Installation_Guide?action=render' >> ${work_dir}/${arch}/root-image/root/install.txt - - setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -r '/root/customize_root_image.sh' run - rm ${work_dir}/${arch}/root-image/root/customize_root_image.sh -} - -# Prepare kernel/initramfs ${install_dir}/boot/ -make_boot() { - mkdir -p ${work_dir}/iso/${install_dir}/boot/${arch} - cp ${work_dir}/${arch}/root-image/boot/parabolaiso.img ${work_dir}/iso/${install_dir}/boot/${arch}/parabolaiso.img - cp ${work_dir}/${arch}/root-image/boot/vmlinuz-linux-libre ${work_dir}/iso/${install_dir}/boot/${arch}/vmlinuz -} - -# Add other aditional/extra files to ${install_dir}/boot/ -make_boot_extra() { - cp ${work_dir}/${arch}/root-image/boot/memtest86+/memtest.bin ${work_dir}/iso/${install_dir}/boot/memtest - cp ${work_dir}/${arch}/root-image/usr/share/licenses/common/GPL2/license.txt ${work_dir}/iso/${install_dir}/boot/memtest.COPYING -} - -# Prepare /${install_dir}/boot/syslinux -make_syslinux() { - mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux - for _cfg in ${script_path}/syslinux/*.cfg; do - sed "s|%PARABOLAISO_LABEL%|${iso_label}|g; - s|%INSTALL_DIR%|${install_dir}|g" ${_cfg} > ${work_dir}/iso/${install_dir}/boot/syslinux/${_cfg##*/} - done - cp ${script_path}/syslinux/splash.png ${work_dir}/iso/${install_dir}/boot/syslinux - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/*.c32 ${work_dir}/iso/${install_dir}/boot/syslinux - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/*.com ${work_dir}/iso/${install_dir}/boot/syslinux - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/*.0 ${work_dir}/iso/${install_dir}/boot/syslinux - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/memdisk ${work_dir}/iso/${install_dir}/boot/syslinux - mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux/hdt - gzip -c -9 ${work_dir}/${arch}/root-image/usr/share/hwdata/pci.ids > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/pciids.gz - gzip -c -9 ${work_dir}/${arch}/root-image/usr/lib/modules/*-LIBRE/modules.alias > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/modalias.gz -} - -# Prepare /isolinux -make_isolinux() { - mkdir -p ${work_dir}/iso/isolinux - sed "s|%INSTALL_DIR%|${install_dir}|g" ${script_path}/isolinux/isolinux.cfg > ${work_dir}/iso/isolinux/isolinux.cfg - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/isolinux.bin ${work_dir}/iso/isolinux/ - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/isohdpfx.bin ${work_dir}/iso/isolinux/ -} - -# Prepare /EFI -make_efi() { - mkdir -p ${work_dir}/iso/EFI/boot - cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/PreLoader.efi ${work_dir}/iso/EFI/boot/bootx64.efi - cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/HashTool.efi ${work_dir}/iso/EFI/boot/ - - cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/iso/EFI/boot/loader.efi - - mkdir -p ${work_dir}/iso/loader/entries - cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/iso/loader/ - cp ${script_path}/efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/iso/loader/entries/ - cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/iso/loader/entries/ - - sed "s|%PARABOLAISO_LABEL%|${iso_label}|g; - s|%INSTALL_DIR%|${install_dir}|g" \ - ${script_path}/efiboot/loader/entries/parabolaiso-x86_64-usb.conf > ${work_dir}/iso/loader/entries/parabolaiso-x86_64.conf - - # EFI Shell 2.0 for UEFI 2.3+ ( http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=UEFI_Shell ) - curl -o ${work_dir}/iso/EFI/shellx64_v2.efi https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi - # EFI Shell 1.0 for non UEFI 2.3+ ( http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=Efi-shell ) - curl -o ${work_dir}/iso/EFI/shellx64_v1.efi https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/EdkShellBinPkg/FullShell/X64/Shell_Full.efi -} - -# Prepare efiboot.img::/EFI for "El Torito" EFI boot mode -make_efiboot() { - mkdir -p ${work_dir}/iso/EFI/parabolaiso - truncate -s 31M ${work_dir}/iso/EFI/parabolaiso/efiboot.img - mkfs.vfat -n PARABOLAISO_EFI ${work_dir}/iso/EFI/parabolaiso/efiboot.img - - mkdir -p ${work_dir}/efiboot - mount ${work_dir}/iso/EFI/parabolaiso/efiboot.img ${work_dir}/efiboot - - mkdir -p ${work_dir}/efiboot/EFI/parabolaiso - cp ${work_dir}/iso/${install_dir}/boot/x86_64/vmlinuz ${work_dir}/efiboot/EFI/parabolaiso/vmlinuz.efi - cp ${work_dir}/iso/${install_dir}/boot/x86_64/parabolaiso.img ${work_dir}/efiboot/EFI/parabolaiso/parabolaiso.img - - mkdir -p ${work_dir}/efiboot/EFI/boot - cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/PreLoader.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi - cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/HashTool.efi ${work_dir}/efiboot/EFI/boot/ - - cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/efiboot/EFI/boot/loader.efi - - mkdir -p ${work_dir}/efiboot/loader/entries - cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/efiboot/loader/ - cp ${script_path}/efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/efiboot/loader/entries/ - cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/efiboot/loader/entries/ - - sed "s|%PARABOLAISO_LABEL%|${iso_label}|g; - s|%INSTALL_DIR%|${install_dir}|g" \ - ${script_path}/efiboot/loader/entries/parabolaiso-x86_64-cd.conf > ${work_dir}/efiboot/loader/entries/parabolaiso-x86_64.conf - - cp ${work_dir}/iso/EFI/shellx64_v2.efi ${work_dir}/efiboot/EFI/ - cp ${work_dir}/iso/EFI/shellx64_v1.efi ${work_dir}/efiboot/EFI/ - - umount ${work_dir}/efiboot -} - -# Copy aitab -make_aitab() { - mkdir -p ${work_dir}/iso/${install_dir} - cp ${script_path}/aitab ${work_dir}/iso/${install_dir}/aitab -} - -# Build all filesystem images specified in aitab (.fs.sfs .sfs) -make_prepare() { - cp -a -l -f ${work_dir}/${arch}/root-image ${work_dir} - setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" pkglist - setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" prepare - rm -rf ${work_dir}/root-image - # rm -rf ${work_dir}/${arch}/root-image (if low space, this helps) -} - -# Build ISO -make_iso() { - mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" checksum - mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-dual.iso" -} - -if [[ ${EUID} -ne 0 ]]; then - echo "This script must be run as root." - _usage 1 -fi - -if [[ ${arch} != x86_64 ]]; then - echo "This script needs to be run on x86_64" - _usage 1 -fi - -while getopts 'N:V:L:D:w:o:vh' arg; do - case "${arg}" in - N) iso_name="${OPTARG}" ;; - V) iso_version="${OPTARG}" ;; - L) iso_label="${OPTARG}" ;; - D) install_dir="${OPTARG}" ;; - w) work_dir="${OPTARG}" ;; - o) out_dir="${OPTARG}" ;; - v) verbose="-v" ;; - h) _usage 0 ;; - *) - echo "Invalid argument '${arg}'" - _usage 1 - ;; - esac -done - -mkdir -p ${work_dir} - -run_once make_pacman_conf - -# Do all stuff for each root-image -for arch in i686 x86_64; do - run_once make_basefs - run_once make_packages - run_once make_setup_mkinitcpio - run_once make_customize_root_image -done - -for arch in i686 x86_64; do - run_once make_boot -done - -# Do all stuff for "iso" -run_once make_boot_extra -run_once make_syslinux -run_once make_isolinux -run_once make_efi -run_once make_efiboot - -run_once make_aitab - -for arch in i686 x86_64; do - run_once make_prepare -done - -run_once make_iso diff --git a/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-cd.conf b/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-cd.conf deleted file mode 100644 index 057e14f..0000000 --- a/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-cd.conf +++ /dev/null @@ -1,4 +0,0 @@ -title Parabola GNU/Linux-libre parabolaiso x86_64 UEFI CD -linux /EFI/parabolaiso/vmlinuz.efi -initrd /EFI/parabolaiso/parabolaiso.img -options parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-usb.conf b/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-usb.conf deleted file mode 100644 index 3863799..0000000 --- a/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-usb.conf +++ /dev/null @@ -1,4 +0,0 @@ -title Parabola GNU/Linux-libre parabolaiso x86_64 UEFI USB -linux /%INSTALL_DIR%/boot/x86_64/vmlinuz -initrd /%INSTALL_DIR%/boot/x86_64/parabolaiso.img -options parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/releng/efiboot/loader/entries/uefi-shell-v1-x86_64.conf b/configs/releng/efiboot/loader/entries/uefi-shell-v1-x86_64.conf deleted file mode 100644 index 9597ff2..0000000 --- a/configs/releng/efiboot/loader/entries/uefi-shell-v1-x86_64.conf +++ /dev/null @@ -1,2 +0,0 @@ -title UEFI Shell x86_64 v1 -efi /EFI/shellx64_v1.efi diff --git a/configs/releng/efiboot/loader/entries/uefi-shell-v2-x86_64.conf b/configs/releng/efiboot/loader/entries/uefi-shell-v2-x86_64.conf deleted file mode 100644 index 0dde77a..0000000 --- a/configs/releng/efiboot/loader/entries/uefi-shell-v2-x86_64.conf +++ /dev/null @@ -1,2 +0,0 @@ -title UEFI Shell x86_64 v2 -efi /EFI/shellx64_v2.efi diff --git a/configs/releng/efiboot/loader/loader.conf b/configs/releng/efiboot/loader/loader.conf deleted file mode 100644 index ba02c50..0000000 --- a/configs/releng/efiboot/loader/loader.conf +++ /dev/null @@ -1,2 +0,0 @@ -timeout 3 -default parabolaiso-x86_64 diff --git a/configs/releng/isolinux/isolinux.cfg b/configs/releng/isolinux/isolinux.cfg deleted file mode 100644 index 3ee24e0..0000000 --- a/configs/releng/isolinux/isolinux.cfg +++ /dev/null @@ -1,5 +0,0 @@ -DEFAULT loadconfig - -LABEL loadconfig - CONFIG /%INSTALL_DIR%/boot/syslinux/parabolaiso.cfg - APPEND /%INSTALL_DIR%/ diff --git a/configs/releng/mkinitcpio.conf b/configs/releng/mkinitcpio.conf deleted file mode 100644 index 1006d1d..0000000 --- a/configs/releng/mkinitcpio.conf +++ /dev/null @@ -1,2 +0,0 @@ -HOOKS="base udev memdisk parabolaiso_shutdown parabolaiso parabolaiso_loop_mnt parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_kms block pcmcia filesystems keyboard" -COMPRESSION="xz" diff --git a/configs/releng/packages.both b/configs/releng/packages.both deleted file mode 100644 index 8d6c9ff..0000000 --- a/configs/releng/packages.both +++ /dev/null @@ -1,60 +0,0 @@ -arch-install-scripts -b43-fwcutter -btrfs-progs -crda -darkhttpd -ddrescue -dhclient -dialog -dmraid -dnsmasq -dnsutils -dosfstools -elinks -ethtool -f2fs-tools -fsarchiver -gnu-netcat -gpm -gptfdisk -grml-zsh-config -grub -haveged -hdparm -ipw2100-fw -ipw2200-fw -irssi -lftp -linux-atm -mc -mtools -nfs-utils -nilfs-utils -nmap -ntfs-3g -ntp -openconnect -openssh -openvpn -partclone -parted -partimage -pptpclient -ppp -rfkill -rp-pppoe -rsync -smartmontools -speedtouch -sudo -tcpdump -testdisk -usb_modeswitch -vpnc -wget -wireless_tools -wpa_actiond -wvdial -xl2tpd -zd1211-firmware -zsh diff --git a/configs/releng/packages.i686 b/configs/releng/packages.i686 deleted file mode 100644 index e69de29..0000000 diff --git a/configs/releng/packages.x86_64 b/configs/releng/packages.x86_64 deleted file mode 100644 index 407ead2..0000000 --- a/configs/releng/packages.x86_64 +++ /dev/null @@ -1,3 +0,0 @@ -gummiboot -prebootloader -refind-efi diff --git a/configs/releng/pacman.conf b/configs/releng/pacman.conf deleted file mode 100644 index 800d572..0000000 --- a/configs/releng/pacman.conf +++ /dev/null @@ -1,92 +0,0 @@ -# -# /etc/pacman.conf -# -# See the pacman.conf(5) manpage for option and repository directives - -# -# GENERAL OPTIONS -# -[options] -# The following paths are commented out with their default values listed. -# If you wish to use different paths, uncomment and update the paths. -#RootDir = / -#DBPath = /var/lib/pacman/ -#CacheDir = /var/cache/pacman/pkg/ -#LogFile = /var/log/pacman.log -#GPGDir = /etc/pacman.d/gnupg/ -HoldPkg = pacman glibc -#XferCommand = /usr/bin/curl -C - -f %u > %o -#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u -#CleanMethod = KeepInstalled -#UseDelta = 0.7 -Architecture = auto - -# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup -#IgnorePkg = -#IgnoreGroup = - -#NoUpgrade = -#NoExtract = - -# Misc options -#UseSyslog -#Color -#TotalDownload -# We cannot check disk space from within a chroot environment -#CheckSpace -#VerbosePkgLists - -# By default, pacman accepts packages signed by keys that its local keyring -# trusts (see pacman-key and its man page), as well as unsigned packages. -SigLevel = Required DatabaseOptional -LocalFileSigLevel = Optional -#RemoteFileSigLevel = Required - -# NOTE: You must run `pacman-key --init` before first using pacman; the local -# keyring can then be populated with the keys of all official Parabola GNU/Linux-libre -# packagers with `pacman-key --populate archlinux`. - -# -# REPOSITORIES -# - can be defined here or included from another file -# - pacman will search repositories in the order defined here -# - local/custom mirrors can be added here or in separate files -# - repositories listed first will take precedence when packages -# have identical names, regardless of version number -# - URLs will have $repo replaced by the name of the current repo -# - URLs will have $arch replaced by the name of the architecture -# -# Repository entries are of the format: -# [repo-name] -# Server = ServerName -# Include = IncludePath -# -# The header [repo-name] is crucial - it must be present and -# uncommented to enable the repo. -# - -# The testing repositories are disabled by default. To enable, uncomment the -# repo name header and Include lines. You can add preferred servers immediately -# after the header, and they will be used before the default mirrors. - -#[testing] -#Include = /etc/pacman.d/mirrorlist - -[core] -Include = /etc/pacman.d/mirrorlist - -[extra] -Include = /etc/pacman.d/mirrorlist - -#[community-testing] -#Include = /etc/pacman.d/mirrorlist - -[community] -Include = /etc/pacman.d/mirrorlist - -# An example of a custom package repository. See the pacman manpage for -# tips on creating your own repositories. -#[custom] -#SigLevel = Optional TrustAll -#Server = file:///home/custompkgs - diff --git a/configs/releng/root-image/etc/fstab b/configs/releng/root-image/etc/fstab deleted file mode 100644 index e69de29..0000000 diff --git a/configs/releng/root-image/etc/hostname b/configs/releng/root-image/etc/hostname deleted file mode 100644 index 8aaf41b..0000000 --- a/configs/releng/root-image/etc/hostname +++ /dev/null @@ -1 +0,0 @@ -parabolaiso diff --git a/configs/releng/root-image/etc/locale.conf b/configs/releng/root-image/etc/locale.conf deleted file mode 100644 index 01ec548..0000000 --- a/configs/releng/root-image/etc/locale.conf +++ /dev/null @@ -1 +0,0 @@ -LANG=en_US.UTF-8 diff --git a/configs/releng/root-image/etc/pam.d/su b/configs/releng/root-image/etc/pam.d/su deleted file mode 100644 index a291042..0000000 --- a/configs/releng/root-image/etc/pam.d/su +++ /dev/null @@ -1,6 +0,0 @@ -#%PAM-1.0 -auth sufficient pam_rootok.so -auth sufficient pam_wheel.so trust use_uid -auth required pam_unix.so -account required pam_unix.so -session required pam_unix.so diff --git a/configs/releng/root-image/etc/sudoers.d/g_wheel b/configs/releng/root-image/etc/sudoers.d/g_wheel deleted file mode 100644 index 8c45359..0000000 --- a/configs/releng/root-image/etc/sudoers.d/g_wheel +++ /dev/null @@ -1 +0,0 @@ -%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/configs/releng/root-image/etc/systemd/scripts/choose-mirror b/configs/releng/root-image/etc/systemd/scripts/choose-mirror deleted file mode 100755 index 13c9f69..0000000 --- a/configs/releng/root-image/etc/systemd/scripts/choose-mirror +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -get_cmdline() { - local param - for param in $(< /proc/cmdline); do - case "${param}" in - $1=*) echo "${param##*=}"; - return 0 - ;; - esac - done -} - -mirror=$(get_cmdline mirror) -[[ $mirror = auto ]] && mirror=$(get_cmdline parabolaiso_http_srv) -[[ $mirror ]] || exit 0 - -mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig -cat >/etc/pacman.d/mirrorlist << EOF -# -# Parabola GNU/Linux-libre repository mirrorlist -# Generated by parabolaiso -# - -Server = ${mirror%%/}/\$repo/os/\$arch -EOF diff --git a/configs/releng/root-image/etc/systemd/system/choose-mirror.service b/configs/releng/root-image/etc/systemd/system/choose-mirror.service deleted file mode 100644 index 1e4d771..0000000 --- a/configs/releng/root-image/etc/systemd/system/choose-mirror.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Choose mirror from the kernel command line -ConditionKernelCommandLine=mirror - -[Service] -Type=oneshot -ExecStart=/etc/systemd/scripts/choose-mirror - -[Install] -WantedBy=multi-user.target diff --git a/configs/releng/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount b/configs/releng/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount deleted file mode 100644 index 4eab551..0000000 --- a/configs/releng/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Temporary /etc/pacman.d/gnupg directory - -[Mount] -What=tmpfs -Where=/etc/pacman.d/gnupg -Type=tmpfs -Options=mode=0755 diff --git a/configs/releng/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf b/configs/releng/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf deleted file mode 100644 index d1d8474..0000000 --- a/configs/releng/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf +++ /dev/null @@ -1,3 +0,0 @@ -[Service] -ExecStart= -ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux diff --git a/configs/releng/root-image/etc/systemd/system/pacman-init.service b/configs/releng/root-image/etc/systemd/system/pacman-init.service deleted file mode 100644 index 23b8144..0000000 --- a/configs/releng/root-image/etc/systemd/system/pacman-init.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=Initializes Pacman keyring -Wants=haveged.service -After=haveged.service -Requires=etc-pacman.d-gnupg.mount -After=etc-pacman.d-gnupg.mount - -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=/usr/bin/pacman-key --init -ExecStart=/usr/bin/pacman-key --populate archlinux - -[Install] -WantedBy=multi-user.target diff --git a/configs/releng/root-image/etc/udev/rules.d/81-dhcpcd.rules b/configs/releng/root-image/etc/udev/rules.d/81-dhcpcd.rules deleted file mode 100644 index 970da69..0000000 --- a/configs/releng/root-image/etc/udev/rules.d/81-dhcpcd.rules +++ /dev/null @@ -1 +0,0 @@ -ACTION=="add", SUBSYSTEM=="net", ENV{SYSTEMD_WANTS}="dhcpcd@$name.service" diff --git a/configs/releng/root-image/root/.automated_script.sh b/configs/releng/root-image/root/.automated_script.sh deleted file mode 100755 index fb106da..0000000 --- a/configs/releng/root-image/root/.automated_script.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - -script_cmdline () -{ - local param - for param in $(< /proc/cmdline); do - case "${param}" in - script=*) echo "${param##*=}" ; return 0 ;; - esac - done -} - -automated_script () -{ - local script rt - script="$(script_cmdline)" - if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then - if [[ "${script}" =~ ^http:// || "${script}" =~ ^ftp:// ]]; then - wget "${script}" --retry-connrefused -q -O /tmp/startup_script >/dev/null - rt=$? - else - cp "${script}" /tmp/startup_script - rt=$? - fi - if [[ ${rt} -eq 0 ]]; then - chmod +x /tmp/startup_script - /tmp/startup_script - fi - fi -} - -if [[ $(tty) == "/dev/tty1" ]]; then - automated_script -fi diff --git a/configs/releng/root-image/root/.zlogin b/configs/releng/root-image/root/.zlogin deleted file mode 100644 index f598e43..0000000 --- a/configs/releng/root-image/root/.zlogin +++ /dev/null @@ -1 +0,0 @@ -~/.automated_script.sh diff --git a/configs/releng/root-image/root/customize_root_image.sh b/configs/releng/root-image/root/customize_root_image.sh deleted file mode 100755 index 7c9a003..0000000 --- a/configs/releng/root-image/root/customize_root_image.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -set -e -u - -sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen -locale-gen - -ln -sf /usr/share/zoneinfo/UTC /etc/localtime - -usermod -s /usr/bin/zsh root -cp -aT /etc/skel/ /root/ - -useradd -m -p "" -g users -G "adm,audio,floppy,log,network,rfkill,scanner,storage,optical,power,wheel" -s /usr/bin/zsh parabola - -chmod 750 /etc/sudoers.d -chmod 440 /etc/sudoers.d/g_wheel - -sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist - -systemctl enable multi-user.target pacman-init.service choose-mirror.service diff --git a/configs/releng/root-image/root/install.txt b/configs/releng/root-image/root/install.txt deleted file mode 100644 index 87b85cb..0000000 --- a/configs/releng/root-image/root/install.txt +++ /dev/null @@ -1,3 +0,0 @@ -View this installation guide online at -https://wiki.parabolagnulinux.org/index.php/Installation_Guide - diff --git a/configs/releng/syslinux/parabolaiso.cfg b/configs/releng/syslinux/parabolaiso.cfg deleted file mode 100644 index 473e245..0000000 --- a/configs/releng/syslinux/parabolaiso.cfg +++ /dev/null @@ -1,11 +0,0 @@ -DEFAULT select - -LABEL select -COM32 boot/syslinux/whichsys.c32 -APPEND -pxe- pxe -sys- sys -iso- sys - -LABEL pxe -CONFIG boot/syslinux/parabolaiso_pxe_choose.cfg - -LABEL sys -CONFIG boot/syslinux/parabolaiso_sys_choose.cfg diff --git a/configs/releng/syslinux/parabolaiso_head.cfg b/configs/releng/syslinux/parabolaiso_head.cfg deleted file mode 100644 index 278255d..0000000 --- a/configs/releng/syslinux/parabolaiso_head.cfg +++ /dev/null @@ -1,25 +0,0 @@ -SERIAL 0 38400 -UI boot/syslinux/vesamenu.c32 -MENU TITLE Parabola GNU/Linux-libre -MENU BACKGROUND boot/syslinux/splash.png - -MENU WIDTH 78 -MENU MARGIN 4 -MENU ROWS 7 -MENU VSHIFT 10 -MENU TABMSGROW 14 -MENU CMDLINEROW 14 -MENU HELPMSGROW 16 -MENU HELPMSGENDROW 29 - -# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu - -MENU COLOR border 30;44 #40ffffff #a0000000 std -MENU COLOR title 1;36;44 #9033ccff #a0000000 std -MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all -MENU COLOR unsel 37;44 #50ffffff #a0000000 std -MENU COLOR help 37;40 #c0ffffff #a0000000 std -MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std -MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std -MENU COLOR msg07 37;40 #90ffffff #a0000000 std -MENU COLOR tabmsg 31;40 #30ffffff #00000000 std diff --git a/configs/releng/syslinux/parabolaiso_pxe32.cfg b/configs/releng/syslinux/parabolaiso_pxe32.cfg deleted file mode 100644 index 60bc713..0000000 --- a/configs/releng/syslinux/parabolaiso_pxe32.cfg +++ /dev/null @@ -1,32 +0,0 @@ -LABEL parabola32_nbd -TEXT HELP -Boot the Parabola GNU/Linux-libre (i686) live medium (Using NBD). -It allows you to install Parabola GNU/Linux-libre or perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (i686) (NBD) -LINUX boot/i686/vmlinuz -INITRD boot/i686/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% parabolaiso_nbd_srv=${pxeserver} -IPAPPEND 3 - -LABEL parabola32_nfs -TEXT HELP -Boot the Parabola GNU/Linux-libre (i686) live medium (Using NFS). -It allows you to install Parabola GNU/Linux-libre or perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (i686) (NFS) -LINUX boot/i686/vmlinuz -INITRD boot/i686/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_nfs_srv=${pxeserver}:/run/parabolaiso/bootmnt -IPAPPEND 3 - -LABEL parabola32_http -TEXT HELP -Boot the Parabola GNU/Linux-libre (i686) live medium (Using HTTP). -It allows you to install Parabola GNU/Linux-libre or perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (i686) (HTTP) -LINUX boot/i686/vmlinuz -INITRD boot/i686/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_http_srv=http://${pxeserver}/ -IPAPPEND 3 diff --git a/configs/releng/syslinux/parabolaiso_pxe64.cfg b/configs/releng/syslinux/parabolaiso_pxe64.cfg deleted file mode 100644 index 34bf7d7..0000000 --- a/configs/releng/syslinux/parabolaiso_pxe64.cfg +++ /dev/null @@ -1,32 +0,0 @@ -LABEL parabola64_nbd -TEXT HELP -Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NBD). -It allows you to install Parabola GNU/Linux-libre or perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (NBD) -LINUX boot/x86_64/vmlinuz -INITRD boot/x86_64/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% parabolaiso_nbd_srv=${pxeserver} -IPAPPEND 3 - -LABEL parabola64_nfs -TEXT HELP -Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NFS). -It allows you to install Parabola GNU/Linux-libre or perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (NFS) -LINUX boot/x86_64/vmlinuz -INITRD boot/x86_64/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_nfs_srv=${pxeserver}:/run/parabolaiso/bootmnt -IPAPPEND 3 - -LABEL parabola64_http -TEXT HELP -Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using HTTP). -It allows you to install Parabola GNU/Linux-libre or perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (HTTP) -LINUX boot/x86_64/vmlinuz -INITRD boot/x86_64/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_http_srv=http://${pxeserver}/ -IPAPPEND 3 diff --git a/configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg b/configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg deleted file mode 100644 index ba514cb..0000000 --- a/configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg +++ /dev/null @@ -1,3 +0,0 @@ -INCLUDE boot/syslinux/parabolaiso_head.cfg -INCLUDE boot/syslinux/parabolaiso_pxe32.cfg -INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg b/configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg deleted file mode 100644 index 9396d9b..0000000 --- a/configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg +++ /dev/null @@ -1,4 +0,0 @@ -INCLUDE boot/syslinux/parabolaiso_head.cfg -INCLUDE boot/syslinux/parabolaiso_pxe64.cfg -INCLUDE boot/syslinux/parabolaiso_pxe32.cfg -INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/releng/syslinux/parabolaiso_pxe_choose.cfg b/configs/releng/syslinux/parabolaiso_pxe_choose.cfg deleted file mode 100644 index a3a768f..0000000 --- a/configs/releng/syslinux/parabolaiso_pxe_choose.cfg +++ /dev/null @@ -1,11 +0,0 @@ -DEFAULT choose - -LABEL choose -COM32 boot/syslinux/ifcpu64.c32 -APPEND have64 -- nohave64 - -LABEL have64 -CONFIG boot/syslinux/parabolaiso_pxe_both_inc.cfg - -LABEL nohave64 -CONFIG boot/syslinux/parabolaiso_pxe_32_inc.cfg diff --git a/configs/releng/syslinux/parabolaiso_sys32.cfg b/configs/releng/syslinux/parabolaiso_sys32.cfg deleted file mode 100644 index 4abdf7a..0000000 --- a/configs/releng/syslinux/parabolaiso_sys32.cfg +++ /dev/null @@ -1,9 +0,0 @@ -LABEL parabola32 -TEXT HELP -Boot the Parabola GNU/Linux-libre (i686) live medium. -It allows you to install Parabola GNU/Linux-libre or perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (i686) -LINUX boot/i686/vmlinuz -INITRD boot/i686/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/releng/syslinux/parabolaiso_sys64.cfg b/configs/releng/syslinux/parabolaiso_sys64.cfg deleted file mode 100644 index b154459..0000000 --- a/configs/releng/syslinux/parabolaiso_sys64.cfg +++ /dev/null @@ -1,9 +0,0 @@ -LABEL parabola64 -TEXT HELP -Boot the Parabola GNU/Linux-libre (x86_64) live medium. -It allows you to install Parabola GNU/Linux-libre or perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) -LINUX boot/x86_64/vmlinuz -INITRD boot/x86_64/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/releng/syslinux/parabolaiso_sys_32_inc.cfg b/configs/releng/syslinux/parabolaiso_sys_32_inc.cfg deleted file mode 100644 index c641201..0000000 --- a/configs/releng/syslinux/parabolaiso_sys_32_inc.cfg +++ /dev/null @@ -1,3 +0,0 @@ -INCLUDE boot/syslinux/parabolaiso_head.cfg -INCLUDE boot/syslinux/parabolaiso_sys32.cfg -INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/releng/syslinux/parabolaiso_sys_both_inc.cfg b/configs/releng/syslinux/parabolaiso_sys_both_inc.cfg deleted file mode 100644 index 9dfb87f..0000000 --- a/configs/releng/syslinux/parabolaiso_sys_both_inc.cfg +++ /dev/null @@ -1,4 +0,0 @@ -INCLUDE boot/syslinux/parabolaiso_head.cfg -INCLUDE boot/syslinux/parabolaiso_sys64.cfg -INCLUDE boot/syslinux/parabolaiso_sys32.cfg -INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/releng/syslinux/parabolaiso_sys_choose.cfg b/configs/releng/syslinux/parabolaiso_sys_choose.cfg deleted file mode 100644 index d436062..0000000 --- a/configs/releng/syslinux/parabolaiso_sys_choose.cfg +++ /dev/null @@ -1,11 +0,0 @@ -DEFAULT choose - -LABEL choose -COM32 boot/syslinux/ifcpu64.c32 -APPEND have64 -- nohave64 - -LABEL have64 -CONFIG boot/syslinux/parabolaiso_sys_both_inc.cfg - -LABEL nohave64 -CONFIG boot/syslinux/parabolaiso_sys_32_inc.cfg diff --git a/configs/releng/syslinux/parabolaiso_tail.cfg b/configs/releng/syslinux/parabolaiso_tail.cfg deleted file mode 100644 index 5d95b3b..0000000 --- a/configs/releng/syslinux/parabolaiso_tail.cfg +++ /dev/null @@ -1,27 +0,0 @@ -LABEL existing -TEXT HELP -Boot an existing operating system. -Press TAB to edit the disk and partition number to boot. -ENDTEXT -MENU LABEL Boot existing OS -COM32 boot/syslinux/chain.c32 -APPEND hd0 0 - -# http://www.memtest.org/ -LABEL memtest -MENU LABEL Run Memtest86+ (RAM test) -LINUX boot/memtest - -# http://hdt-project.org/ -LABEL hdt -MENU LABEL Hardware Information (HDT) -COM32 boot/syslinux/hdt.c32 -APPEND modules_alias=boot/syslinux/hdt/modalias.gz pciids=boot/syslinux/hdt/pciids.gz - -LABEL reboot -MENU LABEL Reboot -COM32 boot/syslinux/reboot.c32 - -LABEL poweroff -MENU LABEL Power Off -COMBOOT boot/syslinux/poweroff.com diff --git a/configs/releng/syslinux/splash.png b/configs/releng/syslinux/splash.png deleted file mode 100644 index 64b959a..0000000 Binary files a/configs/releng/syslinux/splash.png and /dev/null differ diff --git a/configs/releng/syslinux/syslinux.cfg b/configs/releng/syslinux/syslinux.cfg deleted file mode 100644 index 0869ed2..0000000 --- a/configs/releng/syslinux/syslinux.cfg +++ /dev/null @@ -1,5 +0,0 @@ -DEFAULT loadconfig - -LABEL loadconfig - CONFIG parabolaiso.cfg - APPEND ../../ -- cgit v1.2.2