summaryrefslogtreecommitdiff
path: root/configs/releng/build.sh
diff options
context:
space:
mode:
authorNicolás Reynolds <apoyosis@correo.inta.gob.ar>2011-07-20 16:01:16 -0300
committerNicolás Reynolds <apoyosis@correo.inta.gob.ar>2011-07-20 16:01:16 -0300
commit1a87fac19da7cf748c7f42d1ec183cff00998016 (patch)
treee1754bf58be446c0612a0460abae9cf879f29fa2 /configs/releng/build.sh
parentfea6291aff50468dd0f1e40c85d6d9ee7ca972a2 (diff)
parent27e472451e39bcec4b785101d2964e6d5f8a91d5 (diff)
Merge branch 'master' of https://projects.archlinux.org/git/archiso
Conflicts: README configs/baseline/build.sh configs/releng/build.sh configs/releng/packages.i686 configs/releng/packages.x86_64 configs/releng/root-image/etc/rc.d/archiso
Diffstat (limited to 'configs/releng/build.sh')
-rwxr-xr-xconfigs/releng/build.sh37
1 files changed, 23 insertions, 14 deletions
diff --git a/configs/releng/build.sh b/configs/releng/build.sh
index deaf9e2..9abb3ac 100755
--- a/configs/releng/build.sh
+++ b/configs/releng/build.sh
@@ -10,17 +10,10 @@ 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}"
+ mkarchiso ${verbose} -D "${install_dir}" -p "memtest86+ syslinux mkinitcpio-nfs-utils nbd" create "${work_dir}"
}
# Additional packages (root-image)
@@ -34,25 +27,40 @@ make_customize_root_image() {
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
echo "Server = http://repo.parabolagnulinux.org/\$repo/os/\$arch" > \
${work_dir}/root-image/etc/pacman.d/mirrorlist
sed -i "s/#Server/Server/g" ${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" arch
: > ${work_dir}/build.${FUNCNAME}
fi
}
+# 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
+ done
+ : > ${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}/libreiso.img
+ mkinitcpio \
+ -c ./mkinitcpio.conf \
+ -b ${_src} \
+ -k /boot/vmlinuz26 \
+ -g ${_dst_boot}/${arch}/libreiso.img
+ mv ${_src}/boot/vmlinuz26 ${_dst_boot}/${arch}
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}
@@ -75,7 +83,7 @@ make_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
+ cat ${work_dir}/root-image/lib/modules/*-LIBRE/modules.alias | gzip -9 > ${_dst_syslinux}/hdt/modalias.gz
: > ${work_dir}/build.${FUNCNAME}
fi
}
@@ -237,6 +245,7 @@ make_common_single() {
make_basefs
make_packages
make_customize_root_image
+ make_setup_mkinitcpio
make_boot
make_syslinux
make_isolinux