[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:
parent
48023e336b
commit
14743f4202
9
README
9
README
@ -101,8 +101,7 @@ if nothing is specified on command line.
|
|||||||
** For mkarchiso script needs these packages (build host):
|
** For mkarchiso script needs these packages (build host):
|
||||||
+ devtools for mkarchroot
|
+ devtools for mkarchroot
|
||||||
+ squashfs-tools for mksquashfs
|
+ squashfs-tools for mksquashfs
|
||||||
+ syslinux for isohybrid
|
+ libisoburn for xorriso
|
||||||
+ cdrkit for mkisofs
|
|
||||||
|
|
||||||
** For these hooks needs these packages (on target root-image)
|
** For these hooks needs these packages (on target root-image)
|
||||||
* archiso
|
* 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
|
[chroot] # echo 'Server = MIRROR/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
* Install aditional packages needed for mkarchiso.
|
* 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.
|
* Build a basic iso.
|
||||||
[chroot] # cp -r /usr/share/archiso/configs/baseline /tmp
|
[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 /tmp/chroot32 base
|
||||||
[host64] # linux32 mkarchroot -r bash /tmp/chroot32
|
[host64] # linux32 mkarchroot -r bash /tmp/chroot32
|
||||||
[chroot32] # echo 'Server = MIRROR/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
[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
|
[chroot32] # exit
|
||||||
|
|
||||||
* Prepare a 64 bits chroot enviroment.
|
* 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 /tmp/chroot64 base
|
||||||
[host64] # mkarchroot -r bash /tmp/chroot64
|
[host64] # mkarchroot -r bash /tmp/chroot64
|
||||||
[chroot64] # echo 'Server = MIRROR/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
[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
|
[chroot64] # exit
|
||||||
|
|
||||||
* Install archiso on both chroots.
|
* Install archiso on both chroots.
|
||||||
|
@ -313,6 +313,9 @@ command_iso () {
|
|||||||
if [[ ! -f "${work_dir}/iso/isolinux/isolinux.bin" ]]; then
|
if [[ ! -f "${work_dir}/iso/isolinux/isolinux.bin" ]]; then
|
||||||
_msg_error "The file '${work_dir}/iso/isolinux/isolinux.bin' does not exist." 1
|
_msg_error "The file '${work_dir}/iso/isolinux/isolinux.bin' does not exist." 1
|
||||||
fi
|
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
|
_show_config iso
|
||||||
|
|
||||||
@ -323,17 +326,16 @@ command_iso () {
|
|||||||
if [[ ${quiet} == "y" ]]; then
|
if [[ ${quiet} == "y" ]]; then
|
||||||
_qflag="-quiet"
|
_qflag="-quiet"
|
||||||
fi
|
fi
|
||||||
mkisofs ${_qflag} -r -l \
|
xorriso -as mkisofs ${_qflag} -r -l \
|
||||||
-b isolinux/isolinux.bin -c isolinux/boot.cat \
|
-b isolinux/isolinux.bin -c isolinux/boot.cat \
|
||||||
-uid 0 -gid 0 \
|
-iso-level 3 \
|
||||||
-udf -allow-limited-size -iso-level 3 \
|
|
||||||
-input-charset utf-8 -p "prepared by mkarchiso" \
|
|
||||||
-no-emul-boot -boot-load-size 4 -boot-info-table \
|
-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}" \
|
-publisher "${iso_publisher}" \
|
||||||
-A "${iso_application}" \
|
-A "${iso_application}" \
|
||||||
-V "${iso_label}" \
|
-V "${iso_label}" \
|
||||||
-o "${out_dir}/${img_name}" "${work_dir}/iso/"
|
-o "${out_dir}/${img_name}" "${work_dir}/iso/"
|
||||||
isohybrid "${out_dir}/${img_name}"
|
|
||||||
_msg_info "Done! | $(ls -sh ${out_dir}/${img_name})"
|
_msg_info "Done! | $(ls -sh ${out_dir}/${img_name})"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -60,6 +60,7 @@ make_isolinux() {
|
|||||||
mkdir -p ${work_dir}/iso/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
|
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/isolinux.bin ${work_dir}/iso/isolinux/
|
||||||
|
cp ${work_dir}/root-image/usr/lib/syslinux/isohdpfx.bin ${work_dir}/iso/isolinux/
|
||||||
: > ${work_dir}/build.${FUNCNAME}
|
: > ${work_dir}/build.${FUNCNAME}
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -96,6 +96,7 @@ make_isolinux() {
|
|||||||
mkdir -p ${work_dir}/iso/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
|
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/isolinux.bin ${work_dir}/iso/isolinux/
|
||||||
|
cp ${work_dir}/root-image/usr/lib/syslinux/isohdpfx.bin ${work_dir}/iso/isolinux/
|
||||||
: > ${work_dir}/build.${FUNCNAME}
|
: > ${work_dir}/build.${FUNCNAME}
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user