diff options
author | Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> | 2011-06-18 18:38:58 -0300 |
---|---|---|
committer | Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> | 2011-06-18 18:38:27 -0300 |
commit | 85d243ff5836fc17416c65dca8a9e8b4e9d915bc (patch) | |
tree | 78b3ec86fea064580c43966da866d46e31ab7007 /configs | |
parent | 4a1bd4c7697bdc7aa89eca04009d868e4dd39cb4 (diff) | |
download | archiso32-85d243ff5836fc17416c65dca8a9e8b4e9d915bc.tar.xz |
[archiso] Use dm-snapshot instead of aufs2 (A.K.A. "The Big Commit")
* Use device mapper + snapshot module, instead union layer filesystem.
* A block-level approach vs vfs-level.
* No more unofficial (Linux) things.
* More memory is needed.
* Refactor mkarchiso.
* Refactor hooks/archiso.
* Fix install/archiso_pxe_nbd
(due recent change in mkinitcpio-0.6.15 on checked_modules()/all_modules())
[Thanks Dave for the improved workaround]
* New configs/releng to build official images.
* Works with a Bash script instead of Makefile.
(better control and easy to maintain)
* Remove configs/syslinux-iso.
* Remove archiso2dual script. Integrate functionality in configs/releng.
* New configs/baseline to build the most basic live medium or use as template.
* New README (draft). [Thanks Dieter for fixing english grammar]
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
Diffstat (limited to 'configs')
-rw-r--r-- | configs/baseline/aitab | 2 | ||||
-rwxr-xr-x | configs/baseline/build.sh | 97 | ||||
-rw-r--r-- | configs/baseline/isolinux/isolinux.cfg | 5 | ||||
-rw-r--r-- | configs/baseline/mkinitcpio.conf | 2 | ||||
-rw-r--r-- | configs/baseline/root-image/etc/fstab | 2 | ||||
-rw-r--r-- | configs/baseline/syslinux/syslinux.cfg | 12 | ||||
-rw-r--r-- | configs/releng/aitab.core | 6 | ||||
-rw-r--r-- | configs/releng/aitab.netinstall | 4 | ||||
-rwxr-xr-x | configs/releng/build.sh | 284 | ||||
-rw-r--r-- | configs/releng/core.exclude.i686 | 4 | ||||
-rw-r--r-- | configs/releng/core.exclude.x86_64 | 4 | ||||
-rw-r--r-- | configs/releng/isolinux/isolinux.cfg | 5 | ||||
-rw-r--r-- | configs/releng/mkinitcpio.conf (renamed from configs/syslinux-iso/mkinitcpio.conf) | 4 | ||||
-rw-r--r-- | configs/releng/packages.i686 (renamed from configs/syslinux-iso/packages.i686) | 10 | ||||
-rw-r--r-- | configs/releng/packages.x86_64 (renamed from configs/syslinux-iso/packages.x86_64) | 10 | ||||
-rwxr-xr-x | configs/releng/root-image/arch/report-issues (renamed from configs/syslinux-iso/overlay/arch/report-issues) | 0 | ||||
-rwxr-xr-x | configs/releng/root-image/arch/setup (renamed from configs/syslinux-iso/overlay/arch/setup) | 0 | ||||
-rw-r--r-- | configs/releng/root-image/etc/arch-release (renamed from configs/syslinux-iso/overlay/etc/arch-release) | 0 | ||||
-rw-r--r-- | configs/releng/root-image/etc/archiso/functions (renamed from configs/syslinux-iso/overlay/etc/archiso/functions) | 0 | ||||
-rw-r--r-- | configs/releng/root-image/etc/fstab (renamed from configs/syslinux-iso/overlay/etc/fstab) | 2 | ||||
-rw-r--r-- | configs/releng/root-image/etc/hosts (renamed from configs/syslinux-iso/overlay/etc/hosts) | 1 | ||||
-rw-r--r-- | configs/releng/root-image/etc/inittab (renamed from configs/syslinux-iso/overlay/etc/inittab) | 16 | ||||
-rw-r--r-- | configs/releng/root-image/etc/issue (renamed from configs/syslinux-iso/overlay/etc/issue) | 0 | ||||
-rw-r--r-- | configs/releng/root-image/etc/motd (renamed from configs/syslinux-iso/overlay/etc/motd) | 0 | ||||
-rw-r--r-- | configs/releng/root-image/etc/pam.d/su (renamed from configs/syslinux-iso/overlay/etc/pam.d/su) | 0 | ||||
-rw-r--r-- | configs/releng/root-image/etc/rc.conf (renamed from configs/syslinux-iso/overlay/etc/rc.conf) | 3 | ||||
-rwxr-xr-x | configs/releng/root-image/etc/rc.d/archiso (renamed from configs/syslinux-iso/overlay/etc/rc.d/archiso) | 9 | ||||
-rw-r--r-- | configs/releng/root-image/etc/rc.d/functions.d/automated_script (renamed from configs/syslinux-iso/overlay/etc/rc.d/functions.d/automated_script) | 0 | ||||
-rw-r--r-- | configs/releng/root-image/etc/sudoers.d/g_wheel (renamed from configs/syslinux-iso/overlay/etc/sudoers) | 1 | ||||
-rwxr-xr-x | configs/releng/root-image/usr/bin/autologin (renamed from configs/syslinux-iso/overlay/usr/bin/autologin) | 0 | ||||
-rwxr-xr-x | configs/releng/root-image/usr/bin/km (renamed from configs/syslinux-iso/overlay/usr/bin/km) | 0 | ||||
-rw-r--r-- | configs/releng/syslinux.dual/syslinux.cfg | 12 | ||||
-rw-r--r-- | configs/releng/syslinux.dual/syslinux_32only.cfg | 3 | ||||
-rw-r--r-- | configs/releng/syslinux.dual/syslinux_arch32.cfg | 11 | ||||
-rw-r--r-- | configs/releng/syslinux.dual/syslinux_arch64.cfg | 11 | ||||
-rw-r--r-- | configs/releng/syslinux.dual/syslinux_both.cfg | 4 | ||||
-rw-r--r-- | configs/releng/syslinux.dual/syslinux_head.cfg | 27 | ||||
-rw-r--r-- | configs/releng/syslinux.dual/syslinux_tail.cfg | 29 | ||||
-rw-r--r-- | configs/releng/syslinux/splash.png (renamed from configs/syslinux-iso/boot-files/splash.png) | bin | 45400 -> 45400 bytes | |||
-rw-r--r-- | configs/releng/syslinux/syslinux.cfg (renamed from configs/syslinux-iso/boot-files/syslinux/syslinux.cfg) | 7 | ||||
-rw-r--r-- | configs/syslinux-iso/Makefile | 94 | ||||
-rw-r--r-- | configs/syslinux-iso/boot-files/releasenotes.txt | 3 | ||||
-rwxr-xr-x | configs/syslinux-iso/download-repo.sh | 66 | ||||
-rw-r--r-- | configs/syslinux-iso/instructions | 36 | ||||
-rw-r--r-- | configs/syslinux-iso/isomounts | 12 | ||||
-rw-r--r-- | configs/syslinux-iso/overlay/etc/pacman.conf | 80 |
46 files changed, 541 insertions, 337 deletions
diff --git a/configs/baseline/aitab b/configs/baseline/aitab new file mode 100644 index 0000000..fbd4d00 --- /dev/null +++ b/configs/baseline/aitab @@ -0,0 +1,2 @@ +# <img> <mnt> <arch> <sfs_comp> <fs_type> <fs_size> +root-image / %ARCH% xz ext4 50% diff --git a/configs/baseline/build.sh b/configs/baseline/build.sh new file mode 100755 index 0000000..3c896e8 --- /dev/null +++ b/configs/baseline/build.sh @@ -0,0 +1,97 @@ +#!/bin/bash + +set -e -u + +name=archlinux +iso_label="ARCH_$(date +%Y%m)" +version=$(date +%Y.%m.%d) +install_dir=arch +arch=$(uname -m) +work_dir=work +verbose="n" + +# This function can be called after make_basefs() +get_linux_ver() { + local ALL_kver + eval $(grep ^ALL_kver ${work_dir}/root-image/etc/mkinitcpio.d/kernel26.kver) + echo ${ALL_kver} +} + +# Base installation (root-image) +make_basefs() { + mkarchiso ${verbose} -D "${install_dir}" -p "base" create "${work_dir}" + mkarchiso ${verbose} -D "${install_dir}" -p "syslinux" create "${work_dir}" +} + +# Customize installation (root-image) +make_customize_root_image() { + if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then + cp -af root-image ${work_dir} + : > ${work_dir}/build.${FUNCNAME} + fi +} + +# Prepare ${install_dir}/boot/ +make_boot() { + if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then + mkdir -p ${work_dir}/iso/${install_dir}/boot/${arch} + cp ${work_dir}/root-image/boot/vmlinuz26 ${work_dir}/iso/${install_dir}/boot/${arch} + mkinitcpio -c ./mkinitcpio.conf -b ${work_dir}/root-image -k $(get_linux_ver) -g ${work_dir}/iso/${install_dir}/boot/${arch}/archiso.img + : > ${work_dir}/build.${FUNCNAME} + fi +} + +# Prepare /${install_dir}/boot/syslinux +make_syslinux() { + if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then + mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux + sed "s|%ARCHISO_LABEL%|${iso_label}|g; + s|%INSTALL_DIR%|${install_dir}|g; + s|%ARCH%|${arch}|g" syslinux/syslinux.cfg > ${work_dir}/iso/${install_dir}/boot/syslinux/syslinux.cfg + cp ${work_dir}/root-image/usr/lib/syslinux/menu.c32 ${work_dir}/iso/${install_dir}/boot/syslinux/ + : > ${work_dir}/build.${FUNCNAME} + fi +} + +# Prepare /isolinux +make_isolinux() { + if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then + mkdir -p ${work_dir}/iso/isolinux + sed "s|%INSTALL_DIR%|${install_dir}|g" isolinux/isolinux.cfg > ${work_dir}/iso/isolinux/isolinux.cfg + cp ${work_dir}/root-image/usr/lib/syslinux/isolinux.bin ${work_dir}/iso/isolinux/ + : > ${work_dir}/build.${FUNCNAME} + fi +} + +# Process aitab +make_aitab() { + if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then + sed "s|%ARCH%|${arch}|g" 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}" +} + +# Build ISO +make_iso() { + mkarchiso ${verbose} -D "${install_dir}" -L "${iso_label}" iso "${work_dir}" "${name}-${version}-${arch}.iso" +} + +if [[ $verbose == "y" ]]; then + verbose="-v" +else + verbose="" +fi + +make_basefs +make_customize_root_image +make_boot +make_syslinux +make_isolinux +make_aitab +make_prepare +make_iso diff --git a/configs/baseline/isolinux/isolinux.cfg b/configs/baseline/isolinux/isolinux.cfg new file mode 100644 index 0000000..e7bbaa4 --- /dev/null +++ b/configs/baseline/isolinux/isolinux.cfg @@ -0,0 +1,5 @@ +DEFAULT loadconfig + +LABEL loadconfig + CONFIG /%INSTALL_DIR%/boot/syslinux/syslinux.cfg + APPEND /%INSTALL_DIR%/boot/syslinux/ diff --git a/configs/baseline/mkinitcpio.conf b/configs/baseline/mkinitcpio.conf new file mode 100644 index 0000000..389ec51 --- /dev/null +++ b/configs/baseline/mkinitcpio.conf @@ -0,0 +1,2 @@ +HOOKS="base udev archiso sata filesystems" +COMPRESSION="xz" diff --git a/configs/baseline/root-image/etc/fstab b/configs/baseline/root-image/etc/fstab new file mode 100644 index 0000000..4b82b80 --- /dev/null +++ b/configs/baseline/root-image/etc/fstab @@ -0,0 +1,2 @@ +# <file system> <dir> <type> <options> <dump> <pass> +/dev/mapper/root-image / auto defaults 0 0 diff --git a/configs/baseline/syslinux/syslinux.cfg b/configs/baseline/syslinux/syslinux.cfg new file mode 100644 index 0000000..f755453 --- /dev/null +++ b/configs/baseline/syslinux/syslinux.cfg @@ -0,0 +1,12 @@ +DEFAULT menu.c32 +PROMPT 0 +MENU TITLE Arch Linux +TIMEOUT 300 + +LABEL arch +MENU LABEL Arch Linux +LINUX /%INSTALL_DIR%/boot/%ARCH%/vmlinuz26 +INITRD /%INSTALL_DIR%/boot/%ARCH%/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% + +ONTIMEOUT arch diff --git a/configs/releng/aitab.core b/configs/releng/aitab.core new file mode 100644 index 0000000..e538000 --- /dev/null +++ b/configs/releng/aitab.core @@ -0,0 +1,6 @@ +# <img> <mnt> <arch> <sfs_comp> <fs_type> <fs_size> +root-image / %ARCH% xz ext4 50% +lib-modules /lib/modules %ARCH% xz ext4 10% +usr-share /usr/share any xz ext4 50% +core-pkgs /repo/pkg %ARCH% xz none 0 +core-any-pkgs /repo/any any xz none 0 diff --git a/configs/releng/aitab.netinstall b/configs/releng/aitab.netinstall new file mode 100644 index 0000000..26733d2 --- /dev/null +++ b/configs/releng/aitab.netinstall @@ -0,0 +1,4 @@ +# <img> <mnt> <arch> <sfs_comp> <fs_type> <fs_size> +root-image / %ARCH% xz ext4 50% +lib-modules /lib/modules %ARCH% xz ext4 10% +usr-share /usr/share any xz ext4 50% diff --git a/configs/releng/build.sh b/configs/releng/build.sh new file mode 100755 index 0000000..1aa80fd --- /dev/null +++ b/configs/releng/build.sh @@ -0,0 +1,284 @@ +#!/bin/bash + +set -e -u + +name=archlinux +iso_label="ARCH_$(date +%Y%m)" +version=$(date +%Y.%m.%d) +install_dir=arch +arch=$(uname -m) +work_dir=work +verbose="n" + +# This function can be called after make_basefs() +get_linux_ver() { + local ALL_kver + eval $(grep ^ALL_kver ${work_dir}/root-image/etc/mkinitcpio.d/kernel26.kver) + echo ${ALL_kver} +} + +# Base installation (root-image) +make_basefs() { + mkarchiso ${verbose} -D "${install_dir}" -p "base" create "${work_dir}" + mkarchiso ${verbose} -D "${install_dir}" -p "memtest86+ syslinux" create "${work_dir}" +} + +# Additional packages (root-image) +make_packages() { + mkarchiso ${verbose} -D "${install_dir}" -p "$(grep -v ^# packages.${arch})" create "${work_dir}" +} + +# Customize installation (root-image) +make_customize_root_image() { + if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then + cp -af root-image ${work_dir} + chmod 750 ${work_dir}/root-image/etc/sudoers.d + chmod 440 ${work_dir}/root-image/etc/sudoers.d/g_wheel + if [[ ! -L ${work_dir}/root-image/etc/mtab ]]; then + rm -f ${work_dir}/root-image/etc/mtab + fi + mkdir -p ${work_dir}/root-image/etc/pacman.d + wget -O ${work_dir}/root-image/etc/pacman.d/mirrorlist http://www.archlinux.org/mirrorlist/all/ + sed -i "s/#Server/Server/g" ${work_dir}/root-image/etc/pacman.d/mirrorlist + : > ${work_dir}/build.${FUNCNAME} + fi +} + +# Prepare ${install_dir}/boot/ +make_boot() { + if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then + local _src=${work_dir}/root-image + local _dst_boot=${work_dir}/iso/${install_dir}/boot + mkdir -p ${_dst_boot}/${arch} + cp ${_src}/boot/vmlinuz26 ${_dst_boot}/${arch} + mkinitcpio -c ./mkinitcpio.conf -b ${_src} -k $(get_linux_ver) -g ${_dst_boot}/${arch}/archiso.img + cp ${_src}/boot/memtest86+/memtest.bin ${_dst_boot}/memtest + cp ${_src}/usr/share/licenses/common/GPL2/license.txt ${_dst_boot}/memtest.COPYING + : > ${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" syslinux/syslinux.cfg > ${_dst_syslinux}/syslinux.cfg + cp 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/$(get_linux_ver)/modules.alias | gzip -9 > ${_dst_syslinux}/hdt/modalias.gz + : > ${work_dir}/build.${FUNCNAME} + fi +} + +# Prepare /isolinux +make_isolinux() { + if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then + mkdir -p ${work_dir}/iso/isolinux + sed "s|%INSTALL_DIR%|${install_dir}|g" isolinux/isolinux.cfg > ${work_dir}/iso/isolinux/isolinux.cfg + cp ${work_dir}/root-image/usr/lib/syslinux/isolinux.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() { + if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then + mv ${work_dir}/root-image/lib/modules ${work_dir}/lib-modules + : > ${work_dir}/build.${FUNCNAME} + fi +} + +# Split out /usr/share from root-image (makes more "dual-iso" friendly) +make_usr_share() { + if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then + mv ${work_dir}/root-image/usr/share ${work_dir}/usr-share + : > ${work_dir}/build.${FUNCNAME} + fi +} + +# Make [core] repository, keep "any" pkgs in a separate fs (makes more "dual-iso" friendly) +make_core_repo() { + if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then + local _url _urls _pkg_name _cached_pkg _dst + mkdir -p ${work_dir}/core-any-pkgs + mkdir -p ${work_dir}/core-pkgs + pacman -Sy + _urls=$(pacman -Sddp $(comm -2 -3 <(pacman -Sql core | sort ) <(grep -v ^# core.exclude.${arch} | sort))) + for _url in ${_urls}; do + _pkg_name=${_url##*/} + _cached_pkg=/var/cache/pacman/pkg/${_pkg_name} + _dst=${work_dir}/core-pkgs/${_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}/core-pkgs/core.db.tar.gz ${work_dir}/core-pkgs/${_pkg_name} + if [[ ${_pkg_name} =~ any.pkg ]]; then + mv "${_dst}" ${work_dir}/core-any-pkgs/${_pkg_name} + ln -sf ../any/${_pkg_name} ${work_dir}/core-pkgs/${_pkg_name} + fi + done + : > ${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" aitab.${_iso_type} > ${work_dir}/iso/${install_dir}/aitab + : > ${work_dir}/build.${FUNCNAME}_${_iso_type} + fi +} + +# Build all filesystem images specified in aitab (.fs .fs.sfs .sfs) +make_prepare() { + mkarchiso ${verbose} -D "${install_dir}" prepare "${work_dir}" +} + +# Build ISO +# args: $1 (core | netinstall) +make_iso() { + local _iso_type=${1} + mkarchiso ${verbose} -D "${install_dir}" -L "${iso_label}" iso "${work_dir}" "${name}-${version}-${_iso_type}-${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 [[ ! -d ${work_dir}/i686/iso || ! -d ${work_dir}/x86_64/iso ]]; then + echo "ERROR: i686 or x86_64 builds does not exist." + _usage 1 + fi + local _src_one _src_two _cfg + if [[ ${arch} == "i686" ]]; then + _src_one=${work_dir}/i686/iso + _src_two=${work_dir}/x86_64/iso + else + _src_one=${work_dir}/x86_64/iso + _src_two=${work_dir}/i686/iso + fi + mkdir -p ${work_dir}/dual/iso + 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/core-any-pkgs.sfs || + ! -e ${work_dir}/dual/iso/${install_dir}/i686/core-pkgs.sfs || + ! -e ${work_dir}/dual/iso/${install_dir}/x86_64/core-pkgs.sfs ]]; then + echo "ERROR: core_iso_single build is not found." + _usage 1 + fi + else + rm -f ${work_dir}/dual/iso/${install_dir}/any/core-any-pkgs.sfs + rm -f ${work_dir}/dual/iso/${install_dir}/i686/core-pkgs.sfs + rm -f ${work_dir}/dual/iso/${install_dir}/x86_64/core-pkgs.sfs + fi + paste -d"\n" <(sed "s|%ARCH%|i686|g" aitab.${_iso_type}) \ + <(sed "s|%ARCH%|x86_64|g" aitab.${_iso_type}) | uniq > ${work_dir}/dual/iso/${install_dir}/aitab + for _cfg in 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}" -L "${iso_label}" iso "${work_dir}/dual" "${name}-${version}-${_iso_type}-dual.iso" + : > ${work_dir}/dual/build.${FUNCNAME}_${_iso_type} + fi +} + + + +_usage () +{ + echo "usage ${0##*/} net_iso_single | core_iso_single | all_iso_single | clean_single" + echo " net_iso_dual | core_iso_dual | all_iso_dual | clean_dual" + echo + exit ${1} +} + +if [[ ${EUID} -ne 0 ]]; then + echo "This script must be run as root." + _usage 1 +fi + +if [[ $# -lt 1 ]]; then + echo "No command specified" + _usage 1 +fi +command_name="${1}" + +if [[ ${verbose} == "y" ]]; then + verbose="-v" +else + verbose="" +fi + +if [[ ${command_name} =~ single ]]; then + work_dir=${work_dir}/${arch} +fi + +make_common_single() { + make_basefs + make_packages + make_customize_root_image + make_boot + make_syslinux + make_isolinux + make_lib_modules + make_usr_share + make_aitab $1 + make_prepare $1 + make_iso $1 +} + +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 + ;; + clean_single) + rm -rf ${work_dir} + rm -f ${name}-${version}-*-${arch}.iso + ;; + clean_dual) + rm -rf ${work_dir}/dual + rm -f ${name}-${version}-*-dual.iso + ;; + *) + echo "Invalid command name '${command_name}'" + _usage 1 + ;; +esac diff --git a/configs/releng/core.exclude.i686 b/configs/releng/core.exclude.i686 new file mode 100644 index 0000000..a04ceef --- /dev/null +++ b/configs/releng/core.exclude.i686 @@ -0,0 +1,4 @@ +gcc-ada +gcc-fortran +gcc-go +gcc-objc diff --git a/configs/releng/core.exclude.x86_64 b/configs/releng/core.exclude.x86_64 new file mode 100644 index 0000000..a04ceef --- /dev/null +++ b/configs/releng/core.exclude.x86_64 @@ -0,0 +1,4 @@ +gcc-ada +gcc-fortran +gcc-go +gcc-objc diff --git a/configs/releng/isolinux/isolinux.cfg b/configs/releng/isolinux/isolinux.cfg new file mode 100644 index 0000000..e7bbaa4 --- /dev/null +++ b/configs/releng/isolinux/isolinux.cfg @@ -0,0 +1,5 @@ +DEFAULT loadconfig + +LABEL loadconfig + CONFIG /%INSTALL_DIR%/boot/syslinux/syslinux.cfg + APPEND /%INSTALL_DIR%/boot/syslinux/ diff --git a/configs/syslinux-iso/mkinitcpio.conf b/configs/releng/mkinitcpio.conf index aea436d..df833eb 100644 --- a/configs/syslinux-iso/mkinitcpio.conf +++ b/configs/releng/mkinitcpio.conf @@ -1,6 +1,2 @@ -# vim:set ft=sh -MODULES="" -BINARIES="" -FILES="" HOOKS="base udev memdisk archiso archiso_pxe_nbd archiso_loop_mnt pata scsi sata usb fw pcmcia filesystems usbinput" COMPRESSION="xz" diff --git a/configs/syslinux-iso/packages.i686 b/configs/releng/packages.i686 index 51085a1..11d68e5 100644 --- a/configs/syslinux-iso/packages.i686 +++ b/configs/releng/packages.i686 @@ -1,6 +1,4 @@ aif -aufs2 -aufs2-util b43-fwcutter btrfs-progs-unstable crda @@ -19,9 +17,7 @@ ipw2100-fw ipw2200-fw lftp lilo -memtest86+ -ndiswrapper -ndiswrapper-utils +nbd netcfg nfs-utils nilfs-utils @@ -35,12 +31,8 @@ parted pptpclient rsync speedtouch -squashfs-tools -syslinux tcpdump -tiacx tiacx-firmware wireless_tools wpa_actiond -wpa_supplicant zd1211-firmware diff --git a/configs/syslinux-iso/packages.x86_64 b/configs/releng/packages.x86_64 index 51085a1..11d68e5 100644 --- a/configs/syslinux-iso/packages.x86_64 +++ b/configs/releng/packages.x86_64 @@ -1,6 +1,4 @@ aif -aufs2 -aufs2-util b43-fwcutter btrfs-progs-unstable crda @@ -19,9 +17,7 @@ ipw2100-fw ipw2200-fw lftp lilo -memtest86+ -ndiswrapper -ndiswrapper-utils +nbd netcfg nfs-utils nilfs-utils @@ -35,12 +31,8 @@ parted pptpclient rsync speedtouch -squashfs-tools -syslinux tcpdump -tiacx tiacx-firmware wireless_tools wpa_actiond -wpa_supplicant zd1211-firmware diff --git a/configs/syslinux-iso/overlay/arch/report-issues b/configs/releng/root-image/arch/report-issues index bf3b3a3..bf3b3a3 100755 --- a/configs/syslinux-iso/overlay/arch/report-issues +++ b/configs/releng/root-image/arch/report-issues diff --git a/configs/syslinux-iso/overlay/arch/setup b/configs/releng/root-image/arch/setup index 908d106..908d106 100755 --- a/configs/syslinux-iso/overlay/arch/setup +++ b/configs/releng/root-image/arch/setup diff --git a/configs/syslinux-iso/overlay/etc/arch-release b/configs/releng/root-image/etc/arch-release index 153f8b2..153f8b2 100644 --- a/configs/syslinux-iso/overlay/etc/arch-release +++ b/configs/releng/root-image/etc/arch-release diff --git a/configs/syslinux-iso/overlay/etc/archiso/functions b/configs/releng/root-image/etc/archiso/functions index 9fffdcb..9fffdcb 100644 --- a/configs/syslinux-iso/overlay/etc/archiso/functions +++ b/configs/releng/root-image/etc/archiso/functions diff --git a/configs/syslinux-iso/overlay/etc/fstab b/configs/releng/root-image/etc/fstab index 2b5f519..0df0cba 100644 --- a/configs/syslinux-iso/overlay/etc/fstab +++ b/configs/releng/root-image/etc/fstab @@ -2,4 +2,4 @@ # /etc/fstab: static file system information # # <file system> <dir> <type> <options> <dump> <pass> -union / auto noauto 0 0 +/dev/mapper/root-image / auto defaults 0 0 diff --git a/configs/syslinux-iso/overlay/etc/hosts b/configs/releng/root-image/etc/hosts index b6f25e3..e474be0 100644 --- a/configs/syslinux-iso/overlay/etc/hosts +++ b/configs/releng/root-image/etc/hosts @@ -4,5 +4,6 @@ #<ip-address> <hostname.domain.org> <hostname> 127.0.0.1 localhost.localdomain localhost archiso +::1 localhost.localdomain localhost archiso # End of file diff --git a/configs/syslinux-iso/overlay/etc/inittab b/configs/releng/root-image/etc/inittab index 47ea845..2bbc494 100644 --- a/configs/syslinux-iso/overlay/etc/inittab +++ b/configs/releng/root-image/etc/inittab @@ -24,18 +24,18 @@ rh:06:wait:/etc/rc.shutdown su:S:wait:/sbin/sulogin -p # -8 options fixes umlauts problem on login -c1:2345:respawn:/sbin/agetty -n -l /usr/bin/autologin -8 38400 tty1 linux -c2:2345:respawn:/sbin/agetty -8 38400 tty2 linux -c3:2345:respawn:/sbin/agetty -8 38400 tty3 linux -c4:2345:respawn:/sbin/agetty -8 38400 tty4 linux -c5:2345:respawn:/sbin/agetty -8 38400 tty5 linux -c6:2345:respawn:/sbin/agetty -8 38400 tty6 linux +c1:2345:respawn:/sbin/agetty -8 -s -n -l /usr/bin/autologin 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 +c5:2345:respawn:/sbin/agetty -8 -s 38400 tty5 linux +c6:2345:respawn:/sbin/agetty -8 -s 38400 tty6 linux # Serial Virtual Console for KVM and others VMs -#s0:2345:respawn:/sbin/agetty -8 9600 ttyS0 linux +#s0:2345:respawn:/sbin/agetty -8 -s 9600 ttyS0 linux # Hypervisor Virtual Console for Xen and KVM -#h0:2345:respawn:/sbin/agetty -8 38400 hvc0 linux +#h0:2345:respawn:/sbin/agetty -8 -s 38400 hvc0 linux ca::ctrlaltdel:/sbin/shutdown -t3 -r now diff --git a/configs/syslinux-iso/overlay/etc/issue b/configs/releng/root-image/etc/issue index ce82e88..ce82e88 100644 --- a/configs/syslinux-iso/overlay/etc/issue +++ b/configs/releng/root-image/etc/issue diff --git a/configs/syslinux-iso/overlay/etc/motd b/configs/releng/root-image/etc/motd index ddd9fbc..ddd9fbc 100644 --- a/configs/syslinux-iso/overlay/etc/motd +++ b/configs/releng/root-image/etc/motd diff --git a/configs/syslinux-iso/overlay/etc/pam.d/su b/configs/releng/root-image/etc/pam.d/su index a291042..a291042 100644 --- a/configs/syslinux-iso/overlay/etc/pam.d/su +++ b/configs/releng/root-image/etc/pam.d/su diff --git a/configs/syslinux-iso/overlay/etc/rc.conf b/configs/releng/root-image/etc/rc.conf index aff67e9..92236a2 100644 --- a/configs/syslinux-iso/overlay/etc/rc.conf +++ b/configs/releng/root-image/etc/rc.conf @@ -23,7 +23,6 @@ CONSOLEMAP="$(kernel_cmdline consolemap ${CONSOLEMAP_DEFAULT})" USECOLOR="$(kernel_cmdline usecolor ${USECOLOR_DEFAULT})" VERBOSE="$(kernel_cmdline verbose ${VERBOSE_DEFAULT})" -MOD_AUTOLOAD="yes" MODULES=() UDEV_TIMEOUT=30 @@ -33,4 +32,4 @@ USELVM="no" HOSTNAME="archiso" -DAEMONS=(hwclock syslog-ng network archiso) +DAEMONS=(hwclock syslog-ng archiso) diff --git a/configs/syslinux-iso/overlay/etc/rc.d/archiso b/configs/releng/root-image/etc/rc.d/archiso index 7f9239d..1429516 100755 --- a/configs/syslinux-iso/overlay/etc/rc.d/archiso +++ b/configs/releng/root-image/etc/rc.d/archiso @@ -18,14 +18,6 @@ do_locale_gen () stat_done } -# GIT does not manage perms others thans 755 and 644, so fix here. -do_fix_perms () -{ - stat_busy "Fixing file permissions..." - chmod 440 /etc/sudoers - stat_done -} - # If an alternate console was specified on the kernel command line, # start agetty on it too. do_special_console() @@ -50,7 +42,6 @@ case "$1" in start) do_locale_gen do_makeuser - do_fix_perms do_special_console ;; esac diff --git a/configs/syslinux-iso/overlay/etc/rc.d/functions.d/automated_script b/configs/releng/root-image/etc/rc.d/functions.d/automated_script index edb8ea3..edb8ea3 100644 --- a/configs/syslinux-iso/overlay/etc/rc.d/functions.d/automated_script +++ b/configs/releng/root-image/etc/rc.d/functions.d/automated_script diff --git a/configs/syslinux-iso/overlay/etc/sudoers b/configs/releng/root-image/etc/sudoers.d/g_wheel index 67b20ba..8c45359 100644 --- a/configs/syslinux-iso/overlay/etc/sudoers +++ b/configs/releng/root-image/etc/sudoers.d/g_wheel @@ -1,2 +1 @@ -root ALL=(ALL) ALL %wheel ALL=(ALL) NOPASSWD: ALL diff --git a/configs/syslinux-iso/overlay/usr/bin/autologin b/configs/releng/root-image/usr/bin/autologin index c124f9e..c124f9e 100755 --- a/configs/syslinux-iso/overlay/usr/bin/autologin +++ b/configs/releng/root-image/usr/bin/autologin diff --git a/configs/syslinux-iso/overlay/usr/bin/km b/configs/releng/root-image/usr/bin/km index e24d780..e24d780 100755 --- a/configs/syslinux-iso/overlay/usr/bin/km +++ b/configs/releng/root-image/usr/bin/km diff --git a/configs/releng/syslinux.dual/syslinux.cfg b/configs/releng/syslinux.dual/syslinux.cfg new file mode 100644 index 0000000..ac92998 --- /dev/null +++ b/configs/releng/syslinux.dual/syslinux.cfg @@ -0,0 +1,12 @@ +DEFAULT choose +PROMPT 0 + +LABEL choose +KERNEL ifcpu64.c32 +APPEND have64 -- nohave64 + +LABEL have64 +CONFIG syslinux_both.cfg + +LABEL nohave64 +CONFIG syslinux_32only.cfg diff --git a/configs/releng/syslinux.dual/syslinux_32only.cfg b/configs/releng/syslinux.dual/syslinux_32only.cfg new file mode 100644 index 0000000..c7a452d --- /dev/null +++ b/configs/releng/syslinux.dual/syslinux_32only.cfg @@ -0,0 +1,3 @@ +INCLUDE syslinux_head.cfg +INCLUDE syslinux_arch32.cfg +INCLUDE syslinux_tail.cfg diff --git a/configs/releng/syslinux.dual/syslinux_arch32.cfg b/configs/releng/syslinux.dual/syslinux_arch32.cfg new file mode 100644 index 0000000..6947d75 --- /dev/null +++ b/configs/releng/syslinux.dual/syslinux_arch32.cfg @@ -0,0 +1,11 @@ +LABEL arch32 +TEXT HELP +Boot the Arch Linux (i686) live medium. It allows you to install Arch Linux or +perform system maintenance. +ENDTEXT +MENU LABEL Boot Arch Linux (i686) +LINUX /%INSTALL_DIR%/boot/i686/vmlinuz26 +INITRD /%INSTALL_DIR%/boot/i686/archiso.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/syslinux_arch64.cfg new file mode 100644 index 0000000..02ddc5a --- /dev/null +++ b/configs/releng/syslinux.dual/syslinux_arch64.cfg @@ -0,0 +1,11 @@ +LABEL arch64 +TEXT HELP +Boot the Arch Linux (x86_64) live medium. It allows you to install Arch Linux or +perform system maintenance. +ENDTEXT +MENU LABEL Boot Arch Linux (x86_64) +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz26 +INITRD /%INSTALL_DIR%/boot/x86_64/archiso.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_both.cfg b/configs/releng/syslinux.dual/syslinux_both.cfg new file mode 100644 index 0000000..9cd1584 --- /dev/null +++ b/configs/releng/syslinux.dual/syslinux_both.cfg @@ -0,0 +1,4 @@ +INCLUDE syslinux_head.cfg +INCLUDE syslinux_arch32.cfg +INCLUDE syslinux_arch64.cfg +INCLUDE syslinux_tail.cfg diff --git a/configs/releng/syslinux.dual/syslinux_head.cfg b/configs/releng/syslinux.dual/syslinux_head.cfg new file mode 100644 index 0000000..2f692f8 --- /dev/null +++ b/configs/releng/syslinux.dual/syslinux_head.cfg @@ -0,0 +1,27 @@ +DEFAULT vesamenu.c32 +PROMPT 0 +MENU TITLE Arch Linux +MENU BACKGROUND splash.png +TIMEOUT 3000 + +MENU WIDTH 78 +MENU MARGIN 4 +MENU ROWS 7 +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 diff --git a/configs/releng/syslinux.dual/syslinux_tail.cfg b/configs/releng/syslinux.dual/syslinux_tail.cfg new file mode 100644 index 0000000..7dd1270 --- /dev/null +++ b/configs/releng/syslinux.dual/syslinux_tail.cfg @@ -0,0 +1,29 @@ +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 arch32 diff --git a/configs/syslinux-iso/boot-files/splash.png b/configs/releng/syslinux/splash.png Binary files differindex 64b959a..64b959a 100644 --- a/configs/syslinux-iso/boot-files/splash.png +++ b/configs/releng/syslinux/splash.png diff --git a/configs/syslinux-iso/boot-files/syslinux/syslinux.cfg b/configs/releng/syslinux/syslinux.cfg index 3b75340..de840f4 100644 --- a/configs/syslinux-iso/boot-files/syslinux/syslinux.cfg +++ b/configs/releng/syslinux/syslinux.cfg @@ -2,12 +2,12 @@ SERIAL 0 38400 DEFAULT vesamenu.c32 PROMPT 0 MENU TITLE Arch Linux -MENU BACKGROUND /%INSTALL_DIR%/boot/splash.png +MENU BACKGROUND splash.png TIMEOUT 3000 MENU WIDTH 78 MENU MARGIN 4 -MENU ROWS 5 +MENU ROWS 6 MENU VSHIFT 10 MENU TIMEOUTROW 13 MENU TABMSGROW 11 @@ -34,7 +34,8 @@ perform system maintenance. ENDTEXT MENU LABEL Boot Arch Linux LINUX /%INSTALL_DIR%/boot/%ARCH%/vmlinuz26 -APPEND initrd=/%INSTALL_DIR%/boot/%ARCH%/archiso.img archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% rw_branch_size=75% locale=en_US.UTF-8 +INITRD /%INSTALL_DIR%/boot/%ARCH%/archiso.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/syslinux-iso/Makefile b/configs/syslinux-iso/Makefile deleted file mode 100644 index 441917e..0000000 --- a/configs/syslinux-iso/Makefile +++ /dev/null @@ -1,94 +0,0 @@ -ver=$(shell date +%Y.%m.%d) - -WORKDIR=work -INSTALL_DIR=arch -COMPRESS=xz - -ARCH?=$(shell uname -m) - -PWD=$(shell pwd) -NETname=$(PWD)/archlinux-$(ver)-netinstall-$(ARCH).iso -COREname=$(PWD)/archlinux-$(ver)-core-$(ARCH).iso - -PACKAGES="$(shell cat packages.$(ARCH))" - -kver_FILE=$(WORKDIR)/root-image/etc/mkinitcpio.d/kernel26.kver - -all: net-iso core-iso - -# Rules for each type of image -core-iso: $(COREname) -net-iso: $(NETname) - -$(COREname): core-pkgs base-fs - mkarchiso -D $(INSTALL_DIR) -c $(COMPRESS) iso $(WORKDIR) $@ -$(NETname): base-fs - mkarchiso -D $(INSTALL_DIR) -c $(COMPRESS) iso $(WORKDIR) $@ - -# This is the main rule for make the working filesystem. -base-fs: root-image bootfiles initcpio overlay iso-mounts - - -# Rules for make the root-image for base filesystem. -root-image: $(WORKDIR)/root-image/.arch-chroot -$(WORKDIR)/root-image/.arch-chroot: - mkarchiso -D $(INSTALL_DIR) -p base create $(WORKDIR) - mkarchiso -D $(INSTALL_DIR) -p $(PACKAGES) create $(WORKDIR) - -# Rule for make /boot -bootfiles: root-image - mkdir -p $(WORKDIR)/iso/$(INSTALL_DIR)/boot/$(ARCH) - cp $(WORKDIR)/root-image/boot/System.map26 $(WORKDIR)/iso/$(INSTALL_DIR)/boot/$(ARCH)/ - cp $(WORKDIR)/root-image/boot/vmlinuz26 $(WORKDIR)/iso/$(INSTALL_DIR)/boot/$(ARCH)/ - cp $(WORKDIR)/root-image/boot/memtest86+/memtest.bin $(WORKDIR)/iso/$(INSTALL_DIR)/boot/memtest - cp $(WORKDIR)/root-image/usr/share/licenses/common/GPL2/license.txt $(WORKDIR)/iso/$(INSTALL_DIR)/boot/memtest.COPYING - cp boot-files/splash.png $(WORKDIR)/iso/$(INSTALL_DIR)/boot/ - mkdir -p $(WORKDIR)/iso/syslinux - cp $(WORKDIR)/root-image/usr/lib/syslinux/*.c32 $(WORKDIR)/iso/syslinux/ - cp $(WORKDIR)/root-image/usr/lib/syslinux/poweroff.com $(WORKDIR)/iso/syslinux/ - cp $(WORKDIR)/root-image/usr/lib/syslinux/isolinux.bin $(WORKDIR)/iso/syslinux/ - cp $(WORKDIR)/root-image/usr/lib/syslinux/memdisk $(WORKDIR)/iso/syslinux/ - cp $(WORKDIR)/root-image/usr/lib/syslinux/pxelinux.0 $(WORKDIR)/iso/syslinux/ - cp $(WORKDIR)/root-image/usr/lib/syslinux/gpxelinux.0 $(WORKDIR)/iso/syslinux/ - cp boot-files/syslinux/syslinux.cfg $(WORKDIR)/iso/syslinux/syslinux.cfg - # Add pci.ids and modules.alias for hdt - mkdir -p $(WORKDIR)/iso/syslinux/hdt/ - wget -O - http://pciids.sourceforge.net/v2.2/pci.ids | gzip -9 > $(WORKDIR)/iso/syslinux/hdt/pciids.gz - cat $(WORKDIR)/root-image/lib/modules/$(shell grep ^ALL_kver $(kver_FILE) | cut -d= -f2)/modules.alias | gzip -9 > $(WORKDIR)/iso/syslinux/hdt/modalias.gz - -# Rules for initcpio images -initcpio: $(WORKDIR)/iso/$(INSTALL_DIR)/boot/$(ARCH)/archiso.img -$(WORKDIR)/iso/$(INSTALL_DIR)/boot/$(ARCH)/archiso.img: mkinitcpio.conf $(WORKDIR)/root-image/.arch-chroot - mkdir -p $(WORKDIR)/iso/$(INSTALL_DIR)/boot/$(ARCH)/ - mkinitcpio -c ./mkinitcpio.conf -b $(WORKDIR)/root-image -k $(shell grep ^ALL_kver $(kver_FILE) | cut -d= -f2) -g $@ - - -# overlay filesystem -overlay: - mkdir -p $(WORKDIR)/overlay/etc/pacman.d - cp -r overlay $(WORKDIR)/ - wget -O $(WORKDIR)/overlay/etc/pacman.d/mirrorlist http://www.archlinux.org/mirrorlist/all/ - sed -i "s/#Server/Server/g" $(WORKDIR)/overlay/etc/pacman.d/mirrorlist - - -# Rule to process isomounts file. -iso-mounts: $(WORKDIR)/iso/$(INSTALL_DIR)/isomounts -$(WORKDIR)/iso/$(INSTALL_DIR)/isomounts: isomounts root-image - sed "s|@ARCH@|$(ARCH)|g" isomounts > $@ - - -# Rule for make the [core] repo packages -core-pkgs: - ./download-repo.sh core $(WORKDIR)/core-pkgs/src/core/pkg - - -# Clean-up all work -clean: - rm -rf $(WORKDIR) $(NETname) $(COREname) - - -.PHONY: all core-iso net-iso -.PHONY: base-fs -.PHONY: root-image bootfiles initcpio overlay iso-mounts -.PHONY: core-pkgs -.PHONY: clean diff --git a/configs/syslinux-iso/boot-files/releasenotes.txt b/configs/syslinux-iso/boot-files/releasenotes.txt deleted file mode 100644 index 1c2e057..0000000 --- a/configs/syslinux-iso/boot-files/releasenotes.txt +++ /dev/null @@ -1,3 +0,0 @@ -Arch Linux Live Medium - Release Notes --------------------------- diff --git a/configs/syslinux-iso/download-repo.sh b/configs/syslinux-iso/download-repo.sh deleted file mode 100755 index 255304e..0000000 --- a/configs/syslinux-iso/download-repo.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -# This script downloads a entire pacman repo to a dir -# using the locally configured best mirror. -# -# Copyright (c) 2009 Aaron Griffin <aaronmgriffin@gmail.com> -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -REPO="$1" -DEST="$2" - -REPO_CHANGED=n - -if [ -z "$REPO" -o -z "$DEST" ]; then - echo "usage: $(basename $0) <reponame> <dest-dir>" - exit 1 -fi - -if [ $EUID -ne 0 ]; then - echo "This script must be run as root (for pacman -Sp)" - exit 1 -fi - -[ -d "$DEST" ] || mkdir -p "$DEST" - -#update repos -/usr/bin/pacman -Sy - -#Ensure we have core/pkgname format, so we don't get crap from other repos -PKGS=$(/usr/bin/pacman -Sl $REPO | cut -d' ' -f1,2 | tr ' ' '/') - -if [ -n "$PKGS" ]; then - baseurl="" - cachedir="/var/cache/pacman/pkg" - for url in $(/usr/bin/pacman -Sdp $PKGS | grep '://'); do - baseurl="$(dirname "$url")" #save for later - pkgname="$(basename "$url")" - cachedpkg="$cachedir/$pkgname" - if [ ! -e "$DEST/$pkgname" ]; then - if [ -e "$cachedpkg" ]; then - cp -v "$cachedpkg" "$DEST/$pkgname" - REPO_CHANGED=y - else - wget -nv "$url" -O "$DEST/$pkgname" - REPO_CHANGED=y - fi - fi - done - if [ "$REPO_CHANGED" = "y" ]; then - wget -nv "$baseurl/$REPO.db" -O "$DEST/$REPO.db" - fi -else - echo "No packages to download... what'd you break?" - exit 1 -fi diff --git a/configs/syslinux-iso/instructions b/configs/syslinux-iso/instructions deleted file mode 100644 index 5998788..0000000 --- a/configs/syslinux-iso/instructions +++ /dev/null @@ -1,36 +0,0 @@ - Arch Linux - Installation and Live-CDs - ---------------------------- - -All images give you a live console environment in which you can do -a manual or automatic installation and which can be used as maintenance and rescue systems. - -All iso files can also be written to hard disks/usbkeys. - -Flavors: --------- -Netinstall images are the preferred install media for Arch Linux. -You can always get up to date packages using these media. -Core images contain a snapshot of the core repository, which makes them ideal -for offline installations when no Internet access is available -to install the base system. (you can do a netinstall with these also) - -Both come in i686, x86_64 or dual variant. The latter contains both and lets you choose -an architecture at boot. - -How to obtain and use these installation images: -------------------------------------- -Torrents are preferred (they are webseed enabled), but you can also just get the images -from an Arch mirror. - -The Official Arch Linux Install Guide gives you more info: - http://wiki.archlinux.org/index.php/Official_Arch_Linux_Install_Guide - -More info / getting in touch: ----------------------------- -http://bugs.archlinux.org/ -http://mailman.archlinux.org/mailman/listinfo/arch-releng - -Happy installing! -Happy ARCHing! -- Arch Linux Release Engineering team diff --git a/configs/syslinux-iso/isomounts b/configs/syslinux-iso/isomounts deleted file mode 100644 index 608149b..0000000 --- a/configs/syslinux-iso/isomounts +++ /dev/null @@ -1,12 +0,0 @@ -# archiso isomounts file -# img - location of image/directory to mount relative to addons directory -# arch - architecture of this image -# mount point - absolute location on the post-initrd root -# type - either 'bind' or 'squashfs' for now - -# syntax: <img> <arch> <mount point> <type> - -# ORDER MATTERS! Files take top-down precedence. Be careful -@ARCH@/overlay.sqfs @ARCH@ / squashfs -@ARCH@/core-pkgs.sqfs @ARCH@ / squashfs -@ARCH@/root-image.sqfs @ARCH@ / squashfs diff --git a/configs/syslinux-iso/overlay/etc/pacman.conf b/configs/syslinux-iso/overlay/etc/pacman.conf deleted file mode 100644 index 206ab23..0000000 --- a/configs/syslinux-iso/overlay/etc/pacman.conf +++ /dev/null @@ -1,80 +0,0 @@ -# -# /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 -HoldPkg = pacman glibc -# If upgrades are available for these packages they will be asked for first -SyncFirst = pacman -#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u -#XferCommand = /usr/bin/curl -C - -f %u > %o -#CleanMethod = KeepInstalled -Architecture = auto - -# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup -#IgnorePkg = -#IgnoreGroup = - -#NoUpgrade = -#NoExtract = - -# Misc options (all disabled by default) -#UseSyslog -#ShowSize -#UseDelta -#TotalDownload -#CheckSpace - -# -# 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] -#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 - -# An example of a custom package repository. See the pacman manpage for -# tips on creating your own repositories. -#[custom] -#Server = file:///home/custompkgs - |