#author("2024-02-12T18:36:46+09:00","default:kaw","kaw") #topicpath *河豚板のビルドシステム [#z9018484] RIGHT:EBUG 第88回会合 2024年2月17日 ~ 川俣吉広、kaw@on.rim.or.jp **[[おさらい>EBUG勉強会/20090221_LiveCD_3]]: ファイルシステムのレイアウト [#k05b4a75] 以下の説明は起動モード0の場合 それ以外の起動モードに付いては、河豚板ガイドの「[[起動モードとファイルシステム>fg3:bootmode_fs]]」を参照のこと。 |&ref(fi-filesys-mode0.png,,25%);| *** / [#i85f2ac7] - [[rd(4)>man:rd]] ... ramdisk root - OpenBSDのインストールメディアで使われている - カーネルビルトイン ... カーネル起動時にすでにマウントされている - /dev - /boottmp/ -- /boottmp/rc ... 河豚板の初期化スクリプト。完了後は/etc/rcにチェイン -- /boottmp/* ... クランチバイナリ(初期に必要なコマンド群)、河豚板のツール、初期化に用いるパッチファイルなど *** /sysmedia [#i7507962] - DVD, USBメモリをRead Onlyでマウント - ブートローダ、カーネル, [[/etc/boot.conf>man:man8/amd64/boot.8]] - fuguita-*.ffsimg ... OSのファイルツリー全体が格納されたディスクイメージファイル *** /fuguita [#yd892df2] - OSのファイルツリー全体 - /sysmedia/fuguita-*.ffsimgをRead Onlyでマウントしたもの - 素のOpenBSDとほぼ同じだが、ライブシステムに必要な若干の改変がされている *** /ram [#v97f0e6f] - [[mfs(4)>man:mfs]]((リマスター時の指定で[[tmpfs(4)>man:tmpfs]]に変更可能)) - /fuguitaの[[シャドウコピー>man:lndir]] -- 基本的には cd /ram && lndir /fuguita したもの -- シンボリック・リンクだと都合の悪いもののみ /fuguita/* からコピー **[[おさらい>EBUG勉強会/20190223_UEFI_GPT]]: デバイスのパーティション構成 [#j60e4c5b] - LiveDVDとLiveUSBのコンテンツは同じ ... LiveDVDとLiveUSBのブートローダ全部入り~ →LiveDVDでLiveUSB、またはその逆のリマスターも可能 |&ref(fipart.png,,25%);| ***LiveDVD [#babbf626] 普通のEl Torito規格のブート構成。UEFIのネイティブブートには未対応、CSMで((OpenBSD 7.4-currentにはUEFIブートが取り入れられたようだ。))。 ***LiveUSB (amd64の場合) [#n59c66ae] - Legacy BIOS / UEFI 両対応 -- パーティショニングはMBR。Legacy BIOSによるブート -- ESP (EFI System Partition, ID=EF)も作成されBOOTX64.EFIもインストールされている - 上記は amd64 でのデフォルト。指定により[[パーティショニングやブートの方式を変更できる>fg3:liveusb_remaster]]。 **ビルドシステム [#jb17e51e] Makefileと数個のシェルスクリプトなどで構成 - https://github.com/ykaw/FuguIta このビルドシステムで作成できるのは、LiveDVD用のISOイメージファイル。 出来上がったISOイメージで河豚板を起動し、usbfadmユティリティのnewdrive機能を呼び出してLiveUSB用のディスクイメージを生成する。~ ビルドシステムのMakefileには、[[vmm(4)>man:vmm]]上でISOイメージを起動し、LiveDVDの動作チェックとLiveUSBの生成を行うための dvd2usb ターゲットが存在する。 |&ref(fiflow.png,,25%);| ---- #topicpath