[arch-releng] [RFC] [PATCH] [archiso] Switch from cdrkit to libisoburn
Gerardo Exequiel Pozzi
vmlinuz386 at yahoo.com.ar
Sun Aug 28 13:07:30 EDT 2011
On 08/12/2011 03:08 PM, Gerardo Exequiel Pozzi wrote:
> * Preparing terrain for UEFI support.
> * Also make isohybrid hack in one step.
> * Removed UDF layer, since xorriso does not support it.
> * Removed unsupported options by xorriso (-uid/-gid/-allow-limited-size)
> * Removed option already default in xorriso (-input-charset utf-8)
>
> Signed-off-by: Gerardo Exequiel Pozzi<vmlinuz386 at yahoo.com.ar>
> ---
> README | 9 ++++-----
> archiso/mkarchiso | 9 ++++-----
> configs/baseline/build.sh | 1 +
> configs/releng/build.sh | 1 +
> 4 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/README b/README
> index 852f3bd..d56231e 100644
> --- a/README
> +++ b/README
> @@ -101,8 +101,7 @@ if nothing is specified on command line.
> ** For mkarchiso script needs these packages (build host):
> + devtools for mkarchroot
> + squashfs-tools for mksquashfs
> - + syslinux for isohybrid
> - + cdrkit for mkisofs
> + + libisoburn for xorriso
>
> ** For these hooks needs these packages (on target root-image)
> * archiso
> @@ -189,7 +188,7 @@ When make your custom boot-pendrive, you need to copy /arch directory to it.
> [chroot] # echo 'Server = MIRROR/archlinux/$repo/os/$arch'>> /etc/pacman.d/mirrorlist
>
> * Install aditional packages needed for mkarchiso.
> - [chroot] # pacman -S devtools squashfs-tools syslinux cdrkit
> + [chroot] # pacman -S devtools squashfs-tools libisoburn
>
> * Build a basic iso.
> [chroot] # cp -r /usr/share/archiso/configs/baseline /tmp
> @@ -213,7 +212,7 @@ Note: These steps should be done with 64 bits support.
> [host64] # linux32 mkarchroot /tmp/chroot32 base
> [host64] # linux32 mkarchroot -r bash /tmp/chroot32
> [chroot32] # echo 'Server = MIRROR/archlinux/$repo/os/$arch'>> /etc/pacman.d/mirrorlist
> - [chroot32] # pacman -S devtools squashfs-tools syslinux cdrkit
> + [chroot32] # pacman -S devtools squashfs-tools libisoburn
> [chroot32] # exit
>
> * Prepare a 64 bits chroot enviroment.
> @@ -221,7 +220,7 @@ Note: These steps should be done with 64 bits support.
> [host64] # mkarchroot /tmp/chroot64 base
> [host64] # mkarchroot -r bash /tmp/chroot64
> [chroot64] # echo 'Server = MIRROR/archlinux/$repo/os/$arch'>> /etc/pacman.d/mirrorlist
> - [chroot64] # pacman -S devtools squashfs-tools syslinux cdrkit
> + [chroot64] # pacman -S devtools squashfs-tools libisoburn
> [chroot64] # exit
>
> * Install archiso on both chroots.
> diff --git a/archiso/mkarchiso b/archiso/mkarchiso
> index 68d98ab..baffa27 100755
> --- a/archiso/mkarchiso
> +++ b/archiso/mkarchiso
> @@ -315,17 +315,16 @@ command_iso () {
> if [[ ${quiet} == "y" ]]; then
> _qflag="-quiet"
> fi
> - mkisofs ${_qflag} -r -l \
> + xorriso -as mkisofs ${_qflag} -r -l \
> -b isolinux/isolinux.bin -c isolinux/boot.cat \
> - -uid 0 -gid 0 \
> - -udf -allow-limited-size -iso-level 3 \
> - -input-charset utf-8 -p "prepared by mkarchiso" \
> + -iso-level 3 \
> -no-emul-boot -boot-load-size 4 -boot-info-table \
> + -isohybrid-mbr ${work_dir}/iso/isolinux/isohdpfx.bin \
> + -p "prepared by mkarchiso" \
> -publisher "${iso_publisher}" \
> -A "${iso_application}" \
> -V "${iso_label}" \
> -o "${img_name}" "${work_dir}/iso/"
> - isohybrid "${img_name}"
> _msg_info "Done! | $(ls -sh ${img_name})"
> }
>
> diff --git a/configs/baseline/build.sh b/configs/baseline/build.sh
> index eabe21f..406de47 100755
> --- a/configs/baseline/build.sh
> +++ b/configs/baseline/build.sh
> @@ -67,6 +67,7 @@ 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
> }
> diff --git a/configs/releng/build.sh b/configs/releng/build.sh
> index 22229ce..d047b72 100755
> --- a/configs/releng/build.sh
> +++ b/configs/releng/build.sh
> @@ -95,6 +95,7 @@ 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
> }
Is there any objections about this? xorriso is currently used by
archboot and works fine. Images generated looks good.
--
Gerardo Exequiel Pozzi
\cos^2\alpha + \sin^2\alpha = 1
More information about the arch-releng
mailing list