summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitattributes2
-rw-r--r--.gitignore2
-rw-r--r--Makefile36
-rw-r--r--README330
-rw-r--r--archiso/Makefile62
-rw-r--r--archiso/initcpio/hooks/archiso (renamed from archiso/hooks/archiso)0
-rw-r--r--archiso/initcpio/hooks/archiso_loop_mnt (renamed from archiso/hooks/archiso_loop_mnt)0
-rw-r--r--archiso/initcpio/hooks/archiso_pxe_common50
-rw-r--r--archiso/initcpio/hooks/archiso_pxe_http61
-rw-r--r--archiso/initcpio/hooks/archiso_pxe_nbd (renamed from archiso/hooks/archiso_pxe_nbd)18
-rw-r--r--archiso/initcpio/hooks/archiso_pxe_nfs27
-rw-r--r--archiso/initcpio/hooks/archiso_shutdown6
-rw-r--r--archiso/initcpio/install/archiso (renamed from archiso/install/archiso)7
-rw-r--r--archiso/initcpio/install/archiso_kms26
-rw-r--r--archiso/initcpio/install/archiso_loop_mnt (renamed from archiso/install/archiso_loop_mnt)2
-rw-r--r--archiso/initcpio/install/archiso_pxe_common26
-rw-r--r--archiso/initcpio/install/archiso_pxe_http15
-rw-r--r--archiso/initcpio/install/archiso_pxe_nbd (renamed from archiso/install/archiso_pxe_nbd)7
-rw-r--r--archiso/initcpio/install/archiso_pxe_nfs17
-rw-r--r--archiso/initcpio/install/archiso_shutdown20
-rw-r--r--archiso/initcpio/script/archiso_shutdown37
-rwxr-xr-xarchiso/mkarchiso20
-rwxr-xr-xarchiso/testiso26
-rw-r--r--configs/releng/aitab (renamed from configs/releng/aitab.netinstall)2
-rw-r--r--configs/releng/aitab.core6
-rwxr-xr-xconfigs/releng/build.sh215
-rw-r--r--configs/releng/core.exclude.i6864
-rw-r--r--configs/releng/core.exclude.x86_644
-rw-r--r--configs/releng/efiboot/EFI/boot/startup_iso.nsh10
-rw-r--r--configs/releng/efiboot/EFI/boot/startup_usb.nsh10
-rw-r--r--configs/releng/packages.i68612
-rw-r--r--configs/releng/packages.x86_6414
-rw-r--r--configs/releng/pacman-key-4.0.3_unattended-keyring-init.patch32
-rw-r--r--configs/releng/pacman.conf97
-rw-r--r--configs/releng/root-image/etc/arch-release1
-rw-r--r--configs/releng/root-image/etc/conf.d/dhcpcd6
-rw-r--r--configs/releng/root-image/etc/hostname1
-rw-r--r--configs/releng/root-image/etc/hosts4
-rw-r--r--configs/releng/root-image/etc/inittab2
-rw-r--r--configs/releng/root-image/etc/issue5
-rw-r--r--configs/releng/root-image/etc/locale.conf1
-rw-r--r--configs/releng/root-image/etc/locale.gen455
-rw-r--r--configs/releng/root-image/etc/motd15
-rw-r--r--configs/releng/root-image/etc/rc.conf48
-rw-r--r--configs/releng/root-image/etc/rc.d/functions.d/automated_script2
-rw-r--r--configs/releng/root-image/etc/rc.d/functions.d/omit_kill_nbd_client8
-rw-r--r--configs/releng/root-image/etc/rc.d/functions.d/prepare_locale_gen11
-rwxr-xr-xconfigs/releng/root-image/etc/rc.d/pacman-init34
-rw-r--r--configs/releng/root-image/etc/resolv.conf8
-rw-r--r--configs/releng/root-image/etc/timezone1
-rw-r--r--configs/releng/root-image/etc/vconsole.conf2
-rwxr-xr-xconfigs/releng/root-image/libre/report-issues1
-rwxr-xr-xconfigs/releng/root-image/libre/setup3
-rw-r--r--configs/releng/root-image/root/install.txt3
-rwxr-xr-xconfigs/releng/root-image/usr/bin/autologin2
-rwxr-xr-xconfigs/releng/root-image/usr/bin/km2
-rw-r--r--configs/releng/syslinux.dual/archiso_head.cfg6
-rw-r--r--configs/releng/syslinux.dual/archiso_pxe32.cfg18
-rw-r--r--configs/releng/syslinux.dual/archiso_pxe64.cfg18
-rw-r--r--configs/releng/syslinux.dual/archiso_sys32.cfg8
-rw-r--r--configs/releng/syslinux.dual/archiso_sys64.cfg8
-rw-r--r--configs/releng/syslinux.dual/syslinux_32only.cfg3
-rw-r--r--configs/releng/syslinux.dual/syslinux_arch32.cfg11
-rw-r--r--configs/releng/syslinux.dual/syslinux_arch64.cfg11
-rw-r--r--configs/releng/syslinux.dual/syslinux_both.cfg4
-rw-r--r--configs/releng/syslinux.dual/syslinux_head.cfg28
-rw-r--r--configs/releng/syslinux.dual/syslinux_tail.cfg29
-rw-r--r--configs/releng/syslinux/archiso_head.cfg6
-rw-r--r--configs/releng/syslinux/archiso_pxe.cfg18
-rw-r--r--configs/releng/syslinux/archiso_sys.cfg4
70 files changed, 949 insertions, 1041 deletions
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..5966153
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+.gitattributes export-ignore
+.gitignore export-ignore
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..7d71495
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*~
+archiso-*.tar.gz*
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..1abeb4a
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,36 @@
+V=2
+
+INSTALL_FILES=$(wildcard archiso/initcpio/install/*)
+HOOKS_FILES=$(wildcard archiso/initcpio/hooks/*)
+SCRIPT_FILES=$(wildcard archiso/initcpio/script/*)
+
+
+INSTALL_DIR=$(DESTDIR)/usr/lib/initcpio/install
+HOOKS_DIR=$(DESTDIR)/usr/lib/initcpio/hooks
+SCRIPT_DIR=$(DESTDIR)/usr/lib/initcpio
+
+all:
+
+install: install-program install-initcpio install-examples install-doc
+
+install-program:
+ install -D -m 755 archiso/mkarchiso $(DESTDIR)/usr/sbin/mkarchiso
+
+install-initcpio:
+ install -d $(SCRIPT_DIR) $(HOOKS_DIR) $(INSTALL_DIR)
+ install -m 755 -t $(SCRIPT_DIR) $(SCRIPT_FILES)
+ install -m 644 -t $(HOOKS_DIR) $(HOOKS_FILES)
+ install -m 644 -t $(INSTALL_DIR) $(INSTALL_FILES)
+
+install-examples:
+ install -d -m 755 $(DESTDIR)/usr/share/archiso/
+ cp -a configs $(DESTDIR)/usr/share/archiso/
+
+install-doc:
+ install -D -m 644 README $(DESTDIR)/usr/share/doc/archiso/README
+
+dist:
+ git archive --format=tar --prefix=archiso-$(V)/ v$(V) | gzip -9 > archiso-$(V).tar.gz
+ gpg --detach-sign --use-agent archiso-$(V).tar.gz
+
+.PHONY: install install-program install-initcpio install-examples install-doc dist
diff --git a/README b/README
index d562b2e..6625e8d 100644
--- a/README
+++ b/README
@@ -92,6 +92,9 @@ This is a rebranded fork of the original Archiso for Parabola GNU/Linux-libre.
when option "IPAPPEND" is set to 2 or 3 in config.
BOOTIF=<hardware-address-of-boot-interface>
Default: (set via PXELINUX)
+* copy_resolvconf= Copy /etc/resolv.conf from initramfs to live-enviroment.
+ Set to "n" to skip them.
+ Default: "y"
** hooks/archiso_pxe_nbd
@@ -144,21 +147,229 @@ This is a rebranded fork of the original Archiso for Parabola GNU/Linux-libre.
-*** Boot parameters (only for configs/releng)
+*** Transfer ISO image to target medium (configs/releng)
+
+ISO images names consist of: parabola-<YYYY>.<MM>.<DD>-<ARCH>.iso
+
+Where:
+ <YYYY> Year
+ <MM> Month
+ <DD> Day
+ <ARCH> i686 | x86_64 | dual(*)
+
+(*) "dual" includes both i686 and x86_64 architectures.
+
+
+** To -> CD / DVD / BD
+
+Note: All ISO images are booteable on a PC-BIOS via "El Torito" in no-emulation mode,
+ All x86_64 ISO images are booteable on a PC-EFI via "El Torito" in no-emulation mode.
+
+Nomeclature:
+ <B> scsibus number
+ <T> target number
+ <L> lun number
+ (Note: see cdrecord -scanbus, for these numbers)
+
+
+1) Write it directly using your favorite recording program.
+# cdrecord dev=<B>,<T>,<L> -dao parabola-<YYYY>.<MM>.<DD>-<ARCH>.iso
+
+
+** To -> USB Flash Drive (USB-key) / Memory card (SD) /
+ Hard-Disk Drive (HDD) / Solid-State Drive (SSD)
+
+Note: These steps are the general workflow, you can skip some of them,
+ using another filesystem if your bootloader supports it,
+ installing to another directory than "arch/" or using more than
+ one partition. Just ensure that main boot params options
+ (archisolabel= and archisobasedir=) are set correctly according to your setup.
+
+Nomeclature:
+<DEV-TARGET>: Device node of the drive where ISO contents should be copied
+ (example: /dev/sdx)
+<DEV-TARGET-N>: Device node of the partition on <DEV-TARGET>
+ (example: /dev/sdx1)
+<MNT-TARGET-N>: Mount point path where <DEV-TARGET-N> is mounted
+ (example: /mnt/sdx/1)
+<ISO-SOURCE>: Path to the ISO file parabola-<YYYY>.<MM>.<DD>-<ARCH>.iso
+ (example: ~/parabola-2012.07.22-x86_64.iso)
+<FS-LABEL>: Represents the filesystem label of the <ISO-SOURCE>
+ (example: ARCH_201207 [for all ~/parabola-2012.07.*.iso])
-** /etc/rc.conf
-By default these parameters are set by default to these values
-if nothing is specified on command line.
+* PC-BIOS (MBR):
-* locale= "en_US.UTF-8"
-* daemon_locale= "no"
-* hardwareclock= "UTC"
-* timezone= "Canada/Pacific"
-* keymap= "us"
-* consolefont= (unset)
-* consolemap= (unset)
-* usecolor= "yes"
+Note: Using here a MBR partition mode as example, but GPT should also works
+ if machine firmware is not broken.
+ Just ensure that partition is set with attribute "2: legacy BIOS bootable"
+ and use gptmbr.bin instead of mbr.bin for syslinux.
+
+1) Create one partition entry in MBR (of type "b" for FAT32 or "83" for EXTFS)
+ and mark it as "active" (bootable).
+# fdisk <DEV-TARGET>
+
+2) Create a FAT32 or EXTFS filesystem on such partition and setup a label.
+# mkfs.vfat -F 32 -n <FS-LABEL> <DEV-TARGET-N>
+# mkfs.ext4 -L <FS-LABEL> <DEV-TARGET-N>
+
+3) Mount target filesystem.
+# mount <DEV-TARGET-N> <MNT-TARGET-N>
+
+4) Extract ISO image on target filesystem.
+# bsdtar -x --exclude=isolinux/ --exclude=EFI/ -f <ISO-SOURCE> -C <MNT-TARGET-N>
+
+5) Install syslinux bootloader on target filesystem.
+# extlinux -i <MNT-TARGET-N>/arch/boot/syslinux
+
+6) Unmount target filesystem.
+# umount <MNT-TARGET-N>
+
+7) Install syslinux MBR boot code on target drive.
+# dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/mbr.bin of=<DEV-TARGET>
+
+
+* PC-BIOS (ISOHYBRID-MBR):
+
+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.
+
+1) Dump ISO file to target medium.
+# dd if=<ISO-SOURCE> of=<DEV-TARGET>
+
+
+* PC-EFI (GPT) [x86_64 only]
+
+Note: Using here a GPT partition mode as example, but MBR should also works
+ if machine firmware is not broken.
+
+1) Create one partition entry in GPT (of type "ef00")
+# gdisk <DEV-TARGET>
+
+2) Create a FAT32 filesystem on such partition and setup a label.
+# mkfs.vfat -F 32 -n <FS-LABEL> <DEV-TARGET-N>
+
+3) Mount target filesystem.
+# mount <DEV-TARGET-N> <MNT-TARGET-N>
+
+4) Extract ISO image on target filesystem.
+# bsdtar -x --exclude=isolinux/ --exclude=arch/boot/syslinux/ -f <ISO-SOURCE> -C <MNT-TARGET-N>
+
+5) Extract efiboot.img on EFI/ on target filesystem.
+# mcopy -s -i <MNT-TARGET-N>/EFI/archiso/efiboot.img ::/EFI <MNT-TARGET-N>/
+
+6) Remove uneeded efiboot.img
+# rm <MNT-TARGET-N>/EFI/archiso/efiboot.img
+
+7) Unmount target filesystem.
+# umount <MNT-TARGET-N>
+
+
+
+*** Alternative boot methods (configs/releng)
+
+** ISO in loopback mode.
+
+Note: Described method is for using with GRUB2.
+ GRUB2 is installed on target media and parabola-<YYYY>.<MM>.<DD>-<ARCH>.iso
+ is at path <TARGET-PATH> on disk <D> and partition <P>,
+ where filesystem is labeled as <TARGET-FS-LABEL>.
+
+menuentry "Parabola (x86_64)" {
+ set isofile="/<TARGET-PATH>/parabola-<YYYY>.<MM>.<DD>-<ARCH>.iso"
+ loopback loop (hd<D>,<P>)$isofile
+ linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=<FS-LABEL> img_label=<TARGET-FS-LABEL> img_loop=$isofile
+ initrd (loop)/arch/boot/x86_64/libreiso.img
+}
+
+menuentry "Parabola (i686)" {
+ set isofile="/<TARGET-PATH>/parabola-<YYYY>.<MM>.<DD>-<ARCH>.iso"
+ loopback loop (hd<D>,<P>)$isofile
+ linux (loop)/arch/boot/i686/vmlinuz archisolabel=<FS-LABEL> img_label=<TARGET-FS-LABEL> img_loop=$isofile
+ initrd (loop)/arch/boot/i686/libreiso.img
+}
+
+
+** ISO in memdisk mode.
+
+Note: Described method is for using with SYSLINUX. Anyway MEMDISK from SYSLINUX can work
+ with other bootloaders.
+ SYSLINUX is installed on target media and parabola-<YYYY>.<MM>.<DD>-<ARCH>.iso
+ is at path <TARGET-PATH>.
+ On 32-bit systems, is needed to pass vmalloc=nnM to the kernel, where nn is the size
+ of the ISO image plus 64 MiB (or 128 MiB).
+
+
+LABEL arch_x64
+ LINUX memdisk
+ INITRD /<TARGET-PATH>/parabola-<YYYY>.<MM>.<DD>-<ARCH>.iso
+ APPEND iso
+
+LABEL arch_x32
+ LINUX memdisk
+ INITRD /<TARGET-PATH>/parabola-<YYYY>.<MM>.<DD>-<ARCH>.iso
+ APPEND iso
+
+
+** Network booting (PXE).
+
+All ISOs are ready to act as PXE server, some manual steps are needed
+to setup the desired PXE boot mode.
+Alternatively it is possible to use an existing PXE server following the same logic.
+Note: Setup network first, adjust IP adresses, and respect all slashes "/".
+
+First stage is for loading kernel and initramfs via PXE, two methods described here:
+
+* DHCP + TFTP
+
+Note: All NIC firmwares should support this.
+
+# dnsmasq --port=0 \
+ --enable-tftp \
+ --tftp-root=/run/archiso/bootmnt \
+ --dhcp-range=192.168.0.2,192.168.0.254,86400 \
+ --dhcp-boot=/arch/boot/syslinux/gpxelinux.0 \
+ --dhcp-option-force=209,boot/syslinux/archiso.cfg \
+ --dhcp-option-force=210,/arch/
+
+* DHCP + HTTP
+
+Note: Not all NIC firmware supports HTTP and DNS (if domain name is used).
+ At least this works with iPXE and gPXE.
+
+# dnsmasq --port=0 \
+ --dhcp-range=192.168.0.2,192.168.0.254,86400 \
+ --dhcp-boot=http://192.168.0.7/arch/boot/syslinux/gpxelinux.0 \
+ --dhcp-option-force=209,boot/syslinux/archiso.cfg \
+ --dhcp-option-force=210,http://192.168.0.7/arch/
+
+
+Once the kernel is started from PXE, SquashFS files and other misc files
+inside "arch" directory must be loaded (second stage). One of the following
+methods can be used to serve the rest of live-medium.
+
+* HTTP
+
+# darkhttpd /run/archiso/bootmnt
+
+
+* NFS
+
+# echo "/run/archiso/bootmnt 192.168.0.*(ro,no_subtree_check,no_root_squash)" >> /etc/exports
+# rc.d start rpcbind nfs-common nfs-server
+
+
+* NBD
+
+Note: Adjust ARCH_201207 as needed.
+
+# cat << EOF > /tmp/nbd-server.conf
+[generic]
+[archiso]
+ readonly = true
+ exportname = /dev/disk/by-label/ARCH_201207
+EOF
+# nbd-server -C /tmp/nbd-server.conf
@@ -394,10 +605,12 @@ EOF
** For mkarchiso script needs these packages (build host):
+ squashfs-tools for mksquashfs
+ libisoburn for xorriso
- + rsync for rsync
+ + btrfs-progs for mkfs.btrfs (optional)
** 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)
* archiso
@@ -436,7 +649,8 @@ It consists of some fields which define the behaviour of images.
<mnt> Mount point.
<arch> Architecture { i686 | x86_64 | any }.
<sfs_comp> SquashFS compression type { gzip | lzo | xz }.
-<fs_type> Set the filesystem type of the image { ext4 | ext3 | ext2 | xfs }.
+<fs_type> Set the filesystem type of the image
+ { ext4 | ext3 | ext2 | xfs | btrfs }.
A special value of "none" denotes no usage of a filesystem.
In that case all files are pushed directly to SquashFS filesystem.
<fs_size> An absolute value of file system image size in MiB.
@@ -466,41 +680,17 @@ When make your custom boot-pendrive, you need to copy /libre directory to it.
(A.K.A deinitramfs), build at initramfs by [archiso_shutdown] initcpio hook.
-
*** Building the most basic Parabola live media. (configs/baseline)
-* Install devtools if needed, mkarchroot needs it
- [host] # pacman -S devtools --needed
-
-* Create a base chroot to work on it.
- (prefix with linux32 if you want to build a 32 bits enviroment under 64 bits)
- [host] # mkarchroot /tmp/chroot base
-
-* Install archiso on chroot (needs git and make)
- [host] # pacman -S git make --needed
- [host] # git clone git://projects.parabolagnulinux.org/archiso.git
- [host] # make -C archiso/archiso DESTDIR=/tmp/chroot install
-
-* Enter to chroot (prefix with linux32 if needed).
- [host] # mkarchroot -r bash /tmp/chroot
-
-* Create a loopback device.
- (mkarchroot does not create it, use other number if not available)
- [chroot] # mknod /dev/loop0 b 7 0
+* Install needed packages.
+ # pacman -S git make squashfs-tools libisoburn rsync --needed
-* Setup a mirror.
- [chroot] # echo 'Server = http://repo.parabolagnulinux.org/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
-
-* Install aditional packages needed for mkarchiso.
- [chroot] # pacman -S devtools squashfs-tools syslinux cdrkit libisoburn rsync
+* Install archiso.
+ # git clone git://projects.parabolagnulinux.org/archiso.git
+ # make -C archiso install
* Build a basic iso.
- [chroot] # cp -r /usr/share/archiso/configs/baseline /tmp
- [chroot] # cd /tmp/baseline
- [chroot] # ./build.sh
-
-* Exit from chroot.
- [chroot] # exit
+ # /usr/share/archiso/configs/baseline/build.sh
Note: If you want to customize, just see the configs/releng directory which is
used to build official images with much more things.
@@ -508,54 +698,14 @@ used to build official images with much more things.
*** Building official Parabola live media. (configs/releng)
-Note: These steps should be done with 64 bits support.
-
-* Prepare a 32 bit chroot enviroment.
-
- [host64] # linux32 mkarchroot /tmp/chroot32 base
- [host64] # linux32 mkarchroot -r bash /tmp/chroot32
- [chroot32] # echo 'Server = http://repo.parabolagnulinux.org/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
- [chroot32] # pacman -S devtools squashfs-tools syslinux cdrkit rsync dosfstools
- [chroot32] # exit
-
-* Prepare a 64 bits chroot enviroment.
-
- [host64] # mkarchroot /tmp/chroot64 base
- [host64] # mkarchroot -r bash /tmp/chroot64
- [chroot64] # echo 'Server = http://repo.parabolagnulinux.org/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
- [chroot64] # pacman -S devtools squashfs-tools syslinux cdrkit rsync dosfstools
- [chroot64] # exit
-
-* Install archiso on both chroots.
-
- [host64] # git clone https://projects.parabolagnulinux.org/archiso.git
- [host64] # make -C archiso/archiso DESTDIR=/tmp/chroot32 install
- [host64] # make -C archiso/archiso DESTDIR=/tmp/chroot64 install
-
-* Create a shared /tmp directory between two chroots for working.
-
- [host64] # mkdir /tmp/shared
- [host64] # chmod 1777 /tmp/shared
- [host64] # mount --bind /tmp/shared /tmp/chroot32/tmp
- [host64] # mount --bind /tmp/shared /tmp/chroot64/tmp
-
-* Enter 32 bits chroot enviroment then build core and netinstall single images.
-
- [chroot32] # linux32 mkarchroot -r bash /tmp/chroot32
- [chroot32] # mknod /dev/loop1032 b 7 1032 #assumed loop.max_part=0 (by default)
- [chroot32] # cp -r /usr/share/archiso/configs/releng /tmp
- [chroot32] # cd /tmp/releng
-* Build them!
- [chroot64] # cd /tmp/releng
- [chroot64] # ./build.sh build all all
+* Install needed packages.
+ # pacman -S git make squashfs-tools libisoburn dosfstools lynx patch --needed
-* Enter 64 bits chroot enviroment then build core and netinstall single images.
+* Install archiso.
+ # git clone git://projects.parabolagnulinux.org/archiso.git
+ # make -C archiso install
- [chroot64] # mkarchroot -r bash /tmp/chroot64
- [chroot64] # mknod /dev/loop1064 b 7 1064 #assumed loop.max_part=0 (by default)
- [chroot64] # cp -r /usr/share/archiso/configs/releng /tmp
* Build them!
- [chroot64] # cd /tmp/releng
- [chroot64] # ./build.sh build all all
+ # /usr/share/archiso/configs/releng/build.sh build all
Note: See build.sh -h for more options.
diff --git a/archiso/Makefile b/archiso/Makefile
deleted file mode 100644
index 28868bf..0000000
--- a/archiso/Makefile
+++ /dev/null
@@ -1,62 +0,0 @@
-all:
-
-install: install-program install-hooks install-examples install-doc
-
-install-program:
- # install to sbin since script only usable by root
- install -D -m 755 mkarchiso $(DESTDIR)/usr/sbin/mkarchiso
- # testiso can be used by anyone
- install -D -m 755 testiso $(DESTDIR)/usr/bin/testiso
-
-install-hooks:
- # hooks/install are needed by mkinitcpio
- install -D -m 644 hooks/archiso $(DESTDIR)/usr/lib/initcpio/hooks/archiso
- install -D -m 644 install/archiso $(DESTDIR)/usr/lib/initcpio/install/archiso
- install -D -m 755 archiso_shutdown $(DESTDIR)/usr/lib/initcpio/archiso_shutdown
- install -D -m 644 hooks/archiso_shutdown $(DESTDIR)/usr/lib/initcpio/hooks/archiso_shutdown
- install -D -m 644 install/archiso_shutdown $(DESTDIR)/usr/lib/initcpio/install/archiso_shutdown
- install -D -m 644 archiso_pxe_nbd $(DESTDIR)/usr/lib/initcpio/archiso_pxe_nbd
- install -D -m 644 hooks/archiso_pxe_common $(DESTDIR)/usr/lib/initcpio/hooks/archiso_pxe_common
- install -D -m 644 install/archiso_pxe_common $(DESTDIR)/usr/lib/initcpio/install/archiso_pxe_common
- install -D -m 644 hooks/archiso_pxe_nbd $(DESTDIR)/usr/lib/initcpio/hooks/archiso_pxe_nbd
- install -D -m 644 install/archiso_pxe_nbd $(DESTDIR)/usr/lib/initcpio/install/archiso_pxe_nbd
- install -D -m 644 hooks/archiso_pxe_http $(DESTDIR)/usr/lib/initcpio/hooks/archiso_pxe_http
- install -D -m 644 install/archiso_pxe_http $(DESTDIR)/usr/lib/initcpio/install/archiso_pxe_http
- install -D -m 644 hooks/archiso_pxe_nfs $(DESTDIR)/usr/lib/initcpio/hooks/archiso_pxe_nfs
- install -D -m 644 install/archiso_pxe_nfs $(DESTDIR)/usr/lib/initcpio/install/archiso_pxe_nfs
- install -D -m 644 hooks/archiso_loop_mnt $(DESTDIR)/usr/lib/initcpio/hooks/archiso_loop_mnt
- install -D -m 644 install/archiso_loop_mnt $(DESTDIR)/usr/lib/initcpio/install/archiso_loop_mnt
- install -D -m 644 install/archiso_kms $(DESTDIR)/usr/lib/initcpio/install/archiso_kms
-
-install-examples:
- # install examples
- install -d -m 755 $(DESTDIR)/usr/share/archiso/
- cp -r ../configs $(DESTDIR)/usr/share/archiso/
-
-install-doc:
- install -d -m 755 $(DESTDIR)/usr/share/archiso/
- install -D -m 644 ../README $(DESTDIR)/usr/share/doc/archiso/README
-
-uninstall:
- rm -f $(DESTDIR)/usr/sbin/mkarchiso
- rm -f $(DESTDIR)/usr/bin/testiso
- rm -f $(DESTDIR)/usr/lib/initcpio/hooks/archiso
- rm -f $(DESTDIR)/usr/lib/initcpio/install/archiso
- rm -f $(DESTDIR)/usr/lib/initcpio/archiso_shutdown
- rm -f $(DESTDIR)/usr/lib/initcpio/hooks/archiso_shutdown
- rm -f $(DESTDIR)/usr/lib/initcpio/install/archiso_shutdown
- rm -f $(DESTDIR)/usr/lib/initcpio/archiso_pxe_nbd
- rm -f $(DESTDIR)/usr/lib/initcpio/hooks/archiso_pxe_common
- rm -f $(DESTDIR)/usr/lib/initcpio/install/archiso_pxe_common
- rm -f $(DESTDIR)/usr/lib/initcpio/hooks/archiso_pxe_nbd
- rm -f $(DESTDIR)/usr/lib/initcpio/install/archiso_pxe_nbd
- rm -f $(DESTDIR)/usr/lib/initcpio/hooks/archiso_pxe_http
- rm -f $(DESTDIR)/usr/lib/initcpio/install/archiso_pxe_http
- rm -f $(DESTDIR)/usr/lib/initcpio/hooks/archiso_pxe_nfs
- rm -f $(DESTDIR)/usr/lib/initcpio/install/archiso_pxe_nfs
- rm -f $(DESTDIR)/usr/lib/initcpio/hooks/archiso_loop_mnt
- rm -f $(DESTDIR)/usr/lib/initcpio/install/archiso_loop_mnt
- rm -f $(DESTDIR)/usr/lib/initcpio/install/archiso_kms
- rm -rf $(DESTDIR)/usr/share/archiso/
-
-.PHONY: install install-program install-hooks install-examples install-doc uninstall
diff --git a/archiso/hooks/archiso b/archiso/initcpio/hooks/archiso
index 9445498..9445498 100644
--- a/archiso/hooks/archiso
+++ b/archiso/initcpio/hooks/archiso
diff --git a/archiso/hooks/archiso_loop_mnt b/archiso/initcpio/hooks/archiso_loop_mnt
index a02cfac..a02cfac 100644
--- a/archiso/hooks/archiso_loop_mnt
+++ b/archiso/initcpio/hooks/archiso_loop_mnt
diff --git a/archiso/initcpio/hooks/archiso_pxe_common b/archiso/initcpio/hooks/archiso_pxe_common
new file mode 100644
index 0000000..d8ac709
--- /dev/null
+++ b/archiso/initcpio/hooks/archiso_pxe_common
@@ -0,0 +1,50 @@
+# vim: set ft=sh:
+
+run_hook () {
+ local i net_mac bootif_mac bootif_dev
+ # These variables will be parsed from /tmp/net-*.conf generated by ipconfig
+ local DEVICE
+ local IPV4ADDR IPV4BROADCAST IPV4NETMASK IPV4GATEWAY IPV4DNS0 IPV4DNS1
+ local HOSTNAME DNSDOMAIN NISDOMAIN ROOTSERVER ROOTPATH
+ local filename
+ # /tmp/net-*.conf
+
+ if [[ -n "${ip}" ]]; then
+ if [[ -n "${BOOTIF}" ]]; then
+ bootif_mac=${BOOTIF#01-}
+ bootif_mac=${bootif_mac//-/:}
+ for i in /sys/class/net/*/address; do
+ read net_mac < ${i}
+ if [[ "${bootif_mac}" == "${net_mac}" ]]; then
+ bootif_dev=${i#/sys/class/net/}
+ bootif_dev=${bootif_dev%/address}
+ break
+ fi
+ done
+ ip="${ip}::${bootif_dev}"
+ fi
+
+ # setup network and save some values
+ ipconfig "ip=${ip}"
+
+ . /tmp/net-*.conf
+
+ pxeserver=${ROOTSERVER}
+
+ # setup DNS resolver
+ if [[ "${IPV4DNS0}" != "0.0.0.0" ]]; then
+ echo "nameserver ${IPV4DNS0}" > /etc/resolv.conf
+ fi
+ if [[ "${IPV4DNS1}" != "0.0.0.0" ]]; then
+ echo "nameserver ${IPV4DNS1}" >> /etc/resolv.conf
+ fi
+ fi
+}
+
+run_latehook () {
+ [[ -z "${copy_resolvconf}" ]] && copy_resolvconf="y"
+
+ if [[ "${copy_resolvconf}" != "n" && -f /etc/resolv.conf ]]; then
+ cp /etc/resolv.conf /new_root/etc/resolv.conf
+ fi
+}
diff --git a/archiso/initcpio/hooks/archiso_pxe_http b/archiso/initcpio/hooks/archiso_pxe_http
new file mode 100644
index 0000000..32e8ab0
--- /dev/null
+++ b/archiso/initcpio/hooks/archiso_pxe_http
@@ -0,0 +1,61 @@
+# vim: set ft=sh:
+
+run_hook() {
+ if [[ -n "${ip}" && -n "${archiso_http_srv}" ]]; then
+
+ archiso_http_srv=$(eval echo ${archiso_http_srv})
+ [[ -z "${archiso_http_spc}" ]] && archiso_http_spc="75%"
+
+ mount_handler="archiso_pxe_http_mount_handler"
+ fi
+}
+
+# Fetch a file with CURL
+#
+# $1 URL
+# $2 Destination directory inside httpspace/${archisobasedir}
+_curl_get() {
+ local _url="${1}"
+ local _dst="${2}"
+
+ msg ":: Downloading '${_url}'"
+ if ! curl -L -f -o "/run/archiso/httpspace/${archisobasedir}${_dst}/${_url##*/}" --create-dirs "${_url}"; then
+ echo "ERROR: Downloading '${_url}'"
+ echo " Falling back to interactive prompt"
+ echo " You can try to fix the problem manually, log out when you are finished"
+ launch_interactive_shell
+ fi
+}
+
+archiso_pxe_http_mount_handler () {
+ newroot="${1}"
+
+ msg ":: Mounting /run/archiso/httpspace (tmpfs) filesystem, size='${archiso_http_spc}'"
+ mkdir -p "/run/archiso/httpspace"
+ mount -t tmpfs -o size="${archiso_http_spc}",mode=0755 httpspace "/run/archiso/httpspace"
+
+ local _aitab_url="${archiso_http_srv}${aitab#/run/archiso/bootmnt/}"
+ local _aitab_file="/run/archiso/httpspace/${aitab#/run/archiso/bootmnt/}"
+
+ _curl_get "${_aitab_url}" "/"
+
+ local aitab_img aitab_mnt aitab_arch aitab_sfs_comp aitab_fs_type aitab_fs_size
+ while read aitab_img aitab_mnt aitab_arch aitab_sfs_comp aitab_fs_type aitab_fs_size; do
+ [[ "${aitab_img#\#}" != "${aitab_img}" ]] && continue
+ [[ "${aitab_arch}" != "any" && "${aitab_arch}" != "${arch}" ]] && continue
+ if [[ "${aitab_fs_type}" != "none" ]]; then
+ _curl_get "${archiso_http_srv}${archisobasedir}/${aitab_arch}/${aitab_img}.fs.sfs" "/${aitab_arch}"
+ else
+ _curl_get "${archiso_http_srv}${archisobasedir}/${aitab_arch}/${aitab_img}.sfs" "/${aitab_arch}"
+ fi
+ done < "${_aitab_file}"
+
+ if [[ "${checksum}" == "y" ]]; then
+ _curl_get "${archiso_http_srv}${archisobasedir}/checksum.${arch}.md5" "/"
+ fi
+
+ mkdir -p "/run/archiso/bootmnt"
+ mount -o bind /run/archiso/httpspace /run/archiso/bootmnt
+
+ archiso_mount_handler ${newroot}
+}
diff --git a/archiso/hooks/archiso_pxe_nbd b/archiso/initcpio/hooks/archiso_pxe_nbd
index 6147d06..a9f84d5 100644
--- a/archiso/hooks/archiso_pxe_nbd
+++ b/archiso/initcpio/hooks/archiso_pxe_nbd
@@ -15,6 +15,7 @@ archiso_pxe_nbd_mount_handler () {
# Module autoloading like with loop devices does not work, doing manually...
modprobe nbd 2> /dev/null
+
msg ":: Waiting for boot device..."
while ! poll_device /dev/nbd0 30; do
echo "ERROR: boot device didn't show up after 30 seconds..."
@@ -24,22 +25,13 @@ archiso_pxe_nbd_mount_handler () {
done
msg ":: Setup NBD from ${archiso_nbd_srv} at /dev/nbd0"
- if [[ "${copytoram}" = "y" ]]; then
- nbd-client ${archiso_nbd_srv} -N ${archiso_nbd_name} /dev/nbd0
- else
- nbd-client ${archiso_nbd_srv} -N ${archiso_nbd_name} /dev/nbd0 -persist
- fi
+ nbd-client ${archiso_nbd_srv} -N ${archiso_nbd_name} /dev/nbd0
+ copytoram="y"
archisodevice=/dev/nbd0
archiso_mount_handler ${newroot}
- if [[ "${copytoram}" = "y" ]]; then
- msg ":: Disconnect NBD from ${archiso_nbd_srv} at /dev/nbd0"
- nbd-client -d /dev/nbd0
- else
- mkdir -p /run/archiso
- pidof nbd-client > /run/archiso/nbd_client.pid
- cp /archiso_pxe_nbd ${newroot}/etc/rc.d/functions.d/
- fi
+ msg ":: Disconnect NBD from ${archiso_nbd_srv} at /dev/nbd0"
+ nbd-client -d /dev/nbd0
}
diff --git a/archiso/initcpio/hooks/archiso_pxe_nfs b/archiso/initcpio/hooks/archiso_pxe_nfs
new file mode 100644
index 0000000..ef41c01
--- /dev/null
+++ b/archiso/initcpio/hooks/archiso_pxe_nfs
@@ -0,0 +1,27 @@
+# vim: set ft=sh:
+
+run_hook() {
+ if [[ -n "${ip}" && -n "${archiso_nfs_srv}" ]]; then
+
+ archiso_nfs_srv=$(eval echo ${archiso_nfs_srv})
+ [[ -n "${archiso_nfs_opt}" ]] && archiso_nfs_opt="-o ${archiso_nfs_opt}"
+
+ mount_handler="archiso_nfs_mount_handler"
+ fi
+}
+
+archiso_nfs_mount_handler() {
+ newroot="${1}"
+ mkdir -p "/run/archiso/bootmnt"
+ msg ":: Mounting '${archiso_nfs_srv}'"
+ # Do not put "${archiso_nfs_opt}" nfsmount fails!
+ if ! nfsmount ${archiso_nfs_opt} "${archiso_nfs_srv}" "/run/archiso/bootmnt"; then
+ echo "ERROR: Mounting '${archiso_nfs_srv}'"
+ echo " Falling back to interactive prompt"
+ echo " You can try to fix the problem manually, log out when you are finished"
+ launch_interactive_shell
+ fi
+
+ copytoram="y"
+ archiso_mount_handler ${newroot}
+}
diff --git a/archiso/initcpio/hooks/archiso_shutdown b/archiso/initcpio/hooks/archiso_shutdown
new file mode 100644
index 0000000..e50dedb
--- /dev/null
+++ b/archiso/initcpio/hooks/archiso_shutdown
@@ -0,0 +1,6 @@
+run_cleanuphook() {
+ rm -rf /usr/lib/modules
+ cp -ax / /run/initramfs
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
diff --git a/archiso/install/archiso b/archiso/initcpio/install/archiso
index c36c001..8893667 100644
--- a/archiso/install/archiso
+++ b/archiso/initcpio/install/archiso
@@ -1,8 +1,11 @@
#!/bin/bash
build() {
- MODULES="cdrom loop dm-snapshot"
- SCRIPT="archiso"
+ add_module "cdrom"
+ add_module "loop"
+ add_module "dm-snapshot"
+
+ add_runscript
add_binary /usr/lib/udev/cdrom_id
add_binary blockdev
diff --git a/archiso/initcpio/install/archiso_kms b/archiso/initcpio/install/archiso_kms
new file mode 100644
index 0000000..3ff31f3
--- /dev/null
+++ b/archiso/initcpio/install/archiso_kms
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+build() {
+ add_module "radeon"
+ add_module "nouveau"
+ add_module "i915"
+ add_module "via-agp"
+ add_module "sis-agp"
+ add_module "intel-agp"
+
+ if [[ $(uname -m) == i686 ]]; then
+ add_module "amd64-agp"
+ add_module "ati-agp"
+ add_module "sworks-agp"
+ add_module "ali-agp"
+ add_module "amd-k7-agp"
+ add_module "nvidia-agp"
+ add_module "efficeon-agp"
+ fi
+}
+
+help() {
+ cat << HELPEOF
+Adds all common KMS drivers to the initramfs image.
+HELPEOF
+}
diff --git a/archiso/install/archiso_loop_mnt b/archiso/initcpio/install/archiso_loop_mnt
index 4141043..59f1d94 100644
--- a/archiso/install/archiso_loop_mnt
+++ b/archiso/initcpio/install/archiso_loop_mnt
@@ -1,7 +1,7 @@
#!/bin/bash
build() {
- SCRIPT="archiso_loop_mnt"
+ add_runscript
}
help() {
diff --git a/archiso/initcpio/install/archiso_pxe_common b/archiso/initcpio/install/archiso_pxe_common
new file mode 100644
index 0000000..eec9a7e
--- /dev/null
+++ b/archiso/initcpio/install/archiso_pxe_common
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+build() {
+ add_checked_modules -f "(irda|phy|wimax|wireless|ppp_|plip|pppoe)" "/drivers/net/"
+
+ add_runscript
+
+ add_binary /usr/lib/initcpio/ipconfig /bin/ipconfig
+
+ # Add hosts support files+dns
+ add_symlink /usr/lib/libnss_files.so.2 $(readlink /usr/lib/libnss_files.so.2)
+ add_binary $(readlink -f /usr/lib/libnss_files.so.2)
+ add_symlink /usr/lib/libnss_dns.so.2 $(readlink /usr/lib/libnss_dns.so.2)
+ add_binary $(readlink -f /usr/lib/libnss_dns.so.2)
+
+ add_dir /etc
+ echo "hosts: files dns" > $BUILDROOT/etc/nsswitch.conf
+}
+
+help() {
+cat<<HELPEOF
+ This hook loads the necessary modules for boot via PXE.
+HELPEOF
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
diff --git a/archiso/initcpio/install/archiso_pxe_http b/archiso/initcpio/install/archiso_pxe_http
new file mode 100644
index 0000000..4e02f98
--- /dev/null
+++ b/archiso/initcpio/install/archiso_pxe_http
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+build() {
+ add_runscript
+
+ add_binary curl
+}
+
+help() {
+cat<<HELPEOF
+ This hook loads the necessary modules for boot via PXE and HTTP.
+HELPEOF
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
diff --git a/archiso/install/archiso_pxe_nbd b/archiso/initcpio/install/archiso_pxe_nbd
index 1ee3910..47d98ce 100644
--- a/archiso/install/archiso_pxe_nbd
+++ b/archiso/initcpio/install/archiso_pxe_nbd
@@ -1,12 +1,11 @@
#!/bin/bash
build() {
- MODULES="nbd"
- SCRIPT="archiso_pxe_nbd"
+ add_module "nbd"
- add_binary nbd-client
+ add_runscript
- add_file /usr/lib/initcpio/archiso_pxe_nbd /archiso_pxe_nbd
+ add_binary nbd-client
}
help() {
diff --git a/archiso/initcpio/install/archiso_pxe_nfs b/archiso/initcpio/install/archiso_pxe_nfs
new file mode 100644
index 0000000..f8226e5
--- /dev/null
+++ b/archiso/initcpio/install/archiso_pxe_nfs
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+build() {
+ add_module "nfs"
+
+ add_runscript
+
+ add_binary /usr/lib/initcpio/nfsmount /bin/nfsmount
+}
+
+help() {
+ cat <<HELPEOF
+ This hook loads the necessary modules for boot via PXE and NFS.
+HELPEOF
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
diff --git a/archiso/initcpio/install/archiso_shutdown b/archiso/initcpio/install/archiso_shutdown
new file mode 100644
index 0000000..5ae976a
--- /dev/null
+++ b/archiso/initcpio/install/archiso_shutdown
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+build() {
+ add_binary cp
+
+ add_runscript
+
+ add_file /usr/lib/initcpio/archiso_shutdown /shutdown
+}
+
+help() {
+ cat <<HELPEOF
+This hook will create a shutdown initramfs in /run/initramfs
+that we can pivot to on shutdown in order to unmount / and
+and others mount points, dm-snapshot devices and loopback devices.
+Mostly usefull for dm-snapshot persistent.
+HELPEOF
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
diff --git a/archiso/initcpio/script/archiso_shutdown b/archiso/initcpio/script/archiso_shutdown
new file mode 100644
index 0000000..41b3945
--- /dev/null
+++ b/archiso/initcpio/script/archiso_shutdown
@@ -0,0 +1,37 @@
+#!/bin/ash
+
+# /oldroot depends on things inside /oldroot/run/archiso...
+mkdir /oldrun
+mount -n --move /oldroot/run /oldrun
+
+# Unmount all mounts now.
+umount $(mount | awk '$3 ~/^\/oldroot/ {print $3}' | sort -r)
+
+# Remove all dm-snapshot devices.
+dmsetup remove_all
+
+# Remove all loopback devices.
+for _lup in $(grep ^/dev/loop /oldrun/archiso/used_block_devices | tac); do
+ if ! losetup -d ${_lup} 2> /dev/null; then
+ umount -d ${_lup}
+ fi
+done
+
+# Unmount the space used to store *.cow.
+umount /oldrun/archiso/cowspace
+
+# Unmount boot device if needed (no copytoram=y used)
+if [[ ! -d /oldrun/archiso/copytoram ]]; then
+ if [[ -d /oldrun/archiso/img_dev ]]; then
+ umount /oldrun/archiso/img_dev
+ else
+ umount /oldrun/archiso/bootmnt
+ fi
+fi
+
+# reboot / poweroff / halt, depending on the argument passed by init
+# if something invalid is passed, we halt
+case "$1" in
+ reboot|poweroff|halt) "$1" -f ;;
+ *) halt -f;;
+esac
diff --git a/archiso/mkarchiso b/archiso/mkarchiso
index 6f02131..31abd2c 100755
--- a/archiso/mkarchiso
+++ b/archiso/mkarchiso
@@ -233,7 +233,7 @@ _pacman ()
# Cleanup root-image
_cleanup () {
- _msg_info "Cleaning up what we can on root-image"
+ _msg_info "Cleaning up what we can on root-image..."
# remove the initcpio images that were generated for the host system
if [[ -d "${work_dir}/root-image/boot" ]]; then
@@ -269,6 +269,7 @@ _cleanup () {
if [[ ! -L "${work_dir}/root-image/etc/mtab" ]]; then
ln -sf "/proc/self/mounts" "${work_dir}/root-image/etc/mtab"
fi
+ _msg_info "Done!"
}
# Makes a SquashFS filesystem image of file/directory passes as argument with desired compression.
@@ -297,7 +298,7 @@ _mksfs () {
# Makes a filesystem from a source directory.
# $1: Source directory
-# $2: Target filesystem type (ext4 | ext3 | ext2 | xfs)
+# $2: Target filesystem type (ext4 | ext3 | ext2 | xfs | btrfs)
# $3: Size of target filesystem. Can be an absolute value in MiB, or relative value of desired free space (1% - 99%)
_mkfs () {
local _src="${1}"
@@ -327,7 +328,7 @@ _mkfs () {
fi
fi
- _msg_info "Creating ${_fs_type} image of ${_fs_size} MiB"
+ _msg_info "Creating ${_fs_type} image of ${_fs_size} MiB..."
rm -f "${_fs_img}"
dd of="${_fs_img}" count=0 bs=1M seek=${_fs_size} &> /dev/null
local _qflag=""
@@ -350,13 +351,18 @@ _mkfs () {
xfs)
mkfs.xfs ${_qflag} "${_fs_img}"
;;
+ btrfs)
+ mkfs.btrfs -M "${_fs_img}"
+ ;;
*)
_msg_error "Invalid filesystem: ${_fs_type}" 1
;;
esac
+ _msg_info "Done!"
_mount_fs "${_fs_img}" "${work_dir}/mnt/${_src}"
- _msg_info "Copying '${_fs_src}/' to '${work_dir}/mnt/${_src}/'"
- rsync -aH "${_fs_src}/" "${work_dir}/mnt/${_src}/"
+ _msg_info "Copying '${_fs_src}/' to '${work_dir}/mnt/${_src}/'..."
+ cp -aT "${_fs_src}/" "${work_dir}/mnt/${_src}/"
+ _msg_info "Done!"
_umount_fs "${work_dir}/mnt/${_src}"
}
@@ -367,7 +373,7 @@ command_checksum () {
for _chk_arch in i686 x86_64; do
if _is_directory_changed "${work_dir}/iso/${install_dir}" "${work_dir}/iso/${install_dir}/checksum.${_chk_arch}.md5"; then
- _msg_info "Creating checksum file for self-test (${_chk_arch})"
+ _msg_info "Creating checksum file for self-test (${_chk_arch})..."
cd "${work_dir}/iso/${install_dir}"
if [[ -d "${_chk_arch}" ]]; then
md5sum aitab > checksum.${_chk_arch}.md5
@@ -386,7 +392,7 @@ command_pkglist () {
_show_config pkglist
if _is_directory_changed "${work_dir}/root-image/var/lib/pacman/local" "${work_dir}/iso/${install_dir}/pkglist.${arch}.txt"; then
- _msg_info "Creating a list of installed packages on live-enviroment"
+ _msg_info "Creating a list of installed packages on live-enviroment..."
pacman -Sl -r "${work_dir}/root-image" --config "${pacman_conf}" | \
awk '/\[installed\]$/ {print $1 "/" $2 "-" $3}' > \
"${work_dir}/iso/${install_dir}/pkglist.${arch}.txt"
diff --git a/archiso/testiso b/archiso/testiso
deleted file mode 100755
index 71e85e1..0000000
--- a/archiso/testiso
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-
-if [[ $# -eq 0 ]]; then
- echo "usage: testiso <isofile> [id|ic|sd|sc|vd|vc]"
- echo
- echo "id boot .iso as IDE disk"
- echo "ic boot .iso as IDE cd-rom"
- echo "sd boot .iso as SCSI disk"
- echo "sc boot .iso as SCSI cd-rom"
- echo "vd boot .iso as virtio disk"
-# echo "vc boot .iso as virtio cd-rom"
- exit 1
-fi
-
-case "${2}" in
- id) IF="ide"; MEDIA="disk";;
- ic) IF="ide"; MEDIA="cdrom";;
- sd) IF="scsi"; MEDIA="disk";;
- sc) IF="scsi"; MEDIA="cdrom";;
- vd) IF="virtio"; MEDIA="disk";;
-# vc) IF="virtio"; MEDIA="cdrom";;
- *) IF="scsi"; MEDIA="cdrom";;
-esac
-
-echo qemu-system-x86_64 -m 256 -drive file=${1},if=${IF},media=${MEDIA},boot=on
-qemu-system-x86_64 -m 256 -drive file=${1},if=${IF},media=${MEDIA},boot=on
diff --git a/configs/releng/aitab.netinstall b/configs/releng/aitab
index 2231154..ede4033 100644
--- a/configs/releng/aitab.netinstall
+++ b/configs/releng/aitab
@@ -1,4 +1,4 @@
# <img> <mnt> <arch> <sfs_comp> <fs_type> <fs_size>
root-image / %ARCH% xz ext4 50%
-lib-modules /lib/modules %ARCH% xz ext4 50%
+usr-lib-modules /usr/lib/modules %ARCH% xz ext4 50%
usr-share /usr/share any xz ext4 50%
diff --git a/configs/releng/aitab.core b/configs/releng/aitab.core
deleted file mode 100644
index 6d10a75..0000000
--- a/configs/releng/aitab.core
+++ /dev/null
@@ -1,6 +0,0 @@
-# <img> <mnt> <arch> <sfs_comp> <fs_type> <fs_size>
-root-image / %ARCH% xz ext4 50%
-lib-modules /lib/modules %ARCH% xz ext4 50%
-usr-share /usr/share any xz ext4 50%
-repo-core-%ARCH% /repo/core/%ARCH% %ARCH% xz none 0
-repo-core-any /repo/core/any any xz none 0
diff --git a/configs/releng/build.sh b/configs/releng/build.sh
index 8080d25..65dfbb2 100755
--- a/configs/releng/build.sh
+++ b/configs/releng/build.sh
@@ -14,15 +14,23 @@ cmd_args=""
script_path=$(readlink -f ${0%/*})
+setup_workdir() {
+ cache_dirs=($(pacman -v 2>&1 | grep '^Cache Dirs:' | sed 's/Cache Dirs:\s*//g'))
+ mkdir -p "${work_dir}"
+ pacman_conf="${work_dir}/pacman.conf"
+ sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${cache_dirs[@]})|g" \
+ "${script_path}/pacman.conf" > "${pacman_conf}"
+}
+
# Base installation (root-image)
make_basefs() {
- mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" init
- mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" -p "memtest86+ mkinitcpio-nfs-utils nbd curl" install
+ mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" init
+ mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" -p "memtest86+ mkinitcpio-nfs-utils nbd curl" install
}
# Additional packages (root-image)
make_packages() {
- mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" -p "$(grep -v ^# ${script_path}/packages.${arch})" install
+ mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" -p "$(grep -v ^# ${script_path}/packages.${arch})" install
}
# Copy mkinitcpio archiso hooks (root-image)
@@ -35,7 +43,6 @@ make_setup_mkinitcpio() {
done
cp /usr/lib/initcpio/install/archiso_kms ${work_dir}/root-image/usr/lib/initcpio/install
cp /usr/lib/initcpio/archiso_shutdown ${work_dir}/root-image/usr/lib/initcpio
- cp /usr/lib/initcpio/archiso_pxe_nbd ${work_dir}/root-image/usr/lib/initcpio
cp ${script_path}/mkinitcpio.conf ${work_dir}/root-image/etc/mkinitcpio-libreiso.conf
: > ${work_dir}/build.${FUNCNAME}
fi
@@ -47,10 +54,10 @@ make_boot() {
local _src=${work_dir}/root-image
local _dst_boot=${work_dir}/iso/${install_dir}/boot
mkdir -p ${_dst_boot}/${arch}
- mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" \
- -r 'mkinitcpio -c /etc/mkinitcpio-libreiso.conf -k /boot/vmlinuz-linux-libre -g /boot/archiso.img' \
+ mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" \
+ -r 'mkinitcpio -c /etc/mkinitcpio-libreiso.conf -k /boot/vmlinuz-linux-libre -g /boot/libreiso.img' \
run
- mv ${_src}/boot/archiso.img ${_dst_boot}/${arch}/libreiso.img
+ mv ${_src}/boot/libreiso.img ${_dst_boot}/${arch}/libreiso.img
mv ${_src}/boot/vmlinuz-linux-libre ${_dst_boot}/${arch}/vmlinuz
cp ${_src}/boot/memtest86+/memtest.bin ${_dst_boot}/memtest
cp ${_src}/usr/share/licenses/common/GPL2/license.txt ${_dst_boot}/memtest.COPYING
@@ -75,10 +82,10 @@ make_boot_efi() {
# There are plans to support command line options via a config file (not yet in linux-3.3)
#cp ${work_dir}/iso/${install_dir}/boot/x86_64/vmlinuz ${work_dir}/efiboot/EFI/boot/bootx64.efi
- #cp ${work_dir}/iso/${install_dir}/boot/x86_64/libreiso.img ${work_dir}/efiboot/EFI/boot/linux-libre.img
- #echo "archisolabel=${iso_label} initrd=\EFI\boot\linux-libre.img" | iconv -f ascii -t ucs2 > ${work_dir}/iso/EFI/boot/linux-libre.conf
+ #cp ${work_dir}/iso/${install_dir}/boot/x86_64/libreiso.img ${work_dir}/efiboot/EFI/boot/linux.img
+ #echo "archisolabel=${iso_label} initrd=\EFI\boot\linux.img" | iconv -f ascii -t ucs2 > ${work_dir}/iso/EFI/boot/linux.conf
- # For now, provide an EFI-shell until 'linux-libre.conf' hits mainline.
+ # For now, provide an EFI-shell until 'linux.conf' hits mainline.
mkdir -p ${work_dir}/efiboot/EFI/boot
# EFI Shell 2.0 for UEFI 2.3+ ( http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=UEFI_Shell )
#wget -O ${work_dir}/efiboot/EFI/boot/bootx64.efi https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi
@@ -87,7 +94,13 @@ make_boot_efi() {
# Add an EFI shell script for automatic boot if ESC-key is not pressed within 5 seconds timeout.
sed "s|%ARCHISO_LABEL%|${iso_label}|g;
- s|%INSTALL_DIR%|${install_dir}|g" ${script_path}/efiboot/EFI/boot/startup.nsh > ${work_dir}/efiboot/EFI/boot/startup.nsh
+ s|%INSTALL_DIR%|${install_dir}|g" ${script_path}/efiboot/EFI/boot/startup_iso.nsh > ${work_dir}/efiboot/EFI/boot/startup.nsh
+
+ mkdir -p ${work_dir}/iso/EFI/boot
+ cp ${work_dir}/efiboot/EFI/boot/bootx64.efi ${work_dir}/iso/EFI/boot/bootx64.efi
+
+ sed "s|%ARCHISO_LABEL%|${iso_label}|g;
+ s|%INSTALL_DIR%|${install_dir}|g" ${script_path}/efiboot/EFI/boot/startup_usb.nsh > ${work_dir}/iso/EFI/boot/startup.nsh
umount ${work_dir}/efiboot
fi
@@ -112,8 +125,8 @@ make_syslinux() {
cp ${_src_syslinux}/*.0 ${_dst_syslinux}
cp ${_src_syslinux}/memdisk ${_dst_syslinux}
mkdir -p ${_dst_syslinux}/hdt
- wget -O - http://pciids.sourceforge.net/v2.2/pci.ids | gzip -9 > ${_dst_syslinux}/hdt/pciids.gz
- cat ${work_dir}/root-image/lib/modules/*-LIBRE/modules.alias | gzip -9 > ${_dst_syslinux}/hdt/modalias.gz
+ cat ${work_dir}/root-image/usr/share/hwdata/pci.ids | gzip -9 > ${_dst_syslinux}/hdt/pciids.gz
+ cat ${work_dir}/root-image/usr/lib/modules/*-LIBRE/modules.alias | gzip -9 > ${_dst_syslinux}/hdt/modalias.gz
: > ${work_dir}/build.${FUNCNAME}
fi
}
@@ -133,26 +146,32 @@ make_isolinux() {
make_customize_root_image() {
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
cp -af ${script_path}/root-image ${work_dir}
+ cp -aT ${work_dir}/root-image/etc/skel/ ${work_dir}/root-image/root/
+ ln -sf /usr/share/zoneinfo/UTC ${work_dir}/root-image/etc/localtime
chmod 750 ${work_dir}/root-image/etc/sudoers.d
chmod 440 ${work_dir}/root-image/etc/sudoers.d/g_wheel
mkdir -p ${work_dir}/root-image/etc/pacman.d
- wget -O ${work_dir}/root-image/etc/pacman.d/mirrorlist https://parabolagnulinux.org/mirrorlist/all/
- sed -i "s/#Server/Server/g" ${work_dir}/root-image/etc/pacman.d/mirrorlist
+ echo 'Server = http://repo.parabolagnulinux.org/$repo/os/$arch' > ${work_dir}/root-image/etc/pacman.d/mirrorlist
+ lynx -dump -nolist 'https://wiki.parabolagnulinux.org/Installation_Guide?action=render' >> ${work_dir}/root-image/root/install.txt
+ patch ${work_dir}/root-image/usr/bin/pacman-key < ${script_path}/pacman-key-4.0.3_unattended-keyring-init.patch
sed -i 's/#\(en_US\.UTF-8\)/\1/' ${work_dir}/root-image/etc/locale.gen
- mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" \
+ mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" \
-r 'locale-gen' \
run
- mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" \
- -r 'useradd -m -p "" -g users -G "audio,disk,optical,wheel" libre' \
+ mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" \
+ -r 'usermod -s /bin/zsh root' \
+ run
+ mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" \
+ -r 'useradd -m -p "" -g users -G "audio,disk,optical,wheel" -s /bin/zsh arch' \
run
: > ${work_dir}/build.${FUNCNAME}
fi
}
-# Split out /lib/modules from root-image (makes more "dual-iso" friendly)
-make_lib_modules() {
+# Split out /usr/lib/modules from root-image (makes more "dual-iso" friendly)
+make_usr_lib_modules() {
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
- mv ${work_dir}/root-image/lib/modules ${work_dir}/lib-modules
+ mv ${work_dir}/root-image/usr/lib/modules ${work_dir}/usr-lib-modules
: > ${work_dir}/build.${FUNCNAME}
fi
}
@@ -165,65 +184,29 @@ make_usr_share() {
fi
}
-# Make [core] repository, keep "any" pkgs in a separate fs (makes more "dual-iso" friendly)
-# TODO add 'base' packages on [libre]
-make_core_repo() {
- if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
- local _url _urls _pkg_name _cached_pkg _dst _pkgs
- mkdir -p ${work_dir}/repo-core-any
- mkdir -p ${work_dir}/repo-core-${arch}
- mkdir -p ${work_dir}/pacman.db/var/lib/pacman
- pacman -Sy -r ${work_dir}/pacman.db
- _pkgs=$(comm -2 -3 <(pacman -Sql -r ${work_dir}/pacman.db core | sort | sed 's@^@core/@') \
- <(grep -v ^# ${script_path}/core.exclude.${arch} | sort | sed 's@^@core/@'))
- _urls=$(pacman -Sddp -r ${work_dir}/pacman.db ${_pkgs})
- pacman -Swdd -r ${work_dir}/pacman.db --noprogressbar --noconfirm ${_pkgs}
- for _url in ${_urls}; do
- _pkg_name=${_url##*/}
- _cached_pkg=/var/cache/pacman/pkg/${_pkg_name}
- _dst=${work_dir}/repo-core-${arch}/${_pkg_name}
- cp ${_cached_pkg} ${_dst}
- repo-add -q ${work_dir}/repo-core-${arch}/core.db.tar.gz ${_dst}
- if [[ ${_pkg_name} == *any.pkg.tar* ]]; then
- mv ${_dst} ${work_dir}/repo-core-any/${_pkg_name}
- ln -sf ../any/${_pkg_name} ${_dst}
- fi
- done
- mkdir -p ${work_dir}/iso/${install_dir}
- pacman -Sp -r ${work_dir}/pacman.db --print-format "%r/%n-%v" ${_pkgs} | sort > ${work_dir}/iso/${install_dir}/pkglist.repo-core.${arch}.txt
- : > ${work_dir}/build.${FUNCNAME}
- fi
-}
-
# Process aitab
-# args: $1 (core | netinstall)
make_aitab() {
- local _iso_type=${1}
- if [[ ! -e ${work_dir}/build.${FUNCNAME}_${_iso_type} ]]; then
- sed "s|%ARCH%|${arch}|g" ${script_path}/aitab.${_iso_type} > ${work_dir}/iso/${install_dir}/aitab
- : > ${work_dir}/build.${FUNCNAME}_${_iso_type}
+ if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
+ sed "s|%ARCH%|${arch}|g" ${script_path}/aitab > ${work_dir}/iso/${install_dir}/aitab
+ : > ${work_dir}/build.${FUNCNAME}
fi
}
# Build all filesystem images specified in aitab (.fs .fs.sfs .sfs)
make_prepare() {
- mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" pkglist
- mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" prepare
+ mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" pkglist
+ mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" prepare
}
# Build ISO
-# args: $1 (core | netinstall)
make_iso() {
- local _iso_type=${1}
- mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" checksum
- mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-${_iso_type}-${arch}.iso"
+ mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" checksum
+ mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-${arch}.iso"
}
# Build dual-iso images from ${work_dir}/i686/iso and ${work_dir}/x86_64/iso
-# args: $1 (core | netinstall)
make_dual() {
- local _iso_type=${1}
- if [[ ! -e ${work_dir}/dual/build.${FUNCNAME}_${_iso_type} ]]; then
+ if [[ ! -e ${work_dir}/dual/build.${FUNCNAME} ]]; then
if [[ ! -d ${work_dir}/i686/iso || ! -d ${work_dir}/x86_64/iso ]]; then
echo "ERROR: i686 or x86_64 builds does not exist."
_usage 1
@@ -241,29 +224,15 @@ make_dual() {
cp -a -l -n ${_src_two} ${work_dir}/dual
rm -f ${work_dir}/dual/iso/${install_dir}/aitab
rm -f ${work_dir}/dual/iso/${install_dir}/boot/syslinux/*.cfg
- if [[ ${_iso_type} == "core" ]]; then
- if [[ ! -e ${work_dir}/dual/iso/${install_dir}/any/repo-core-any.sfs ||
- ! -e ${work_dir}/dual/iso/${install_dir}/i686/repo-core-i686.sfs ||
- ! -e ${work_dir}/dual/iso/${install_dir}/x86_64/repo-core-x86_64.sfs ]]; then
- echo "ERROR: core_iso_single build is not found."
- _usage 1
- fi
- else
- rm -f ${work_dir}/dual/iso/${install_dir}/any/repo-core-any.sfs
- rm -f ${work_dir}/dual/iso/${install_dir}/i686/repo-core-i686.sfs
- rm -f ${work_dir}/dual/iso/${install_dir}/x86_64/repo-core-x86_64.sfs
- rm -f ${work_dir}/dual/iso/${install_dir}/pkglist.repo-core.i686.txt
- rm -f ${work_dir}/dual/iso/${install_dir}/pkglist.repo-core.x86_64.txt
- fi
- paste -d"\n" <(sed "s|%ARCH%|i686|g" ${script_path}/aitab.${_iso_type}) \
- <(sed "s|%ARCH%|x86_64|g" ${script_path}/aitab.${_iso_type}) | uniq > ${work_dir}/dual/iso/${install_dir}/aitab
+ paste -d"\n" <(sed "s|%ARCH%|i686|g" ${script_path}/aitab) \
+ <(sed "s|%ARCH%|x86_64|g" ${script_path}/aitab) | uniq > ${work_dir}/dual/iso/${install_dir}/aitab
for _cfg in ${script_path}/syslinux.dual/*.cfg; do
sed "s|%ARCHISO_LABEL%|${iso_label}|g;
s|%INSTALL_DIR%|${install_dir}|g" ${_cfg} > ${work_dir}/dual/iso/${install_dir}/boot/syslinux/${_cfg##*/}
done
mkarchiso ${verbose} -w "${work_dir}/dual" -D "${install_dir}" checksum
- mkarchiso ${verbose} -w "${work_dir}/dual" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-${_iso_type}-dual.iso"
- : > ${work_dir}/dual/build.${FUNCNAME}_${_iso_type}
+ mkarchiso ${verbose} -w "${work_dir}/dual" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-dual.iso"
+ : > ${work_dir}/dual/build.${FUNCNAME}
fi
}
@@ -306,11 +275,11 @@ make_common_single() {
make_syslinux
make_isolinux
make_customize_root_image
- make_lib_modules
+ make_usr_lib_modules
make_usr_share
- make_aitab $1
- make_prepare $1
- make_iso $1
+ make_aitab
+ make_prepare
+ make_iso
}
_usage ()
@@ -334,8 +303,8 @@ _usage ()
echo " -h This help message"
echo
echo " Commands:"
- echo " build <mode> <type>"
- echo " Build selected .iso by <mode> and <type>"
+ echo " build <mode>"
+ echo " Build selected .iso by <mode>"
echo " purge <mode>"
echo " Clean working directory except iso/ directory of build <mode>"
echo " clean <mode>"
@@ -343,7 +312,6 @@ _usage ()
echo
echo " Command options:"
echo " <mode> Valid values 'single', 'dual' or 'all'"
- echo " <type> Valid values 'netinstall', 'core' or 'all'"
exit ${1}
}
@@ -404,79 +372,34 @@ if [[ $# -lt 2 ]]; then
fi
command_mode="${2}"
-if [[ ${command_name} == "build" ]]; then
- if [[ $# -lt 3 ]]; then
- echo "No build type specified"
- _usage 1
- fi
-command_type="${3}"
-fi
-
if [[ ${command_mode} == "all" && ${arch} != "x86_64" ]]; then
echo "This mode <all> needs to be run on x86_64"
_usage 1
fi
+command_mode="${2}"
if [[ ${command_mode} == "single" ]]; then
work_dir=${work_dir}/${arch}
fi
+setup_workdir
+
case "${command_name}" in
build)
case "${command_mode}" in
single)
- case "${command_type}" in
- netinstall)
- make_common_single netinstall
- ;;
- core)
- make_core_repo
- make_common_single core
- ;;
- all)
- make_common_single netinstall
- make_core_repo
- make_common_single core
- ;;
- *)
- echo "Invalid build type '${command_type}'"
- _usage 1
- ;;
- esac
+ make_common_single
;;
dual)
- case "${command_type}" in
- netinstall)
- make_dual netinstall
- ;;
- core)
- make_dual core
- ;;
- all)
- make_dual netinstall
- make_dual core
- ;;
- *)
- echo "Invalid build type '${command_type}'"
- _usage 1
- ;;
- esac
+ make_dual
;;
all)
- case "${command_type}" in
- netinstall|core|all)
- $0 ${cmd_args} build single ${command_type}
- $0 ${cmd_args} purge single
- linux32 $0 ${cmd_args} build single ${command_type}
- linux32 $0 ${cmd_args} purge single
- $0 ${cmd_args} build dual ${command_type}
- $0 ${cmd_args} purge dual
- ;;
- *)
- echo "Invalid build type '${command_type}'"
- _usage 1
- ;;
- esac
+ $0 ${cmd_args} build single
+ $0 ${cmd_args} purge single
+ linux32 $0 ${cmd_args} build single
+ linux32 $0 ${cmd_args} purge single
+ $0 ${cmd_args} build dual
+ $0 ${cmd_args} purge dual
;;
*)
echo "Invalid build mode '${command_mode}'"
diff --git a/configs/releng/core.exclude.i686 b/configs/releng/core.exclude.i686
deleted file mode 100644
index a04ceef..0000000
--- a/configs/releng/core.exclude.i686
+++ /dev/null
@@ -1,4 +0,0 @@
-gcc-ada
-gcc-fortran
-gcc-go
-gcc-objc
diff --git a/configs/releng/core.exclude.x86_64 b/configs/releng/core.exclude.x86_64
deleted file mode 100644
index a04ceef..0000000
--- a/configs/releng/core.exclude.x86_64
+++ /dev/null
@@ -1,4 +0,0 @@
-gcc-ada
-gcc-fortran
-gcc-go
-gcc-objc
diff --git a/configs/releng/efiboot/EFI/boot/startup_iso.nsh b/configs/releng/efiboot/EFI/boot/startup_iso.nsh
new file mode 100644
index 0000000..ac78735
--- /dev/null
+++ b/configs/releng/efiboot/EFI/boot/startup_iso.nsh
@@ -0,0 +1,10 @@
+@echo -off
+
+for %m run (0 20)
+ if exist fs%m:\EFI\archiso\vmlinuz.efi then
+ fs%m:
+ cd fs%m:\EFI\archiso
+ echo "Launching Parabola ISO Kernel fs%m:\EFI\archiso\vmlinuz.efi"
+ vmlinuz.efi archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% initrd=\EFI\archiso\libreiso.img
+ endif
+endfor
diff --git a/configs/releng/efiboot/EFI/boot/startup_usb.nsh b/configs/releng/efiboot/EFI/boot/startup_usb.nsh
new file mode 100644
index 0000000..2621cc4
--- /dev/null
+++ b/configs/releng/efiboot/EFI/boot/startup_usb.nsh
@@ -0,0 +1,10 @@
+@echo -off
+
+for %m run (0 20)
+ if exist fs%m:\%INSTALL_DIR%\boot\x86_64\vmlinuz then
+ fs%m:
+ cd fs%m:\%INSTALL_DIR%\boot\x86_64
+ echo "Launching Archiso Kernel fs%m:\%INSTALL_DIR%\boot\x86_64\vmlinuz"
+ vmlinuz archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% initrd=\%INSTALL_DIR%\boot\x86_64\libreiso.img
+ endif
+endfor
diff --git a/configs/releng/packages.i686 b/configs/releng/packages.i686
index 109fb17..dacc785 100644
--- a/configs/releng/packages.i686
+++ b/configs/releng/packages.i686
@@ -1,4 +1,4 @@
-aif-libre
+arch-install-scripts
btrfs-progs
crda
darkhttpd
@@ -13,6 +13,9 @@ efibootmgr
elinks
gnu-netcat
gptfdisk
+grml-zsh-config
+grub-bios
+haveged
hdparm
irssi
lftp
@@ -34,7 +37,14 @@ pptpclient
rp-pppoe
rsync
smartmontools
+sudo
tcpdump
+usb_modeswitch
vpnc
+wget
wireless_tools
wpa_actiond
+zile
+wvdial
+xl2tpd
+zsh
diff --git a/configs/releng/packages.x86_64 b/configs/releng/packages.x86_64
index 109fb17..277cf72 100644
--- a/configs/releng/packages.x86_64
+++ b/configs/releng/packages.x86_64
@@ -1,4 +1,4 @@
-aif-libre
+arch-install-scripts
btrfs-progs
crda
darkhttpd
@@ -13,6 +13,10 @@ efibootmgr
elinks
gnu-netcat
gptfdisk
+grml-zsh-config
+grub-bios
+grub-efi-x86_64
+haveged
hdparm
irssi
lftp
@@ -31,10 +35,18 @@ openssh
openvpn
parted
pptpclient
+refind-efi-x86_64
rp-pppoe
rsync
smartmontools
+sudo
tcpdump
+usb_modeswitch
vpnc
+wget
wireless_tools
wpa_actiond
+zile
+wvdial
+xl2tpd
+zsh
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
new file mode 100644
index 0000000..0a5117f
--- /dev/null
+++ b/configs/releng/pacman-key-4.0.3_unattended-keyring-init.patch
@@ -0,0 +1,32 @@
+Author: Pierre Schmitz <pierre@archlinux.de>
+
+* 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
new file mode 100644
index 0000000..bd04545
--- /dev/null
+++ b/configs/releng/pacman.conf
@@ -0,0 +1,97 @@
+#
+# /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
+# 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
+Architecture = auto
+
+# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
+#IgnorePkg =
+#IgnoreGroup =
+
+#NoUpgrade =
+#NoExtract =
+
+# Misc options
+#UseSyslog
+#UseDelta
+#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 = Optional TrustedOnly
+
+# 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
+# packagers with `pacman-key --populate archlinux`.
+# Also add the Parabola packagers keys `pacman-key --populate parabola`
+
+#
+# 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]
+#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
+# tips on creating your own repositories.
+#[custom]
+#SigLevel = Optional TrustAll
+#Server = file:///home/custompkgs
+
diff --git a/configs/releng/root-image/etc/arch-release b/configs/releng/root-image/etc/arch-release
deleted file mode 100644
index d04512c..0000000
--- a/configs/releng/root-image/etc/arch-release
+++ /dev/null
@@ -1 +0,0 @@
-Parabola GNU/Linux-libre Live ISO
diff --git a/configs/releng/root-image/etc/conf.d/dhcpcd b/configs/releng/root-image/etc/conf.d/dhcpcd
new file mode 100644
index 0000000..76b56ff
--- /dev/null
+++ b/configs/releng/root-image/etc/conf.d/dhcpcd
@@ -0,0 +1,6 @@
+#
+# Arguments to be passed to the DHCP client daemon
+#
+
+DHCPCD_ARGS="-qb"
+
diff --git a/configs/releng/root-image/etc/hostname b/configs/releng/root-image/etc/hostname
new file mode 100644
index 0000000..2dbe21e
--- /dev/null
+++ b/configs/releng/root-image/etc/hostname
@@ -0,0 +1 @@
+archiso
diff --git a/configs/releng/root-image/etc/hosts b/configs/releng/root-image/etc/hosts
index ddb2a52..0b6242f 100644
--- a/configs/releng/root-image/etc/hosts
+++ b/configs/releng/root-image/etc/hosts
@@ -3,7 +3,7 @@
#
#<ip-address> <hostname.domain.org> <hostname>
-127.0.0.1 localhost.localdomain localhost libreiso
-::1 localhost.localdomain localhost libreiso
+127.0.0.1 localhost.localdomain localhost parabola
+::1 localhost.localdomain localhost parabola
# End of file
diff --git a/configs/releng/root-image/etc/inittab b/configs/releng/root-image/etc/inittab
index 2bbc494..e3fe2c8 100644
--- a/configs/releng/root-image/etc/inittab
+++ b/configs/releng/root-image/etc/inittab
@@ -24,7 +24,7 @@ rh:06:wait:/etc/rc.shutdown
su:S:wait:/sbin/sulogin -p
# -8 options fixes umlauts problem on login
-c1:2345:respawn:/sbin/agetty -8 -s -n -l /usr/bin/autologin 38400 tty1 linux
+c1:2345:respawn:/sbin/agetty -8 -s -a root 38400 tty1 linux
c2:2345:respawn:/sbin/agetty -8 -s 38400 tty2 linux
c3:2345:respawn:/sbin/agetty -8 -s 38400 tty3 linux
c4:2345:respawn:/sbin/agetty -8 -s 38400 tty4 linux
diff --git a/configs/releng/root-image/etc/issue b/configs/releng/root-image/etc/issue
deleted file mode 100644
index 181b704..0000000
--- a/configs/releng/root-image/etc/issue
+++ /dev/null
@@ -1,5 +0,0 @@
-
-Parabola GNU/Linux-libre Live ISO (\l)
-\s-\r \m.
-Default logins "root" and "libre" have no password.
-To begin installation, login as root
diff --git a/configs/releng/root-image/etc/locale.conf b/configs/releng/root-image/etc/locale.conf
new file mode 100644
index 0000000..01ec548
--- /dev/null
+++ b/configs/releng/root-image/etc/locale.conf
@@ -0,0 +1 @@
+LANG=en_US.UTF-8
diff --git a/configs/releng/root-image/etc/locale.gen b/configs/releng/root-image/etc/locale.gen
deleted file mode 100644
index 7e4e293..0000000
--- a/configs/releng/root-image/etc/locale.gen
+++ /dev/null
@@ -1,455 +0,0 @@
-## Configuration file for locale-gen
-##
-## lists of locales that are to be generated by the locale-gen command.
-##
-## Each line is of the form:
-##
-## <locale> <charset>
-##
-## where <locale> is one of the locales given in /usr/share/i18n/locales
-## and <charset> is one of the character sets listed in /usr/share/i18n/charmaps
-##
-## Examples:
-## en_US ISO-8859-1
-## en_US.UTF-8 UTF-8
-## de_DE ISO-8859-1
-## de_DE@euro ISO-8859-15
-##
-## The locale-gen command will generate all the locales,
-## placing them in /usr/lib/locale.
-##
-## A list of supported locales is included in this file.
-## Uncomment the ones you need.
-##
-## This file names the currently supported and somewhat tested locales.
-## If you have any additions please file a glibc bug report.
-#
-#aa_DJ.UTF-8 UTF-8
-#aa_DJ ISO-8859-1
-#aa_ER UTF-8
-#aa_ER@saaho UTF-8
-#aa_ET UTF-8
-#af_ZA.UTF-8 UTF-8
-#af_ZA ISO-8859-1
-#am_ET UTF-8
-#an_ES.UTF-8 UTF-8
-#an_ES ISO-8859-15
-#ar_AE.UTF-8 UTF-8
-#ar_AE ISO-8859-6
-#ar_BH.UTF-8 UTF-8
-#ar_BH ISO-8859-6
-#ar_DZ.UTF-8 UTF-8
-#ar_DZ ISO-8859-6
-#ar_EG.UTF-8 UTF-8
-#ar_EG ISO-8859-6
-#ar_IN UTF-8
-#ar_IQ.UTF-8 UTF-8
-#ar_IQ ISO-8859-6
-#ar_JO.UTF-8 UTF-8
-#ar_JO ISO-8859-6
-#ar_KW.UTF-8 UTF-8
-#ar_KW ISO-8859-6
-#ar_LB.UTF-8 UTF-8
-#ar_LB ISO-8859-6
-#ar_LY.UTF-8 UTF-8
-#ar_LY ISO-8859-6
-#ar_MA.UTF-8 UTF-8
-#ar_MA ISO-8859-6
-#ar_OM.UTF-8 UTF-8
-#ar_OM ISO-8859-6
-#ar_QA.UTF-8 UTF-8
-#ar_QA ISO-8859-6
-#ar_SA.UTF-8 UTF-8
-#ar_SA ISO-8859-6
-#ar_SD.UTF-8 UTF-8
-#ar_SD ISO-8859-6
-#ar_SY.UTF-8 UTF-8
-#ar_SY ISO-8859-6
-#ar_TN.UTF-8 UTF-8
-#ar_TN ISO-8859-6
-#ar_YE.UTF-8 UTF-8
-#ar_YE ISO-8859-6
-#az_AZ UTF-8
-#as_IN UTF-8
-#ast_ES.UTF-8 UTF-8
-#ast_ES ISO-8859-15
-#be_BY.UTF-8 UTF-8
-#be_BY CP1251
-#be_BY@latin UTF-8
-#bem_ZM UTF-8
-#ber_DZ UTF-8
-#ber_MA UTF-8
-#bg_BG.UTF-8 UTF-8
-#bg_BG CP1251
-#bn_BD UTF-8
-#bn_IN UTF-8
-#bo_CN UTF-8
-#bo_IN UTF-8
-#br_FR.UTF-8 UTF-8
-#br_FR ISO-8859-1
-#br_FR@euro ISO-8859-15
-#bs_BA.UTF-8 UTF-8
-#bs_BA ISO-8859-2
-#byn_ER UTF-8
-#ca_AD.UTF-8 UTF-8
-#ca_AD ISO-8859-15
-#ca_ES.UTF-8 UTF-8
-#ca_ES ISO-8859-1
-#ca_ES@euro ISO-8859-15
-#ca_FR.UTF-8 UTF-8
-#ca_FR ISO-8859-15
-#ca_IT.UTF-8 UTF-8
-#ca_IT ISO-8859-15
-#crh_UA UTF-8
-#cs_CZ.UTF-8 UTF-8
-#cs_CZ ISO-8859-2
-#csb_PL UTF-8
-#cv_RU UTF-8
-#cy_GB.UTF-8 UTF-8
-#cy_GB ISO-8859-14
-#da_DK.UTF-8 UTF-8
-#da_DK ISO-8859-1
-#de_AT.UTF-8 UTF-8
-#de_AT ISO-8859-1
-#de_AT@euro ISO-8859-15
-#de_BE.UTF-8 UTF-8
-#de_BE ISO-8859-1
-#de_BE@euro ISO-8859-15
-#de_CH.UTF-8 UTF-8
-#de_CH ISO-8859-1
-#de_DE.UTF-8 UTF-8
-#de_DE ISO-8859-1
-#de_DE@euro ISO-8859-15
-#de_LU.UTF-8 UTF-8
-#de_LU ISO-8859-1
-#de_LU@euro ISO-8859-15
-#dv_MV UTF-8
-#dz_BT UTF-8
-#el_GR.UTF-8 UTF-8
-#el_GR ISO-8859-7
-#el_CY.UTF-8 UTF-8
-#el_CY ISO-8859-7
-#en_AG UTF-8
-#en_AU.UTF-8 UTF-8
-#en_AU ISO-8859-1
-#en_BW.UTF-8 UTF-8
-#en_BW ISO-8859-1
-#en_CA.UTF-8 UTF-8
-#en_CA ISO-8859-1
-#en_DK.UTF-8 UTF-8
-#en_DK ISO-8859-1
-#en_GB.UTF-8 UTF-8
-#en_GB ISO-8859-1
-#en_HK.UTF-8 UTF-8
-#en_HK ISO-8859-1
-#en_IE.UTF-8 UTF-8
-#en_IE ISO-8859-1
-#en_IE@euro ISO-8859-15
-#en_IN UTF-8
-#en_NG UTF-8
-#en_NZ.UTF-8 UTF-8
-#en_NZ ISO-8859-1
-#en_PH.UTF-8 UTF-8
-#en_PH ISO-8859-1
-#en_SG.UTF-8 UTF-8
-#en_SG ISO-8859-1
-en_US.UTF-8 UTF-8
-#en_US ISO-8859-1
-#en_ZA.UTF-8 UTF-8
-#en_ZA ISO-8859-1
-#en_ZM UTF-8
-#en_ZW.UTF-8 UTF-8
-#en_ZW ISO-8859-1
-#es_AR.UTF-8 UTF-8
-#es_AR ISO-8859-1
-#es_BO.UTF-8 UTF-8
-#es_BO ISO-8859-1
-#es_CL.UTF-8 UTF-8
-#es_CL ISO-8859-1
-#es_CO.UTF-8 UTF-8
-#es_CO ISO-8859-1
-#es_CR.UTF-8 UTF-8
-#es_CR ISO-8859-1
-#es_DO.UTF-8 UTF-8
-#es_DO ISO-8859-1
-#es_EC.UTF-8 UTF-8
-#es_EC ISO-8859-1
-#es_ES.UTF-8 UTF-8
-#es_ES ISO-8859-1
-#es_ES@euro ISO-8859-15
-#es_GT.UTF-8 UTF-8
-#es_GT ISO-8859-1
-#es_HN.UTF-8 UTF-8
-#es_HN ISO-8859-1
-#es_MX.UTF-8 UTF-8
-#es_MX ISO-8859-1
-#es_NI.UTF-8 UTF-8
-#es_NI ISO-8859-1
-#es_PA.UTF-8 UTF-8
-#es_PA ISO-8859-1
-#es_PE.UTF-8 UTF-8
-#es_PE ISO-8859-1
-#es_PR.UTF-8 UTF-8
-#es_PR ISO-8859-1
-#es_PY.UTF-8 UTF-8
-#es_PY ISO-8859-1
-#es_SV.UTF-8 UTF-8
-#es_SV ISO-8859-1
-#es_US.UTF-8 UTF-8
-#es_US ISO-8859-1
-#es_UY.UTF-8 UTF-8
-#es_UY ISO-8859-1
-#es_VE.UTF-8 UTF-8
-#es_VE ISO-8859-1
-#et_EE.UTF-8 UTF-8
-#et_EE ISO-8859-1
-#et_EE.ISO-8859-15 ISO-8859-15
-#eu_ES.UTF-8 UTF-8
-#eu_ES ISO-8859-1
-#eu_ES@euro ISO-8859-15
-#fa_IR UTF-8
-#ff_SN UTF-8
-#fi_FI.UTF-8 UTF-8
-#fi_FI ISO-8859-1
-#fi_FI@euro ISO-8859-15
-#fil_PH UTF-8
-#fo_FO.UTF-8 UTF-8
-#fo_FO ISO-8859-1
-#fr_BE.UTF-8 UTF-8
-#fr_BE ISO-8859-1
-#fr_BE@euro ISO-8859-15
-#fr_CA.UTF-8 UTF-8
-#fr_CA ISO-8859-1
-#fr_CH.UTF-8 UTF-8
-#fr_CH ISO-8859-1
-#fr_FR.UTF-8 UTF-8
-#fr_FR ISO-8859-1
-#fr_FR@euro ISO-8859-15
-#fr_LU.UTF-8 UTF-8
-#fr_LU ISO-8859-1
-#fr_LU@euro ISO-8859-15
-#fur_IT UTF-8
-#fy_NL UTF-8
-#fy_DE UTF-8
-#ga_IE.UTF-8 UTF-8
-#ga_IE ISO-8859-1
-#ga_IE@euro ISO-8859-15
-#gd_GB.UTF-8 UTF-8
-#gd_GB ISO-8859-15
-#gez_ER UTF-8
-#gez_ER@abegede UTF-8
-#gez_ET UTF-8
-#gez_ET@abegede UTF-8
-#gl_ES.UTF-8 UTF-8
-#gl_ES ISO-8859-1
-#gl_ES@euro ISO-8859-15
-#gu_IN UTF-8
-#gv_GB.UTF-8 UTF-8
-#gv_GB ISO-8859-1
-#ha_NG UTF-8
-#he_IL.UTF-8 UTF-8
-#he_IL ISO-8859-8
-#hi_IN UTF-8
-#hne_IN UTF-8
-#hr_HR.UTF-8 UTF-8
-#hr_HR ISO-8859-2
-#hsb_DE ISO-8859-2
-#hsb_DE.UTF-8 UTF-8
-#ht_HT UTF-8
-#hu_HU.UTF-8 UTF-8
-#hu_HU ISO-8859-2
-#hy_AM UTF-8
-#hy_AM.ARMSCII-8 ARMSCII-8
-#id_ID.UTF-8 UTF-8
-#id_ID ISO-8859-1
-#ig_NG UTF-8
-#ik_CA UTF-8
-#is_IS.UTF-8 UTF-8
-#is_IS ISO-8859-1
-#it_CH.UTF-8 UTF-8
-#it_CH ISO-8859-1
-#it_IT.UTF-8 UTF-8
-#it_IT ISO-8859-1
-#it_IT@euro ISO-8859-15
-#iu_CA UTF-8
-#iw_IL.UTF-8 UTF-8
-#iw_IL ISO-8859-8
-#ja_JP.EUC-JP EUC-JP
-#ja_JP.UTF-8 UTF-8
-#ka_GE.UTF-8 UTF-8
-#ka_GE GEORGIAN-PS
-#kk_KZ.UTF-8 UTF-8
-#kk_KZ PT154
-#kl_GL.UTF-8 UTF-8
-#kl_GL ISO-8859-1
-#km_KH UTF-8
-#kn_IN UTF-8
-#ko_KR.EUC-KR EUC-KR
-#ko_KR.UTF-8 UTF-8
-#kok_IN UTF-8
-#ks_IN UTF-8
-#ks_IN@devanagari UTF-8
-#ku_TR.UTF-8 UTF-8
-#ku_TR ISO-8859-9
-#kw_GB.UTF-8 UTF-8
-#kw_GB ISO-8859-1
-#ky_KG UTF-8
-#lb_LU UTF-8
-#lg_UG.UTF-8 UTF-8
-#lg_UG ISO-8859-10
-#li_BE UTF-8
-#li_NL UTF-8
-#lij_IT UTF-8
-#lo_LA UTF-8
-#lt_LT.UTF-8 UTF-8
-#lt_LT ISO-8859-13
-#lv_LV.UTF-8 UTF-8
-#lv_LV ISO-8859-13
-#mai_IN UTF-8
-#mg_MG.UTF-8 UTF-8
-#mg_MG ISO-8859-15
-#mhr_RU UTF-8
-#mi_NZ.UTF-8 UTF-8
-#mi_NZ ISO-8859-13
-#mk_MK.UTF-8 UTF-8
-#mk_MK ISO-8859-5
-#ml_IN UTF-8
-#mn_MN UTF-8
-#mr_IN UTF-8
-#ms_MY.UTF-8 UTF-8
-#ms_MY ISO-8859-1
-#mt_MT.UTF-8 UTF-8
-#mt_MT ISO-8859-3
-#my_MM UTF-8
-#nan_TW@latin UTF-8
-#nb_NO.UTF-8 UTF-8
-#nb_NO ISO-8859-1
-#nds_DE UTF-8
-#nds_NL UTF-8
-#ne_NP UTF-8
-#nl_AW UTF-8
-#nl_BE.UTF-8 UTF-8
-#nl_BE ISO-8859-1
-#nl_BE@euro ISO-8859-15
-#nl_NL.UTF-8 UTF-8
-#nl_NL ISO-8859-1
-#nl_NL@euro ISO-8859-15
-#nn_NO.UTF-8 UTF-8
-#nn_NO ISO-8859-1
-#nr_ZA UTF-8
-#nso_ZA UTF-8
-#oc_FR.UTF-8 UTF-8
-#oc_FR ISO-8859-1
-#om_ET UTF-8
-#om_KE.UTF-8 UTF-8
-#om_KE ISO-8859-1
-#or_IN UTF-8
-#os_RU UTF-8
-#pa_IN UTF-8
-#pa_PK UTF-8
-#pap_AN UTF-8
-#pl_PL.UTF-8 UTF-8
-#pl_PL ISO-8859-2
-#ps_AF UTF-8
-#pt_BR.UTF-8 UTF-8
-#pt_BR ISO-8859-1
-#pt_PT.UTF-8 UTF-8
-#pt_PT ISO-8859-1
-#pt_PT@euro ISO-8859-15
-#ro_RO.UTF-8 UTF-8
-#ro_RO ISO-8859-2
-#ru_RU.KOI8-R KOI8-R
-#ru_RU.UTF-8 UTF-8
-#ru_RU ISO-8859-5
-#ru_UA.UTF-8 UTF-8
-#ru_UA KOI8-U
-#rw_RW UTF-8
-#sa_IN UTF-8
-#sc_IT UTF-8
-#sd_IN UTF-8
-#sd_IN@devanagari UTF-8
-#se_NO UTF-8
-#shs_CA UTF-8
-#si_LK UTF-8
-#sid_ET UTF-8
-#sk_SK.UTF-8 UTF-8
-#sk_SK ISO-8859-2
-#sl_SI.UTF-8 UTF-8
-#sl_SI ISO-8859-2
-#so_DJ.UTF-8 UTF-8
-#so_DJ ISO-8859-1
-#so_ET UTF-8
-#so_KE.UTF-8 UTF-8
-#so_KE ISO-8859-1
-#so_SO.UTF-8 UTF-8
-#so_SO ISO-8859-1
-#sq_AL.UTF-8 UTF-8
-#sq_AL ISO-8859-1
-#sq_MK UTF-8
-#sr_ME UTF-8
-#sr_RS UTF-8
-#sr_RS@latin UTF-8
-#ss_ZA UTF-8
-#st_ZA.UTF-8 UTF-8
-#st_ZA ISO-8859-1
-#sv_FI.UTF-8 UTF-8
-#sv_FI ISO-8859-1
-#sv_FI@euro ISO-8859-15
-#sv_SE.UTF-8 UTF-8
-#sv_SE ISO-8859-1
-#sw_KE UTF-8
-#sw_TZ UTF-8
-#ta_IN UTF-8
-#te_IN UTF-8
-#tg_TJ.UTF-8 UTF-8
-#tg_TJ KOI8-T
-#th_TH.UTF-8 UTF-8
-#th_TH TIS-620
-#ti_ER UTF-8
-#ti_ET UTF-8
-#tig_ER UTF-8
-#tk_TM UTF-8
-#tl_PH.UTF-8 UTF-8
-#tl_PH ISO-8859-1
-#tn_ZA UTF-8
-#tr_CY.UTF-8 UTF-8
-#tr_CY ISO-8859-9
-#tr_TR.UTF-8 UTF-8
-#tr_TR ISO-8859-9
-#ts_ZA UTF-8
-#tt_RU UTF-8
-#tt_RU@iqtelif UTF-8
-#ug_CN UTF-8
-#uk_UA.UTF-8 UTF-8
-#uk_UA KOI8-U
-#ur_PK UTF-8
-#uz_UZ ISO-8859-1
-#uz_UZ@cyrillic UTF-8
-#ve_ZA UTF-8
-#vi_VN.TCVN TCVN5712-1
-#vi_VN UTF-8
-#wa_BE ISO-8859-1
-#wa_BE@euro ISO-8859-15
-#wa_BE.UTF-8 UTF-8
-#wae_CH UTF-8
-#wo_SN UTF-8
-#xh_ZA.UTF-8 UTF-8
-#xh_ZA ISO-8859-1
-#yi_US.UTF-8 UTF-8
-#yi_US CP1255
-#yo_NG UTF-8
-#yue_HK UTF-8
-#zh_CN.GB18030 GB18030
-#zh_CN.GBK GBK
-#zh_CN.UTF-8 UTF-8
-#zh_CN GB2312
-#zh_HK.UTF-8 UTF-8
-#zh_HK BIG5-HKSCS
-#zh_SG.UTF-8 UTF-8
-#zh_SG.GBK GBK
-#zh_SG GB2312
-#zh_TW.EUC-TW EUC-TW
-#zh_TW.UTF-8 UTF-8
-#zh_TW BIG5
-#zu_ZA.UTF-8 UTF-8
-#zu_ZA ISO-8859-1
diff --git a/configs/releng/root-image/etc/motd b/configs/releng/root-image/etc/motd
deleted file mode 100644
index 0943569..0000000
--- a/configs/releng/root-image/etc/motd
+++ /dev/null
@@ -1,15 +0,0 @@
-**************************************************************
-* To begin installation, run /libre/setup *
-* You can find documentation at *
-* /usr/share/aif/docs/official_installation_guide_en *
-* *
-* i18n: Use the 'km' utility to change your keyboard layout *
-* and console font. *
-* *
-* If you encounter issues and want to report them or *
-* seek help, run /libre/report-issues *
-* *
-* If you need help please consult *
-* http://wiki.parabolagnulinux.org *
-* *
-**************************************************************
diff --git a/configs/releng/root-image/etc/rc.conf b/configs/releng/root-image/etc/rc.conf
index 750f47f..679b804 100644
--- a/configs/releng/root-image/etc/rc.conf
+++ b/configs/releng/root-image/etc/rc.conf
@@ -1,33 +1,23 @@
-#
-# /etc/rc.conf - Main Configuration for Parabola GNU/Linux-Libre
-
. /etc/archiso/functions
+#
+# /etc/rc.conf - configuration file for initscripts
+#
+# Most of rc.conf has been replaced by various other configuration
+# files. See parabola(7) for details.
+#
+# For more details on rc.conf see rc.conf(5).
+#
-LOCALE_DEFAULT="en_US.UTF-8"
-DAEMON_LOCALE_DEFAULT="no"
-CLOCK_DEFAULT="UTC"
-TIMEZONE_DEFAULT="Canada/Pacific"
-KEYMAP_DEFAULT="us"
-CONSOLEFONT_DEFAULT=
-CONSOLEMAP_DEFAULT=
-USECOLOR_DEFAULT="yes"
-
-LOCALE="$(kernel_cmdline locale ${LOCALE_DEFAULT})"
-DAEMON_LOCALE="$(kernel_cmdline daemon_locale ${DAEMON_LOCALE_DEFAULT})"
-HARDWARECLOCK="$(kernel_cmdline clock ${CLOCK_DEFAULT})"
-TIMEZONE="$(kernel_cmdline timezone ${TIMEZONE_DEFAULT})"
-KEYMAP="$(kernel_cmdline keymap ${KEYMAP_DEFAULT})"
-CONSOLEFONT="$(kernel_cmdline consolefont ${CONSOLEFONT_DEFAULT})"
-CONSOLEMAP="$(kernel_cmdline consolemap ${CONSOLEMAP_DEFAULT})"
-USECOLOR="$(kernel_cmdline usecolor ${USECOLOR_DEFAULT})"
-
-MODULES=()
-
-UDEV_TIMEOUT=30
-USEDMRAID="no"
-USEBTRFS="no"
-USELVM="no"
+DAEMONS=(syslog-ng network haveged pacman-init)
-HOSTNAME="libreiso"
+# Storage
+#
+# USEDMRAID="no"
+# USELVM="no"
-DAEMONS=(hwclock metalog)
+# Network
+#
+# interface=
+# address=
+# netmask=
+# gateway=
diff --git a/configs/releng/root-image/etc/rc.d/functions.d/automated_script b/configs/releng/root-image/etc/rc.d/functions.d/automated_script
index b89ad9e..f3e9018 100644
--- a/configs/releng/root-image/etc/rc.d/functions.d/automated_script
+++ b/configs/releng/root-image/etc/rc.d/functions.d/automated_script
@@ -12,7 +12,7 @@ automated_script ()
fi
if [ ${rt} -eq 0 ]; then
chmod +x /tmp/startup_script
- echo -e '\nif [ $(tty) = "/dev/tty1" ]; then\n /tmp/startup_script\nfi\n' >> /root/.bash_profile
+ echo -e '\nif [ $(tty) = "/dev/tty1" ]; then\n /tmp/startup_script\nfi\n' >> /root/.zprofile
stat_done
else
stat_fail
diff --git a/configs/releng/root-image/etc/rc.d/functions.d/omit_kill_nbd_client b/configs/releng/root-image/etc/rc.d/functions.d/omit_kill_nbd_client
deleted file mode 100644
index b72f168..0000000
--- a/configs/releng/root-image/etc/rc.d/functions.d/omit_kill_nbd_client
+++ /dev/null
@@ -1,8 +0,0 @@
-if [[ -f /run/nbd_client.pid ]]; then
- omit_kill_nbd_client() {
- add_omit_pids $(< /run/nbd_client.pid)
- }
-
- add_hook shutdown_prekillall omit_kill_nbd_client
- add_hook single_prekillall omit_kill_nbd_client
-fi
diff --git a/configs/releng/root-image/etc/rc.d/functions.d/prepare_locale_gen b/configs/releng/root-image/etc/rc.d/functions.d/prepare_locale_gen
deleted file mode 100644
index 47ed79d..0000000
--- a/configs/releng/root-image/etc/rc.d/functions.d/prepare_locale_gen
+++ /dev/null
@@ -1,11 +0,0 @@
-prepare_locale_gen ()
-{
- if [[ ${LOCALE} != "en_US.UTF-8" ]]; then
- stat_busy "Generating locales..."
- sed -i "s/#\(${LOCALE/[@.]*}\)/\1/" /etc/locale.gen
- /usr/sbin/locale-gen > /dev/null
- stat_done
- fi
-}
-
-add_hook sysinit_postmount prepare_locale_gen
diff --git a/configs/releng/root-image/etc/rc.d/pacman-init b/configs/releng/root-image/etc/rc.d/pacman-init
new file mode 100755
index 0000000..596fe30
--- /dev/null
+++ b/configs/releng/root-image/etc/rc.d/pacman-init
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ stat_busy "Initializing pacman keyring"
+ if { pacman-key --init && pacman-key --populate archlinux && pacman-key --populate parabola; } &>/dev/null; then
+ add_daemon pacman-init
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Removing pacman keyring"
+ rm -rf /etc/pacman.d/gnupg
+ rm_daemon pacman-init
+ stat_done
+ ;;
+
+ restart)
+ $0 stop
+ $0 start
+ ;;
+
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+
+exit 0
diff --git a/configs/releng/root-image/etc/resolv.conf b/configs/releng/root-image/etc/resolv.conf
deleted file mode 100644
index cecafba..0000000
--- a/configs/releng/root-image/etc/resolv.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-# /etc/resolv.conf
-#
-
-#search <yourdomain.tld>
-#nameserver <ip>
-
-# End of file
diff --git a/configs/releng/root-image/etc/timezone b/configs/releng/root-image/etc/timezone
new file mode 100644
index 0000000..e2e7775
--- /dev/null
+++ b/configs/releng/root-image/etc/timezone
@@ -0,0 +1 @@
+UTC
diff --git a/configs/releng/root-image/etc/vconsole.conf b/configs/releng/root-image/etc/vconsole.conf
new file mode 100644
index 0000000..c58bf7e
--- /dev/null
+++ b/configs/releng/root-image/etc/vconsole.conf
@@ -0,0 +1,2 @@
+KEYMAP=us
+FONT=
diff --git a/configs/releng/root-image/libre/report-issues b/configs/releng/root-image/libre/report-issues
deleted file mode 100755
index bf3b3a3..0000000
--- a/configs/releng/root-image/libre/report-issues
+++ /dev/null
@@ -1 +0,0 @@
-aif-report-issues.sh
diff --git a/configs/releng/root-image/libre/setup b/configs/releng/root-image/libre/setup
deleted file mode 100755
index 908d106..0000000
--- a/configs/releng/root-image/libre/setup
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-#
-aif -p interactive -d -l
diff --git a/configs/releng/root-image/root/install.txt b/configs/releng/root-image/root/install.txt
new file mode 100644
index 0000000..e1f57ad
--- /dev/null
+++ b/configs/releng/root-image/root/install.txt
@@ -0,0 +1,3 @@
+View this installation guide online at
+https://wiki.parabolagnulinux.org/Installation_Guide
+
diff --git a/configs/releng/root-image/usr/bin/autologin b/configs/releng/root-image/usr/bin/autologin
deleted file mode 100755
index c124f9e..0000000
--- a/configs/releng/root-image/usr/bin/autologin
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-/bin/login -f root
diff --git a/configs/releng/root-image/usr/bin/km b/configs/releng/root-image/usr/bin/km
deleted file mode 100755
index e24d780..0000000
--- a/configs/releng/root-image/usr/bin/km
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-aif -p partial-keymap
diff --git a/configs/releng/syslinux.dual/archiso_head.cfg b/configs/releng/syslinux.dual/archiso_head.cfg
index e643f2d..278255d 100644
--- a/configs/releng/syslinux.dual/archiso_head.cfg
+++ b/configs/releng/syslinux.dual/archiso_head.cfg
@@ -5,10 +5,10 @@ MENU BACKGROUND boot/syslinux/splash.png
MENU WIDTH 78
MENU MARGIN 4
-MENU ROWS 5
+MENU ROWS 7
MENU VSHIFT 10
-MENU TABMSGROW 13
-MENU CMDLINEROW 11
+MENU TABMSGROW 14
+MENU CMDLINEROW 14
MENU HELPMSGROW 16
MENU HELPMSGENDROW 29
diff --git a/configs/releng/syslinux.dual/archiso_pxe32.cfg b/configs/releng/syslinux.dual/archiso_pxe32.cfg
index 3700987..f3cb35e 100644
--- a/configs/releng/syslinux.dual/archiso_pxe32.cfg
+++ b/configs/releng/syslinux.dual/archiso_pxe32.cfg
@@ -1,9 +1,9 @@
LABEL arch32_nbd
TEXT HELP
-Boot the Parabola GNU/Linux-libre (i686) live medium (Using NBD). It allows you to
-install a libre Arch Linux or perform system maintenance.
+Boot the Parabola (i686) live medium (Using NBD). It allows you to install Parabola or
+perform system maintenance.
ENDTEXT
-MENU LABEL Boot Parabola GNU/Linux-libre (i686) (NBD)
+MENU LABEL Boot Parabola (i686) (NBD)
LINUX boot/i686/vmlinuz
INITRD boot/i686/libreiso.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver}
@@ -11,10 +11,10 @@ IPAPPEND 3
LABEL arch32_nfs
TEXT HELP
-Boot the Parabola GNU/Linux-libre (i686) live medium (Using NFS). It allows you to
-install a libre Arch Linux or perform system maintenance.
+Boot the Parabola (i686) live medium (Using NFS). It allows you to install Parabola or
+perform system maintenance.
ENDTEXT
-MENU LABEL Boot Parabola GNU/Linux-libre (i686) (NFS)
+MENU LABEL Boot Parabola (i686) (NFS)
LINUX boot/i686/vmlinuz
INITRD boot/i686/libreiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt
@@ -22,10 +22,10 @@ IPAPPEND 3
LABEL arch32_http
TEXT HELP
-Boot the Parabola GNU/Linux-libre (i686) live medium (Using HTTP). It allows you to
-install a libre Arch Linux or perform system maintenance.
+Boot the Parabola (i686) live medium (Using HTTP). It allows you to install Parabola or
+perform system maintenance.
ENDTEXT
-MENU LABEL Boot Parabola GNU/Linux-libre (i686) (HTTP)
+MENU LABEL Boot Parabola (i686) (HTTP)
LINUX boot/i686/vmlinuz
INITRD boot/i686/libreiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/
diff --git a/configs/releng/syslinux.dual/archiso_pxe64.cfg b/configs/releng/syslinux.dual/archiso_pxe64.cfg
index cfb8371..de66989 100644
--- a/configs/releng/syslinux.dual/archiso_pxe64.cfg
+++ b/configs/releng/syslinux.dual/archiso_pxe64.cfg
@@ -1,9 +1,9 @@
LABEL arch64_nbd
TEXT HELP
-Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NBD). It allows you to
-install a libre Arch Linux or perform system maintenance.
+Boot the Parabola (x86_64) live medium (Using NBD). It allows you to install Parabola or
+perform system maintenance.
ENDTEXT
-MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (NBD)
+MENU LABEL Boot Parabola (x86_64) (NBD)
LINUX boot/x86_64/vmlinuz
INITRD boot/x86_64/libreiso.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver}
@@ -11,10 +11,10 @@ IPAPPEND 3
LABEL arch64_nfs
TEXT HELP
-Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NFS). It allows you to
-install a libre Arch Linux or perform system maintenance.
+Boot the Parabola (x86_64) live medium (Using NFS). It allows you to install Parabola or
+perform system maintenance.
ENDTEXT
-MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (NFS)
+MENU LABEL Boot Parabola (x86_64) (NFS)
LINUX boot/x86_64/vmlinuz
INITRD boot/x86_64/libreiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt
@@ -22,10 +22,10 @@ IPAPPEND 3
LABEL arch64_http
TEXT HELP
-Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using HTTP). It allows you to
-install a libre Arch Linux or perform system maintenance.
+Boot the Parabola (x86_64) live medium (Using HTTP). It allows you to install Parabola or
+perform system maintenance.
ENDTEXT
-MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (HTTP)
+MENU LABEL Boot Parabola (x86_64) (HTTP)
LINUX boot/x86_64/vmlinuz
INITRD boot/x86_64/libreiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/
diff --git a/configs/releng/syslinux.dual/archiso_sys32.cfg b/configs/releng/syslinux.dual/archiso_sys32.cfg
index cf66e23..082889e 100644
--- a/configs/releng/syslinux.dual/archiso_sys32.cfg
+++ b/configs/releng/syslinux.dual/archiso_sys32.cfg
@@ -1,9 +1,9 @@
-LABEL arch32
+LABEL libre32
TEXT HELP
-Boot the Parabola GNU/Linux-libre (i686) live medium. It allows you to
-install a libre Arch Linux or perform system maintenance.
+Boot the Parabola (i686) live medium. It allows you to install a fully libre
+Arch Linux or perform system maintenance.
ENDTEXT
-MENU LABEL Boot Parabola GNU/Linux-libre (i686)
+MENU LABEL Boot Parabola (i686)
LINUX boot/i686/vmlinuz
INITRD boot/i686/libreiso.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
diff --git a/configs/releng/syslinux.dual/archiso_sys64.cfg b/configs/releng/syslinux.dual/archiso_sys64.cfg
index cc7490e..409c5b2 100644
--- a/configs/releng/syslinux.dual/archiso_sys64.cfg
+++ b/configs/releng/syslinux.dual/archiso_sys64.cfg
@@ -1,9 +1,9 @@
-LABEL arch64
+LABEL libre64
TEXT HELP
-Boot the Parabola GNU/Linux-libre (x86_64) live medium. It allows you to
-install a libre Arch Linux or perform system maintenance.
+Boot the Parabola (x86_64) live medium. It allows you to install a fully libre
+Arch Linux or perform system maintenance.
ENDTEXT
-MENU LABEL Boot Parabola GNU/Linux-libre (x86_64)
+MENU LABEL Boot Parabola (x86_64)
LINUX boot/x86_64/vmlinuz
INITRD boot/x86_64/libreiso.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
diff --git a/configs/releng/syslinux.dual/syslinux_32only.cfg b/configs/releng/syslinux.dual/syslinux_32only.cfg
deleted file mode 100644
index c7a452d..0000000
--- a/configs/releng/syslinux.dual/syslinux_32only.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-INCLUDE syslinux_head.cfg
-INCLUDE syslinux_arch32.cfg
-INCLUDE syslinux_tail.cfg
diff --git a/configs/releng/syslinux.dual/syslinux_arch32.cfg b/configs/releng/syslinux.dual/syslinux_arch32.cfg
deleted file mode 100644
index d6180f6..0000000
--- a/configs/releng/syslinux.dual/syslinux_arch32.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-LABEL libre32
-TEXT HELP
-Boot the Parabola (i686) live medium. It allows you to install a fully libre
-Arch Linux or perform system maintenance.
-ENDTEXT
-MENU LABEL Boot Parabola (i686)
-LINUX /%INSTALL_DIR%/boot/i686/vmlinuz
-INITRD /%INSTALL_DIR%/boot/i686/libreiso.img
-APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
-# Next line should be uncommented when prepare enviroment to boot from PXE.
-#IPAPPEND 3
diff --git a/configs/releng/syslinux.dual/syslinux_arch64.cfg b/configs/releng/syslinux.dual/syslinux_arch64.cfg
deleted file mode 100644
index 64f2269..0000000
--- a/configs/releng/syslinux.dual/syslinux_arch64.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-LABEL libre64
-TEXT HELP
-Boot the Parabola (x86_64) live medium. It allows you to install a fully libre
-Arch Linux or perform system maintenance.
-ENDTEXT
-MENU LABEL Boot Parabola (x86_64)
-LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz
-INITRD /%INSTALL_DIR%/boot/x86_64/libreiso.img
-APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
-# Next line should be uncommented when prepare enviroment to boot from PXE.
-#IPAPPEND 3
diff --git a/configs/releng/syslinux.dual/syslinux_both.cfg b/configs/releng/syslinux.dual/syslinux_both.cfg
deleted file mode 100644
index 9cd1584..0000000
--- a/configs/releng/syslinux.dual/syslinux_both.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-INCLUDE syslinux_head.cfg
-INCLUDE syslinux_arch32.cfg
-INCLUDE syslinux_arch64.cfg
-INCLUDE syslinux_tail.cfg
diff --git a/configs/releng/syslinux.dual/syslinux_head.cfg b/configs/releng/syslinux.dual/syslinux_head.cfg
deleted file mode 100644
index 4953b18..0000000
--- a/configs/releng/syslinux.dual/syslinux_head.cfg
+++ /dev/null
@@ -1,28 +0,0 @@
-SERIAL 0 38400
-DEFAULT vesamenu.c32
-PROMPT 0
-MENU TITLE Parabola GNU/Linux-libre
-MENU BACKGROUND splash.png
-TIMEOUT 3000
-
-MENU WIDTH 78
-MENU MARGIN 4
-MENU ROWS 7
-MENU VSHIFT 10
-MENU TIMEOUTROW 13
-MENU TABMSGROW 11
-MENU CMDLINEROW 11
-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.dual/syslinux_tail.cfg b/configs/releng/syslinux.dual/syslinux_tail.cfg
deleted file mode 100644
index a8441a9..0000000
--- a/configs/releng/syslinux.dual/syslinux_tail.cfg
+++ /dev/null
@@ -1,29 +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 chain.c32
-APPEND hd0 0
-
-# http://www.memtest.org/
-LABEL memtest
-MENU LABEL Run Memtest86+ (RAM test)
-LINUX /%INSTALL_DIR%/boot/memtest
-
-# http://hdt-project.org/
-LABEL hdt
-MENU LABEL Hardware Information (HDT)
-COM32 hdt.c32
-APPEND modules_alias=hdt/modalias.gz pciids=hdt/pciids.gz
-
-LABEL reboot
-MENU LABEL Reboot
-COM32 reboot.c32
-
-LABEL poweroff
-MENU LABEL Power Off
-COMBOOT poweroff.com
-
-ONTIMEOUT libre32
diff --git a/configs/releng/syslinux/archiso_head.cfg b/configs/releng/syslinux/archiso_head.cfg
index e643f2d..765102c 100644
--- a/configs/releng/syslinux/archiso_head.cfg
+++ b/configs/releng/syslinux/archiso_head.cfg
@@ -5,10 +5,10 @@ MENU BACKGROUND boot/syslinux/splash.png
MENU WIDTH 78
MENU MARGIN 4
-MENU ROWS 5
+MENU ROWS 6
MENU VSHIFT 10
-MENU TABMSGROW 13
-MENU CMDLINEROW 11
+MENU TABMSGROW 14
+MENU CMDLINEROW 14
MENU HELPMSGROW 16
MENU HELPMSGENDROW 29
diff --git a/configs/releng/syslinux/archiso_pxe.cfg b/configs/releng/syslinux/archiso_pxe.cfg
index beb6fe9..a2f07cb 100644
--- a/configs/releng/syslinux/archiso_pxe.cfg
+++ b/configs/releng/syslinux/archiso_pxe.cfg
@@ -1,9 +1,9 @@
LABEL arch_nbd
TEXT HELP
-Boot the Parabola GNU/Linux-libre live medium (Using NBD). It allows you to
-install a libre Arch Linux or perform system maintenance.
+Boot the Parabola live medium (Using NBD). It allows you to install Parabola or
+perform system maintenance.
ENDTEXT
-MENU LABEL Boot Parabola GNU/Linux-libre (NBD)
+MENU LABEL Boot Parabola (NBD)
LINUX boot/%ARCH%/vmlinuz
INITRD boot/%ARCH%/libreiso.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver}
@@ -11,10 +11,10 @@ IPAPPEND 3
LABEL arch_nfs
TEXT HELP
-Boot the Parabola GNU/Linux-libre live medium (Using NFS). It allows you to
-install a libre Arch Linux or perform system maintenance.
+Boot the Parabola live medium (Using NFS). It allows you to install Parabola or
+perform system maintenance.
ENDTEXT
-MENU LABEL Boot Parabola GNU/Linux-libre (NFS)
+MENU LABEL Boot Parabola (NFS)
LINUX boot/%ARCH%/vmlinuz
INITRD boot/%ARCH%/libreiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt
@@ -22,10 +22,10 @@ IPAPPEND 3
LABEL arch_http
TEXT HELP
-Boot the Parabola GNU/Linux-libre live medium (Using HTTP). It allows you to
-install a libre Arch Linux or perform system maintenance.
+Boot the Parabola live medium (Using HTTP). It allows you to install Parabola or
+perform system maintenance.
ENDTEXT
-MENU LABEL Boot Parabola GNU/Linux-libre (HTTP)
+MENU LABEL Boot Parabola (HTTP)
LINUX boot/%ARCH%/vmlinuz
INITRD boot/%ARCH%/libreiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/
diff --git a/configs/releng/syslinux/archiso_sys.cfg b/configs/releng/syslinux/archiso_sys.cfg
index 603e23d..54cafbe 100644
--- a/configs/releng/syslinux/archiso_sys.cfg
+++ b/configs/releng/syslinux/archiso_sys.cfg
@@ -1,7 +1,7 @@
LABEL arch
TEXT HELP
-Boot the Parabola GNU/Linux-libre live medium. It allows you to
-install a libre Arch Linux or perform system maintenance.
+Boot the Parabola live medium. It allows you to install Parabola or
+perform system maintenance.
ENDTEXT
MENU LABEL Boot Parabola GNU/Linux-libre
LINUX boot/%ARCH%/vmlinuz