summaryrefslogtreecommitdiff
path: root/configs
diff options
context:
space:
mode:
Diffstat (limited to 'configs')
-rwxr-xr-xconfigs/releng/build.sh129
-rw-r--r--configs/releng/packages.both92
-rw-r--r--configs/releng/packages.i6860
-rw-r--r--configs/releng/packages.x86_6492
4 files changed, 173 insertions, 140 deletions
diff --git a/configs/releng/build.sh b/configs/releng/build.sh
index 23cae8d..a2ab27b 100755
--- a/configs/releng/build.sh
+++ b/configs/releng/build.sh
@@ -12,6 +12,7 @@ work_dir=work
out_dir=out
gpg_key=""
+arch=$(uname -m)
verbose=""
script_path="$( cd -P "$( dirname "$(readlink -f "$0")" )" && pwd )"
@@ -45,9 +46,9 @@ _usage ()
# Helper function to run make_*() only one time per architecture.
run_once() {
- if [[ ! -e "${work_dir}/build.${1}" ]]; then
+ if [[ ! -e "${work_dir}/build.${1}_${arch}" ]]; then
"$1"
- touch "${work_dir}/build.${1}"
+ touch "${work_dir}/build.${1}_${arch}"
fi
}
@@ -61,7 +62,7 @@ make_pacman_conf() {
# Prepare working directory and copy custom airootfs files (airootfs)
make_custom_airootfs() {
- local _airootfs="${work_dir}/x86_64/airootfs"
+ local _airootfs="${work_dir}/${arch}/airootfs"
mkdir -p -- "${_airootfs}"
if [[ -d "${script_path}/airootfs" ]]; then
@@ -76,37 +77,46 @@ make_custom_airootfs() {
# Packages (airootfs)
make_packages() {
if [ -n "${verbose}" ]; then
- mkarchiso -v -w "${work_dir}/x86_64" -C "${work_dir}/pacman.conf" -D "${install_dir}" \
- -p "$(grep -h -v '^#' "${script_path}/packages.x86_64"| sed ':a;N;$!ba;s/\n/ /g')" install
+ mkarchiso -v -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" \
+ -p "$(grep -h -v '^#' "${script_path}/packages."{both,${arch}}| sed ':a;N;$!ba;s/\n/ /g')" install
else
- mkarchiso -w "${work_dir}/x86_64" -C "${work_dir}/pacman.conf" -D "${install_dir}" \
- -p "$(grep -h -v '^#' "${script_path}/packages.x86_64"| sed ':a;N;$!ba;s/\n/ /g')" install
+ mkarchiso -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" \
+ -p "$(grep -h -v '^#' "${script_path}/packages."{both,${arch}}| sed ':a;N;$!ba;s/\n/ /g')" install
+ fi
+}
+
+# Needed packages for x86_64 EFI boot
+make_packages_efi() {
+ if [ -n "${verbose}" ]; then
+ mkarchiso -v -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "efitools" install
+ else
+ mkarchiso -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "efitools" install
fi
}
# Copy mkinitcpio archiso hooks and build initramfs (airootfs)
make_setup_mkinitcpio() {
local _hook
- mkdir -p "${work_dir}/x86_64/airootfs/etc/initcpio/hooks"
- mkdir -p "${work_dir}/x86_64/airootfs/etc/initcpio/install"
+ mkdir -p "${work_dir}/${arch}/airootfs/etc/initcpio/hooks"
+ mkdir -p "${work_dir}/${arch}/airootfs/etc/initcpio/install"
for _hook in archiso archiso_shutdown archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_loop_mnt; do
- cp "/usr/lib/initcpio/hooks/${_hook}" "${work_dir}/x86_64/airootfs/etc/initcpio/hooks"
- cp "/usr/lib/initcpio/install/${_hook}" "${work_dir}/x86_64/airootfs/etc/initcpio/install"
+ cp "/usr/lib/initcpio/hooks/${_hook}" "${work_dir}/${arch}/airootfs/etc/initcpio/hooks"
+ cp "/usr/lib/initcpio/install/${_hook}" "${work_dir}/${arch}/airootfs/etc/initcpio/install"
done
- sed -i "s|/usr/lib/initcpio/|/etc/initcpio/|g" "${work_dir}/x86_64/airootfs/etc/initcpio/install/archiso_shutdown"
- cp /usr/lib/initcpio/install/archiso_kms "${work_dir}/x86_64/airootfs/etc/initcpio/install"
- cp /usr/lib/initcpio/archiso_shutdown "${work_dir}/x86_64/airootfs/etc/initcpio"
- cp "${script_path}/mkinitcpio.conf" "${work_dir}/x86_64/airootfs/etc/mkinitcpio-archiso.conf"
+ sed -i "s|/usr/lib/initcpio/|/etc/initcpio/|g" "${work_dir}/${arch}/airootfs/etc/initcpio/install/archiso_shutdown"
+ cp /usr/lib/initcpio/install/archiso_kms "${work_dir}/${arch}/airootfs/etc/initcpio/install"
+ cp /usr/lib/initcpio/archiso_shutdown "${work_dir}/${arch}/airootfs/etc/initcpio"
+ cp ${script_path}/mkinitcpio.conf "${work_dir}/${arch}/airootfs/etc/mkinitcpio-archiso.conf"
if [[ "${gpg_key}" ]]; then
gpg --export "${gpg_key}" > "${work_dir}/gpgkey"
exec 17<>"${work_dir}/gpgkey"
fi
if [ -n "${verbose}" ]; then
- ARCHISO_GNUPG_FD="${gpg_key:+17}" mkarchiso -v -w "${work_dir}/x86_64" -C "${work_dir}/pacman.conf" \
+ ARCHISO_GNUPG_FD="${gpg_key:+17}" mkarchiso -v -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
else
- ARCHISO_GNUPG_FD="${gpg_key:+17}" mkarchiso -w "${work_dir}/x86_64" -C "${work_dir}/pacman.conf" \
+ ARCHISO_GNUPG_FD="${gpg_key:+17}" mkarchiso -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
fi
@@ -118,37 +128,37 @@ make_setup_mkinitcpio() {
# Customize installation (airootfs)
make_customize_airootfs() {
if [ -n "${verbose}" ]; then
- mkarchiso -v -w "${work_dir}/x86_64" -C "${work_dir}/pacman.conf" -D "${install_dir}" \
+ mkarchiso -v -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" \
-r '/root/customize_airootfs.sh' run
else
- mkarchiso -w "${work_dir}/x86_64" -C "${work_dir}/pacman.conf" -D "${install_dir}" \
+ mkarchiso -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" \
-r '/root/customize_airootfs.sh' run
fi
- rm "${work_dir}/x86_64/airootfs/root/customize_airootfs.sh"
+ rm "${work_dir}/${arch}/airootfs/root/customize_airootfs.sh"
}
# Prepare kernel/initramfs ${install_dir}/boot/
make_boot() {
- mkdir -p "${work_dir}/iso/${install_dir}/boot/x86_64"
- cp "${work_dir}/x86_64/airootfs/boot/archiso.img" "${work_dir}/iso/${install_dir}/boot/x86_64/archiso.img"
- cp "${work_dir}/x86_64/airootfs/boot/vmlinuz-linux" "${work_dir}/iso/${install_dir}/boot/x86_64/vmlinuz"
+ mkdir -p "${work_dir}/iso/${install_dir}/boot/${arch}"
+ cp "${work_dir}/${arch}/airootfs/boot/archiso.img" "${work_dir}/iso/${install_dir}/boot/${arch}/archiso.img"
+ cp "${work_dir}/${arch}/airootfs/boot/vmlinuz-linux" "${work_dir}/iso/${install_dir}/boot/${arch}/vmlinuz"
}
# Add other aditional/extra files to ${install_dir}/boot/
make_boot_extra() {
- if [[ -e "${work_dir}/x86_64/airootfs/boot/memtest86+/memtest.bin" ]]; then
- cp "${work_dir}/x86_64/airootfs/boot/memtest86+/memtest.bin" "${work_dir}/iso/${install_dir}/boot/memtest"
- cp "${work_dir}/x86_64/airootfs/usr/share/licenses/common/GPL2/license.txt" \
+ if [[ -e "${work_dir}/${arch}/airootfs/boot/memtest86+/memtest.bin" ]]; then
+ cp "${work_dir}/${arch}/airootfs/boot/memtest86+/memtest.bin" "${work_dir}/iso/${install_dir}/boot/memtest"
+ cp "${work_dir}/${arch}/airootfs/usr/share/licenses/common/GPL2/license.txt" \
"${work_dir}/iso/${install_dir}/boot/memtest.COPYING"
fi
- if [[ -e "${work_dir}/x86_64/airootfs/boot/intel-ucode.img" ]]; then
- cp "${work_dir}/x86_64/airootfs/boot/intel-ucode.img" "${work_dir}/iso/${install_dir}/boot/intel_ucode.img"
- cp "${work_dir}/x86_64/airootfs/usr/share/licenses/intel-ucode/LICENSE" \
+ if [[ -e "${work_dir}/${arch}/airootfs/boot/intel-ucode.img" ]]; then
+ cp "${work_dir}/${arch}/airootfs/boot/intel-ucode.img" "${work_dir}/iso/${install_dir}/boot/intel_ucode.img"
+ cp "${work_dir}/${arch}/airootfs/usr/share/licenses/intel-ucode/LICENSE" \
"${work_dir}/iso/${install_dir}/boot/intel_ucode.LICENSE"
fi
- if [[ -e "${work_dir}/x86_64/airootfs/boot/amd-ucode.img" ]]; then
- cp "${work_dir}/x86_64/airootfs/boot/amd-ucode.img" "${work_dir}/iso/${install_dir}/boot/amd_ucode.img"
- cp "${work_dir}/x86_64/airootfs/usr/share/licenses/amd-ucode/LICENSE" \
+ if [[ -e "${work_dir}/${arch}/airootfs/boot/amd-ucode.img" ]]; then
+ cp "${work_dir}/${arch}/airootfs/boot/amd-ucode.img" "${work_dir}/iso/${install_dir}/boot/amd_ucode.img"
+ cp "${work_dir}/${arch}/airootfs/usr/share/licenses/amd-ucode/LICENSE" \
"${work_dir}/iso/${install_dir}/boot/amd_ucode.LICENSE"
fi
}
@@ -162,13 +172,13 @@ make_syslinux() {
s|%INSTALL_DIR%|${install_dir}|g" "${_cfg}" > "${work_dir}/iso/${install_dir}/boot/syslinux/${_cfg##*/}"
done
cp "${script_path}/syslinux/splash.png" "${work_dir}/iso/${install_dir}/boot/syslinux"
- cp "${work_dir}/x86_64/airootfs/usr/lib/syslinux/bios/"*.c32 "${work_dir}/iso/${install_dir}/boot/syslinux"
- cp "${work_dir}/x86_64/airootfs/usr/lib/syslinux/bios/lpxelinux.0" "${work_dir}/iso/${install_dir}/boot/syslinux"
- cp "${work_dir}/x86_64/airootfs/usr/lib/syslinux/bios/memdisk" "${work_dir}/iso/${install_dir}/boot/syslinux"
+ cp "${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/"*.c32 "${work_dir}/iso/${install_dir}/boot/syslinux"
+ cp "${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/lpxelinux.0" "${work_dir}/iso/${install_dir}/boot/syslinux"
+ cp "${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/memdisk" "${work_dir}/iso/${install_dir}/boot/syslinux"
mkdir -p "${work_dir}/iso/${install_dir}/boot/syslinux/hdt"
- gzip -c -9 "${work_dir}/x86_64/airootfs/usr/share/hwdata/pci.ids" > \
+ gzip -c -9 "${work_dir}/${arch}/airootfs/usr/share/hwdata/pci.ids" > \
"${work_dir}/iso/${install_dir}/boot/syslinux/hdt/pciids.gz"
- gzip -c -9 "${work_dir}/x86_64/airootfs/usr/lib/modules/${_uname_r}/modules.alias" > \
+ gzip -c -9 "${work_dir}/${arch}/airootfs/usr/lib/modules/${_uname_r}/modules.alias" > \
"${work_dir}/iso/${install_dir}/boot/syslinux/hdt/modalias.gz"
}
@@ -177,9 +187,9 @@ make_isolinux() {
mkdir -p "${work_dir}/iso/isolinux"
sed "s|%INSTALL_DIR%|${install_dir}|g" \
"${script_path}/isolinux/isolinux.cfg" > "${work_dir}/iso/isolinux/isolinux.cfg"
- cp "${work_dir}/x86_64/airootfs/usr/lib/syslinux/bios/isolinux.bin" "${work_dir}/iso/isolinux/"
- cp "${work_dir}/x86_64/airootfs/usr/lib/syslinux/bios/isohdpfx.bin" "${work_dir}/iso/isolinux/"
- cp "${work_dir}/x86_64/airootfs/usr/lib/syslinux/bios/ldlinux.c32" "${work_dir}/iso/isolinux/"
+ cp "${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/isolinux.bin" "${work_dir}/iso/isolinux/"
+ cp "${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/isohdpfx.bin" "${work_dir}/iso/isolinux/"
+ cp "${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/ldlinux.c32" "${work_dir}/iso/isolinux/"
}
# Prepare /EFI
@@ -237,7 +247,7 @@ make_efiboot() {
# Build airootfs filesystem image
make_prepare() {
- cp -a -l -f "${work_dir}/x86_64/airootfs" "${work_dir}"
+ cp -a -l -f "${work_dir}/${arch}/airootfs" "${work_dir}"
if [ -n "${verbose}" ]; then
mkarchiso -v -w "${work_dir}" -D "${install_dir}" pkglist
mkarchiso -v -w "${work_dir}" -D "${install_dir}" ${gpg_key:+-g ${gpg_key}} prepare
@@ -246,7 +256,7 @@ make_prepare() {
mkarchiso -w "${work_dir}" -D "${install_dir}" ${gpg_key:+-g ${gpg_key}} prepare
fi
rm -rf "${work_dir}/airootfs"
- # rm -rf "${work_dir}/x86_64/airootfs" (if low space, this helps)
+ # rm -rf "${work_dir}/${arch}/airootfs" (if low space, this helps)
}
# Build ISO
@@ -265,6 +275,11 @@ if [[ ${EUID} -ne 0 ]]; then
_usage 1
fi
+if [[ ${arch} != x86_64 ]]; then
+ echo "This script needs to be run on x86_64"
+ _usage 1
+fi
+
while getopts 'N:V:L:P:A:D:w:o:g:vh' arg; do
case "${arg}" in
N) iso_name="${OPTARG}" ;;
@@ -288,15 +303,33 @@ done
mkdir -p "${work_dir}"
run_once make_pacman_conf
-run_once make_custom_airootfs
-run_once make_packages
-run_once make_setup_mkinitcpio
-run_once make_customize_airootfs
-run_once make_boot
+
+# Do all stuff for each airootfs
+for arch in x86_64; do
+ run_once make_custom_airootfs
+ run_once make_packages
+done
+
+run_once make_packages_efi
+
+for arch in x86_64; do
+ run_once make_setup_mkinitcpio
+ run_once make_customize_airootfs
+done
+
+for arch in x86_64; do
+ run_once make_boot
+done
+
+# Do all stuff for "iso"
run_once make_boot_extra
run_once make_syslinux
run_once make_isolinux
run_once make_efi
run_once make_efiboot
-run_once make_prepare
+
+for arch in x86_64; do
+ run_once make_prepare
+done
+
run_once make_iso
diff --git a/configs/releng/packages.both b/configs/releng/packages.both
new file mode 100644
index 0000000..1cfd724
--- /dev/null
+++ b/configs/releng/packages.both
@@ -0,0 +1,92 @@
+amd-ucode
+arch-install-scripts
+b43-fwcutter
+base
+bind-tools
+broadcom-wl
+btrfs-progs
+clonezilla
+crda
+darkhttpd
+ddrescue
+dhclient
+dhcpcd
+diffutils
+dmraid
+dnsmasq
+dosfstools
+efibootmgr
+ethtool
+exfat-utils
+f2fs-tools
+fsarchiver
+gnu-netcat
+gpm
+gptfdisk
+grml-zsh-config
+haveged
+hdparm
+intel-ucode
+ipw2100-fw
+ipw2200-fw
+irssi
+iwd
+jfsutils
+kitty-terminfo
+lftp
+linux
+linux-atm
+linux-firmware
+lsscsi
+lvm2
+lynx
+man-db
+man-pages
+mc
+mdadm
+memtest86+
+mkinitcpio
+mkinitcpio-nfs-utils
+mtools
+nano
+nbd
+ndisc6
+nfs-utils
+nilfs-utils
+nmap
+ntfs-3g
+nvme-cli
+openconnect
+openssh
+openvpn
+partclone
+parted
+partimage
+ppp
+pptpclient
+reflector
+reiserfsprogs
+rp-pppoe
+rsync
+rxvt-unicode-terminfo
+sdparm
+sg3_utils
+smartmontools
+sudo
+syslinux
+systemd-resolvconf
+tcpdump
+terminus-font
+termite-terminfo
+testdisk
+usb_modeswitch
+usbutils
+vim
+vpnc
+wireless-regdb
+wireless_tools
+wpa_supplicant
+wvdial
+xfsprogs
+xl2tpd
+zsh
diff --git a/configs/releng/packages.i686 b/configs/releng/packages.i686
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/configs/releng/packages.i686
diff --git a/configs/releng/packages.x86_64 b/configs/releng/packages.x86_64
index 1cfd724..e69de29 100644
--- a/configs/releng/packages.x86_64
+++ b/configs/releng/packages.x86_64
@@ -1,92 +0,0 @@
-amd-ucode
-arch-install-scripts
-b43-fwcutter
-base
-bind-tools
-broadcom-wl
-btrfs-progs
-clonezilla
-crda
-darkhttpd
-ddrescue
-dhclient
-dhcpcd
-diffutils
-dmraid
-dnsmasq
-dosfstools
-efibootmgr
-ethtool
-exfat-utils
-f2fs-tools
-fsarchiver
-gnu-netcat
-gpm
-gptfdisk
-grml-zsh-config
-haveged
-hdparm
-intel-ucode
-ipw2100-fw
-ipw2200-fw
-irssi
-iwd
-jfsutils
-kitty-terminfo
-lftp
-linux
-linux-atm
-linux-firmware
-lsscsi
-lvm2
-lynx
-man-db
-man-pages
-mc
-mdadm
-memtest86+
-mkinitcpio
-mkinitcpio-nfs-utils
-mtools
-nano
-nbd
-ndisc6
-nfs-utils
-nilfs-utils
-nmap
-ntfs-3g
-nvme-cli
-openconnect
-openssh
-openvpn
-partclone
-parted
-partimage
-ppp
-pptpclient
-reflector
-reiserfsprogs
-rp-pppoe
-rsync
-rxvt-unicode-terminfo
-sdparm
-sg3_utils
-smartmontools
-sudo
-syslinux
-systemd-resolvconf
-tcpdump
-terminus-font
-termite-terminfo
-testdisk
-usb_modeswitch
-usbutils
-vim
-vpnc
-wireless-regdb
-wireless_tools
-wpa_supplicant
-wvdial
-xfsprogs
-xl2tpd
-zsh