From 1b44c4d35057b9f8a3a35670c10d2f69c7d2afa0 Mon Sep 17 00:00:00 2001 From: David P Date: Sat, 18 Jan 2020 22:05:57 -0300 Subject: add baseline, rename 'profile' to 'releng' Signed-off-by: David P --- configs/releng/SHA512SUMS | 2 + configs/releng/airootfs/etc/fstab | 0 configs/releng/airootfs/etc/hostname | 1 + configs/releng/airootfs/etc/locale.conf | 1 + configs/releng/airootfs/etc/motd | 14 + configs/releng/airootfs/etc/pam.d/su | 6 + .../airootfs/etc/systemd/scripts/choose-mirror | 26 ++ .../etc/systemd/system/choose-mirror.service | 10 + .../etc/systemd/system/etc-pacman.d-gnupg.mount | 8 + .../system/getty@tty1.service.d/autologin.conf | 3 + .../etc/systemd/system/pacman-init.service | 16 ++ .../airootfs/etc/udev/rules.d/81-dhcpcd.rules | 1 + configs/releng/airootfs/root/.automated_script.sh | 34 +++ configs/releng/airootfs/root/.zlogin | 1 + configs/releng/airootfs/root/customize_airootfs.sh | 25 ++ configs/releng/airootfs/root/install.txt | 2 + configs/releng/build.sh | 298 +++++++++++++++++++++ .../loader/entries/parabolaiso-x86_64-cd.conf | 4 + .../loader/entries/parabolaiso-x86_64-usb.conf | 4 + .../loader/entries/uefi-shell-v1-x86_64.conf | 2 + .../loader/entries/uefi-shell-v2-x86_64.conf | 2 + configs/releng/efiboot/loader/loader.conf | 2 + configs/releng/isolinux/isolinux.cfg | 6 + configs/releng/mkinitcpio.conf | 2 + configs/releng/packages.both | 75 ++++++ configs/releng/packages.i686 | 0 configs/releng/packages.x86_64 | 0 configs/releng/pacman.conf | 125 +++++++++ configs/releng/syslinux/parabolaiso.cfg | 11 + configs/releng/syslinux/parabolaiso_head.cfg | 25 ++ configs/releng/syslinux/parabolaiso_pxe32.cfg | 32 +++ configs/releng/syslinux/parabolaiso_pxe64.cfg | 32 +++ configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg | 3 + .../releng/syslinux/parabolaiso_pxe_both_inc.cfg | 4 + configs/releng/syslinux/parabolaiso_pxe_choose.cfg | 11 + configs/releng/syslinux/parabolaiso_sys32.cfg | 9 + configs/releng/syslinux/parabolaiso_sys64.cfg | 9 + configs/releng/syslinux/parabolaiso_sys_32_inc.cfg | 3 + .../releng/syslinux/parabolaiso_sys_both_inc.cfg | 4 + configs/releng/syslinux/parabolaiso_sys_choose.cfg | 11 + configs/releng/syslinux/parabolaiso_tail.cfg | 27 ++ configs/releng/syslinux/splash.png | Bin 0 -> 27496 bytes configs/releng/syslinux/splash.svg | 284 ++++++++++++++++++++ configs/releng/syslinux/syslinux.cfg | 5 + 44 files changed, 1140 insertions(+) create mode 100644 configs/releng/SHA512SUMS create mode 100644 configs/releng/airootfs/etc/fstab create mode 100644 configs/releng/airootfs/etc/hostname create mode 100644 configs/releng/airootfs/etc/locale.conf create mode 100644 configs/releng/airootfs/etc/motd create mode 100644 configs/releng/airootfs/etc/pam.d/su create mode 100755 configs/releng/airootfs/etc/systemd/scripts/choose-mirror create mode 100644 configs/releng/airootfs/etc/systemd/system/choose-mirror.service create mode 100644 configs/releng/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount create mode 100644 configs/releng/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf create mode 100644 configs/releng/airootfs/etc/systemd/system/pacman-init.service create mode 100644 configs/releng/airootfs/etc/udev/rules.d/81-dhcpcd.rules create mode 100755 configs/releng/airootfs/root/.automated_script.sh create mode 100644 configs/releng/airootfs/root/.zlogin create mode 100755 configs/releng/airootfs/root/customize_airootfs.sh create mode 100644 configs/releng/airootfs/root/install.txt create mode 100755 configs/releng/build.sh create mode 100644 configs/releng/efiboot/loader/entries/parabolaiso-x86_64-cd.conf create mode 100644 configs/releng/efiboot/loader/entries/parabolaiso-x86_64-usb.conf create mode 100644 configs/releng/efiboot/loader/entries/uefi-shell-v1-x86_64.conf create mode 100644 configs/releng/efiboot/loader/entries/uefi-shell-v2-x86_64.conf create mode 100644 configs/releng/efiboot/loader/loader.conf create mode 100644 configs/releng/isolinux/isolinux.cfg create mode 100644 configs/releng/mkinitcpio.conf create mode 100644 configs/releng/packages.both create mode 100644 configs/releng/packages.i686 create mode 100644 configs/releng/packages.x86_64 create mode 100644 configs/releng/pacman.conf create mode 100644 configs/releng/syslinux/parabolaiso.cfg create mode 100644 configs/releng/syslinux/parabolaiso_head.cfg create mode 100644 configs/releng/syslinux/parabolaiso_pxe32.cfg create mode 100644 configs/releng/syslinux/parabolaiso_pxe64.cfg create mode 100644 configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg create mode 100644 configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg create mode 100644 configs/releng/syslinux/parabolaiso_pxe_choose.cfg create mode 100644 configs/releng/syslinux/parabolaiso_sys32.cfg create mode 100644 configs/releng/syslinux/parabolaiso_sys64.cfg create mode 100644 configs/releng/syslinux/parabolaiso_sys_32_inc.cfg create mode 100644 configs/releng/syslinux/parabolaiso_sys_both_inc.cfg create mode 100644 configs/releng/syslinux/parabolaiso_sys_choose.cfg create mode 100644 configs/releng/syslinux/parabolaiso_tail.cfg create mode 100644 configs/releng/syslinux/splash.png create mode 100644 configs/releng/syslinux/splash.svg create mode 100644 configs/releng/syslinux/syslinux.cfg (limited to 'configs/releng') diff --git a/configs/releng/SHA512SUMS b/configs/releng/SHA512SUMS new file mode 100644 index 0000000..08383eb --- /dev/null +++ b/configs/releng/SHA512SUMS @@ -0,0 +1,2 @@ +52bf5ab98fad18468ef95b3cc504e8da99c769d1780fa2a788580e9afbdbbf2e495fee6723672d62ea60628aebd609e781543f57bc5b20f9c49ef6c47992a85f shellx64_v2.efi +9f9e008bb8f586c2e6d80ce6205937cf31913e750b94a4f3005639179a33bf0a35f1a4207735f1d0a6547e7a72e470c5da05c93bf195abd784c38b78dcab9779 shellx64_v1.efi diff --git a/configs/releng/airootfs/etc/fstab b/configs/releng/airootfs/etc/fstab new file mode 100644 index 0000000..e69de29 diff --git a/configs/releng/airootfs/etc/hostname b/configs/releng/airootfs/etc/hostname new file mode 100644 index 0000000..8aaf41b --- /dev/null +++ b/configs/releng/airootfs/etc/hostname @@ -0,0 +1 @@ +parabolaiso diff --git a/configs/releng/airootfs/etc/locale.conf b/configs/releng/airootfs/etc/locale.conf new file mode 100644 index 0000000..01ec548 --- /dev/null +++ b/configs/releng/airootfs/etc/locale.conf @@ -0,0 +1 @@ +LANG=en_US.UTF-8 diff --git a/configs/releng/airootfs/etc/motd b/configs/releng/airootfs/etc/motd new file mode 100644 index 0000000..e4c893c --- /dev/null +++ b/configs/releng/airootfs/etc/motd @@ -0,0 +1,14 @@ + +=============================================================================== + + Parabola GNU/Linux-libre live media _DATE_ + + To install Parabola, the system must be connected to the internet. + For instructions, enter this command: + less install.txt + + Press the function keys while holding Alt to switch virtual terminals. + This allows entering commands without closing less. + +=============================================================================== + diff --git a/configs/releng/airootfs/etc/pam.d/su b/configs/releng/airootfs/etc/pam.d/su new file mode 100644 index 0000000..a291042 --- /dev/null +++ b/configs/releng/airootfs/etc/pam.d/su @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +auth sufficient pam_wheel.so trust use_uid +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so diff --git a/configs/releng/airootfs/etc/systemd/scripts/choose-mirror b/configs/releng/airootfs/etc/systemd/scripts/choose-mirror new file mode 100755 index 0000000..13c9f69 --- /dev/null +++ b/configs/releng/airootfs/etc/systemd/scripts/choose-mirror @@ -0,0 +1,26 @@ +#!/bin/bash + +get_cmdline() { + local param + for param in $(< /proc/cmdline); do + case "${param}" in + $1=*) echo "${param##*=}"; + return 0 + ;; + esac + done +} + +mirror=$(get_cmdline mirror) +[[ $mirror = auto ]] && mirror=$(get_cmdline parabolaiso_http_srv) +[[ $mirror ]] || exit 0 + +mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig +cat >/etc/pacman.d/mirrorlist << EOF +# +# Parabola GNU/Linux-libre repository mirrorlist +# Generated by parabolaiso +# + +Server = ${mirror%%/}/\$repo/os/\$arch +EOF diff --git a/configs/releng/airootfs/etc/systemd/system/choose-mirror.service b/configs/releng/airootfs/etc/systemd/system/choose-mirror.service new file mode 100644 index 0000000..1e4d771 --- /dev/null +++ b/configs/releng/airootfs/etc/systemd/system/choose-mirror.service @@ -0,0 +1,10 @@ +[Unit] +Description=Choose mirror from the kernel command line +ConditionKernelCommandLine=mirror + +[Service] +Type=oneshot +ExecStart=/etc/systemd/scripts/choose-mirror + +[Install] +WantedBy=multi-user.target diff --git a/configs/releng/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount b/configs/releng/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount new file mode 100644 index 0000000..4eab551 --- /dev/null +++ b/configs/releng/airootfs/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/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf b/configs/releng/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf new file mode 100644 index 0000000..d1d8474 --- /dev/null +++ b/configs/releng/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf @@ -0,0 +1,3 @@ +[Service] +ExecStart= +ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux diff --git a/configs/releng/airootfs/etc/systemd/system/pacman-init.service b/configs/releng/airootfs/etc/systemd/system/pacman-init.service new file mode 100644 index 0000000..3414ebc --- /dev/null +++ b/configs/releng/airootfs/etc/systemd/system/pacman-init.service @@ -0,0 +1,16 @@ +[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 +ExecStart=/usr/bin/pacman-key --populate parabola + +[Install] +WantedBy=multi-user.target diff --git a/configs/releng/airootfs/etc/udev/rules.d/81-dhcpcd.rules b/configs/releng/airootfs/etc/udev/rules.d/81-dhcpcd.rules new file mode 100644 index 0000000..970da69 --- /dev/null +++ b/configs/releng/airootfs/etc/udev/rules.d/81-dhcpcd.rules @@ -0,0 +1 @@ +ACTION=="add", SUBSYSTEM=="net", ENV{SYSTEMD_WANTS}="dhcpcd@$name.service" diff --git a/configs/releng/airootfs/root/.automated_script.sh b/configs/releng/airootfs/root/.automated_script.sh new file mode 100755 index 0000000..fb106da --- /dev/null +++ b/configs/releng/airootfs/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/airootfs/root/.zlogin b/configs/releng/airootfs/root/.zlogin new file mode 100644 index 0000000..f598e43 --- /dev/null +++ b/configs/releng/airootfs/root/.zlogin @@ -0,0 +1 @@ +~/.automated_script.sh diff --git a/configs/releng/airootfs/root/customize_airootfs.sh b/configs/releng/airootfs/root/customize_airootfs.sh new file mode 100755 index 0000000..2ebaa3b --- /dev/null +++ b/configs/releng/airootfs/root/customize_airootfs.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +set -e -u + +sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen +locale-gen + +ln -sf /usr/share/zoneinfo/UTC /etc/localtime + +usermod -s /usr/bin/zsh root +cp -aT /etc/skel/ /root/ +chmod 700 /root + +sed -i 's/#\(PermitRootLogin \).\+/\1yes/' /etc/ssh/sshd_config +sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist +sed -i 's/#\(Storage=\)auto/\1volatile/' /etc/systemd/journald.conf + +sed -i 's/#\(HandleSuspendKey=\)suspend/\1ignore/' /etc/systemd/logind.conf +sed -i 's/#\(HandleHibernateKey=\)hibernate/\1ignore/' /etc/systemd/logind.conf +sed -i 's/#\(HandleLidSwitch=\)suspend/\1ignore/' /etc/systemd/logind.conf + +systemctl enable multi-user.target pacman-init.service choose-mirror.service +systemctl set-default multi-user.target + +sed -i "s/_DATE_/$(date +%Y.%m.%d)/" /etc/motd diff --git a/configs/releng/airootfs/root/install.txt b/configs/releng/airootfs/root/install.txt new file mode 100644 index 0000000..a594b97 --- /dev/null +++ b/configs/releng/airootfs/root/install.txt @@ -0,0 +1,2 @@ +View this installation guide online at +https://wiki.parabola.nu/Installation_Guide diff --git a/configs/releng/build.sh b/configs/releng/build.sh new file mode 100755 index 0000000..8b3fac5 --- /dev/null +++ b/configs/releng/build.sh @@ -0,0 +1,298 @@ +#!/bin/bash + +set -e -u + +iso_name=parabola +iso_label="PARA_$(date +%Y%m)" +iso_publisher="Parabola GNU/Linux-libre " +iso_application="Parabola GNU/Linux-libre Live/Rescue CD" +iso_version=$(date +%Y.%m.%d) +install_dir=parabola +work_dir=work +out_dir=out +gpg_key= + +arch=$(uname -m) +verbose="" +script_path=$(readlink -f ${0%/*}) + +# Init system. Options are: +# - openrc +# - sysvinit +# - systemd +# +# sysvinit uses OpenRC as service manager +init=systemd + +umask 0022 + +_usage () +{ + echo "usage ${0} [options]" + echo + echo " General options:" + echo " -N Set an iso filename (prefix)" + echo " Default: ${iso_name}" + echo " -V Set an iso version (in filename)" + echo " Default: ${iso_version}" + echo " -L Set an iso label (disk label)" + echo " Default: ${iso_label}" + echo " -P Set a publisher for the disk" + echo " Default: '${iso_publisher}'" + echo " -A Set an application name for the disk" + echo " Default: '${iso_application}'" + echo " -D Set an install_dir (directory inside iso)" + echo " Default: ${install_dir}" + echo " -w Set the working directory" + echo " Default: ${work_dir}" + echo " -o Set the output directory" + echo " Default: ${out_dir}" + echo " -v Enable verbose output" + echo " -h This help message" + exit ${1} +} + +# Helper function to run make_*() only one time per architecture. +run_once() { + if [[ ! -e ${work_dir}/build.${1}_${arch} ]]; then + $1 + touch ${work_dir}/build.${1}_${arch} + fi +} + +# 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 +} + +# Base installation, plus needed packages (airootfs) +make_basefs() { + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -i "${init}" init + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -i "${init}" -p "haveged memtest86+ mkinitcpio-nfs-utils nbd zsh efitools" install +} + +# Additional packages (airootfs) +make_packages() { + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.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} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "efitools" install +} + +# Copy mkinitcpio parabolaiso hooks and build initramfs (airootfs) +make_setup_mkinitcpio() { + local _hook + mkdir -p ${work_dir}/${arch}/airootfs/etc/initcpio/hooks + mkdir -p ${work_dir}/${arch}/airootfs/etc/initcpio/install + for _hook in parabolaiso parabolaiso_shutdown parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_loop_mnt; do + 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}/${arch}/airootfs/etc/initcpio/install/parabolaiso_shutdown + cp /usr/lib/initcpio/install/parabolaiso_kms ${work_dir}/${arch}/airootfs/etc/initcpio/install + cp /usr/lib/initcpio/parabolaiso_shutdown ${work_dir}/${arch}/airootfs/etc/initcpio + cp ${script_path}/mkinitcpio.conf ${work_dir}/${arch}/airootfs/etc/mkinitcpio-parabolaiso.conf + gnupg_fd= + if [[ ${gpg_key} ]]; then + gpg --export ${gpg_key} >${work_dir}/gpgkey + exec 17<>${work_dir}/gpgkey + fi + PARABOLAISO_GNUPG_FD=${gpg_key:+17} setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -r 'mkinitcpio -c /etc/mkinitcpio-parabolaiso.conf -k /boot/vmlinuz-linux-libre -g /boot/parabolaiso.img' run + if [[ ${gpg_key} ]]; then + exec 17<&- + fi +} + +# Customize installation (airootfs) +make_customize_airootfs() { + cp -af ${script_path}/airootfs ${work_dir}/${arch} + + cp ${script_path}/pacman.conf ${work_dir}/${arch}/airootfs/etc + + curl -o ${work_dir}/${arch}/airootfs/etc/pacman.d/mirrorlist 'https://www.parabola.nu/mirrorlist/?country=all&protocol=http&use_mirror_status=on' + + lynx -dump -nolist 'https://wiki.parabola.nu/index.php/Installation_Guide?action=render' >> ${work_dir}/${arch}/airootfs/root/install.txt + + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -r '/root/customize_airootfs.sh' run + 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/${arch} + cp ${work_dir}/${arch}/airootfs/boot/parabolaiso.img ${work_dir}/iso/${install_dir}/boot/${arch}/parabolaiso.img + cp ${work_dir}/${arch}/airootfs/boot/vmlinuz-linux-libre ${work_dir}/iso/${install_dir}/boot/${arch}/vmlinuz +} + +# Add other aditional/extra files to ${install_dir}/boot/ +make_boot_extra() { + 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 +} + +# Prepare /${install_dir}/boot/syslinux +make_syslinux() { + _uname_r=$(file -b ${work_dir}/${arch}/airootfs/boot/vmlinuz-linux-libre| awk 'f{print;f=0} /version/{f=1}' RS=' ') + mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux + for _cfg in ${script_path}/syslinux/*.cfg; do + sed "s|%PARABOLAISO_LABEL%|${iso_label}|g; + 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}/${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}/${arch}/airootfs/usr/lib/modules/${_uname_r}/modules.alias > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/modalias.gz +} + +# Prepare /isolinux +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}/${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 +make_efi() { + mkdir -p ${work_dir}/iso/EFI/boot + cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/PreLoader.efi ${work_dir}/iso/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/HashTool.efi ${work_dir}/iso/EFI/boot/ + + cp ${work_dir}/x86_64/airootfs/usr/lib/systemd/boot/efi/systemd-bootx64.efi ${work_dir}/iso/EFI/boot/loader.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|%PARABOLAISO_LABEL%|${iso_label}|g; + s|%INSTALL_DIR%|${install_dir}|g" \ + ${script_path}/efiboot/loader/entries/parabolaiso-x86_64-usb.conf > ${work_dir}/iso/loader/entries/parabolaiso-x86_64.conf + + # EFI Shell 2.0 for UEFI 2.3+ + curl -o ${work_dir}/iso/EFI/shellx64_v2.efi https://raw.githubusercontent.com/tianocore/edk2/edk2-stable201811/ShellBinPkg/UefiShell/X64/Shell.efi + # EFI Shell 1.0 for non UEFI 2.3+ + curl -o ${work_dir}/iso/EFI/shellx64_v1.efi https://raw.githubusercontent.com/tianocore/edk2/edk2-stable201811/EdkShellBinPkg/FullShell/X64/Shell_Full.efi + + # Checksums for EFI Shell + sed "s|shellx64|${work_dir}/iso/EFI/shellx64|" ${script_path}/SHA512SUMS | sha512sum --quiet -c - +} + +# Prepare efiboot.img::/EFI for "El Torito" EFI boot mode +make_efiboot() { + mkdir -p ${work_dir}/iso/EFI/parabolaiso + truncate -s 64M ${work_dir}/iso/EFI/parabolaiso/efiboot.img + mkfs.fat -n PARABOLAISO_EFI ${work_dir}/iso/EFI/parabolaiso/efiboot.img + + mkdir -p ${work_dir}/efiboot + mount ${work_dir}/iso/EFI/parabolaiso/efiboot.img ${work_dir}/efiboot + + mkdir -p ${work_dir}/efiboot/EFI/parabolaiso + cp ${work_dir}/iso/${install_dir}/boot/x86_64/vmlinuz ${work_dir}/efiboot/EFI/parabolaiso/vmlinuz.efi + cp ${work_dir}/iso/${install_dir}/boot/x86_64/parabolaiso.img ${work_dir}/efiboot/EFI/parabolaiso/parabolaiso.img + + mkdir -p ${work_dir}/efiboot/EFI/boot + cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/PreLoader.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/HashTool.efi ${work_dir}/efiboot/EFI/boot/ + + cp ${work_dir}/x86_64/airootfs/usr/lib/systemd/boot/efi/systemd-bootx64.efi ${work_dir}/efiboot/EFI/boot/loader.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|%PARABOLAISO_LABEL%|${iso_label}|g; + s|%INSTALL_DIR%|${install_dir}|g" \ + ${script_path}/efiboot/loader/entries/parabolaiso-x86_64-cd.conf > ${work_dir}/efiboot/loader/entries/parabolaiso-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 -d ${work_dir}/efiboot +} + +# Build airootfs filesystem image +make_prepare() { + cp -a -l -f ${work_dir}/${arch}/airootfs ${work_dir} + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" pkglist + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" ${gpg_key:+-g ${gpg_key}} prepare + rm -rf ${work_dir}/airootfs + # rm -rf ${work_dir}/${arch}/airootfs (if low space, this helps) +} + +# Build ISO +make_iso() { + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -P "${iso_publisher}" -A "${iso_application}" -o "${out_dir}" iso "${iso_name}-${iso_version}-dual.iso" +} + +if [[ ${EUID} -ne 0 ]]; then + echo "This script must be run as root." + _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}" ;; + V) iso_version="${OPTARG}" ;; + L) iso_label="${OPTARG}" ;; + P) iso_publisher="${OPTARG}" ;; + A) iso_application="${OPTARG}" ;; + D) install_dir="${OPTARG}" ;; + w) work_dir="${OPTARG}" ;; + o) out_dir="${OPTARG}" ;; + g) gpg_key="${OPTARG}" ;; + v) verbose="-v" ;; + h) _usage 0 ;; + *) + echo "Invalid argument '${arg}'" + _usage 1 + ;; + esac +done + +mkdir -p ${work_dir} + +run_once make_pacman_conf + +# Do all stuff for each airootfs +for arch in i686 x86_64; do + run_once make_basefs + run_once make_packages +done + +run_once make_packages_efi + +for arch in i686 x86_64; do + run_once make_setup_mkinitcpio + run_once make_customize_airootfs +done + +for arch in i686 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 + +for arch in i686 x86_64; do + run_once make_prepare +done + +run_once make_iso diff --git a/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-cd.conf b/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-cd.conf new file mode 100644 index 0000000..057e14f --- /dev/null +++ b/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-cd.conf @@ -0,0 +1,4 @@ +title Parabola GNU/Linux-libre parabolaiso x86_64 UEFI CD +linux /EFI/parabolaiso/vmlinuz.efi +initrd /EFI/parabolaiso/parabolaiso.img +options parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-usb.conf b/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-usb.conf new file mode 100644 index 0000000..3863799 --- /dev/null +++ b/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-usb.conf @@ -0,0 +1,4 @@ +title Parabola GNU/Linux-libre parabolaiso x86_64 UEFI USB +linux /%INSTALL_DIR%/boot/x86_64/vmlinuz +initrd /%INSTALL_DIR%/boot/x86_64/parabolaiso.img +options parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_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..ba02c50 --- /dev/null +++ b/configs/releng/efiboot/loader/loader.conf @@ -0,0 +1,2 @@ +timeout 3 +default parabolaiso-x86_64 diff --git a/configs/releng/isolinux/isolinux.cfg b/configs/releng/isolinux/isolinux.cfg new file mode 100644 index 0000000..10472fb --- /dev/null +++ b/configs/releng/isolinux/isolinux.cfg @@ -0,0 +1,6 @@ +PATH /%INSTALL_DIR%/boot/syslinux/ +DEFAULT loadconfig + +LABEL loadconfig + CONFIG /%INSTALL_DIR%/boot/syslinux/parabolaiso.cfg + APPEND /%INSTALL_DIR%/ diff --git a/configs/releng/mkinitcpio.conf b/configs/releng/mkinitcpio.conf new file mode 100644 index 0000000..048facb --- /dev/null +++ b/configs/releng/mkinitcpio.conf @@ -0,0 +1,2 @@ +HOOKS=(base udev memdisk parabolaiso_shutdown parabolaiso parabolaiso_loop_mnt parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_kms block filesystems keyboard) +COMPRESSION="xz" diff --git a/configs/releng/packages.both b/configs/releng/packages.both new file mode 100644 index 0000000..bd703e1 --- /dev/null +++ b/configs/releng/packages.both @@ -0,0 +1,75 @@ +arch-install-scripts +btrfs-progs +crda +darkhttpd +ddrescue +dhclient +dhcpcd +dialog +diffutils +dmraid +dnsmasq +dnsutils +dosfstools +elinks +ethtool +exfat-utils +f2fs-tools +fsarchiver +gnu-netcat +gpm +gptfdisk +grml-zsh-config +grub +hdparm +irssi +iwd +jfsutils +lftp +linux-atm +linux-libre-firmware +lsscsi +lvm2 +man-db +man-pages +mc +mdadm +mtools +nano +ndisc6 +netctl +nfs-utils +nilfs-utils +nmap +ntfs-3g +ntp +openconnect +openssh +openvpn +partclone +parted +partimage +ppp +pptpclient +refind-efi +reiserfsprogs +rp-pppoe +rsync +sdparm +sg3_utils +smartmontools +sudo +tcpdump +testdisk +usb_modeswitch +usbutils +vi +vim-minimal +vpnc +wget +wireless-regdb +wireless_tools +wpa_supplicant +wvdial +xfsprogs +xl2tpd diff --git a/configs/releng/packages.i686 b/configs/releng/packages.i686 new file mode 100644 index 0000000..e69de29 diff --git a/configs/releng/packages.x86_64 b/configs/releng/packages.x86_64 new file mode 100644 index 0000000..e69de29 diff --git a/configs/releng/pacman.conf b/configs/releng/pacman.conf new file mode 100644 index 0000000..2de1d4f --- /dev/null +++ b/configs/releng/pacman.conf @@ -0,0 +1,125 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +#HookDir = /etc/pacman.d/hooks/ +HoldPkg = pacman glibc +#XferCommand = /usr/bin/curl -C - -f %u > %o +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +#UseDelta = 0.7 +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +#Color +#TotalDownload +# We cannot check disk space from within a chroot environment +#CheckSpace +#VerbosePkgLists + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required + +# NOTE: You must run `pacman-key --init` before first using pacman; the local +# keyring can then be populated with the keys of all Arch/Parabola packagers +# with `pacman-key --populate archlinux` and `pacman-key --populate parabola`. + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +#[libre-testing] +#Include = /etc/pacman.d/mirrorlist + +[libre] +Include = /etc/pacman.d/mirrorlist + +#[testing] +#Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +#[community-testing] +#Include = /etc/pacman.d/mirrorlist + +[community] +Include = /etc/pacman.d/mirrorlist + +#[pcr-testing] +#Include = /etc/pacman.d/mirrorlist + +[pcr] +Include = /etc/pacman.d/mirrorlist + +# If you want to run 32 bit applications on your x86_64 system, +# enable the libre-multilib, multilib and pcr-multilib repositories as required here. + +#[libre-multilib-testing] +#Include = /etc/pacman.d/mirrorlist + +#[libre-multilib] +#Include = /etc/pacman.d/mirrorlist + +#[multilib-testing] +#Include = /etc/pacman.d/mirrorlist + +#[multilib] +#Include = /etc/pacman.d/mirrorlist + +#[pcr-multilib-testing] +#Include = /etc/pacman.d/mirrorlist + +#[pcr-multilib] +#Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs diff --git a/configs/releng/syslinux/parabolaiso.cfg b/configs/releng/syslinux/parabolaiso.cfg new file mode 100644 index 0000000..473e245 --- /dev/null +++ b/configs/releng/syslinux/parabolaiso.cfg @@ -0,0 +1,11 @@ +DEFAULT select + +LABEL select +COM32 boot/syslinux/whichsys.c32 +APPEND -pxe- pxe -sys- sys -iso- sys + +LABEL pxe +CONFIG boot/syslinux/parabolaiso_pxe_choose.cfg + +LABEL sys +CONFIG boot/syslinux/parabolaiso_sys_choose.cfg diff --git a/configs/releng/syslinux/parabolaiso_head.cfg b/configs/releng/syslinux/parabolaiso_head.cfg new file mode 100644 index 0000000..a245309 --- /dev/null +++ b/configs/releng/syslinux/parabolaiso_head.cfg @@ -0,0 +1,25 @@ +SERIAL 0 38400 +UI boot/syslinux/vesamenu.c32 +MENU TITLE Parabola GNU/Linux-libre +MENU BACKGROUND boot/syslinux/splash.png + +MENU WIDTH 78 +MENU MARGIN 4 +MENU ROWS 7 +MENU VSHIFT 10 +MENU TABMSGROW 14 +MENU CMDLINEROW 14 +MENU HELPMSGROW 16 +MENU HELPMSGENDROW 29 + +# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu + +MENU COLOR border 35;40 #ff777caa #a0000000 std +MENU COLOR title 1;35;40 #ff777caa #a0000000 std +MENU COLOR sel 7;35;47 #e0ffffff #20777caa all +MENU COLOR unsel 35;40 #ff777caa #a0000000 std +MENU COLOR help 35;40 #c0b2b2b2 #a0000000 std +MENU COLOR timeout_msg 35;40 #ff777caa #00000000 std +MENU COLOR timeout 1;35;40 #ff777caa #00000000 std +MENU COLOR msg07 35;40 #ff777caa #a0000000 std +MENU COLOR tabmsg 35;40 #ff777caa #00000000 std diff --git a/configs/releng/syslinux/parabolaiso_pxe32.cfg b/configs/releng/syslinux/parabolaiso_pxe32.cfg new file mode 100644 index 0000000..9df86b7 --- /dev/null +++ b/configs/releng/syslinux/parabolaiso_pxe32.cfg @@ -0,0 +1,32 @@ +LABEL parabola32_nbd +TEXT HELP +Boot the Parabola GNU/Linux-libre (i686) live medium (Using NBD). +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (i686) (NBD) +LINUX boot/i686/vmlinuz +INITRD boot/i686/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% parabolaiso_nbd_srv=${pxeserver} +SYSAPPEND 3 + +LABEL parabola32_nfs +TEXT HELP +Boot the Parabola GNU/Linux-libre (i686) live medium (Using NFS). +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (i686) (NFS) +LINUX boot/i686/vmlinuz +INITRD boot/i686/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_nfs_srv=${pxeserver}:/run/parabolaiso/bootmnt +SYSAPPEND 3 + +LABEL parabola32_http +TEXT HELP +Boot the Parabola GNU/Linux-libre (i686) live medium (Using HTTP). +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (i686) (HTTP) +LINUX boot/i686/vmlinuz +INITRD boot/i686/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_http_srv=http://${pxeserver}/ +SYSAPPEND 3 diff --git a/configs/releng/syslinux/parabolaiso_pxe64.cfg b/configs/releng/syslinux/parabolaiso_pxe64.cfg new file mode 100644 index 0000000..be3e3de --- /dev/null +++ b/configs/releng/syslinux/parabolaiso_pxe64.cfg @@ -0,0 +1,32 @@ +LABEL parabola64_nbd +TEXT HELP +Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NBD). +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (NBD) +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% parabolaiso_nbd_srv=${pxeserver} +SYSAPPEND 3 + +LABEL parabola64_nfs +TEXT HELP +Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NFS). +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (NFS) +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_nfs_srv=${pxeserver}:/run/parabolaiso/bootmnt +SYSAPPEND 3 + +LABEL parabola64_http +TEXT HELP +Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using HTTP). +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (HTTP) +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_http_srv=http://${pxeserver}/ +SYSAPPEND 3 diff --git a/configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg b/configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg new file mode 100644 index 0000000..ba514cb --- /dev/null +++ b/configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg @@ -0,0 +1,3 @@ +INCLUDE boot/syslinux/parabolaiso_head.cfg +INCLUDE boot/syslinux/parabolaiso_pxe32.cfg +INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg b/configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg new file mode 100644 index 0000000..9396d9b --- /dev/null +++ b/configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg @@ -0,0 +1,4 @@ +INCLUDE boot/syslinux/parabolaiso_head.cfg +INCLUDE boot/syslinux/parabolaiso_pxe64.cfg +INCLUDE boot/syslinux/parabolaiso_pxe32.cfg +INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/releng/syslinux/parabolaiso_pxe_choose.cfg b/configs/releng/syslinux/parabolaiso_pxe_choose.cfg new file mode 100644 index 0000000..a3a768f --- /dev/null +++ b/configs/releng/syslinux/parabolaiso_pxe_choose.cfg @@ -0,0 +1,11 @@ +DEFAULT choose + +LABEL choose +COM32 boot/syslinux/ifcpu64.c32 +APPEND have64 -- nohave64 + +LABEL have64 +CONFIG boot/syslinux/parabolaiso_pxe_both_inc.cfg + +LABEL nohave64 +CONFIG boot/syslinux/parabolaiso_pxe_32_inc.cfg diff --git a/configs/releng/syslinux/parabolaiso_sys32.cfg b/configs/releng/syslinux/parabolaiso_sys32.cfg new file mode 100644 index 0000000..4abdf7a --- /dev/null +++ b/configs/releng/syslinux/parabolaiso_sys32.cfg @@ -0,0 +1,9 @@ +LABEL parabola32 +TEXT HELP +Boot the Parabola GNU/Linux-libre (i686) live medium. +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (i686) +LINUX boot/i686/vmlinuz +INITRD boot/i686/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/releng/syslinux/parabolaiso_sys64.cfg b/configs/releng/syslinux/parabolaiso_sys64.cfg new file mode 100644 index 0000000..b154459 --- /dev/null +++ b/configs/releng/syslinux/parabolaiso_sys64.cfg @@ -0,0 +1,9 @@ +LABEL parabola64 +TEXT HELP +Boot the Parabola GNU/Linux-libre (x86_64) live medium. +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/releng/syslinux/parabolaiso_sys_32_inc.cfg b/configs/releng/syslinux/parabolaiso_sys_32_inc.cfg new file mode 100644 index 0000000..c641201 --- /dev/null +++ b/configs/releng/syslinux/parabolaiso_sys_32_inc.cfg @@ -0,0 +1,3 @@ +INCLUDE boot/syslinux/parabolaiso_head.cfg +INCLUDE boot/syslinux/parabolaiso_sys32.cfg +INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/releng/syslinux/parabolaiso_sys_both_inc.cfg b/configs/releng/syslinux/parabolaiso_sys_both_inc.cfg new file mode 100644 index 0000000..9dfb87f --- /dev/null +++ b/configs/releng/syslinux/parabolaiso_sys_both_inc.cfg @@ -0,0 +1,4 @@ +INCLUDE boot/syslinux/parabolaiso_head.cfg +INCLUDE boot/syslinux/parabolaiso_sys64.cfg +INCLUDE boot/syslinux/parabolaiso_sys32.cfg +INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/releng/syslinux/parabolaiso_sys_choose.cfg b/configs/releng/syslinux/parabolaiso_sys_choose.cfg new file mode 100644 index 0000000..d436062 --- /dev/null +++ b/configs/releng/syslinux/parabolaiso_sys_choose.cfg @@ -0,0 +1,11 @@ +DEFAULT choose + +LABEL choose +COM32 boot/syslinux/ifcpu64.c32 +APPEND have64 -- nohave64 + +LABEL have64 +CONFIG boot/syslinux/parabolaiso_sys_both_inc.cfg + +LABEL nohave64 +CONFIG boot/syslinux/parabolaiso_sys_32_inc.cfg diff --git a/configs/releng/syslinux/parabolaiso_tail.cfg b/configs/releng/syslinux/parabolaiso_tail.cfg new file mode 100644 index 0000000..e85d8e1 --- /dev/null +++ b/configs/releng/syslinux/parabolaiso_tail.cfg @@ -0,0 +1,27 @@ +LABEL existing +TEXT HELP +Boot an existing operating system. +Press TAB to edit the disk and partition number to boot. +ENDTEXT +MENU LABEL Boot existing OS +COM32 boot/syslinux/chain.c32 +APPEND hd0 0 + +# http://www.memtest.org/ +LABEL memtest +MENU LABEL Run Memtest86+ (RAM test) +LINUX boot/memtest + +# http://hdt-project.org/ +LABEL hdt +MENU LABEL Hardware Information (HDT) +COM32 boot/syslinux/hdt.c32 +APPEND modules_alias=boot/syslinux/hdt/modalias.gz pciids=boot/syslinux/hdt/pciids.gz + +LABEL reboot +MENU LABEL Reboot +COM32 boot/syslinux/reboot.c32 + +LABEL poweroff +MENU LABEL Power Off +COM32 boot/syslinux/poweroff.c32 diff --git a/configs/releng/syslinux/splash.png b/configs/releng/syslinux/splash.png new file mode 100644 index 0000000..03e9f19 Binary files /dev/null and b/configs/releng/syslinux/splash.png differ diff --git a/configs/releng/syslinux/splash.svg b/configs/releng/syslinux/splash.svg new file mode 100644 index 0000000..c1b225e --- /dev/null +++ b/configs/releng/syslinux/splash.svg @@ -0,0 +1,284 @@ + + + Parabola GNU/Linux-libre + + + + image/svg+xml + + Parabola GNU/Linux-libre + + 2015/02/28 + + + Jorge Araya Navarro + José Miguel Silva Lara + + + + + Márcio Alexandre Silva Delgado + + + + + CC BY-SA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/releng/syslinux/syslinux.cfg b/configs/releng/syslinux/syslinux.cfg new file mode 100644 index 0000000..0869ed2 --- /dev/null +++ b/configs/releng/syslinux/syslinux.cfg @@ -0,0 +1,5 @@ +DEFAULT loadconfig + +LABEL loadconfig + CONFIG parabolaiso.cfg + APPEND ../../ -- cgit v1.2.2