[arch-releng] [RFC] [PATCH] [archiso] Switch from cdrkit to libisoburn

Gerardo Exequiel Pozzi vmlinuz386 at yahoo.com.ar
Fri Aug 12 14:08:31 EDT 2011


* 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
 }
-- 
1.7.6



More information about the arch-releng mailing list