[util-iso-boot] fix isolinux.cfg; cleanup code

This commit is contained in:
udeved 2015-03-04 13:11:50 +01:00
parent f168391d9f
commit e3f45610a6
2 changed files with 49 additions and 39 deletions

View file

@ -19,13 +19,13 @@ download_efi_shellv1(){
copy_efi_shells(){
if [[ -f ${PKGDATADIR}/efi_shell/shellx64_v1.efi ]];then
msg2 "Copying shellx64_v1.efi ..."
msg2 "copying shellx64_v1.efi ..."
cp ${PKGDATADIR}/efi_shell/shellx64_v1.efi $1/
else
download_efi_shellv1 "$1"
fi
if [[ -f ${PKGDATADIR}/efi_shell/shellx64_v2.efi ]];then
msg2 "Copying shellx64_v2.efi ..."
msg2 "copying shellx64_v2.efi ..."
cp ${PKGDATADIR}/efi_shell/shellx64_v2.efi $1/
else
download_efi_shellv2 "$1"
@ -42,18 +42,21 @@ gen_boot_image(){
}
copy_efi_loaders(){
msg2 "copying efi loaders ..."
cp $1/usr/lib/prebootloader/PreLoader.efi $2/bootx64.efi
cp $1/usr/lib/prebootloader/HashTool.efi $2/
cp $1/usr/lib/gummiboot/gummibootx64.efi $2/loader.efi
}
copy_boot_images(){
msg2 "copying boot images ..."
cp $1/x86_64/${dist_iso} $2/${dist_iso}.efi
cp $1/x86_64/${img_name}.img $2/${img_name}.img
cp $1/intel_ucode.img $2/intel_ucode.img
}
copy_initcpio(){
msg2 "copying initcpio ..."
cp /usr/lib/initcpio/hooks/miso* $1/usr/lib/initcpio/hooks
cp /usr/lib/initcpio/install/miso* $1/usr/lib/initcpio/install
cp mkinitcpio.conf $1/etc/mkinitcpio-${dist_iso}.conf
@ -127,6 +130,32 @@ write_usb_nonfree_conf(){
echo "options misobasedir=${install_dir} misolabel=${iso_label} nouveau.modeset=1 i915.modeset=1 radeon.modeset=1 logo.nologo overlay=nonfree nonfree=yes" >> ${conf}
}
copy_isolinux_bin(){
msg2 "copying isolinux binaries ..."
if [[ -e $1/bios/ ]]; then
cp $1/usr/lib/syslinux/bios/isolinux.bin $2
cp $1/usr/lib/syslinux/bios/isohdpfx.bin $2
cp $1/usr/lib/syslinux/bios/ldlinux.c32 $2
cp $1/usr/lib/syslinux/bios/gfxboot.c32 $2
cp $1/usr/lib/syslinux/bios/whichsys.c32 $2
cp $1/usr/lib/syslinux/bios/mboot.c32 $2
cp $1/usr/lib/syslinux/bios/hdt.c32 $2
cp $1/usr/lib/syslinux/bios/chain.c32 $2
cp $1/usr/lib/syslinux/bios/libcom32.c32 $2
cp $1/usr/lib/syslinux/bios/libmenu.c32 $2
cp $1/usr/lib/syslinux/bios/libutil.c32 $2
cp $1/usr/lib/syslinux/bios/libgpl.c32 $2
else
cp $1/usr/lib/syslinux/isolinux.bin $2
cp $1/usr/lib/syslinux/isohdpfx.bin $2
cp $1/usr/lib/syslinux/gfxboot.c32 $2
cp $1/whichsys.c32 $2
cp $1/usr/lib/syslinux/mboot.c32 $2
cp $1/usr/lib/syslinux/hdt.c32 $2
cp $1/usr/lib/syslinux/chain.c32 $2
fi
}
write_isolinux_cfg(){
local fn=isolinux.cfg
local conf=$1/${fn}
@ -157,6 +186,16 @@ write_isolinux_cfg(){
echo " kernel memtest" >> ${conf}
}
update_isolinux_cfg(){
local fn=isolinux.cfg
msg2 "updating ${fn} ..."
sed -i "s|%MISO_LABEL%|${iso_label}|g;
s|%INSTALL_DIR%|${install_dir}|g;
s|%IMG_NAME%|${img_name}|g;
s|%DIST_ISO%|${dist_iso}|g;
s|%ARCH%|${arch}|g" $1/${fn}
}
write_isomounts(){
echo '# syntax: <img> <arch> <mount point> <type> <kernel argument>' > $1
echo '# Sample kernel argument in syslinux: overlay=extra,extra2' >> $1

View file

@ -267,8 +267,6 @@ make_image_custom() {
mkdir -p ${path}
umount_image_handler
aufs_mount_root_image "${path}"
# test machine-id again
# configure_dbus "${path}"
mkiso ${create_args[*]} -i "${custom}-image" -p "${packages}" create "${work_dir}" || mkiso_error_handler
pacman -Qr "${path}" > "${path}/${custom}-image-pkgs.txt"
cp "${path}/${custom}-image-pkgs.txt" ${cache_dir_iso}/${img_name}-${custom}-${iso_version}-${arch}-pkgs.txt
@ -455,43 +453,16 @@ make_efiboot() {
make_isolinux() {
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
msg "Prepare [${install_dir}/iso/isolinux]"
mkdir -p ${work_dir}/iso/isolinux
cp -a --no-preserve=ownership isolinux/* ${work_dir}/iso/isolinux
write_isolinux_cfg "${work_dir}/iso/isolinux"
local path=${work_dir}/iso/isolinux
mkdir -p ${path}
cp -a --no-preserve=ownership isolinux/* ${path}
write_isolinux_cfg "${path}"
if [[ -e isolinux-overlay ]]; then
msg2 "isolinux overlay found. Overwriting files."
cp -a --no-preserve=ownership isolinux-overlay/* ${work_dir}/iso/isolinux
sed -i "s|%MISO_LABEL%|${iso_label}|g;
s|%INSTALL_DIR%|${install_dir}|g;
s|%IMG_NAME%|${img_name}|g;
s|%ARCH%|${arch}|g" ${work_dir}/iso/isolinux/isolinux.cfg
fi
local path="${work_dir}/root-image/usr/lib/syslinux"
if [[ -e ${path}/bios/ ]]; then
cp ${path}/bios/isolinux.bin ${work_dir}/iso/isolinux/
cp ${path}/bios/isohdpfx.bin ${work_dir}/iso/isolinux/
cp ${path}/bios/ldlinux.c32 ${work_dir}/iso/isolinux/
cp ${path}/bios/gfxboot.c32 ${work_dir}/iso/isolinux/
cp ${path}/bios/whichsys.c32 ${work_dir}/iso/isolinux/
cp ${path}/bios/mboot.c32 ${work_dir}/iso/isolinux/
cp ${path}/bios/hdt.c32 ${work_dir}/iso/isolinux/
cp ${path}/bios/chain.c32 ${work_dir}/iso/isolinux/
cp ${path}/bios/libcom32.c32 ${work_dir}/iso/isolinux/
cp ${path}/bios/libmenu.c32 ${work_dir}/iso/isolinux/
cp ${path}/bios/libutil.c32 ${work_dir}/iso/isolinux/
cp ${path}/bios/libgpl.c32 ${work_dir}/iso/isolinux/
else
cp ${path}/isolinux.bin ${work_dir}/iso/isolinux/
cp ${path}/isohdpfx.bin ${work_dir}/iso/isolinux/
cp ${path}/gfxboot.c32 ${work_dir}/iso/isolinux/
cp ${path}/whichsys.c32 ${work_dir}/iso/isolinux/
cp ${path}/mboot.c32 ${work_dir}/iso/isolinux/
cp ${path}/hdt.c32 ${work_dir}/iso/isolinux/
cp ${path}/chain.c32 ${work_dir}/iso/isolinux/
msg2 "isolinux overlay found. Overwriting files ..."
cp -a --no-preserve=ownership isolinux-overlay/* ${path}
update_isolinux_cfg "${path}"
fi
copy_isolinux_bin "${work_dir}/root-image" "${path}"
: > ${work_dir}/build.${FUNCNAME}
msg "Done [${install_dir}/iso/isolinux]"
fi