EBUGの原稿
 *OpenBSDでLive CDをつくる [#t51994f1]
 **Why OpenBSD?, Why Live CD? [#e2ba0579]
 -Other BSD / Linux では?
 --Linuxでも昔1FDとかいじっていた。
 --一番慣れたBSD → make releaseが昂じてやってみたくなった
 --OpenBSDには定番がない
 ---Linux ... 非常に沢山
 ---Linux ... http://www.frozentech.com/content/livecd.php によると295種類
 ---FreeBSD ... FreeSBIE
 ---NetBSD ... pkgsrc - sysutils/mklivecd
 ---以前 OpenBSD を使った 1CD snortがあった
 -Live CDの利点
 --利用の容易さ
 ---以前 OpenBSD を使った 1CD snortがあったがobsolete
 // -Live CDの利点
 // --利用の容易さ
 **Boot手順の概要 [#e2b049ba]
 |BIOS|
 CENTER:↓
 ||HDD|FD|CD|
 |boot&br;sector|MBR|1st sector|El-Torito|
 |1st stage&br;boot|PBR(biosboot)|biosboot|cdbr|
 |2nd stage&br;boot|/boot|/boot|/cdboot|
 CENTER:↓
 |kernel|/bsd|
 |~|mount root fs|
 CENTER:↓
 |user&br;land|/sbin/init|
 |~|/etc/rc|
 |~|(fork gettys, etc...)|
 // |BIOS|
 // CENTER:↓
 // ||HDD|FD|CD|
 // |boot&br;sector|MBR|1st sector|El-Torito|
 // |1st stage&br;boot|PBR(biosboot)|biosboot|cdbr|
 // |2nd stage&br;boot|/boot|/boot|/cdboot|
 // CENTER:↓
 // |kernel|/bsd|
 // |~|mount root fs|
 // CENTER:↓
 // |user&br;land|/sbin/init|
 // |~|/etc/rc|
 // |~|(fork gettys, etc...)|
 >~
 #ref(BootSeq.gif,center)
 **方針 [#ke7c2074]
 -実環境をなるべく弄らないで載せたい。
 --常用環境を持ち歩きたい
 --実環境のバックアップシステム
 **実際 [#t0c1505a]
 ***アプローチ1 [#b56439b6]
 -CD-ROMを直接マウントする。
 --kernel config ... ''config bsd root on cd0c''
 --RWな領域の確保
 ---mfs
 ---union FSを使ってCDにmfsを被せる。
 --CDの作成
 ---vnデバイスでファイルシステム作成
 ---ISOイメージ作成 ... mkhybrid
 ---CD-ROM書込 ... cdrecord
 --kernel config~
 ''config bsd root on cd0c''
 --書き込み可能な領域の確保 ... union FSを使ってCDにmfsを被せる。
 --CDの作成手順
 +++vnデバイス上にターゲットシステムのFile Tree作成
 +++ISOイメージ作成~
 ''mkhybrid -R -o'' '''output''' ''-b'' '''boot-record''' ''-c'' '''boot-catalog''' '''tree-dir'''
 +++CD-ROM書込~
 ''cdrecord dev=/dev/rcd0c'' '''output'''
 -欠点
 --「実環境をなるべくいじらない」にちょっと反する;
 ---/etc/rcの改造が必要
 ---mfsのためのディレクトリをあらかじめ作成する必要あり
 --Union FSが不安定 ... OpenBSD 3.8 でレイヤー系のファイルシステムは削除されてしまった。
 ---mfs + union mount の準備のため、ターゲットシステムでの/etc/rcの改造が必要
 --Union FSが不安定 (OpenBSD 3.8 でレイヤー系のファイルシステムは削除されてしまった)
 ***アプローチ2 [#w2b10a7b]
 -rd (RAM Disk)デバイスをrootとしてマウント ... インストーラが使っている方法
 --kernel config ... config*** option??? MFSROOT/MFSROOTSIZE / pseudo-device??? rd 1
 --rdsetrootでroot FSイメージをカーネルに組込む。
 --kernel config~
  option    RAMDISK_HOOKS
  option    MINIROOTSIZE=3800   ← 512byte block
  config    bsd root on rd0a
  
  pseudo-device    rd    1    # ram disk
 --rdsetrootコマンドでroot FSイメージをカーネルに組込む。
 ---rd layout ... 必要なコマンドのみ, /etc/rc
 ---/etc/rcの構造
 -欠点
 --Read Onlyの部分でRWをエミュレートするのが繁雑
 ---一部RWでないと動かない部分があった ... /usr/X11R6/X11/lib/xdm/authdir
 --Read Onlyのサブディレクトリ以下を一部分書き込み可能にするのが繁雑
 ---一部RWでないと動かない部分があった ... /usr/X11R6/X11/lib/xdm/authdir/*
 ---mfs+nullfs ... UnionFSよりは若干安定
 ---lndirを試してみる ... symlink NGなものもあり ... /usr/lib/exec/auth/*
 ---lndirによる方法 ... symlink NGなものもあり ... /usr/lib/exec/auth/*
 **雑感 [#l36bc2da]
 -Security Issues
 --ホスト固有の情報を入れると危険
 -セキュリティに注意
 --ホスト固有の情報を入れると紛失した場合危険 ... 端末的使用が無難
 --mfs上の情報は消えると復帰できない。
 **参考文献等 [#a2f27536]
 -manpage
 --boot, biosboot, installboot, release
 --boot(8), biosboot(8), boot_i386(8), cdboot(8), installboot(8), release(8)
 -Books
 --BSD MagazineのRD, MFS関係の諸記事
 --Unix Magazine の Linux boot 周り (MBR〜LILO) のあたり
 -Links
 --kaw.ath.cxの[[LiveCDを作ってみる]]に載せたもの。
 --LinuxのLive CD一覧集
 -kaw.ath.cxの配布URL
 --Building an OpenBSD Live CD~
 http://www.onlamp.com/pub/a/bsd/2005/07/14/openbsd_live.html
 --How to Make a Bootable, Full System OpenBSD 3.2 CDROM~
 http://www.blackant.net/other/docs/howto-bootable-cdrom-openbsd.php
 --CD Bootable OpenBSD firewall~
 http://www.jtan.com/jtanoss/cdboot/
 --Construccion de un OpenBSD LiveCD~
 http://ieee.udistrital.edu.co/computer/docs/manuales/2004.05.04.manual_livecd_openbsd/html/manual-livecd-openbsd.html
 --FrozenTech's LiveCD List~
 http://www.frozentech.com/content/livecd.php
 --ライブCDの部屋~
 http://www12.tok2.com/home2/sachs/
 -kaw.ath.cxの配布URL~
 http://kaw.ath.cx/dl/pub/OpenBSD/LiveCD/
Top Index Search Recent Backups  Help  RSS