summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2011-08-29 01:47:57 -0300
committerGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2011-08-29 01:47:57 -0300
commit14743f4202eeffca4d80105c7e7ad91bc0af4e88 (patch)
tree6fbf1a5e30ffe5db22da6909043a4ec1be7e9774
parent48023e336bc95bda974f1e772e209dc07f3b1e05 (diff)
downloadarchiso32-14743f4202eeffca4d80105c7e7ad91bc0af4e88.tar.xz
[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>
-rw-r--r--README9
-rwxr-xr-xarchiso/mkarchiso12
-rwxr-xr-xconfigs/baseline/build.sh1
-rwxr-xr-xconfigs/releng/build.sh1
4 files changed, 13 insertions, 10 deletions
diff --git a/README b/README
index 88b3243..9c49946 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 bd8b7a9..6fb5d06 100755
--- a/archiso/mkarchiso
+++ b/archiso/mkarchiso
@@ -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
}
diff --git a/configs/baseline/build.sh b/configs/baseline/build.sh
index f3e8676..b7d2b7b 100755
--- a/configs/baseline/build.sh
+++ b/configs/baseline/build.sh
@@ -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
}
diff --git a/configs/releng/build.sh b/configs/releng/build.sh
index feac4a8..e2ee1f9 100755
--- a/configs/releng/build.sh
+++ b/configs/releng/build.sh
@@ -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
}