EBUGの原稿
OpenBSDでLive CDをつくる†
Why OpenBSD?, Why Live CD?†
- Other BSD / Linux では?
- Linuxでも昔1FDとかいじっていた。
- 一番慣れたBSD → make releaseが昂じてやってみたくなった
- OpenBSDには定番がない
- Linux ... 非常に沢山
- FreeBSD ... FreeSBIE
- NetBSD ... pkgsrc - sysutils/mklivecd
- 以前 OpenBSD を使った 1CD snortがあった
- Live CDの利点
Boot手順の概要†
↓
| HDD | FD | CD |
boot sector | MBR | 1st sector | El-Torito |
1st stage boot | PBR(biosboot) | biosboot | cdbr |
2nd stage boot | /boot | /boot | /cdboot |
↓
↓
user land | /sbin/init |
/etc/rc |
(fork gettys, etc...) |
- 実環境をなるべく弄らないで載せたい。
- 常用環境を持ち歩きたい
- 実環境のバックアップシステム
アプローチ1†
- CD-ROMを直接マウントする。
- kernel config ... config bsd root on cd0c
- RWな領域の確保
- mfs
- union FSを使ってCDにmfsを被せる。
- CDの作成
- vnデバイスでファイルシステム作成
- ISOイメージ作成 ... mkhybrid
- CD-ROM書込 ... cdrecord
- 欠点
- 「実環境をなるべくいじらない」にちょっと反する;
- /etc/rcの改造が必要
- mfsのためのディレクトリをあらかじめ作成する必要あり
- Union FSが不安定 ... OpenBSD 3.8 でレイヤー系のファイルシステムは削除されてしまった。
アプローチ2†
- rd (RAM Disk)デバイスをrootとしてマウント ... インストーラが使っている方法
- kernel config ... config*** option??? MFSROOT/MFSROOTSIZE / pseudo-device??? rd 1
- rdsetrootでroot FSイメージをカーネルに組込む。
- rd layout ... 必要なコマンドのみ, /etc/rc
- /etc/rcの構造
- 欠点
- Read Onlyの部分でRWをエミュレートするのが繁雑
- 一部RWでないと動かない部分があった ... /usr/X11R6/X11/lib/xdm/authdir
- mfs+nullfs ... UnionFSよりは若干安定
- lndirを試してみる ... symlink NGなものもあり ... /usr/lib/exec/auth/*
- Security Issues
- ホスト固有の情報を入れると危険
- mfs上の情報は消えると復帰できない。
参考文献等†
- manpage
- boot, biosboot, installboot, release
- Books
- BSD MagazineのRD, MFS関係の諸記事
- Unix Magazine の Linux boot 周り (MBR~LILO) のあたり
- Links
- kaw.ath.cxの配布URL