summaryrefslogtreecommitdiff
path: root/configs/releng
diff options
context:
space:
mode:
Diffstat (limited to 'configs/releng')
-rw-r--r--configs/releng/airootfs/etc/systemd/system/pacman-init.service1
-rwxr-xr-xconfigs/releng/build.sh36
-rw-r--r--configs/releng/syslinux/archiso.cfg4
-rw-r--r--configs/releng/syslinux/archiso_pxe32.cfg32
-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.cfg3
-rw-r--r--configs/releng/syslinux/archiso_pxe_both_inc.cfg4
-rw-r--r--configs/releng/syslinux/archiso_pxe_choose.cfg11
-rw-r--r--configs/releng/syslinux/archiso_sys32.cfg9
-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.cfg3
-rw-r--r--configs/releng/syslinux/archiso_sys_both_inc.cfg4
-rw-r--r--configs/releng/syslinux/archiso_sys_choose.cfg11
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 72b1e3f..a559942 100755
--- a/configs/releng/build.sh
+++ b/configs/releng/build.sh
@@ -44,27 +44,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)
@@ -85,7 +89,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
@@ -95,11 +99,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
}
@@ -213,7 +221,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
@@ -249,19 +257,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
@@ -272,7 +280,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