[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