diff options
author | Esteban Carnevale <alfplayer@mailoo.org> | 2012-10-14 15:11:11 -0300 |
---|---|---|
committer | Esteban Carnevale <alfplayer@mailoo.org> | 2012-10-14 15:11:11 -0300 |
commit | e5edfc111b1e9fc5ec65696245e6cbd96b2af1e4 (patch) | |
tree | 07bdb2e27180c632ad827b400af44695d7c5a15f /configs/releng | |
parent | 4b38c919cbb133c35a06b330e8de9f305c5b4792 (diff) | |
parent | 753d2038024541ac2d10f74e6d408d6ed1a23f2a (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')
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 |