OpenBSD LiveCDはCD-ROM単体で運用することができますが、電源を切ると mfs (メモリファイルシステム) 上のデータはすべて消えてしまいます。また、ネットワークなどの設定値は、起動時に毎回手で力する必要があります。 そのような不便を解消するため、OpenBSD LiveCDでは、各種設定値やホームディレクトリ上のデータなどをUSBメモリに保存し、次回ブート時に復帰させる機能を持っています。 ---- #contents *データ保存用USBメモリの作成 [#y3341308] +LiveCDを立ち上げ、rootでログイン。~ (以下、USB flashが/dev/sd0として認識されているとして説明) +USBメモリ管理ユティリティusbfadmを起動し、newdriveコマンドを実行する。 # /boottmp/usbfadm Welcome to usbfadm. USB flash drive maintenance tool for FuguIta Boot mode: manual Type ? for help. ? : ? --> newdrive 初期化を行うUSBメモリを着していることを確認して、ENTERを押下。 Please make sure the device inserted. Then press ENTER --> 初期化を行うUSBメモリのデバイス名を力する。 ==== FYI: sd[0-9] on syslog ================================ 1 sd0 at scsibus1 targ 1 lun 0: <TOSHIBA, TransMemory, PMAP> 2 sd0: 961MB, 512 bytes/sec, 1968128 sec total 3 sd1 at scsibus2 targ 1 lun 0: <Generic, USB CF Reader, 0.00> 4 sd1: drive offline 5 sd2 at scsibus2 targ 1 lun 1: <Generic, USB SD Reader, 0.00> 6 sd2: drive offline 7 sd3 at scsibus2 targ 1 lun 2: <Generic, Mini SD Reader, 0.00> 8 sd3: drive offline 9 sd4 at scsibus2 targ 1 lun 3: <Generic, USB MS Reader, 0.00> 10 sd4: drive offline 11 sd5 at scsibus2 targ 1 lun 4: <Generic, USB SM Reader, 0.00> 12 sd5: 62MB, 512 bytes/sec, 128000 sec total ============================================================ Enter name of device which FuguIta will be installed --> sd0 USBメモリをデータ保存専用として作成する場合はnを力((yを入力した場合は、河豚板のシステムも転送され、河豚板の起動とデータ保存の両方に対応したUSBメモリが作成される))。 Do you make this USB flash drive bootable? [y/n] -> n ユーザのデータを保存する領域のサイズを指定する。「*」を力すると、全ての空き領域をユーザデータ保存用の領域にする。 Enter size for saving User Data in MB (311MB free). '*' implies all --> * 領域のサイズを「て」より少なく指定した場合は、ユーザデータ保存用で使われない領域をWindows用のFATとして割り当てる。~ 例えば、次のように; Enter size for saving User Data in MB (311MB free). '*' implies all --> 250 などとした場合は、ユーザ保存用パーティション(sd0d)として250MBが、FAT用(sd0i)に、61MBが割り当てられる。~ ~ 最後に、本当に指定したデバイスに書き込みを行ってよいか確認が行われ、yを力すると処理を実行する。 ***THIS IS THE LAST CHANCE*** If you type 'Y' now, all the data on sd0 will be lost. Are you sure to initialize sd0? [y/N] -> y ======================================== = Clearing MBR BSD disklabel = 1+0 records in 1+0 records out 1048576 bytes transferred in 0.099 secs (10562763 bytes/sec) ======================================== = Setting up MBR = Writing MBR at offset 0. ~以下略~ この後、パーティションの分割とファイルシステムの作成が行われる。 *データの保存 [#j0bbb5be] +USBメモリに保存するデータのメンテナンスにも、/boottmp/usbfadm を使用する。 # /boottmp/usbfadm Welcome to USB flash maintenance tool. Boot mode: manual Type ? for help. ?:? -> +targetコマンドを使用して保存のUSBメモリを指定する。 ?:? -> target Rescanning USB flash Please make sure the device inserted. Then press ENTER --> USB flash memory found as sd0 +saveasコマンドを使用して保存するデータに名前を付ける。保存対象は、/mfs以下のてのファイルなので、/etc以下の設定ファイルや/home以下のユーザデータなどが含まれる。~ 名前を省略した場合、ホスト名がデフォルトの名前として使用される。 /dev/sd0d:? -> saveas Enter data set name [nimbus5.localnet] -> emgproxy Now data set name is set to ``emgproxy''. +syncコマンドを実行し、データ保存を実行する。 /dev/sd0d:emgproxy -> sync Sync current mfs as emgproxy, OK? -> y building file list ... done created directory /mnt/livecd-config/emgproxy ./ etc/ etc/bgpd.conf etc/boot.conf : : var/yp/Makefile.yp var/yp/Makefile.yp.dist var/yp/README sent 16455591 bytes received 232568 bytes 180412.53 bytes/sec total size is 15492096 speedup is 0.93 +infoコマンドで、保存されたデータの報を表示させ、確認してみる。 /dev/sd0d : emgproxy -> info Filesystem Size Used Avail Capacity Mounted on /dev/sd0d 218M 18.9M 179M 9.6% /mnt scanning... 18.9M emgproxy +データが無事に保存されているようなので、終了。 /dev/sd0d : emgproxy -> bye # *データの復帰 [#aeabe7fe] 保存したデータの復帰は、ブート時に行われる。 ブート方法の選択で''3: retrieve user data from USB flash memory''を選択 Select boot mode; 0: clean boot 1: clean boot (lower memory, faster boot) 2: clean boot (everything on mfs) 3: retrieve user data from USB flash memory 4: retrieve user data from floppy disk 5: interactive shell for debugging -->3 USB flash memory found as sd0 available configs; emgproxy your config name? -> emgproxy Copying files from flash to mfs ... done 保存したデータ名を指定すると、退避させていたデータを復帰したあと、ブートが続行される。各種パラメータ等もすべて設定済みであるため、manual modeと違い、設定の力は促されない。 *データの退避 [#x10d6dfc] ブート後、任意の時点でデータを退避させることができる。データの退避は「保存データの作成」と同様 /boottmp/usbfadm コマンドで行う。データを退避させる場合は、新規保存の場合と比べ、以下の点が異なる; -変更があったファイルのみ保存が行われる。 -/mfs上のファイルを消去した場合、USBメモリ上のファイルも消去される。 -デバイス名と保存データ名称はあらかじめわかっているので設定する要はなく、いきなりsyncコマンドを実行してよい。 -別名を付けて保存する場合はsaveasコマンドで名前設定後、syncを実行。 また、シャットダウン時、データの退避は自動的には行われないので、手動で実行する要がある。 ---- [[LiveCD]]に戻る