[archiso] Switch from cdrkit to libisoburn

* 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@yahoo.com.ar>
This commit is contained in:
Gerardo Exequiel Pozzi 2011-08-29 01:47:57 -03:00
parent 48023e336b
commit 14743f4202
4 changed files with 13 additions and 10 deletions

9
README
View File

@ -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.

View File

@ -313,6 +313,9 @@ command_iso () {
if [[ ! -f "${work_dir}/iso/isolinux/isolinux.bin" ]]; then
_msg_error "The file '${work_dir}/iso/isolinux/isolinux.bin' does not exist." 1
fi
if [[ ! -f "${work_dir}/iso/isolinux/isohdpfx.bin" ]]; then
_msg_error "The file '${work_dir}/iso/isolinux/isohdpfx.bin' does not exist." 1
fi
_show_config iso
@ -323,17 +326,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 "${out_dir}/${img_name}" "${work_dir}/iso/"
isohybrid "${out_dir}/${img_name}"
_msg_info "Done! | $(ls -sh ${out_dir}/${img_name})"
fi
}

View File

@ -60,6 +60,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
}

View File

@ -96,6 +96,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
}