diff options
Diffstat (limited to 'configs/releng')
-rw-r--r-- | configs/releng/airootfs/etc/systemd/system/pacman-init.service | 1 | ||||
-rwxr-xr-x | configs/releng/build.sh | 36 | ||||
-rw-r--r-- | configs/releng/syslinux/archiso.cfg | 4 | ||||
-rw-r--r-- | configs/releng/syslinux/archiso_pxe32.cfg | 32 | ||||
-rw-r--r-- | configs/releng/syslinux/archiso_pxe64.cfg (renamed from configs/releng/syslinux/archiso_pxe.cfg) | 4 | ||||
-rw-r--r-- | configs/releng/syslinux/archiso_pxe_32_inc.cfg | 3 | ||||
-rw-r--r-- | configs/releng/syslinux/archiso_pxe_both_inc.cfg | 4 | ||||
-rw-r--r-- | configs/releng/syslinux/archiso_pxe_choose.cfg | 11 | ||||
-rw-r--r-- | configs/releng/syslinux/archiso_sys32.cfg | 9 | ||||
-rw-r--r-- | configs/releng/syslinux/archiso_sys64.cfg (renamed from configs/releng/syslinux/archiso_sys.cfg) | 4 | ||||
-rw-r--r-- | configs/releng/syslinux/archiso_sys_32_inc.cfg | 3 | ||||
-rw-r--r-- | configs/releng/syslinux/archiso_sys_both_inc.cfg | 4 | ||||
-rw-r--r-- | configs/releng/syslinux/archiso_sys_choose.cfg | 11 |
13 files changed, 102 insertions, 24 deletions
diff --git a/configs/releng/airootfs/etc/systemd/system/pacman-init.service b/configs/releng/airootfs/etc/systemd/system/pacman-init.service index 23b8144..6bc9aa0 100644 --- a/configs/releng/airootfs/etc/systemd/system/pacman-init.service +++ b/configs/releng/airootfs/etc/systemd/system/pacman-init.service @@ -10,6 +10,7 @@ Type=oneshot RemainAfterExit=yes ExecStart=/usr/bin/pacman-key --init ExecStart=/usr/bin/pacman-key --populate archlinux +ExecStart=/usr/bin/pacman-key --populate archlinux32 [Install] WantedBy=multi-user.target diff --git a/configs/releng/build.sh b/configs/releng/build.sh index 3cb0675..8c11e2d 100755 --- a/configs/releng/build.sh +++ b/configs/releng/build.sh @@ -46,27 +46,31 @@ run_once() { fi } -# Setup custom pacman.conf with current cache directories. +# Setup custom pacman.conf with current cache directories and custom mirrorlist. make_pacman_conf() { local _cache_dirs _cache_dirs=($(pacman -v 2>&1 | grep '^Cache Dirs:' | sed 's/Cache Dirs:\s*//g')) - sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${_cache_dirs[@]})|g" ${script_path}/pacman.conf > ${work_dir}/pacman.conf + sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${_cache_dirs[@]})|g" ${script_path}/pacman.conf > ${work_dir}/pacman-x86_64.conf + sed ' + s@/var/cache/pacman/pkg/@/var/cache/archbuild32/@ + s@Include = /etc/pacman\.d/mirrorlist$@\032@ + ' ${work_dir}/pacman-x86_64.conf > ${work_dir}/pacman-i686.conf } # Base installation, plus needed packages (airootfs) make_basefs() { - setarch ${arch} mkarchiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" init - setarch ${arch} mkarchiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "haveged intel-ucode memtest86+ mkinitcpio-nfs-utils nbd zsh" install + setarch ${arch} mkarchiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman-${arch}.conf" -D "${install_dir}" init + setarch ${arch} mkarchiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman-${arch}.conf" -D "${install_dir}" -p "haveged intel-ucode memtest86+ mkinitcpio-nfs-utils nbd zsh" install } # Additional packages (airootfs) make_packages() { - setarch ${arch} mkarchiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "$(grep -h -v ^# ${script_path}/packages.{both,${arch}})" install + setarch ${arch} mkarchiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman-${arch}.conf" -D "${install_dir}" -p "$(grep -h -v ^# ${script_path}/packages.{both,${arch}})" install } # Needed packages for x86_64 EFI boot make_packages_efi() { - setarch ${arch} mkarchiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "efitools" install + setarch ${arch} mkarchiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman-${arch}.conf" -D "${install_dir}" -p "efitools" install } # Copy mkinitcpio archiso hooks and build initramfs (airootfs) @@ -87,7 +91,7 @@ make_setup_mkinitcpio() { gpg --export ${gpg_key} >${work_dir}/gpgkey exec 17<>${work_dir}/gpgkey fi - ARCHISO_GNUPG_FD=${gpg_key:+17} setarch ${arch} mkarchiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -r 'mkinitcpio -c /etc/mkinitcpio-archiso.conf -k /boot/vmlinuz-linux -g /boot/archiso.img' run + ARCHISO_GNUPG_FD=${gpg_key:+17} setarch ${arch} mkarchiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman-${arch}.conf" -D "${install_dir}" -r 'mkinitcpio -c /etc/mkinitcpio-archiso.conf -k /boot/vmlinuz-linux -g /boot/archiso.img' run if [[ ${gpg_key} ]]; then exec 17<&- fi @@ -97,11 +101,15 @@ make_setup_mkinitcpio() { make_customize_airootfs() { cp -af ${script_path}/airootfs ${work_dir}/${arch} - curl -o ${work_dir}/${arch}/airootfs/etc/pacman.d/mirrorlist 'https://www.archlinux.org/mirrorlist/?country=all&protocol=http&use_mirror_status=on' + if [ "${arch}" = 'i686' ]; then + curl -o ${work_dir}/${arch}/airootfs/etc/pacman.d/mirrorlist 'https://raw.githubusercontent.com/archlinux32/packages/master/core/pacman-mirrorlist/mirrorlist' + else + curl -o ${work_dir}/${arch}/airootfs/etc/pacman.d/mirrorlist 'https://www.archlinux.org/mirrorlist/?country=all&protocol=http&use_mirror_status=on' + fi lynx -dump -nolist 'https://wiki.archlinux.org/index.php/Installation_Guide?action=render' >> ${work_dir}/${arch}/airootfs/root/install.txt - setarch ${arch} mkarchiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -r '/root/customize_airootfs.sh' run + setarch ${arch} mkarchiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman-${arch}.conf" -D "${install_dir}" -r '/root/customize_airootfs.sh' run rm ${work_dir}/${arch}/airootfs/root/customize_airootfs.sh } @@ -215,7 +223,7 @@ make_prepare() { # Build ISO make_iso() { - mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-x86_64.iso" + mkarchiso ${verbose} -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-dual.iso" } if [[ ${EUID} -ne 0 ]]; then @@ -251,19 +259,19 @@ mkdir -p ${work_dir} run_once make_pacman_conf # Do all stuff for each airootfs -for arch in x86_64; do +for arch in i686 x86_64; do run_once make_basefs run_once make_packages done run_once make_packages_efi -for arch in x86_64; do +for arch in i686 x86_64; do run_once make_setup_mkinitcpio run_once make_customize_airootfs done -for arch in x86_64; do +for arch in i686 x86_64; do run_once make_boot done @@ -274,7 +282,7 @@ run_once make_isolinux run_once make_efi run_once make_efiboot -for arch in x86_64; do +for arch in i686 x86_64; do run_once make_prepare done diff --git a/configs/releng/syslinux/archiso.cfg b/configs/releng/syslinux/archiso.cfg index 40d8b34..d1817af 100644 --- a/configs/releng/syslinux/archiso.cfg +++ b/configs/releng/syslinux/archiso.cfg @@ -5,7 +5,7 @@ COM32 boot/syslinux/whichsys.c32 APPEND -pxe- pxe -sys- sys -iso- sys LABEL pxe -CONFIG boot/syslinux/archiso_pxe.cfg +CONFIG boot/syslinux/archiso_pxe_choose.cfg LABEL sys -CONFIG boot/syslinux/archiso_sys.cfg +CONFIG boot/syslinux/archiso_sys_choose.cfg diff --git a/configs/releng/syslinux/archiso_pxe32.cfg b/configs/releng/syslinux/archiso_pxe32.cfg new file mode 100644 index 0000000..aaa793e --- /dev/null +++ b/configs/releng/syslinux/archiso_pxe32.cfg @@ -0,0 +1,32 @@ +LABEL arch32_nbd +TEXT HELP +Boot the Arch Linux (i686) live medium (Using NBD). +It allows you to install Arch Linux or perform system maintenance. +ENDTEXT +MENU LABEL Boot Arch Linux (i686) (NBD) +LINUX boot/i686/vmlinuz +INITRD boot/intel_ucode.img,boot/i686/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} +SYSAPPEND 3 + +LABEL arch32_nfs +TEXT HELP +Boot the Arch Linux (i686) live medium (Using NFS). +It allows you to install Arch Linux or perform system maintenance. +ENDTEXT +MENU LABEL Boot Arch Linux (i686) (NFS) +LINUX boot/i686/vmlinuz +INITRD boot/intel_ucode.img,boot/i686/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt +SYSAPPEND 3 + +LABEL arch32_http +TEXT HELP +Boot the Arch Linux (i686) live medium (Using HTTP). +It allows you to install Arch Linux or perform system maintenance. +ENDTEXT +MENU LABEL Boot Arch Linux (i686) (HTTP) +LINUX boot/i686/vmlinuz +INITRD boot/intel_ucode.img,boot/i686/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ +SYSAPPEND 3 diff --git a/configs/releng/syslinux/archiso_pxe.cfg b/configs/releng/syslinux/archiso_pxe64.cfg index 481371a..2598916 100644 --- a/configs/releng/syslinux/archiso_pxe.cfg +++ b/configs/releng/syslinux/archiso_pxe64.cfg @@ -1,5 +1,3 @@ -INCLUDE boot/syslinux/archiso_head.cfg - LABEL arch64_nbd TEXT HELP Boot the Arch Linux (x86_64) live medium (Using NBD). @@ -32,5 +30,3 @@ LINUX boot/x86_64/vmlinuz INITRD boot/intel_ucode.img,boot/x86_64/archiso.img APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ SYSAPPEND 3 - -INCLUDE boot/syslinux/archiso_tail.cfg diff --git a/configs/releng/syslinux/archiso_pxe_32_inc.cfg b/configs/releng/syslinux/archiso_pxe_32_inc.cfg new file mode 100644 index 0000000..e4115df --- /dev/null +++ b/configs/releng/syslinux/archiso_pxe_32_inc.cfg @@ -0,0 +1,3 @@ +INCLUDE boot/syslinux/archiso_head.cfg +INCLUDE boot/syslinux/archiso_pxe32.cfg +INCLUDE boot/syslinux/archiso_tail.cfg diff --git a/configs/releng/syslinux/archiso_pxe_both_inc.cfg b/configs/releng/syslinux/archiso_pxe_both_inc.cfg new file mode 100644 index 0000000..1593303 --- /dev/null +++ b/configs/releng/syslinux/archiso_pxe_both_inc.cfg @@ -0,0 +1,4 @@ +INCLUDE boot/syslinux/archiso_head.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/archiso_pxe_choose.cfg b/configs/releng/syslinux/archiso_pxe_choose.cfg new file mode 100644 index 0000000..6296065 --- /dev/null +++ b/configs/releng/syslinux/archiso_pxe_choose.cfg @@ -0,0 +1,11 @@ +DEFAULT choose + +LABEL choose +COM32 boot/syslinux/ifcpu64.c32 +APPEND have64 -- nohave64 + +LABEL have64 +CONFIG boot/syslinux/archiso_pxe_both_inc.cfg + +LABEL nohave64 +CONFIG boot/syslinux/archiso_pxe_32_inc.cfg diff --git a/configs/releng/syslinux/archiso_sys32.cfg b/configs/releng/syslinux/archiso_sys32.cfg new file mode 100644 index 0000000..9d4d24b --- /dev/null +++ b/configs/releng/syslinux/archiso_sys32.cfg @@ -0,0 +1,9 @@ +LABEL arch32 +TEXT HELP +Boot the Arch Linux (i686) live medium. +It allows you to install Arch Linux or perform system maintenance. +ENDTEXT +MENU LABEL Boot Arch Linux (i686) +LINUX boot/i686/vmlinuz +INITRD boot/intel_ucode.img,boot/i686/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% diff --git a/configs/releng/syslinux/archiso_sys.cfg b/configs/releng/syslinux/archiso_sys64.cfg index 0c82573..2694968 100644 --- a/configs/releng/syslinux/archiso_sys.cfg +++ b/configs/releng/syslinux/archiso_sys64.cfg @@ -1,5 +1,3 @@ -INCLUDE boot/syslinux/archiso_head.cfg - LABEL arch64 TEXT HELP Boot the Arch Linux (x86_64) live medium. @@ -9,5 +7,3 @@ MENU LABEL Boot Arch Linux (x86_64) LINUX boot/x86_64/vmlinuz INITRD boot/intel_ucode.img,boot/x86_64/archiso.img APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% - -INCLUDE boot/syslinux/archiso_tail.cfg diff --git a/configs/releng/syslinux/archiso_sys_32_inc.cfg b/configs/releng/syslinux/archiso_sys_32_inc.cfg new file mode 100644 index 0000000..9e37093 --- /dev/null +++ b/configs/releng/syslinux/archiso_sys_32_inc.cfg @@ -0,0 +1,3 @@ +INCLUDE boot/syslinux/archiso_head.cfg +INCLUDE boot/syslinux/archiso_sys32.cfg +INCLUDE boot/syslinux/archiso_tail.cfg diff --git a/configs/releng/syslinux/archiso_sys_both_inc.cfg b/configs/releng/syslinux/archiso_sys_both_inc.cfg new file mode 100644 index 0000000..e885c40 --- /dev/null +++ b/configs/releng/syslinux/archiso_sys_both_inc.cfg @@ -0,0 +1,4 @@ +INCLUDE boot/syslinux/archiso_head.cfg +INCLUDE boot/syslinux/archiso_sys64.cfg +INCLUDE boot/syslinux/archiso_sys32.cfg +INCLUDE boot/syslinux/archiso_tail.cfg diff --git a/configs/releng/syslinux/archiso_sys_choose.cfg b/configs/releng/syslinux/archiso_sys_choose.cfg new file mode 100644 index 0000000..24c597a --- /dev/null +++ b/configs/releng/syslinux/archiso_sys_choose.cfg @@ -0,0 +1,11 @@ +DEFAULT choose + +LABEL choose +COM32 boot/syslinux/ifcpu64.c32 +APPEND have64 -- nohave64 + +LABEL have64 +CONFIG boot/syslinux/archiso_sys_both_inc.cfg + +LABEL nohave64 +CONFIG boot/syslinux/archiso_sys_32_inc.cfg |