diff options
Diffstat (limited to 'configs/releng')
59 files changed, 800 insertions, 846 deletions
diff --git a/configs/releng/aitab.netinstall b/configs/releng/aitab index 2231154..ede4033 100644 --- a/configs/releng/aitab.netinstall +++ b/configs/releng/aitab @@ -1,4 +1,4 @@ # <img> <mnt> <arch> <sfs_comp> <fs_type> <fs_size> root-image / %ARCH% xz ext4 50% -lib-modules /lib/modules %ARCH% xz ext4 50% +usr-lib-modules /usr/lib/modules %ARCH% xz ext4 50% usr-share /usr/share any xz ext4 50% diff --git a/configs/releng/aitab.core b/configs/releng/aitab.core deleted file mode 100644 index 6d10a75..0000000 --- a/configs/releng/aitab.core +++ /dev/null @@ -1,6 +0,0 @@ -# <img> <mnt> <arch> <sfs_comp> <fs_type> <fs_size> -root-image / %ARCH% xz ext4 50% -lib-modules /lib/modules %ARCH% xz ext4 50% -usr-share /usr/share any xz ext4 50% -repo-core-%ARCH% /repo/core/%ARCH% %ARCH% xz none 0 -repo-core-any /repo/core/any any xz none 0 diff --git a/configs/releng/build.sh b/configs/releng/build.sh index 4a48b0a..8d71d75 100755 --- a/configs/releng/build.sh +++ b/configs/releng/build.sh @@ -2,53 +2,48 @@ set -e -u -name=parabola +iso_name=parabola iso_label="LIBRE_$(date +%Y%m)" -version=$(date +%Y.%m.%d) +iso_version=$(date +%Y.%m.%d) install_dir=libre arch=$(uname -m) work_dir=work -verbose="n" +out_dir=out +verbose="" +cmd_args="" script_path=$(readlink -f ${0%/*}) +setup_workdir() { + cache_dirs=($(pacman -v 2>&1 | grep '^Cache Dirs:' | sed 's/Cache Dirs:\s*//g')) + mkdir -p "${work_dir}" + pacman_conf="${work_dir}/pacman.conf" + sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${cache_dirs[@]})|g" \ + "${script_path}/pacman.conf" > "${pacman_conf}" +} + # Base installation (root-image) make_basefs() { - mkarchiso ${verbose} -D "${install_dir}" -p "base" create "${work_dir}" - mkarchiso ${verbose} -D "${install_dir}" -p "memtest86+ syslinux mkinitcpio-nfs-utils nbd" create "${work_dir}" + mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" init + mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" -p "memtest86+ mkinitcpio-nfs-utils nbd curl" install } # Additional packages (root-image) make_packages() { - mkarchiso ${verbose} -D "${install_dir}" -p "$(grep -v ^# ${script_path}/packages.${arch})" create "${work_dir}" -} - -# Customize installation (root-image) -make_customize_root_image() { - if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then - cp -af ${script_path}/root-image ${work_dir} - chmod 750 ${work_dir}/root-image/etc/sudoers.d - chmod 440 ${work_dir}/root-image/etc/sudoers.d/g_wheel - mkdir -p ${work_dir}/root-image/etc/pacman.d - echo "Server = http://repo.parabolagnulinux.org/\$repo/os/\$arch" > \ - ${work_dir}/root-image/etc/pacman.d/mirrorlist - chroot ${work_dir}/root-image /usr/sbin/locale-gen - chroot ${work_dir}/root-image /usr/sbin/useradd -m -p "" -g users -G "audio,disk,optical,wheel" libre -# Cleanup, makes the ISO lighter -# Remove headers - rm -rf ${work_dir}/root-image/usr/include/* - : > ${work_dir}/build.${FUNCNAME} - fi + mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" -p "$(grep -v ^# ${script_path}/packages.${arch})" install } # Copy mkinitcpio archiso hooks (root-image) make_setup_mkinitcpio() { if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then local _hook - for _hook in archiso archiso_pxe_nbd archiso_loop_mnt; do - cp /lib/initcpio/hooks/${_hook} ${work_dir}/root-image/lib/initcpio/hooks - cp /lib/initcpio/install/${_hook} ${work_dir}/root-image/lib/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}/root-image/usr/lib/initcpio/hooks + cp /usr/lib/initcpio/install/${_hook} ${work_dir}/root-image/usr/lib/initcpio/install done + cp /usr/lib/initcpio/install/archiso_kms ${work_dir}/root-image/usr/lib/initcpio/install + cp /usr/lib/initcpio/archiso_shutdown ${work_dir}/root-image/usr/lib/initcpio + cp ${script_path}/mkinitcpio.conf ${work_dir}/root-image/etc/mkinitcpio-archiso.conf : > ${work_dir}/build.${FUNCNAME} fi } @@ -59,11 +54,10 @@ make_boot() { local _src=${work_dir}/root-image local _dst_boot=${work_dir}/iso/${install_dir}/boot mkdir -p ${_dst_boot}/${arch} - mkinitcpio \ - -c ${script_path}/mkinitcpio.conf \ - -b ${_src} \ - -k /boot/vmlinuz-linux-libre \ - -g ${_dst_boot}/${arch}/libreiso.img + mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" \ + -r 'mkinitcpio -c /etc/mkinitcpio-archiso.conf -k /boot/vmlinuz-linux-libre -g /boot/libreiso.img' \ + run + mv ${_src}/boot/libreiso.img ${_dst_boot}/${arch}/libreiso.img mv ${_src}/boot/vmlinuz-linux-libre ${_dst_boot}/${arch}/vmlinuz cp ${_src}/boot/memtest86+/memtest.bin ${_dst_boot}/memtest cp ${_src}/usr/share/licenses/common/GPL2/license.txt ${_dst_boot}/memtest.COPYING @@ -71,23 +65,68 @@ make_boot() { fi } +# Prepare EFI "El Torito" boot image (using Linux >= 3.3 EFI boot stub) +make_boot_efi() { + 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 + + mkdir -p ${work_dir}/efiboot + mount ${work_dir}/iso/EFI/archiso/efiboot.img ${work_dir}/efiboot + + mkdir -p ${work_dir}/efiboot/EFI/archiso + 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/archiso.img ${work_dir}/efiboot/EFI/archiso/archiso.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/archiso.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 + + # 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 + + 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 + + umount ${work_dir}/efiboot + fi + : > ${work_dir}/build.${FUNCNAME} + fi +} + # Prepare /${install_dir}/boot/syslinux make_syslinux() { if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then local _src_syslinux=${work_dir}/root-image/usr/lib/syslinux local _dst_syslinux=${work_dir}/iso/${install_dir}/boot/syslinux mkdir -p ${_dst_syslinux} - sed "s|%ARCHISO_LABEL%|${iso_label}|g; - s|%INSTALL_DIR%|${install_dir}|g; - s|%ARCH%|${arch}|g" ${script_path}/syslinux/syslinux.cfg > ${_dst_syslinux}/syslinux.cfg + for _cfg in ${script_path}/syslinux/*.cfg; do + sed "s|%ARCHISO_LABEL%|${iso_label}|g; + s|%INSTALL_DIR%|${install_dir}|g; + s|%ARCH%|${arch}|g" ${_cfg} > ${_dst_syslinux}/${_cfg##*/} + done cp ${script_path}/syslinux/splash.png ${_dst_syslinux} cp ${_src_syslinux}/*.c32 ${_dst_syslinux} cp ${_src_syslinux}/*.com ${_dst_syslinux} cp ${_src_syslinux}/*.0 ${_dst_syslinux} cp ${_src_syslinux}/memdisk ${_dst_syslinux} mkdir -p ${_dst_syslinux}/hdt - wget -O - http://pciids.sourceforge.net/v2.2/pci.ids | gzip -9 > ${_dst_syslinux}/hdt/pciids.gz - cat ${work_dir}/root-image/lib/modules/*-LIBRE/modules.alias | gzip -9 > ${_dst_syslinux}/hdt/modalias.gz + cat ${work_dir}/root-image/usr/share/hwdata/pci.ids | gzip -9 > ${_dst_syslinux}/hdt/pciids.gz + cat ${work_dir}/root-image/usr/lib/modules/*-LIBRE/modules.alias | gzip -9 > ${_dst_syslinux}/hdt/modalias.gz : > ${work_dir}/build.${FUNCNAME} fi } @@ -98,84 +137,77 @@ 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}/root-image/usr/lib/syslinux/isolinux.bin ${work_dir}/iso/isolinux/ + cp ${work_dir}/root-image/usr/lib/syslinux/isohdpfx.bin ${work_dir}/iso/isolinux/ : > ${work_dir}/build.${FUNCNAME} fi } -# Split out /lib/modules from root-image (makes more "dual-iso" friendly) -make_lib_modules() { +# Customize installation (root-image) +make_customize_root_image() { if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then - mv ${work_dir}/root-image/lib/modules ${work_dir}/lib-modules + cp -af ${script_path}/root-image ${work_dir} + cp -aT ${work_dir}/root-image/etc/skel/ ${work_dir}/root-image/root/ + ln -sf /usr/share/zoneinfo/UTC ${work_dir}/root-image/etc/localtime + chmod 750 ${work_dir}/root-image/etc/sudoers.d + chmod 440 ${work_dir}/root-image/etc/sudoers.d/g_wheel + mkdir -p ${work_dir}/root-image/etc/pacman.d + wget -O ${work_dir}/root-image/etc/pacman.d/mirrorlist 'https://www.archlinux.org/mirrorlist/?country=all&protocol=http&use_mirror_status=on' + lynx -dump -nolist 'https://wiki.archlinux.org/index.php/Installation_Guide?action=render' >> ${work_dir}/root-image/root/install.txt + sed -i "s/#Server/Server/g" ${work_dir}/root-image/etc/pacman.d/mirrorlist + 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 + mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" \ + -r 'locale-gen' \ + run + mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" \ + -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' \ + run : > ${work_dir}/build.${FUNCNAME} fi } -# Split out /usr/share from root-image (makes more "dual-iso" friendly) -make_usr_share() { +# Split out /usr/lib/modules from root-image (makes more "dual-iso" friendly) +make_usr_lib_modules() { if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then - mv ${work_dir}/root-image/usr/share ${work_dir}/usr-share + mv ${work_dir}/root-image/usr/lib/modules ${work_dir}/usr-lib-modules : > ${work_dir}/build.${FUNCNAME} fi } -# Make [core] repository, keep "any" pkgs in a separate fs (makes more "dual-iso" friendly) -# TODO add 'base' packages on [libre] -make_core_repo() { +# Split out /usr/share from root-image (makes more "dual-iso" friendly) +make_usr_share() { if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then - local _url _urls _pkg_name _cached_pkg _dst - mkdir -p ${work_dir}/repo-core-any - mkdir -p ${work_dir}/repo-core-${arch} - pacman -Sy - _urls=$(pacman -Sddp $(comm -2 -3 <(pacman -Sql core | sort ) <(grep -v ^# ${script_path}/core.exclude.${arch} | sort))) - for _url in ${_urls}; do - _pkg_name=${_url##*/} - _cached_pkg=/var/cache/pacman/pkg/${_pkg_name} - _dst=${work_dir}/repo-core-${arch}/${_pkg_name} - if [[ ! -e ${_dst} ]]; then - if [[ -e ${_cached_pkg} ]]; then - cp -v "${_cached_pkg}" "${_dst}" - else - wget -nv "${_url}" -O "${_dst}" - fi - fi - repo-add -q ${work_dir}/repo-core-${arch}/core.db.tar.gz ${work_dir}/repo-core-${arch}/${_pkg_name} - if [[ ${_pkg_name} =~ any.pkg ]]; then - mv "${_dst}" ${work_dir}/repo-core-any/${_pkg_name} - ln -sf ../any/${_pkg_name} ${work_dir}/repo-core-${arch}/${_pkg_name} - fi - done + mv ${work_dir}/root-image/usr/share ${work_dir}/usr-share : > ${work_dir}/build.${FUNCNAME} fi } # Process aitab -# args: $1 (core | netinstall) make_aitab() { - local _iso_type=${1} - if [[ ! -e ${work_dir}/build.${FUNCNAME}_${_iso_type} ]]; then - sed "s|%ARCH%|${arch}|g" ${script_path}/aitab.${_iso_type} > ${work_dir}/iso/${install_dir}/aitab - : > ${work_dir}/build.${FUNCNAME}_${_iso_type} + if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then + sed "s|%ARCH%|${arch}|g" ${script_path}/aitab > ${work_dir}/iso/${install_dir}/aitab + : > ${work_dir}/build.${FUNCNAME} fi } # Build all filesystem images specified in aitab (.fs .fs.sfs .sfs) make_prepare() { - mkarchiso ${verbose} -D "${install_dir}" prepare "${work_dir}" + mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" pkglist + mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" prepare } # Build ISO -# args: $1 (core | netinstall) make_iso() { - local _iso_type=${1} - mkarchiso ${verbose} -D "${install_dir}" checksum "${work_dir}" - mkarchiso ${verbose} -D "${install_dir}" -L "${iso_label}" iso "${work_dir}" "${name}-${version}-${_iso_type}-${arch}.iso" + mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" checksum + mkarchiso ${verbose} -w "${work_dir}" -C "${pacman_conf}" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-${arch}.iso" } # Build dual-iso images from ${work_dir}/i686/iso and ${work_dir}/x86_64/iso -# args: $1 (core | netinstall) make_dual() { - local _iso_type=${1} - if [[ ! -e ${work_dir}/dual/build.${FUNCNAME}_${_iso_type} ]]; then + if [[ ! -e ${work_dir}/dual/build.${FUNCNAME} ]]; then if [[ ! -d ${work_dir}/i686/iso || ! -d ${work_dir}/x86_64/iso ]]; then echo "ERROR: i686 or x86_64 builds does not exist." _usage 1 @@ -192,38 +224,95 @@ make_dual() { cp -a -l -f ${_src_one} ${work_dir}/dual cp -a -l -n ${_src_two} ${work_dir}/dual rm -f ${work_dir}/dual/iso/${install_dir}/aitab - rm -f ${work_dir}/dual/iso/${install_dir}/boot/syslinux/syslinux.cfg - if [[ ${_iso_type} == "core" ]]; then - if [[ ! -e ${work_dir}/dual/iso/${install_dir}/any/repo-core-any.sfs || - ! -e ${work_dir}/dual/iso/${install_dir}/i686/repo-core-i686.sfs || - ! -e ${work_dir}/dual/iso/${install_dir}/x86_64/repo-core-x86_64.sfs ]]; then - echo "ERROR: core_iso_single build is not found." - _usage 1 - fi - else - rm -f ${work_dir}/dual/iso/${install_dir}/any/repo-core-any.sfs - rm -f ${work_dir}/dual/iso/${install_dir}/i686/repo-core-i686.sfs - rm -f ${work_dir}/dual/iso/${install_dir}/x86_64/repo-core-x86_64.sfs - fi - paste -d"\n" <(sed "s|%ARCH%|i686|g" ${script_path}/aitab.${_iso_type}) \ - <(sed "s|%ARCH%|x86_64|g" ${script_path}/aitab.${_iso_type}) | uniq > ${work_dir}/dual/iso/${install_dir}/aitab + rm -f ${work_dir}/dual/iso/${install_dir}/boot/syslinux/*.cfg + paste -d"\n" <(sed "s|%ARCH%|i686|g" ${script_path}/aitab) \ + <(sed "s|%ARCH%|x86_64|g" ${script_path}/aitab) | uniq > ${work_dir}/dual/iso/${install_dir}/aitab for _cfg in ${script_path}/syslinux.dual/*.cfg; do sed "s|%ARCHISO_LABEL%|${iso_label}|g; s|%INSTALL_DIR%|${install_dir}|g" ${_cfg} > ${work_dir}/dual/iso/${install_dir}/boot/syslinux/${_cfg##*/} done - mkarchiso ${verbose} -D "${install_dir}" checksum "${work_dir}/dual" - mkarchiso ${verbose} -D "${install_dir}" -L "${iso_label}" iso "${work_dir}/dual" "${name}-${version}-${_iso_type}-dual.iso" - : > ${work_dir}/dual/build.${FUNCNAME}_${_iso_type} + mkarchiso ${verbose} -w "${work_dir}/dual" -D "${install_dir}" checksum + mkarchiso ${verbose} -w "${work_dir}/dual" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-dual.iso" + : > ${work_dir}/dual/build.${FUNCNAME} fi } +purge_single () +{ + if [[ -d ${work_dir} ]]; then + find ${work_dir} -mindepth 1 -maxdepth 1 \ + ! -path ${work_dir}/iso -prune \ + | xargs rm -rf + fi +} +purge_dual () +{ + if [[ -d ${work_dir}/dual ]]; then + find ${work_dir}/dual -mindepth 1 -maxdepth 1 \ + ! -path ${work_dir}/dual/iso -prune \ + | xargs rm -rf + fi +} + +clean_single () +{ + rm -rf ${work_dir} + rm -f ${out_dir}/${iso_name}-${iso_version}-*-${arch}.iso +} + +clean_dual () +{ + rm -rf ${work_dir}/dual + rm -f ${out_dir}/${iso_name}-${iso_version}-*-dual.iso +} + +make_common_single() { + make_basefs + make_packages + make_setup_mkinitcpio + make_boot + make_boot_efi + make_syslinux + make_isolinux + make_customize_root_image + make_usr_lib_modules + make_usr_share + make_aitab + make_prepare + make_iso +} _usage () { - echo "usage ${0##*/} net_iso_single | core_iso_single | all_iso_single | purge_single | clean_single" - echo " net_iso_dual | core_iso_dual | all_iso_dual | purge_dual | clean_dual" + echo "usage ${0} [options] command <command options>" + echo + echo " General options:" + echo " -N <iso_name> Set an iso filename (prefix)" + echo " Default: ${iso_name}" + echo " -V <iso_version> Set an iso version (in filename)" + echo " Default: ${iso_version}" + echo " -L <iso_label> Set an iso label (disk label)" + echo " Default: ${iso_label}" + echo " -D <install_dir> Set an install_dir (directory inside iso)" + echo " Default: ${install_dir}" + echo " -w <work_dir> Set the working directory" + echo " Default: ${work_dir}" + echo " -o <out_dir> Set the output directory" + echo " Default: ${out_dir}" + echo " -v Enable verbose output" + echo " -h This help message" echo + echo " Commands:" + echo " build <mode>" + echo " Build selected .iso by <mode>" + echo " purge <mode>" + echo " Clean working directory except iso/ directory of build <mode>" + echo " clean <mode>" + echo " Clean working directory and .iso file in output directory of build <mode>" + echo + echo " Command options:" + echo " <mode> Valid values 'single', 'dual' or 'all'" exit ${1} } @@ -232,81 +321,129 @@ if [[ ${EUID} -ne 0 ]]; then _usage 1 fi +while getopts 'N:V:L:D:w:o:vh' arg; do + case "${arg}" in + N) + iso_name="${OPTARG}" + cmd_args+=" -N ${iso_name}" + ;; + V) + iso_version="${OPTARG}" + cmd_args+=" -V ${iso_version}" + ;; + L) + iso_label="${OPTARG}" + cmd_args+=" -L ${iso_label}" + ;; + D) + install_dir="${OPTARG}" + cmd_args+=" -D ${install_dir}" + ;; + w) + work_dir="${OPTARG}" + cmd_args+=" -w ${work_dir}" + ;; + o) + out_dir="${OPTARG}" + cmd_args+=" -o ${out_dir}" + ;; + v) + verbose="-v" + cmd_args+=" -v" + ;; + h|?) _usage 0 ;; + *) + _msg_error "Invalid argument '${arg}'" 0 + _usage 1 + ;; + esac +done + +shift $((OPTIND - 1)) + if [[ $# -lt 1 ]]; then echo "No command specified" _usage 1 fi command_name="${1}" -if [[ ${verbose} == "y" ]]; then - verbose="-v" -else - verbose="" +if [[ $# -lt 2 ]]; then + echo "No command mode specified" + _usage 1 +fi +command_mode="${2}" + +if [[ ${command_mode} == "all" && ${arch} != "x86_64" ]]; then + echo "This mode <all> needs to be run on x86_64" + _usage 1 fi -if [[ ${command_name} =~ single ]]; then +if [[ ${command_mode} == "single" ]]; then work_dir=${work_dir}/${arch} fi -make_common_single() { - make_basefs - make_packages - make_customize_root_image - make_setup_mkinitcpio - make_boot - make_syslinux - make_isolinux - make_lib_modules - make_usr_share - make_aitab $1 - make_prepare $1 - make_iso $1 -} +setup_workdir case "${command_name}" in - net_iso_single) - make_common_single netinstall - ;; - core_iso_single) - make_core_repo - make_common_single core - ;; - all_iso_single) - make_common_single netinstall - make_core_repo - make_common_single core - ;; - net_iso_dual) - make_dual netinstall - ;; - core_iso_dual) - make_dual core - ;; - all_iso_dual) - make_dual netinstall - make_dual core - ;; - purge_single) - if [[ -d ${work_dir} ]]; then - find ${work_dir} -mindepth 1 -maxdepth 1 \ - ! -path ${work_dir}/iso -prune \ - | xargs rm -rf - fi - ;; - purge_dual) - if [[ -d ${work_dir}/dual ]]; then - find ${work_dir}/dual -mindepth 1 -maxdepth 1 \ - ! -path ${work_dir}/dual/iso -prune \ - | xargs rm -rf - fi + build) + case "${command_mode}" in + single) + make_common_single + ;; + dual) + make_dual + ;; + all) + $0 ${cmd_args} build single + $0 ${cmd_args} purge single + linux32 $0 ${cmd_args} build single + linux32 $0 ${cmd_args} purge single + $0 ${cmd_args} build dual + $0 ${cmd_args} purge dual + ;; + *) + echo "Invalid build mode '${command_mode}'" + _usage 1 + ;; + esac ;; - clean_single) - rm -rf ${work_dir} - rm -f ${name}-${version}-*-${arch}.iso + purge) + case "${command_mode}" in + single) + purge_single + ;; + dual) + purge_dual + ;; + all) + $0 ${cmd_args} purge single + linux32 $0 ${cmd_args} purge single + $0 ${cmd_args} purge dual + ;; + *) + echo "Invalid purge mode '${command_mode}'" + _usage 1 + ;; + esac ;; - clean_dual) - rm -rf ${work_dir}/dual - rm -f ${name}-${version}-*-dual.iso + clean) + case "${command_mode}" in + single) + clean_single + ;; + dual) + clean_dual + ;; + all) + $0 ${cmd_args} clean single + linux32 $0 ${cmd_args} clean single + $0 ${cmd_args} clean dual + ;; + *) + echo "Invalid clean mode '${command_mode}'" + _usage 1 + ;; + esac ;; *) echo "Invalid command name '${command_name}'" diff --git a/configs/releng/core.exclude.i686 b/configs/releng/core.exclude.i686 deleted file mode 100644 index a04ceef..0000000 --- a/configs/releng/core.exclude.i686 +++ /dev/null @@ -1,4 +0,0 @@ -gcc-ada -gcc-fortran -gcc-go -gcc-objc diff --git a/configs/releng/core.exclude.x86_64 b/configs/releng/core.exclude.x86_64 deleted file mode 100644 index a04ceef..0000000 --- a/configs/releng/core.exclude.x86_64 +++ /dev/null @@ -1,4 +0,0 @@ -gcc-ada -gcc-fortran -gcc-go -gcc-objc diff --git a/configs/releng/efiboot/EFI/boot/startup_iso.nsh b/configs/releng/efiboot/EFI/boot/startup_iso.nsh new file mode 100644 index 0000000..5c35ca8 --- /dev/null +++ b/configs/releng/efiboot/EFI/boot/startup_iso.nsh @@ -0,0 +1,10 @@ +@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 Arch Linux ISO Kernel fs%m:\EFI\archiso\vmlinuz.efi" + vmlinuz.efi archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% initrd=\EFI\archiso\archiso.img + endif +endfor diff --git a/configs/releng/efiboot/EFI/boot/startup_usb.nsh b/configs/releng/efiboot/EFI/boot/startup_usb.nsh new file mode 100644 index 0000000..439e400 --- /dev/null +++ b/configs/releng/efiboot/EFI/boot/startup_usb.nsh @@ -0,0 +1,10 @@ +@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\archiso.img + endif +endfor diff --git a/configs/releng/isolinux/isolinux.cfg b/configs/releng/isolinux/isolinux.cfg index e7bbaa4..1040d3f 100644 --- a/configs/releng/isolinux/isolinux.cfg +++ b/configs/releng/isolinux/isolinux.cfg @@ -1,5 +1,5 @@ DEFAULT loadconfig LABEL loadconfig - CONFIG /%INSTALL_DIR%/boot/syslinux/syslinux.cfg - APPEND /%INSTALL_DIR%/boot/syslinux/ + CONFIG /%INSTALL_DIR%/boot/syslinux/archiso.cfg + APPEND /%INSTALL_DIR%/ diff --git a/configs/releng/mkinitcpio.conf b/configs/releng/mkinitcpio.conf index df833eb..12a656d 100644 --- a/configs/releng/mkinitcpio.conf +++ b/configs/releng/mkinitcpio.conf @@ -1,2 +1,2 @@ -HOOKS="base udev memdisk archiso archiso_pxe_nbd archiso_loop_mnt pata scsi sata usb fw pcmcia filesystems usbinput" +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" COMPRESSION="xz" diff --git a/configs/releng/packages.i686 b/configs/releng/packages.i686 index 197dff3..dacc785 100644 --- a/configs/releng/packages.i686 +++ b/configs/releng/packages.i686 @@ -1,7 +1,7 @@ -aif -btrfs-progs-unstable +arch-install-scripts +btrfs-progs crda -curl +darkhttpd ddrescue dhclient dialog @@ -9,10 +9,14 @@ dmraid dnsmasq dnsutils dosfstools +efibootmgr elinks gnu-netcat +gptfdisk +grml-zsh-config +grub-bios +haveged hdparm -inetutils irssi lftp lilo @@ -33,8 +37,14 @@ 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 197dff3..277cf72 100644 --- a/configs/releng/packages.x86_64 +++ b/configs/releng/packages.x86_64 @@ -1,7 +1,7 @@ -aif -btrfs-progs-unstable +arch-install-scripts +btrfs-progs crda -curl +darkhttpd ddrescue dhclient dialog @@ -9,10 +9,15 @@ dmraid dnsmasq dnsutils dosfstools +efibootmgr elinks gnu-netcat +gptfdisk +grml-zsh-config +grub-bios +grub-efi-x86_64 +haveged hdparm -inetutils irssi lftp lilo @@ -30,11 +35,18 @@ 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 diff --git a/configs/releng/pacman-key-4.0.3_unattended-keyring-init.patch b/configs/releng/pacman-key-4.0.3_unattended-keyring-init.patch new file mode 100644 index 0000000..0a5117f --- /dev/null +++ b/configs/releng/pacman-key-4.0.3_unattended-keyring-init.patch @@ -0,0 +1,32 @@ +Author: Pierre Schmitz <pierre@archlinux.de> + +* pacman-key: Use lsign_keys function in --populate +* pacman-key: reduce verbosity of --populate + +--- pacman-key 2012-07-10 18:45:32.000000000 -0300 ++++ pacman-key 2012-07-18 16:38:18.264110004 -0300 +@@ -376,7 +376,7 @@ + # Add keys from requested keyrings + for keyring in "${KEYRINGIDS[@]}"; do + msg "$(gettext "Appending keys from %s.gpg...")" "$keyring" +- "${GPG_PACMAN[@]}" --import "${KEYRING_IMPORT_DIR}/${keyring}.gpg" ++ "${GPG_PACMAN[@]}" --quiet --import "${KEYRING_IMPORT_DIR}/${keyring}.gpg" + done + + # Read the trusted key IDs to an array. Because this is an ownertrust +@@ -403,12 +403,13 @@ + msg "$(gettext "Locally signing trusted keys in keyring...")" + for key_id in "${!trusted_ids[@]}"; do + msg2 "$(gettext "Locally signing key %s...")" "${key_id}" +- "${GPG_PACMAN[@]}" --quiet --lsign-key "${key_id}" ++ KEYIDS=("${key_id}") ++ lsign_keys + done + msg "$(gettext "Importing owner trust values...")" + for keyring in "${KEYRINGIDS[@]}"; do + if [[ -f "${KEYRING_IMPORT_DIR}/${keyring}-trusted" ]]; then +- "${GPG_PACMAN[@]}" --import-ownertrust "${KEYRING_IMPORT_DIR}/${keyring}-trusted" ++ "${GPG_PACMAN[@]}" --import-ownertrust "${KEYRING_IMPORT_DIR}/${keyring}-trusted" 2>/dev/null + fi + done + fi diff --git a/configs/releng/pacman.conf b/configs/releng/pacman.conf new file mode 100644 index 0000000..821f9a5 --- /dev/null +++ b/configs/releng/pacman.conf @@ -0,0 +1,96 @@ +# +# /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/ +HoldPkg = pacman glibc +# If upgrades are available for these packages they will be asked for first +SyncFirst = pacman +#XferCommand = /usr/bin/curl -C - -f %u > %o +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +#UseDelta +#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 = Optional TrustedOnly + +# NOTE: You must run `pacman-key --init` before first using pacman; the local +# keyring can then be populated with the keys of all official Arch Linux +# packagers with `pacman-key --populate archlinux`. + +# +# 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. + +#[testing] +#SigLevel = PackageRequired +#Include = /etc/pacman.d/mirrorlist + +[core] +SigLevel = PackageRequired +Include = /etc/pacman.d/mirrorlist + +[extra] +SigLevel = PackageRequired +Include = /etc/pacman.d/mirrorlist + +#[community-testing] +#SigLevel = PackageRequired +#Include = /etc/pacman.d/mirrorlist + +[community] +SigLevel = PackageRequired +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/root-image/etc/arch-release b/configs/releng/root-image/etc/arch-release deleted file mode 100644 index d04512c..0000000 --- a/configs/releng/root-image/etc/arch-release +++ /dev/null @@ -1 +0,0 @@ -Parabola GNU/Linux-libre Live ISO diff --git a/configs/releng/root-image/etc/conf.d/dhcpcd b/configs/releng/root-image/etc/conf.d/dhcpcd new file mode 100644 index 0000000..76b56ff --- /dev/null +++ b/configs/releng/root-image/etc/conf.d/dhcpcd @@ -0,0 +1,6 @@ +# +# Arguments to be passed to the DHCP client daemon +# + +DHCPCD_ARGS="-qb" + diff --git a/configs/releng/root-image/etc/hostname b/configs/releng/root-image/etc/hostname new file mode 100644 index 0000000..2dbe21e --- /dev/null +++ b/configs/releng/root-image/etc/hostname @@ -0,0 +1 @@ +archiso diff --git a/configs/releng/root-image/etc/hosts b/configs/releng/root-image/etc/hosts index f26c713..0b6242f 100644 --- a/configs/releng/root-image/etc/hosts +++ b/configs/releng/root-image/etc/hosts @@ -3,7 +3,7 @@ # #<ip-address> <hostname.domain.org> <hostname> -127.0.0.1 localhost.localdomain localhost libreiso -::1 localhost.localdomain localhost libreiso +127.0.0.1 localhost.localdomain localhost parabola +::1 localhost.localdomain localhost parabola # End of file diff --git a/configs/releng/root-image/etc/inittab b/configs/releng/root-image/etc/inittab index 2bbc494..e3fe2c8 100644 --- a/configs/releng/root-image/etc/inittab +++ b/configs/releng/root-image/etc/inittab @@ -24,7 +24,7 @@ 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 -n -l /usr/bin/autologin 38400 tty1 linux +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 diff --git a/configs/releng/root-image/etc/issue b/configs/releng/root-image/etc/issue deleted file mode 100644 index 2e5b032..0000000 --- a/configs/releng/root-image/etc/issue +++ /dev/null @@ -1,5 +0,0 @@ -[H[2J -Parabola GNU/Linux-libre Live ISO (\l) -\s-\r \m. -Default logins "root" and "libre" have no password. -To begin installation, login as root. diff --git a/configs/releng/root-image/etc/locale.conf b/configs/releng/root-image/etc/locale.conf new file mode 100644 index 0000000..01ec548 --- /dev/null +++ b/configs/releng/root-image/etc/locale.conf @@ -0,0 +1 @@ +LANG=en_US.UTF-8 diff --git a/configs/releng/root-image/etc/locale.gen b/configs/releng/root-image/etc/locale.gen deleted file mode 100644 index 7e4e293..0000000 --- a/configs/releng/root-image/etc/locale.gen +++ /dev/null @@ -1,455 +0,0 @@ -## Configuration file for locale-gen -## -## lists of locales that are to be generated by the locale-gen command. -## -## Each line is of the form: -## -## <locale> <charset> -## -## where <locale> is one of the locales given in /usr/share/i18n/locales -## and <charset> is one of the character sets listed in /usr/share/i18n/charmaps -## -## Examples: -## en_US ISO-8859-1 -## en_US.UTF-8 UTF-8 -## de_DE ISO-8859-1 -## de_DE@euro ISO-8859-15 -## -## The locale-gen command will generate all the locales, -## placing them in /usr/lib/locale. -## -## A list of supported locales is included in this file. -## Uncomment the ones you need. -## -## This file names the currently supported and somewhat tested locales. -## If you have any additions please file a glibc bug report. -# -#aa_DJ.UTF-8 UTF-8 -#aa_DJ ISO-8859-1 -#aa_ER UTF-8 -#aa_ER@saaho UTF-8 -#aa_ET UTF-8 -#af_ZA.UTF-8 UTF-8 -#af_ZA ISO-8859-1 -#am_ET UTF-8 -#an_ES.UTF-8 UTF-8 -#an_ES ISO-8859-15 -#ar_AE.UTF-8 UTF-8 -#ar_AE ISO-8859-6 -#ar_BH.UTF-8 UTF-8 -#ar_BH ISO-8859-6 -#ar_DZ.UTF-8 UTF-8 -#ar_DZ ISO-8859-6 -#ar_EG.UTF-8 UTF-8 -#ar_EG ISO-8859-6 -#ar_IN UTF-8 -#ar_IQ.UTF-8 UTF-8 -#ar_IQ ISO-8859-6 -#ar_JO.UTF-8 UTF-8 -#ar_JO ISO-8859-6 -#ar_KW.UTF-8 UTF-8 -#ar_KW ISO-8859-6 -#ar_LB.UTF-8 UTF-8 -#ar_LB ISO-8859-6 -#ar_LY.UTF-8 UTF-8 -#ar_LY ISO-8859-6 -#ar_MA.UTF-8 UTF-8 -#ar_MA ISO-8859-6 -#ar_OM.UTF-8 UTF-8 -#ar_OM ISO-8859-6 -#ar_QA.UTF-8 UTF-8 -#ar_QA ISO-8859-6 -#ar_SA.UTF-8 UTF-8 -#ar_SA ISO-8859-6 -#ar_SD.UTF-8 UTF-8 -#ar_SD ISO-8859-6 -#ar_SY.UTF-8 UTF-8 -#ar_SY ISO-8859-6 -#ar_TN.UTF-8 UTF-8 -#ar_TN ISO-8859-6 -#ar_YE.UTF-8 UTF-8 -#ar_YE ISO-8859-6 -#az_AZ UTF-8 -#as_IN UTF-8 -#ast_ES.UTF-8 UTF-8 -#ast_ES ISO-8859-15 -#be_BY.UTF-8 UTF-8 -#be_BY CP1251 -#be_BY@latin UTF-8 -#bem_ZM UTF-8 -#ber_DZ UTF-8 -#ber_MA UTF-8 -#bg_BG.UTF-8 UTF-8 -#bg_BG CP1251 -#bn_BD UTF-8 -#bn_IN UTF-8 -#bo_CN UTF-8 -#bo_IN UTF-8 -#br_FR.UTF-8 UTF-8 -#br_FR ISO-8859-1 -#br_FR@euro ISO-8859-15 -#bs_BA.UTF-8 UTF-8 -#bs_BA ISO-8859-2 -#byn_ER UTF-8 -#ca_AD.UTF-8 UTF-8 -#ca_AD ISO-8859-15 -#ca_ES.UTF-8 UTF-8 -#ca_ES ISO-8859-1 -#ca_ES@euro ISO-8859-15 -#ca_FR.UTF-8 UTF-8 -#ca_FR ISO-8859-15 -#ca_IT.UTF-8 UTF-8 -#ca_IT ISO-8859-15 -#crh_UA UTF-8 -#cs_CZ.UTF-8 UTF-8 -#cs_CZ ISO-8859-2 -#csb_PL UTF-8 -#cv_RU UTF-8 -#cy_GB.UTF-8 UTF-8 -#cy_GB ISO-8859-14 -#da_DK.UTF-8 UTF-8 -#da_DK ISO-8859-1 -#de_AT.UTF-8 UTF-8 -#de_AT ISO-8859-1 -#de_AT@euro ISO-8859-15 -#de_BE.UTF-8 UTF-8 -#de_BE ISO-8859-1 -#de_BE@euro ISO-8859-15 -#de_CH.UTF-8 UTF-8 -#de_CH ISO-8859-1 -#de_DE.UTF-8 UTF-8 -#de_DE ISO-8859-1 -#de_DE@euro ISO-8859-15 -#de_LU.UTF-8 UTF-8 -#de_LU ISO-8859-1 -#de_LU@euro ISO-8859-15 -#dv_MV UTF-8 -#dz_BT UTF-8 -#el_GR.UTF-8 UTF-8 -#el_GR ISO-8859-7 -#el_CY.UTF-8 UTF-8 -#el_CY ISO-8859-7 -#en_AG UTF-8 -#en_AU.UTF-8 UTF-8 -#en_AU ISO-8859-1 -#en_BW.UTF-8 UTF-8 -#en_BW ISO-8859-1 -#en_CA.UTF-8 UTF-8 -#en_CA ISO-8859-1 -#en_DK.UTF-8 UTF-8 -#en_DK ISO-8859-1 -#en_GB.UTF-8 UTF-8 -#en_GB ISO-8859-1 -#en_HK.UTF-8 UTF-8 -#en_HK ISO-8859-1 -#en_IE.UTF-8 UTF-8 -#en_IE ISO-8859-1 -#en_IE@euro ISO-8859-15 -#en_IN UTF-8 -#en_NG UTF-8 -#en_NZ.UTF-8 UTF-8 -#en_NZ ISO-8859-1 -#en_PH.UTF-8 UTF-8 -#en_PH ISO-8859-1 -#en_SG.UTF-8 UTF-8 -#en_SG ISO-8859-1 -en_US.UTF-8 UTF-8 -#en_US ISO-8859-1 -#en_ZA.UTF-8 UTF-8 -#en_ZA ISO-8859-1 -#en_ZM UTF-8 -#en_ZW.UTF-8 UTF-8 -#en_ZW ISO-8859-1 -#es_AR.UTF-8 UTF-8 -#es_AR ISO-8859-1 -#es_BO.UTF-8 UTF-8 -#es_BO ISO-8859-1 -#es_CL.UTF-8 UTF-8 -#es_CL ISO-8859-1 -#es_CO.UTF-8 UTF-8 -#es_CO ISO-8859-1 -#es_CR.UTF-8 UTF-8 -#es_CR ISO-8859-1 -#es_DO.UTF-8 UTF-8 -#es_DO ISO-8859-1 -#es_EC.UTF-8 UTF-8 -#es_EC ISO-8859-1 -#es_ES.UTF-8 UTF-8 -#es_ES ISO-8859-1 -#es_ES@euro ISO-8859-15 -#es_GT.UTF-8 UTF-8 -#es_GT ISO-8859-1 -#es_HN.UTF-8 UTF-8 -#es_HN ISO-8859-1 -#es_MX.UTF-8 UTF-8 -#es_MX ISO-8859-1 -#es_NI.UTF-8 UTF-8 -#es_NI ISO-8859-1 -#es_PA.UTF-8 UTF-8 -#es_PA ISO-8859-1 -#es_PE.UTF-8 UTF-8 -#es_PE ISO-8859-1 -#es_PR.UTF-8 UTF-8 -#es_PR ISO-8859-1 -#es_PY.UTF-8 UTF-8 -#es_PY ISO-8859-1 -#es_SV.UTF-8 UTF-8 -#es_SV ISO-8859-1 -#es_US.UTF-8 UTF-8 -#es_US ISO-8859-1 -#es_UY.UTF-8 UTF-8 -#es_UY ISO-8859-1 -#es_VE.UTF-8 UTF-8 -#es_VE ISO-8859-1 -#et_EE.UTF-8 UTF-8 -#et_EE ISO-8859-1 -#et_EE.ISO-8859-15 ISO-8859-15 -#eu_ES.UTF-8 UTF-8 -#eu_ES ISO-8859-1 -#eu_ES@euro ISO-8859-15 -#fa_IR UTF-8 -#ff_SN UTF-8 -#fi_FI.UTF-8 UTF-8 -#fi_FI ISO-8859-1 -#fi_FI@euro ISO-8859-15 -#fil_PH UTF-8 -#fo_FO.UTF-8 UTF-8 -#fo_FO ISO-8859-1 -#fr_BE.UTF-8 UTF-8 -#fr_BE ISO-8859-1 -#fr_BE@euro ISO-8859-15 -#fr_CA.UTF-8 UTF-8 -#fr_CA ISO-8859-1 -#fr_CH.UTF-8 UTF-8 -#fr_CH ISO-8859-1 -#fr_FR.UTF-8 UTF-8 -#fr_FR ISO-8859-1 -#fr_FR@euro ISO-8859-15 -#fr_LU.UTF-8 UTF-8 -#fr_LU ISO-8859-1 -#fr_LU@euro ISO-8859-15 -#fur_IT UTF-8 -#fy_NL UTF-8 -#fy_DE UTF-8 -#ga_IE.UTF-8 UTF-8 -#ga_IE ISO-8859-1 -#ga_IE@euro ISO-8859-15 -#gd_GB.UTF-8 UTF-8 -#gd_GB ISO-8859-15 -#gez_ER UTF-8 -#gez_ER@abegede UTF-8 -#gez_ET UTF-8 -#gez_ET@abegede UTF-8 -#gl_ES.UTF-8 UTF-8 -#gl_ES ISO-8859-1 -#gl_ES@euro ISO-8859-15 -#gu_IN UTF-8 -#gv_GB.UTF-8 UTF-8 -#gv_GB ISO-8859-1 -#ha_NG UTF-8 -#he_IL.UTF-8 UTF-8 -#he_IL ISO-8859-8 -#hi_IN UTF-8 -#hne_IN UTF-8 -#hr_HR.UTF-8 UTF-8 -#hr_HR ISO-8859-2 -#hsb_DE ISO-8859-2 -#hsb_DE.UTF-8 UTF-8 -#ht_HT UTF-8 -#hu_HU.UTF-8 UTF-8 -#hu_HU ISO-8859-2 -#hy_AM UTF-8 -#hy_AM.ARMSCII-8 ARMSCII-8 -#id_ID.UTF-8 UTF-8 -#id_ID ISO-8859-1 -#ig_NG UTF-8 -#ik_CA UTF-8 -#is_IS.UTF-8 UTF-8 -#is_IS ISO-8859-1 -#it_CH.UTF-8 UTF-8 -#it_CH ISO-8859-1 -#it_IT.UTF-8 UTF-8 -#it_IT ISO-8859-1 -#it_IT@euro ISO-8859-15 -#iu_CA UTF-8 -#iw_IL.UTF-8 UTF-8 -#iw_IL ISO-8859-8 -#ja_JP.EUC-JP EUC-JP -#ja_JP.UTF-8 UTF-8 -#ka_GE.UTF-8 UTF-8 -#ka_GE GEORGIAN-PS -#kk_KZ.UTF-8 UTF-8 -#kk_KZ PT154 -#kl_GL.UTF-8 UTF-8 -#kl_GL ISO-8859-1 -#km_KH UTF-8 -#kn_IN UTF-8 -#ko_KR.EUC-KR EUC-KR -#ko_KR.UTF-8 UTF-8 -#kok_IN UTF-8 -#ks_IN UTF-8 -#ks_IN@devanagari UTF-8 -#ku_TR.UTF-8 UTF-8 -#ku_TR ISO-8859-9 -#kw_GB.UTF-8 UTF-8 -#kw_GB ISO-8859-1 -#ky_KG UTF-8 -#lb_LU UTF-8 -#lg_UG.UTF-8 UTF-8 -#lg_UG ISO-8859-10 -#li_BE UTF-8 -#li_NL UTF-8 -#lij_IT UTF-8 -#lo_LA UTF-8 -#lt_LT.UTF-8 UTF-8 -#lt_LT ISO-8859-13 -#lv_LV.UTF-8 UTF-8 -#lv_LV ISO-8859-13 -#mai_IN UTF-8 -#mg_MG.UTF-8 UTF-8 -#mg_MG ISO-8859-15 -#mhr_RU UTF-8 -#mi_NZ.UTF-8 UTF-8 -#mi_NZ ISO-8859-13 -#mk_MK.UTF-8 UTF-8 -#mk_MK ISO-8859-5 -#ml_IN UTF-8 -#mn_MN UTF-8 -#mr_IN UTF-8 -#ms_MY.UTF-8 UTF-8 -#ms_MY ISO-8859-1 -#mt_MT.UTF-8 UTF-8 -#mt_MT ISO-8859-3 -#my_MM UTF-8 -#nan_TW@latin UTF-8 -#nb_NO.UTF-8 UTF-8 -#nb_NO ISO-8859-1 -#nds_DE UTF-8 -#nds_NL UTF-8 -#ne_NP UTF-8 -#nl_AW UTF-8 -#nl_BE.UTF-8 UTF-8 -#nl_BE ISO-8859-1 -#nl_BE@euro ISO-8859-15 -#nl_NL.UTF-8 UTF-8 -#nl_NL ISO-8859-1 -#nl_NL@euro ISO-8859-15 -#nn_NO.UTF-8 UTF-8 -#nn_NO ISO-8859-1 -#nr_ZA UTF-8 -#nso_ZA UTF-8 -#oc_FR.UTF-8 UTF-8 -#oc_FR ISO-8859-1 -#om_ET UTF-8 -#om_KE.UTF-8 UTF-8 -#om_KE ISO-8859-1 -#or_IN UTF-8 -#os_RU UTF-8 -#pa_IN UTF-8 -#pa_PK UTF-8 -#pap_AN UTF-8 -#pl_PL.UTF-8 UTF-8 -#pl_PL ISO-8859-2 -#ps_AF UTF-8 -#pt_BR.UTF-8 UTF-8 -#pt_BR ISO-8859-1 -#pt_PT.UTF-8 UTF-8 -#pt_PT ISO-8859-1 -#pt_PT@euro ISO-8859-15 -#ro_RO.UTF-8 UTF-8 -#ro_RO ISO-8859-2 -#ru_RU.KOI8-R KOI8-R -#ru_RU.UTF-8 UTF-8 -#ru_RU ISO-8859-5 -#ru_UA.UTF-8 UTF-8 -#ru_UA KOI8-U -#rw_RW UTF-8 -#sa_IN UTF-8 -#sc_IT UTF-8 -#sd_IN UTF-8 -#sd_IN@devanagari UTF-8 -#se_NO UTF-8 -#shs_CA UTF-8 -#si_LK UTF-8 -#sid_ET UTF-8 -#sk_SK.UTF-8 UTF-8 -#sk_SK ISO-8859-2 -#sl_SI.UTF-8 UTF-8 -#sl_SI ISO-8859-2 -#so_DJ.UTF-8 UTF-8 -#so_DJ ISO-8859-1 -#so_ET UTF-8 -#so_KE.UTF-8 UTF-8 -#so_KE ISO-8859-1 -#so_SO.UTF-8 UTF-8 -#so_SO ISO-8859-1 -#sq_AL.UTF-8 UTF-8 -#sq_AL ISO-8859-1 -#sq_MK UTF-8 -#sr_ME UTF-8 -#sr_RS UTF-8 -#sr_RS@latin UTF-8 -#ss_ZA UTF-8 -#st_ZA.UTF-8 UTF-8 -#st_ZA ISO-8859-1 -#sv_FI.UTF-8 UTF-8 -#sv_FI ISO-8859-1 -#sv_FI@euro ISO-8859-15 -#sv_SE.UTF-8 UTF-8 -#sv_SE ISO-8859-1 -#sw_KE UTF-8 -#sw_TZ UTF-8 -#ta_IN UTF-8 -#te_IN UTF-8 -#tg_TJ.UTF-8 UTF-8 -#tg_TJ KOI8-T -#th_TH.UTF-8 UTF-8 -#th_TH TIS-620 -#ti_ER UTF-8 -#ti_ET UTF-8 -#tig_ER UTF-8 -#tk_TM UTF-8 -#tl_PH.UTF-8 UTF-8 -#tl_PH ISO-8859-1 -#tn_ZA UTF-8 -#tr_CY.UTF-8 UTF-8 -#tr_CY ISO-8859-9 -#tr_TR.UTF-8 UTF-8 -#tr_TR ISO-8859-9 -#ts_ZA UTF-8 -#tt_RU UTF-8 -#tt_RU@iqtelif UTF-8 -#ug_CN UTF-8 -#uk_UA.UTF-8 UTF-8 -#uk_UA KOI8-U -#ur_PK UTF-8 -#uz_UZ ISO-8859-1 -#uz_UZ@cyrillic UTF-8 -#ve_ZA UTF-8 -#vi_VN.TCVN TCVN5712-1 -#vi_VN UTF-8 -#wa_BE ISO-8859-1 -#wa_BE@euro ISO-8859-15 -#wa_BE.UTF-8 UTF-8 -#wae_CH UTF-8 -#wo_SN UTF-8 -#xh_ZA.UTF-8 UTF-8 -#xh_ZA ISO-8859-1 -#yi_US.UTF-8 UTF-8 -#yi_US CP1255 -#yo_NG UTF-8 -#yue_HK UTF-8 -#zh_CN.GB18030 GB18030 -#zh_CN.GBK GBK -#zh_CN.UTF-8 UTF-8 -#zh_CN GB2312 -#zh_HK.UTF-8 UTF-8 -#zh_HK BIG5-HKSCS -#zh_SG.UTF-8 UTF-8 -#zh_SG.GBK GBK -#zh_SG GB2312 -#zh_TW.EUC-TW EUC-TW -#zh_TW.UTF-8 UTF-8 -#zh_TW BIG5 -#zu_ZA.UTF-8 UTF-8 -#zu_ZA ISO-8859-1 diff --git a/configs/releng/root-image/etc/motd b/configs/releng/root-image/etc/motd deleted file mode 100644 index 0943569..0000000 --- a/configs/releng/root-image/etc/motd +++ /dev/null @@ -1,15 +0,0 @@ -************************************************************** -* To begin installation, run /libre/setup * -* You can find documentation at * -* /usr/share/aif/docs/official_installation_guide_en * -* * -* i18n: Use the 'km' utility to change your keyboard layout * -* and console font. * -* * -* If you encounter issues and want to report them or * -* seek help, run /libre/report-issues * -* * -* If you need help please consult * -* http://wiki.parabolagnulinux.org * -* * -************************************************************** diff --git a/configs/releng/root-image/etc/rc.conf b/configs/releng/root-image/etc/rc.conf index f34f828..679b804 100644 --- a/configs/releng/root-image/etc/rc.conf +++ b/configs/releng/root-image/etc/rc.conf @@ -1,33 +1,23 @@ -# -# /etc/rc.conf - Main Configuration for Parabola GNU/Linux-libre - . /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). +# -LOCALE_DEFAULT="en_US.UTF-8" -DAEMON_LOCALE_DEFAULT="no" -CLOCK_DEFAULT="UTC" -TIMEZONE_DEFAULT="Canada/Pacific" -KEYMAP_DEFAULT="us" -CONSOLEFONT_DEFAULT= -CONSOLEMAP_DEFAULT= -USECOLOR_DEFAULT="yes" - -LOCALE="$(kernel_cmdline locale ${LOCALE_DEFAULT})" -DAEMON_LOCALE="$(kernel_cmdline daemon_locale ${DAEMON_LOCALE_DEFAULT})" -HARDWARECLOCK="$(kernel_cmdline clock ${CLOCK_DEFAULT})" -TIMEZONE="$(kernel_cmdline timezone ${TIMEZONE_DEFAULT})" -KEYMAP="$(kernel_cmdline keymap ${KEYMAP_DEFAULT})" -CONSOLEFONT="$(kernel_cmdline consolefont ${CONSOLEFONT_DEFAULT})" -CONSOLEMAP="$(kernel_cmdline consolemap ${CONSOLEMAP_DEFAULT})" -USECOLOR="$(kernel_cmdline usecolor ${USECOLOR_DEFAULT})" - -MODULES=() - -UDEV_TIMEOUT=30 -USEDMRAID="no" -USEBTRFS="no" -USELVM="no" +DAEMONS=(syslog-ng network haveged pacman-init) -HOSTNAME="libreiso" +# Storage +# +# USEDMRAID="no" +# USELVM="no" -DAEMONS=(hwclock syslog-ng) +# 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 index 7a35acb..f3e9018 100644 --- a/configs/releng/root-image/etc/rc.d/functions.d/automated_script +++ b/configs/releng/root-image/etc/rc.d/functions.d/automated_script @@ -1,18 +1,18 @@ automated_script () { script="$(kernel_cmdline script)" - if [[ -n "$script" ]]; then + if [[ -n "${script}" ]]; then stat_busy "Configuring $script" - if [[ "$script" =~ ^http:// || "$script" =~ ^ftp:// ]]; then - wget "$script" -q -O /tmp/startup_script >/dev/null + if [[ "${script}" =~ ^http:// || "${script}" =~ ^ftp:// ]]; then + wget "${script}" -q -O /tmp/startup_script >/dev/null rt=$? else - cp "$script" /tmp/startup_script + cp "${script}" /tmp/startup_script rt=$? fi - if [ $rt -eq 0 ]; then + if [ ${rt} -eq 0 ]; then chmod +x /tmp/startup_script - echo -e '\nif [ $(tty) = "/dev/tty1" ]; then\n /tmp/startup_script\nfi\n' >> /root/.bash_profile + echo -e '\nif [ $(tty) = "/dev/tty1" ]; then\n /tmp/startup_script\nfi\n' >> /root/.zprofile stat_done else stat_fail diff --git a/configs/releng/root-image/etc/rc.d/functions.d/omit_kill_nbd_client b/configs/releng/root-image/etc/rc.d/functions.d/omit_kill_nbd_client deleted file mode 100644 index b72f168..0000000 --- a/configs/releng/root-image/etc/rc.d/functions.d/omit_kill_nbd_client +++ /dev/null @@ -1,8 +0,0 @@ -if [[ -f /run/nbd_client.pid ]]; then - omit_kill_nbd_client() { - add_omit_pids $(< /run/nbd_client.pid) - } - - add_hook shutdown_prekillall omit_kill_nbd_client - add_hook single_prekillall omit_kill_nbd_client -fi diff --git a/configs/releng/root-image/etc/rc.d/functions.d/prepare_locale_gen b/configs/releng/root-image/etc/rc.d/functions.d/prepare_locale_gen deleted file mode 100644 index 47ed79d..0000000 --- a/configs/releng/root-image/etc/rc.d/functions.d/prepare_locale_gen +++ /dev/null @@ -1,11 +0,0 @@ -prepare_locale_gen () -{ - if [[ ${LOCALE} != "en_US.UTF-8" ]]; then - stat_busy "Generating locales..." - sed -i "s/#\(${LOCALE/[@.]*}\)/\1/" /etc/locale.gen - /usr/sbin/locale-gen > /dev/null - stat_done - fi -} - -add_hook sysinit_postmount prepare_locale_gen diff --git a/configs/releng/root-image/etc/rc.d/pacman-init b/configs/releng/root-image/etc/rc.d/pacman-init new file mode 100755 index 0000000..bbbd719 --- /dev/null +++ b/configs/releng/root-image/etc/rc.d/pacman-init @@ -0,0 +1,34 @@ +#!/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; } &>/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/resolv.conf b/configs/releng/root-image/etc/resolv.conf deleted file mode 100644 index cecafba..0000000 --- a/configs/releng/root-image/etc/resolv.conf +++ /dev/null @@ -1,8 +0,0 @@ -# -# /etc/resolv.conf -# - -#search <yourdomain.tld> -#nameserver <ip> - -# End of file diff --git a/configs/releng/root-image/etc/timezone b/configs/releng/root-image/etc/timezone new file mode 100644 index 0000000..e2e7775 --- /dev/null +++ b/configs/releng/root-image/etc/timezone @@ -0,0 +1 @@ +UTC diff --git a/configs/releng/root-image/etc/vconsole.conf b/configs/releng/root-image/etc/vconsole.conf new file mode 100644 index 0000000..c58bf7e --- /dev/null +++ b/configs/releng/root-image/etc/vconsole.conf @@ -0,0 +1,2 @@ +KEYMAP=us +FONT= diff --git a/configs/releng/root-image/libre/report-issues b/configs/releng/root-image/libre/report-issues deleted file mode 100755 index bf3b3a3..0000000 --- a/configs/releng/root-image/libre/report-issues +++ /dev/null @@ -1 +0,0 @@ -aif-report-issues.sh diff --git a/configs/releng/root-image/libre/setup b/configs/releng/root-image/libre/setup deleted file mode 100755 index 908d106..0000000 --- a/configs/releng/root-image/libre/setup +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -# -aif -p interactive -d -l diff --git a/configs/releng/root-image/root/install.txt b/configs/releng/root-image/root/install.txt new file mode 100644 index 0000000..3c8f171 --- /dev/null +++ b/configs/releng/root-image/root/install.txt @@ -0,0 +1,3 @@ +View this installation guide online at +https://wiki.archlinux.org/index.php/Installation_Guide + diff --git a/configs/releng/root-image/usr/bin/autologin b/configs/releng/root-image/usr/bin/autologin deleted file mode 100755 index c124f9e..0000000 --- a/configs/releng/root-image/usr/bin/autologin +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/bin/login -f root diff --git a/configs/releng/root-image/usr/bin/km b/configs/releng/root-image/usr/bin/km deleted file mode 100755 index e24d780..0000000 --- a/configs/releng/root-image/usr/bin/km +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -aif -p partial-keymap diff --git a/configs/releng/syslinux.dual/archiso.cfg b/configs/releng/syslinux.dual/archiso.cfg new file mode 100644 index 0000000..d1817af --- /dev/null +++ b/configs/releng/syslinux.dual/archiso.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/archiso_pxe_choose.cfg + +LABEL sys +CONFIG boot/syslinux/archiso_sys_choose.cfg diff --git a/configs/releng/syslinux.dual/syslinux_head.cfg b/configs/releng/syslinux.dual/archiso_head.cfg index 4953b18..278255d 100644 --- a/configs/releng/syslinux.dual/syslinux_head.cfg +++ b/configs/releng/syslinux.dual/archiso_head.cfg @@ -1,17 +1,14 @@ SERIAL 0 38400 -DEFAULT vesamenu.c32 -PROMPT 0 +UI boot/syslinux/vesamenu.c32 MENU TITLE Parabola GNU/Linux-libre -MENU BACKGROUND splash.png -TIMEOUT 3000 +MENU BACKGROUND boot/syslinux/splash.png MENU WIDTH 78 MENU MARGIN 4 MENU ROWS 7 MENU VSHIFT 10 -MENU TIMEOUTROW 13 -MENU TABMSGROW 11 -MENU CMDLINEROW 11 +MENU TABMSGROW 14 +MENU CMDLINEROW 14 MENU HELPMSGROW 16 MENU HELPMSGENDROW 29 diff --git a/configs/releng/syslinux.dual/archiso_pxe32.cfg b/configs/releng/syslinux.dual/archiso_pxe32.cfg new file mode 100644 index 0000000..4bdeefa --- /dev/null +++ b/configs/releng/syslinux.dual/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/i686/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} +IPAPPEND 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/i686/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt +IPAPPEND 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/i686/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ +IPAPPEND 3 diff --git a/configs/releng/syslinux.dual/archiso_pxe64.cfg b/configs/releng/syslinux.dual/archiso_pxe64.cfg new file mode 100644 index 0000000..1676236 --- /dev/null +++ b/configs/releng/syslinux.dual/archiso_pxe64.cfg @@ -0,0 +1,32 @@ +LABEL arch64_nbd +TEXT HELP +Boot the Arch Linux (x86_64) live medium (Using NBD). It allows you to install Arch Linux or +perform system maintenance. +ENDTEXT +MENU LABEL Boot Arch Linux (x86_64) (NBD) +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} +IPAPPEND 3 + +LABEL arch64_nfs +TEXT HELP +Boot the Arch Linux (x86_64) live medium (Using NFS). It allows you to install Arch Linux or +perform system maintenance. +ENDTEXT +MENU LABEL Boot Arch Linux (x86_64) (NFS) +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt +IPAPPEND 3 + +LABEL arch64_http +TEXT HELP +Boot the Arch Linux (x86_64) live medium (Using HTTP). It allows you to install Arch Linux or +perform system maintenance. +ENDTEXT +MENU LABEL Boot Arch Linux (x86_64) (HTTP) +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ +IPAPPEND 3 diff --git a/configs/releng/syslinux.dual/archiso_pxe_32_inc.cfg b/configs/releng/syslinux.dual/archiso_pxe_32_inc.cfg new file mode 100644 index 0000000..e4115df --- /dev/null +++ b/configs/releng/syslinux.dual/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.dual/archiso_pxe_both_inc.cfg b/configs/releng/syslinux.dual/archiso_pxe_both_inc.cfg new file mode 100644 index 0000000..324523e --- /dev/null +++ b/configs/releng/syslinux.dual/archiso_pxe_both_inc.cfg @@ -0,0 +1,4 @@ +INCLUDE boot/syslinux/archiso_head.cfg +INCLUDE boot/syslinux/archiso_pxe32.cfg +INCLUDE boot/syslinux/archiso_pxe64.cfg +INCLUDE boot/syslinux/archiso_tail.cfg diff --git a/configs/releng/syslinux.dual/archiso_pxe_choose.cfg b/configs/releng/syslinux.dual/archiso_pxe_choose.cfg new file mode 100644 index 0000000..6296065 --- /dev/null +++ b/configs/releng/syslinux.dual/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.dual/syslinux_arch32.cfg b/configs/releng/syslinux.dual/archiso_sys32.cfg index d6180f6..df79901 100644 --- a/configs/releng/syslinux.dual/syslinux_arch32.cfg +++ b/configs/releng/syslinux.dual/archiso_sys32.cfg @@ -4,8 +4,7 @@ Boot the Parabola (i686) live medium. It allows you to install a fully libre Arch Linux or perform system maintenance. ENDTEXT MENU LABEL Boot Parabola (i686) -LINUX /%INSTALL_DIR%/boot/i686/vmlinuz -INITRD /%INSTALL_DIR%/boot/i686/libreiso.img +MENU LABEL Boot Arch Linux (i686) +LINUX boot/i686/vmlinuz +INITRD boot/i686/libreiso.img APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% -# Next line should be uncommented when prepare enviroment to boot from PXE. -#IPAPPEND 3 diff --git a/configs/releng/syslinux.dual/syslinux_arch64.cfg b/configs/releng/syslinux.dual/archiso_sys64.cfg index 64f2269..409c5b2 100644 --- a/configs/releng/syslinux.dual/syslinux_arch64.cfg +++ b/configs/releng/syslinux.dual/archiso_sys64.cfg @@ -4,8 +4,6 @@ Boot the Parabola (x86_64) live medium. It allows you to install a fully libre Arch Linux or perform system maintenance. ENDTEXT MENU LABEL Boot Parabola (x86_64) -LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz -INITRD /%INSTALL_DIR%/boot/x86_64/libreiso.img +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/libreiso.img APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% -# Next line should be uncommented when prepare enviroment to boot from PXE. -#IPAPPEND 3 diff --git a/configs/releng/syslinux.dual/archiso_sys_32_inc.cfg b/configs/releng/syslinux.dual/archiso_sys_32_inc.cfg new file mode 100644 index 0000000..9e37093 --- /dev/null +++ b/configs/releng/syslinux.dual/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.dual/archiso_sys_both_inc.cfg b/configs/releng/syslinux.dual/archiso_sys_both_inc.cfg new file mode 100644 index 0000000..4ed6b39 --- /dev/null +++ b/configs/releng/syslinux.dual/archiso_sys_both_inc.cfg @@ -0,0 +1,4 @@ +INCLUDE boot/syslinux/archiso_head.cfg +INCLUDE boot/syslinux/archiso_sys32.cfg +INCLUDE boot/syslinux/archiso_sys64.cfg +INCLUDE boot/syslinux/archiso_tail.cfg diff --git a/configs/releng/syslinux.dual/archiso_sys_choose.cfg b/configs/releng/syslinux.dual/archiso_sys_choose.cfg new file mode 100644 index 0000000..24c597a --- /dev/null +++ b/configs/releng/syslinux.dual/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 diff --git a/configs/releng/syslinux.dual/syslinux_tail.cfg b/configs/releng/syslinux.dual/archiso_tail.cfg index a8441a9..a55548c 100644 --- a/configs/releng/syslinux.dual/syslinux_tail.cfg +++ b/configs/releng/syslinux.dual/archiso_tail.cfg @@ -4,26 +4,24 @@ Boot an existing operating system. Press TAB to edit the disk and partition number to boot. ENDTEXT MENU LABEL Boot existing OS -COM32 chain.c32 +COM32 boot/syslinux/chain.c32 APPEND hd0 0 # http://www.memtest.org/ LABEL memtest MENU LABEL Run Memtest86+ (RAM test) -LINUX /%INSTALL_DIR%/boot/memtest +LINUX boot/memtest # http://hdt-project.org/ LABEL hdt MENU LABEL Hardware Information (HDT) -COM32 hdt.c32 -APPEND modules_alias=hdt/modalias.gz pciids=hdt/pciids.gz +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 reboot.c32 +COM32 boot/syslinux/reboot.c32 LABEL poweroff MENU LABEL Power Off -COMBOOT poweroff.com - -ONTIMEOUT libre32 +COMBOOT boot/syslinux/poweroff.com diff --git a/configs/releng/syslinux.dual/syslinux.cfg b/configs/releng/syslinux.dual/syslinux.cfg index ac92998..3ee98de 100644 --- a/configs/releng/syslinux.dual/syslinux.cfg +++ b/configs/releng/syslinux.dual/syslinux.cfg @@ -1,12 +1,5 @@ -DEFAULT choose -PROMPT 0 +DEFAULT loadconfig -LABEL choose -KERNEL ifcpu64.c32 -APPEND have64 -- nohave64 - -LABEL have64 -CONFIG syslinux_both.cfg - -LABEL nohave64 -CONFIG syslinux_32only.cfg +LABEL loadconfig + CONFIG archiso.cfg + APPEND ../../ diff --git a/configs/releng/syslinux.dual/syslinux_32only.cfg b/configs/releng/syslinux.dual/syslinux_32only.cfg deleted file mode 100644 index c7a452d..0000000 --- a/configs/releng/syslinux.dual/syslinux_32only.cfg +++ /dev/null @@ -1,3 +0,0 @@ -INCLUDE syslinux_head.cfg -INCLUDE syslinux_arch32.cfg -INCLUDE syslinux_tail.cfg diff --git a/configs/releng/syslinux.dual/syslinux_both.cfg b/configs/releng/syslinux.dual/syslinux_both.cfg deleted file mode 100644 index 9cd1584..0000000 --- a/configs/releng/syslinux.dual/syslinux_both.cfg +++ /dev/null @@ -1,4 +0,0 @@ -INCLUDE syslinux_head.cfg -INCLUDE syslinux_arch32.cfg -INCLUDE syslinux_arch64.cfg -INCLUDE syslinux_tail.cfg diff --git a/configs/releng/syslinux/archiso.cfg b/configs/releng/syslinux/archiso.cfg new file mode 100644 index 0000000..126fc77 --- /dev/null +++ b/configs/releng/syslinux/archiso.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/archiso_pxe_inc.cfg + +LABEL sys +CONFIG boot/syslinux/archiso_sys_inc.cfg diff --git a/configs/releng/syslinux/archiso_head.cfg b/configs/releng/syslinux/archiso_head.cfg new file mode 100644 index 0000000..faa2588 --- /dev/null +++ b/configs/releng/syslinux/archiso_head.cfg @@ -0,0 +1,25 @@ +SERIAL 0 38400 +UI boot/syslinux/vesamenu.c32 +MENU TITLE Arch Linux +MENU BACKGROUND boot/syslinux/splash.png + +MENU WIDTH 78 +MENU MARGIN 4 +MENU ROWS 6 +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 30;44 #40ffffff #a0000000 std +MENU COLOR title 1;36;44 #9033ccff #a0000000 std +MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all +MENU COLOR unsel 37;44 #50ffffff #a0000000 std +MENU COLOR help 37;40 #c0ffffff #a0000000 std +MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std +MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std +MENU COLOR msg07 37;40 #90ffffff #a0000000 std +MENU COLOR tabmsg 31;40 #30ffffff #00000000 std diff --git a/configs/releng/syslinux/archiso_pxe.cfg b/configs/releng/syslinux/archiso_pxe.cfg new file mode 100644 index 0000000..8bb60ed --- /dev/null +++ b/configs/releng/syslinux/archiso_pxe.cfg @@ -0,0 +1,32 @@ +LABEL arch_nbd +TEXT HELP +Boot the Arch Linux live medium (Using NBD). It allows you to install Arch Linux or +perform system maintenance. +ENDTEXT +MENU LABEL Boot Arch Linux (NBD) +LINUX boot/%ARCH%/vmlinuz +INITRD boot/%ARCH%/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} +IPAPPEND 3 + +LABEL arch_nfs +TEXT HELP +Boot the Arch Linux live medium (Using NFS). It allows you to install Arch Linux or +perform system maintenance. +ENDTEXT +MENU LABEL Boot Arch Linux (NFS) +LINUX boot/%ARCH%/vmlinuz +INITRD boot/%ARCH%/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt +IPAPPEND 3 + +LABEL arch_http +TEXT HELP +Boot the Arch Linux live medium (Using HTTP). It allows you to install Arch Linux or +perform system maintenance. +ENDTEXT +MENU LABEL Boot Arch Linux (HTTP) +LINUX boot/%ARCH%/vmlinuz +INITRD boot/%ARCH%/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ +IPAPPEND 3 diff --git a/configs/releng/syslinux/archiso_pxe_inc.cfg b/configs/releng/syslinux/archiso_pxe_inc.cfg new file mode 100644 index 0000000..b2b6887 --- /dev/null +++ b/configs/releng/syslinux/archiso_pxe_inc.cfg @@ -0,0 +1,3 @@ +INCLUDE boot/syslinux/archiso_head.cfg +INCLUDE boot/syslinux/archiso_pxe.cfg +INCLUDE boot/syslinux/archiso_tail.cfg diff --git a/configs/releng/syslinux/archiso_sys.cfg b/configs/releng/syslinux/archiso_sys.cfg new file mode 100644 index 0000000..35303db --- /dev/null +++ b/configs/releng/syslinux/archiso_sys.cfg @@ -0,0 +1,9 @@ +LABEL arch +TEXT HELP +Boot the Arch Linux live medium. It allows you to install Arch Linux or +perform system maintenance. +ENDTEXT +MENU LABEL Boot Arch Linux +LINUX boot/%ARCH%/vmlinuz +INITRD boot/%ARCH%/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% diff --git a/configs/releng/syslinux/archiso_sys_inc.cfg b/configs/releng/syslinux/archiso_sys_inc.cfg new file mode 100644 index 0000000..56c6a17 --- /dev/null +++ b/configs/releng/syslinux/archiso_sys_inc.cfg @@ -0,0 +1,3 @@ +INCLUDE boot/syslinux/archiso_head.cfg +INCLUDE boot/syslinux/archiso_sys.cfg +INCLUDE boot/syslinux/archiso_tail.cfg diff --git a/configs/releng/syslinux/archiso_tail.cfg b/configs/releng/syslinux/archiso_tail.cfg new file mode 100644 index 0000000..a55548c --- /dev/null +++ b/configs/releng/syslinux/archiso_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 +COMBOOT boot/syslinux/poweroff.com diff --git a/configs/releng/syslinux/syslinux.cfg b/configs/releng/syslinux/syslinux.cfg index 14f48e6..3ee98de 100644 --- a/configs/releng/syslinux/syslinux.cfg +++ b/configs/releng/syslinux/syslinux.cfg @@ -1,70 +1,5 @@ -SERIAL 0 38400 -DEFAULT vesamenu.c32 -PROMPT 0 -MENU TITLE Parabola GNU/Linux-libre -MENU BACKGROUND splash.png -TIMEOUT 3000 +DEFAULT loadconfig -MENU WIDTH 78 -MENU MARGIN 4 -MENU ROWS 6 -MENU VSHIFT 10 -MENU TIMEOUTROW 13 -MENU TABMSGROW 11 -MENU CMDLINEROW 11 -MENU HELPMSGROW 16 -MENU HELPMSGENDROW 29 - -# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu - -MENU COLOR border 30;44 #40ffffff #a0000000 std -MENU COLOR title 1;36;44 #9033ccff #a0000000 std -MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all -MENU COLOR unsel 37;44 #50ffffff #a0000000 std -MENU COLOR help 37;40 #c0ffffff #a0000000 std -MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std -MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std -MENU COLOR msg07 37;40 #90ffffff #a0000000 std -MENU COLOR tabmsg 31;40 #30ffffff #00000000 std - -LABEL libre -TEXT HELP -Boot the Parabola live medium. It allows you to install a fully libre -Arch Linux or perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre -LINUX /%INSTALL_DIR%/boot/%ARCH%/vmlinuz -INITRD /%INSTALL_DIR%/boot/%ARCH%/libreiso.img -APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% -# Next line should be uncommented when prepare enviroment to boot from PXE. -#IPAPPEND 3 - -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 chain.c32 -APPEND hd0 0 - -# http://www.memtest.org/ -LABEL memtest -MENU LABEL Run Memtest86+ (RAM test) -LINUX /%INSTALL_DIR%/boot/memtest - -# http://hdt-project.org/ -LABEL hdt -MENU LABEL Hardware Information (HDT) -COM32 hdt.c32 -APPEND modules_alias=hdt/modalias.gz pciids=hdt/pciids.gz - -LABEL reboot -MENU LABEL Reboot -COM32 reboot.c32 - -LABEL poweroff -MENU LABEL Power Off -COMBOOT poweroff.com - -ONTIMEOUT libre +LABEL loadconfig + CONFIG archiso.cfg + APPEND ../../ |