#navi(:LiveCD)
*LiveCD/USBメモリへのデータ保存 [#j114a458]
河豚板はCD-ROM単体で運用することができますが、電源を切ると mfs (メモリファイルシステム) 上のデータはすべて消えてしまいます。また、ネットワークなどの設定値は、起動時に毎回手で入力する必要があります。

そのような不便を解消するため、河豚板では、各種設定値やホームディレクトリ上のデータなどをUSBメモリに保存し、次回ブート時に復帰させる機能を持っています。
----
#contents
**USBメモリの初期化 [#y3341308]
+LiveCDを立ち上げ、rootでログインします。~
(以下、USBメモリが/dev/sd0として認識されているとして説明します)
+fdiskを実行
 # fdisk -e sd0
>(註)USBメモリによっては、BIOSからディスクジオメトリ情報を取得できず、その結果、fdiskが正常に実行できない場合があります。そのときはシリンダ/ヘッド/セクタの各数値を明示的に指定してfdiskを実行します。例えばdmesgの出力から、目的のUSBメモリがデバイスsd0でサイズが248MBと認識されていたとすると以下のようになります;
 # fdisk -c 248 -h 64 -s 16 -e sd0
決め打ちでヘッド数を64, 1トラックあたりのセクタ数を16とすれば、1セクタ当たり512バイトなので、~
''64 * 16 * 512 = 1024 * 1024''~
となり、1トラックあたり丁度1メガバイトとなります。よってメガバイト単位での容量をシリンダ数として指定すれば良い(上の例の''-c 248'')ことになります。
<
これ以降はHDDなどへの通常のパーティション/ファイルシステム作成と同じです。
+fdiskパーティションとしてOpenBSD (ID=0xA6)確保します。
+disklabelを使って ''dパーティション'' を確保します。
 # disklabel -E sd0
+dパーティションをフォーマットします。
 # newfs -b 4096 -f 512 -i 1024 /dev/rsd0d
保存内容としてはシンボリックリンクやサイズの小さなファイルが多数含まれるため、ブロック/フラグメントサイズを最小にし、iノードの数も多めに設定するとよいです。
+保存用ディレクトリを作成
 # mount /dev/sd0d /mnt
 # mkdir /mnt/livecd-config
 # umount /dev/sd0d

以上で保存メディアの初期化は終了です。
**保存データの作成 [#j0bbb5be]
+USBメモリへのデータの保存には、/boottmp/usbfadm というスクリプトを使用します。
 # /boottmp/usbfadm
 Welcome to USB flash maintenance tool.
 
      Boot mode: manual
 
 Type ? for help.
 
 ?:? ->
+まずrescanコマンドを使用してUSBメモリを認識させます。
 ?:? -> rescan
 
 Rescanning USB flash
 Please make sure the device inserted.
 Then press ENTER -->
 
 USB flash memory found as sd0
+次に、dsnコマンドを使用して保存するデータに名前を付けます。保存対象は、/mfs以下の全てのファイルなので、/etc以下の設定ファイルや/home以下のユーザデータなどが含まれます。~
名前を省略した場合、ホスト名がデフォルトの名前として使用されるようになっています。
 /dev/sd0d:? -> dsn
 
 Enter data set name [csfw1.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]
保存したデータは、次回以降の起動時に復帰させることができます。~
ブートモードの選択で''2: retrieve user data from USB flash memory''を選択します。
 Select boot mode;
    0: clean boot
    1: clean boot (lower memory, faster boot)
    2: retrieve user data from USB flash memory
    3: retrieve user data from floppy disk
    4: interactive shell for debugging
 -->2
 USB flash memory found as sd0
 available configs;
 
 emgproxy
 
 your config name? -> emgproxy
 Copying files from flash to mfs ... done
保存したデータ名を指定すると、退避させていたデータを復帰したあと、起動が続行されます。各種パラメータ等もすべて設定済みなので、clean bootと違い、各種設定の入力は求められません。
**データの退避 [#x10d6dfc]
起動後、いつでもデータを退避させることができます。データの退避は「保存データの作成」と同様 /boottmp/usbfadm コマンドで行います。データを退避させる場合は、新規保存の場合と比べ、以下の点が異なっています;
-変更があったファイルのみ保存が行われます。
-/mfs上のファイルを消去した場合、USBメモリ上のファイルも消去されます。
-デバイス名と保存データ名称はあらかじめわかっているので設定する必要はなく、いきなりsyncコマンドを実行してもOKです。
-別名を付けて保存する場合はdsnコマンドで名前を設定後、syncを実行します。

注意: シャットダウン時にはデータの退避は自動的には行われません。手動で実行する必要がありますので注意が必要です。
#navi(:LiveCD)
Top Index Search Recent Backups  Help  RSS