summaryrefslogtreecommitdiff
path: root/configs/releng
diff options
context:
space:
mode:
authorEsteban Carnevale <alfplayer@mailoo.org>2012-10-14 15:11:11 -0300
committerEsteban Carnevale <alfplayer@mailoo.org>2012-10-14 15:11:11 -0300
commite5edfc111b1e9fc5ec65696245e6cbd96b2af1e4 (patch)
tree07bdb2e27180c632ad827b400af44695d7c5a15f /configs/releng
parent4b38c919cbb133c35a06b330e8de9f305c5b4792 (diff)
parent753d2038024541ac2d10f74e6d408d6ed1a23f2a (diff)
Merge branch 'master' of https://projects.archlinux.org/git/archiso
Conflicts: README configs/releng/build.sh configs/releng/efiboot/EFI/boot/startup_iso.nsh configs/releng/efiboot/EFI/boot/startup_usb.nsh configs/releng/packages.i686 configs/releng/packages.x86_64 configs/releng/root-image/etc/rc.conf configs/releng/root-image/etc/rc.d/pacman-init
Diffstat (limited to 'configs/releng')
-rwxr-xr-xconfigs/releng/build.sh72
-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/efiboot/loader/entries/archiso-x86_64-cd.conf4
-rw-r--r--configs/releng/efiboot/loader/entries/archiso-x86_64-usb.conf4
-rw-r--r--configs/releng/efiboot/loader/entries/uefi-shell-v1-x86_64.conf2
-rw-r--r--configs/releng/efiboot/loader/entries/uefi-shell-v2-x86_64.conf2
-rw-r--r--configs/releng/efiboot/loader/loader.conf2
-rw-r--r--configs/releng/mkinitcpio.conf2
-rw-r--r--configs/releng/packages.both60
-rw-r--r--configs/releng/packages.i68650
-rw-r--r--configs/releng/packages.x86_6453
-rw-r--r--configs/releng/root-image/etc/archiso/functions20
-rw-r--r--configs/releng/root-image/etc/conf.d/dhcpcd6
-rw-r--r--configs/releng/root-image/etc/fstab0
-rw-r--r--configs/releng/root-image/etc/inittab48
-rw-r--r--configs/releng/root-image/etc/rc.conf23
-rw-r--r--configs/releng/root-image/etc/rc.d/functions.d/automated_script23
-rw-r--r--configs/releng/root-image/etc/rc.d/functions.d/setup_special_console25
-rwxr-xr-xconfigs/releng/root-image/etc/rc.d/pacman-init34
-rw-r--r--configs/releng/root-image/etc/systemd/system/dhcpcd.service13
-rw-r--r--configs/releng/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount8
-rw-r--r--configs/releng/root-image/etc/systemd/system/pacman-init.service15
-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/root/.automated_script.sh34
-rw-r--r--configs/releng/root-image/root/.zlogin1
-rw-r--r--configs/releng/syslinux.dual/archiso_pxe_both_inc.cfg2
-rw-r--r--configs/releng/syslinux.dual/archiso_sys_both_inc.cfg2
29 files changed, 198 insertions, 330 deletions
diff --git a/configs/releng/build.sh b/configs/releng/build.sh
index 65dfbb2..c21d8fd 100755
--- a/configs/releng/build.sh
+++ b/configs/releng/build.sh
@@ -30,7 +30,7 @@ make_basefs() {
# Additional packages (root-image)
make_packages() {
- mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" -p "$(grep -v ^# ${script_path}/packages.${arch})" install
+ mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" -p "$(grep -h -v ^# ${script_path}/packages.{both,${arch}})" install
}
# Copy mkinitcpio archiso hooks (root-image)
@@ -65,13 +65,38 @@ make_boot() {
fi
}
-# Prepare EFI "El Torito" boot image (using Linux >= 3.3 EFI boot stub)
-make_boot_efi() {
+make_efi() {
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
if [[ ${arch} == "x86_64" ]]; then
+
+ mkdir -p ${work_dir}/iso/EFI/boot
+ cp ${work_dir}/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/iso/EFI/boot/bootx64.efi
+
+ mkdir -p ${work_dir}/iso/loader/entries
+ cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/iso/loader/
+ cp ${script_path}/efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/iso/loader/entries/
+ cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/iso/loader/entries/
+
+ sed "s|%ARCHISO_LABEL%|${iso_label}|g;
+ s|%INSTALL_DIR%|${install_dir}|g" ${script_path}/efiboot/loader/entries/archiso-x86_64-usb.conf > ${work_dir}/iso/loader/entries/archiso-x86_64.conf
+
+ # EFI Shell 2.0 for UEFI 2.3+ ( http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=UEFI_Shell )
+ wget -O ${work_dir}/iso/EFI/shellx64_v2.efi https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi
+ # EFI Shell 1.0 for non UEFI 2.3+ ( http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=Efi-shell )
+ wget -O ${work_dir}/iso/EFI/shellx64_v1.efi https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/EdkShellBinPkg/FullShell/X64/Shell_Full.efi
+
+ fi
+ : > ${work_dir}/build.${FUNCNAME}
+ fi
+}
+
+make_efiboot() {
+ if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
+ if [[ ${arch} == "x86_64" ]]; then
+
mkdir -p ${work_dir}/iso/EFI/archiso
- dd of=${work_dir}/iso/EFI/archiso/efiboot.img bs=1 seek=20M count=0
- mkfs.vfat ${work_dir}/iso/EFI/archiso/efiboot.img
+ truncate -s 31M ${work_dir}/iso/EFI/archiso/efiboot.img
+ mkfs.vfat -n ARCHISO_EFI ${work_dir}/iso/EFI/archiso/efiboot.img
mkdir -p ${work_dir}/efiboot
mount ${work_dir}/iso/EFI/archiso/efiboot.img ${work_dir}/efiboot
@@ -80,29 +105,22 @@ make_boot_efi() {
cp ${work_dir}/iso/${install_dir}/boot/x86_64/vmlinuz ${work_dir}/efiboot/EFI/archiso/vmlinuz.efi
cp ${work_dir}/iso/${install_dir}/boot/x86_64/libreiso.img ${work_dir}/efiboot/EFI/archiso/libreiso.img
- # 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.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.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
- # EFI Shell 1.0 for non UEFI 2.3+ ( http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=Efi-shell )
- wget -O ${work_dir}/efiboot/EFI/boot/bootx64.efi https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/EdkShellBinPkg/FullShell/X64/Shell_Full.efi
+ cp ${work_dir}/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/efiboot/EFI/boot/bootx64.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_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
+ mkdir -p ${work_dir}/efiboot/loader/entries
+ cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/efiboot/loader/
+ cp ${script_path}/efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/efiboot/loader/entries/
+ cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/efiboot/loader/entries/
sed "s|%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
+ s|%INSTALL_DIR%|${install_dir}|g" ${script_path}/efiboot/loader/entries/archiso-x86_64-cd.conf > ${work_dir}/efiboot/loader/entries/archiso-x86_64.conf
+
+ cp ${work_dir}/iso/EFI/shellx64_v2.efi ${work_dir}/efiboot/EFI/
+ cp ${work_dir}/iso/EFI/shellx64_v1.efi ${work_dir}/efiboot/EFI/
umount ${work_dir}/efiboot
+
fi
: > ${work_dir}/build.${FUNCNAME}
fi
@@ -155,6 +173,8 @@ make_customize_root_image() {
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
+ sed 's#\(^ExecStart=-/sbin/agetty\)#\1 --autologin root#' \
+ ${work_dir}/root-image/usr/lib/systemd/system/getty@.service > ${work_dir}/root-image/etc/systemd/system/getty@.service
mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" \
-r 'locale-gen' \
run
@@ -162,7 +182,10 @@ make_customize_root_image() {
-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' \
+ -r 'useradd -m -p "" -g users -G "adm,audio,floppy,log,network,rfkill,scanner,storage,optical,power,wheel" -s /bin/zsh arch' \
+ run
+ mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" \
+ -r 'systemctl -f enable pacman-init.service getty@.service dhcpcd.service || true' \
run
: > ${work_dir}/build.${FUNCNAME}
fi
@@ -271,7 +294,8 @@ make_common_single() {
make_packages
make_setup_mkinitcpio
make_boot
- make_boot_efi
+ make_efi
+ make_efiboot
make_syslinux
make_isolinux
make_customize_root_image
diff --git a/configs/releng/efiboot/EFI/boot/startup_iso.nsh b/configs/releng/efiboot/EFI/boot/startup_iso.nsh
deleted file mode 100644
index ac78735..0000000
--- a/configs/releng/efiboot/EFI/boot/startup_iso.nsh
+++ /dev/null
@@ -1,10 +0,0 @@
-@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
deleted file mode 100644
index 2621cc4..0000000
--- a/configs/releng/efiboot/EFI/boot/startup_usb.nsh
+++ /dev/null
@@ -1,10 +0,0 @@
-@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/efiboot/loader/entries/archiso-x86_64-cd.conf b/configs/releng/efiboot/loader/entries/archiso-x86_64-cd.conf
new file mode 100644
index 0000000..9892c59
--- /dev/null
+++ b/configs/releng/efiboot/loader/entries/archiso-x86_64-cd.conf
@@ -0,0 +1,4 @@
+title Arch Linux archiso x86_64 UEFI CD
+linux /EFI/archiso/vmlinuz.efi
+initrd /EFI/archiso/archiso.img
+options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
diff --git a/configs/releng/efiboot/loader/entries/archiso-x86_64-usb.conf b/configs/releng/efiboot/loader/entries/archiso-x86_64-usb.conf
new file mode 100644
index 0000000..f61c532
--- /dev/null
+++ b/configs/releng/efiboot/loader/entries/archiso-x86_64-usb.conf
@@ -0,0 +1,4 @@
+title Arch Linux archiso x86_64 UEFI USB
+linux /%INSTALL_DIR%/boot/x86_64/vmlinuz
+initrd /%INSTALL_DIR%/boot/x86_64/archiso.img
+options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
diff --git a/configs/releng/efiboot/loader/entries/uefi-shell-v1-x86_64.conf b/configs/releng/efiboot/loader/entries/uefi-shell-v1-x86_64.conf
new file mode 100644
index 0000000..9597ff2
--- /dev/null
+++ b/configs/releng/efiboot/loader/entries/uefi-shell-v1-x86_64.conf
@@ -0,0 +1,2 @@
+title UEFI Shell x86_64 v1
+efi /EFI/shellx64_v1.efi
diff --git a/configs/releng/efiboot/loader/entries/uefi-shell-v2-x86_64.conf b/configs/releng/efiboot/loader/entries/uefi-shell-v2-x86_64.conf
new file mode 100644
index 0000000..0dde77a
--- /dev/null
+++ b/configs/releng/efiboot/loader/entries/uefi-shell-v2-x86_64.conf
@@ -0,0 +1,2 @@
+title UEFI Shell x86_64 v2
+efi /EFI/shellx64_v2.efi
diff --git a/configs/releng/efiboot/loader/loader.conf b/configs/releng/efiboot/loader/loader.conf
new file mode 100644
index 0000000..62c4a83
--- /dev/null
+++ b/configs/releng/efiboot/loader/loader.conf
@@ -0,0 +1,2 @@
+timeout 3
+default archiso-x86_64
diff --git a/configs/releng/mkinitcpio.conf b/configs/releng/mkinitcpio.conf
index 12a656d..03af40c 100644
--- a/configs/releng/mkinitcpio.conf
+++ b/configs/releng/mkinitcpio.conf
@@ -1,2 +1,2 @@
-HOOKS="base udev memdisk archiso_shutdown archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms pata scsi sata virtio usb fw pcmcia filesystems usbinput"
+HOOKS="base udev timestamp memdisk archiso_shutdown archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms pata scsi sata virtio usb fw pcmcia filesystems usbinput"
COMPRESSION="xz"
diff --git a/configs/releng/packages.both b/configs/releng/packages.both
new file mode 100644
index 0000000..4bab7de
--- /dev/null
+++ b/configs/releng/packages.both
@@ -0,0 +1,60 @@
+arch-install-scripts
+b43-fwcutter
+btrfs-progs
+crda
+darkhttpd
+ddrescue
+dhclient
+dialog
+dmraid
+dnsmasq
+dnsutils
+dosfstools
+elinks
+ethtool
+fsarchiver
+gnu-netcat
+gptfdisk
+grml-zsh-config
+grub-bios
+haveged
+hdparm
+ipw2100-fw
+ipw2200-fw
+irssi
+lftp
+lilo
+linux-atm
+mc
+mtools
+netcfg
+nfs-utils
+nilfs-utils
+nmap
+ntfs-3g
+ntfsprogs
+ntp
+openconnect
+openssh
+openvpn
+partclone
+parted
+partimage
+pptpclient
+rfkill
+rp-pppoe
+rsync
+smartmontools
+speedtouch
+sudo
+tcpdump
+testdisk
+usb_modeswitch
+vpnc
+wget
+wireless_tools
+wpa_actiond
+wvdial
+xl2tpd
+zd1211-firmware
+zsh
diff --git a/configs/releng/packages.i686 b/configs/releng/packages.i686
index dacc785..e69de29 100644
--- a/configs/releng/packages.i686
+++ b/configs/releng/packages.i686
@@ -1,50 +0,0 @@
-arch-install-scripts
-btrfs-progs
-crda
-darkhttpd
-ddrescue
-dhclient
-dialog
-dmraid
-dnsmasq
-dnsutils
-dosfstools
-efibootmgr
-elinks
-gnu-netcat
-gptfdisk
-grml-zsh-config
-grub-bios
-haveged
-hdparm
-irssi
-lftp
-lilo
-linux-atm
-mtools
-netcfg
-nfs-utils
-nilfs-utils
-nmap
-ntfs-3g
-ntfsprogs
-ntp
-openconnect
-openssh
-openvpn
-parted
-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 277cf72..137c9d5 100644
--- a/configs/releng/packages.x86_64
+++ b/configs/releng/packages.x86_64
@@ -1,52 +1,3 @@
-arch-install-scripts
-btrfs-progs
-crda
-darkhttpd
-ddrescue
-dhclient
-dialog
-dmraid
-dnsmasq
-dnsutils
-dosfstools
-efibootmgr
-elinks
-gnu-netcat
-gptfdisk
-grml-zsh-config
-grub-bios
grub-efi-x86_64
-haveged
-hdparm
-irssi
-lftp
-lilo
-linux-atm
-mtools
-netcfg
-nfs-utils
-nilfs-utils
-nmap
-ntfs-3g
-ntfsprogs
-ntp
-openconnect
-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
+gummiboot-efi
+refind-efi
diff --git a/configs/releng/root-image/etc/archiso/functions b/configs/releng/root-image/etc/archiso/functions
deleted file mode 100644
index 9fffdcb..0000000
--- a/configs/releng/root-image/etc/archiso/functions
+++ /dev/null
@@ -1,20 +0,0 @@
-# vim: set ft=sh:
-
-# kernel_cmdline <param> <default>
-# Looks for a parameter on the kernel's boot-time command line.
-#
-# returns: 0 if param was found. Also prints its value if it was a K=V param.
-# 1 if it was not. Also prints value passed as <default>
-#
-kernel_cmdline ()
-{
- for param in $(/bin/cat /proc/cmdline); do
- case "${param}" in
- $1=*) echo "${param##*=}"; return 0 ;;
- $1) return 0 ;;
- *) continue ;;
- esac
- done
- [ -n "${2}" ] && echo "${2}"
- return 1
-}
diff --git a/configs/releng/root-image/etc/conf.d/dhcpcd b/configs/releng/root-image/etc/conf.d/dhcpcd
deleted file mode 100644
index 76b56ff..0000000
--- a/configs/releng/root-image/etc/conf.d/dhcpcd
+++ /dev/null
@@ -1,6 +0,0 @@
-#
-# Arguments to be passed to the DHCP client daemon
-#
-
-DHCPCD_ARGS="-qb"
-
diff --git a/configs/releng/root-image/etc/fstab b/configs/releng/root-image/etc/fstab
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/configs/releng/root-image/etc/fstab
diff --git a/configs/releng/root-image/etc/inittab b/configs/releng/root-image/etc/inittab
deleted file mode 100644
index e3fe2c8..0000000
--- a/configs/releng/root-image/etc/inittab
+++ /dev/null
@@ -1,48 +0,0 @@
-#
-# /etc/inittab
-#
-
-# Runlevels:
-# 0 Halt
-# 1(S) Single-user
-# 2 Not used
-# 3 Multi-user
-# 4 Not used
-# 5 X11
-# 6 Reboot
-
-## Only one of the following two lines can be uncommented!
-# Boot to console
-id:3:initdefault:
-# Boot to X11
-#id:5:initdefault:
-
-rc::sysinit:/etc/rc.sysinit
-rs:S1:wait:/etc/rc.single
-rm:2345:wait:/etc/rc.multi
-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 -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
-c5:2345:respawn:/sbin/agetty -8 -s 38400 tty5 linux
-c6:2345:respawn:/sbin/agetty -8 -s 38400 tty6 linux
-
-# Serial Virtual Console for KVM and others VMs
-#s0:2345:respawn:/sbin/agetty -8 -s 9600 ttyS0 linux
-
-# Hypervisor Virtual Console for Xen and KVM
-#h0:2345:respawn:/sbin/agetty -8 -s 38400 hvc0 linux
-
-ca::ctrlaltdel:/sbin/shutdown -t3 -r now
-
-# Example lines for starting a login manager
-x:5:respawn:/usr/bin/xdm -nodaemon
-#x:5:respawn:/usr/sbin/gdm -nodaemon
-#x:5:respawn:/usr/bin/kdm -nodaemon
-#x:5:respawn:/usr/bin/slim >/dev/null 2>&1
-
-# End of file
diff --git a/configs/releng/root-image/etc/rc.conf b/configs/releng/root-image/etc/rc.conf
deleted file mode 100644
index 679b804..0000000
--- a/configs/releng/root-image/etc/rc.conf
+++ /dev/null
@@ -1,23 +0,0 @@
-. /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).
-#
-
-DAEMONS=(syslog-ng network haveged pacman-init)
-
-# Storage
-#
-# USEDMRAID="no"
-# USELVM="no"
-
-# 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
deleted file mode 100644
index f3e9018..0000000
--- a/configs/releng/root-image/etc/rc.d/functions.d/automated_script
+++ /dev/null
@@ -1,23 +0,0 @@
-automated_script ()
-{
- script="$(kernel_cmdline script)"
- if [[ -n "${script}" ]]; then
- stat_busy "Configuring $script"
- if [[ "${script}" =~ ^http:// || "${script}" =~ ^ftp:// ]]; then
- wget "${script}" -q -O /tmp/startup_script >/dev/null
- rt=$?
- else
- cp "${script}" /tmp/startup_script
- rt=$?
- fi
- if [ ${rt} -eq 0 ]; then
- chmod +x /tmp/startup_script
- echo -e '\nif [ $(tty) = "/dev/tty1" ]; then\n /tmp/startup_script\nfi\n' >> /root/.zprofile
- stat_done
- else
- stat_fail
- fi
- fi
-}
-
-add_hook multi_end automated_script
diff --git a/configs/releng/root-image/etc/rc.d/functions.d/setup_special_console b/configs/releng/root-image/etc/rc.d/functions.d/setup_special_console
deleted file mode 100644
index 7badfe3..0000000
--- a/configs/releng/root-image/etc/rc.d/functions.d/setup_special_console
+++ /dev/null
@@ -1,25 +0,0 @@
-# If an alternate console was specified on the kernel command line,
-# start agetty on it too.
-setup_special_console()
-{
- local cmdline_console
- if cmdline_console=$(kernel_cmdline console); then
- stat_busy "Starting agetty on console: ${cmdline_console}"
- local port options baud rts
- port=${cmdline_console%%,*}
- options=${cmdline_console#${port}}
- options=${options#,}
- baud=${options%%[neo]*}
- [[ ${options} == *r ]] && rts="-h"
- if ! grep -q "^${port}" /etc/securetty; then
- echo ${port} >> /etc/securetty
- fi
- if ! grep -q "^z0:" /etc/inittab; then
- echo "z0:2345:respawn:/sbin/agetty -8 -s ${rts} ${baud:-9600} ${port} linux" >> /etc/inittab
- fi
- /sbin/telinit q
- stat_done
- fi
-}
-
-add_hook sysinit_end setup_special_console
diff --git a/configs/releng/root-image/etc/rc.d/pacman-init b/configs/releng/root-image/etc/rc.d/pacman-init
deleted file mode 100755
index 596fe30..0000000
--- a/configs/releng/root-image/etc/rc.d/pacman-init
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/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/systemd/system/dhcpcd.service b/configs/releng/root-image/etc/systemd/system/dhcpcd.service
new file mode 100644
index 0000000..dd030d5
--- /dev/null
+++ b/configs/releng/root-image/etc/systemd/system/dhcpcd.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=dhcpcd on all interfaces
+Wants=network.target
+Before=network.target
+
+[Service]
+Type=forking
+PIDFile=/run/dhcpcd.pid
+ExecStart=/sbin/dhcpcd -A -b -q
+ExecStop=/sbin/dhcpcd -k
+
+[Install]
+WantedBy=multi-user.target
diff --git a/configs/releng/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount b/configs/releng/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount
new file mode 100644
index 0000000..4eab551
--- /dev/null
+++ b/configs/releng/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount
@@ -0,0 +1,8 @@
+[Unit]
+Description=Temporary /etc/pacman.d/gnupg directory
+
+[Mount]
+What=tmpfs
+Where=/etc/pacman.d/gnupg
+Type=tmpfs
+Options=mode=0755
diff --git a/configs/releng/root-image/etc/systemd/system/pacman-init.service b/configs/releng/root-image/etc/systemd/system/pacman-init.service
new file mode 100644
index 0000000..23b8144
--- /dev/null
+++ b/configs/releng/root-image/etc/systemd/system/pacman-init.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Initializes Pacman keyring
+Wants=haveged.service
+After=haveged.service
+Requires=etc-pacman.d-gnupg.mount
+After=etc-pacman.d-gnupg.mount
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/bin/pacman-key --init
+ExecStart=/usr/bin/pacman-key --populate archlinux
+
+[Install]
+WantedBy=multi-user.target
diff --git a/configs/releng/root-image/etc/timezone b/configs/releng/root-image/etc/timezone
deleted file mode 100644
index e2e7775..0000000
--- a/configs/releng/root-image/etc/timezone
+++ /dev/null
@@ -1 +0,0 @@
-UTC
diff --git a/configs/releng/root-image/etc/vconsole.conf b/configs/releng/root-image/etc/vconsole.conf
deleted file mode 100644
index c58bf7e..0000000
--- a/configs/releng/root-image/etc/vconsole.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-KEYMAP=us
-FONT=
diff --git a/configs/releng/root-image/root/.automated_script.sh b/configs/releng/root-image/root/.automated_script.sh
new file mode 100755
index 0000000..fb106da
--- /dev/null
+++ b/configs/releng/root-image/root/.automated_script.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+script_cmdline ()
+{
+ local param
+ for param in $(< /proc/cmdline); do
+ case "${param}" in
+ script=*) echo "${param##*=}" ; return 0 ;;
+ esac
+ done
+}
+
+automated_script ()
+{
+ local script rt
+ script="$(script_cmdline)"
+ if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then
+ if [[ "${script}" =~ ^http:// || "${script}" =~ ^ftp:// ]]; then
+ wget "${script}" --retry-connrefused -q -O /tmp/startup_script >/dev/null
+ rt=$?
+ else
+ cp "${script}" /tmp/startup_script
+ rt=$?
+ fi
+ if [[ ${rt} -eq 0 ]]; then
+ chmod +x /tmp/startup_script
+ /tmp/startup_script
+ fi
+ fi
+}
+
+if [[ $(tty) == "/dev/tty1" ]]; then
+ automated_script
+fi
diff --git a/configs/releng/root-image/root/.zlogin b/configs/releng/root-image/root/.zlogin
new file mode 100644
index 0000000..f598e43
--- /dev/null
+++ b/configs/releng/root-image/root/.zlogin
@@ -0,0 +1 @@
+~/.automated_script.sh
diff --git a/configs/releng/syslinux.dual/archiso_pxe_both_inc.cfg b/configs/releng/syslinux.dual/archiso_pxe_both_inc.cfg
index 324523e..1593303 100644
--- a/configs/releng/syslinux.dual/archiso_pxe_both_inc.cfg
+++ b/configs/releng/syslinux.dual/archiso_pxe_both_inc.cfg
@@ -1,4 +1,4 @@
INCLUDE boot/syslinux/archiso_head.cfg
-INCLUDE boot/syslinux/archiso_pxe32.cfg
INCLUDE boot/syslinux/archiso_pxe64.cfg
+INCLUDE boot/syslinux/archiso_pxe32.cfg
INCLUDE boot/syslinux/archiso_tail.cfg
diff --git a/configs/releng/syslinux.dual/archiso_sys_both_inc.cfg b/configs/releng/syslinux.dual/archiso_sys_both_inc.cfg
index 4ed6b39..e885c40 100644
--- a/configs/releng/syslinux.dual/archiso_sys_both_inc.cfg
+++ b/configs/releng/syslinux.dual/archiso_sys_both_inc.cfg
@@ -1,4 +1,4 @@
INCLUDE boot/syslinux/archiso_head.cfg
-INCLUDE boot/syslinux/archiso_sys32.cfg
INCLUDE boot/syslinux/archiso_sys64.cfg
+INCLUDE boot/syslinux/archiso_sys32.cfg
INCLUDE boot/syslinux/archiso_tail.cfg