diff options
Diffstat (limited to 'configs/releng/build.sh')
-rwxr-xr-x | configs/releng/build.sh | 37 |
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 |