Top/EBUG勉強会/20240525_FuguItaISO

河豚板のEFI CD boot / arm64 ISO 対応

EBUG 第89回会合 2024年5月24日
川俣吉広、kaw@on.rim.or.jp

概要

2024年4月5日にリリースされたOpenBSD 7.5では、amd64プラットフォームでEFIでのCD起動が、arm64プラットフォームでは、ISOイメージによる起動がサポートされました。

この二つの新機能を河豚板 7.5でも実装した方法について報告します。


目次

経緯

2024年4月5日にリリースされたOpenBSD 7.5では、ライブ・システムに関連した2つの機能が追加された。

OpenBSD 7.5 what's new

おさらい

amd64のUEFI CD boot

どこが変っているか見てみる
これ↓

/usr/src/distrib/amd64/iso/Makefile
Revision 1.47 / (download) - annotate - [select for diffs], Fri Dec 15 06:03:00 2023 UTC (5 months ago) by jmatthew
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, HEAD
Changes since 1.46: +15 -4 lines
Diff to previous 1.46 (colored)

For amd64 cdXX.iso and installXX.iso, create an EFI system partition image
containing the EFI boot loaders and install it as an El Torito boot image,
making the install CDs bootable in EFI mode.

"looks great" deraadt@
ok mlarkin@

diff(抜粋)

-${CDROM}: ${BASE} ${XBASE}
+${EFICDBOOT}: ${EFIBOOT}
+	rm -rf ${.OBJDIR}/eficdboot-dir
+	mkdir -p ${.OBJDIR}/eficdboot-dir/efi/boot
+	cp ${EFIBOOT} ${.OBJDIR}/eficdboot-dir/efi/boot
+	makefs -t msdos -o create_size=${EFICDBOOTSIZE} ${EFICDBOOT} \
+	    ${.OBJDIR}/eficdboot-dir
+
+${CDROM}: ${BASE} ${XBASE} ${EFICDBOOT}
        mkhybrid -a -R -T -L -l -d -D -N -o ${.OBJDIR}/${CDROM} \
            -A "OpenBSD ${OSREV} ${MACHINE} Install CD" \
@@ -77,14 +87,15 @@
            -p "Theo de Raadt <deraadt@openbsd.org>" \
            -V "OpenBSD/${MACHINE}   ${OSREV} Install CD" \
            -b ${OSREV}/${MACHINE}/cdbr -c ${OSREV}/${MACHINE}/boot.catalog \
+	    -e ${OSREV}/${MACHINE}/${EFICDBOOT} \
            ${.OBJDIR}/cd-dir

ESP (EFI System Partition)に相当するFATパーティションイメージを作成し、mkhybridによるISOイメージ作成時に新たに新設された-eオプションで指定している。

これと同様な処理を河豚板のMakefileに追加した。 [旧diagram] [新diagram]

arm64のISOイメージ作成

distrib

RasPi F/WとU-boot stuff

LiveUSB用ディスクイメージの再利用

秘伝のタレ

LiveCD flow LiveUSB flow

Recycle


Top/EBUG勉強会/20240525_FuguItaISO

Front page   New Page list Search Recent changes   Help   RSS of recent changes