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

そのような不便を解消するため、OpenBSD LiveCDでは、各種設定値やホームディレクトリ上のデータなどをUSBメモリに保存し、次回ブート時に復帰させる機能を持っています。


データ保存用USBメモリの作成

  1. LiveCDを立ち上げ、rootでログイン。
    (以下、USB flashが/dev/sd0として認識されているとして説明)
  2. 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を入力*1
    Do you make this USB flash drive bootable? [y/n] -> y
    ユーザのデータを保存する領域のサイズを指定する。「*」を入力すると、全ての空き領域をユーザデータ保存用の領域にする。
    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.
    ~以下略~
    この後、パーティションの分割とファイルシステムの作成が行われる。

データの保存

  1. USBメモリに保存するデータのメンテナンスにも、/boottmp/usbfadm を使用する。
    # /boottmp/usbfadm
    Welcome to USB flash maintenance tool.
    
         Boot mode: manual
    
    Type ? for help.
    
    ?:? ->
  2. targetコマンドを使用して保存先のUSBメモリを指定する。
    ?:? -> target
    
    Rescanning USB flash
    Please make sure the device inserted.
    Then press ENTER -->
    
    USB flash memory found as sd0
  3. saveasコマンドを使用して保存するデータに名前を付ける。保存対象は、/mfs以下の全てのファイルなので、/etc以下の設定ファイルや/home以下のユーザデータなどが含まれる。
    名前を省略した場合、ホスト名がデフォルトの名前として使用される。
    /dev/sd0d:? -> saveas
    
    Enter data set name [nimbus5.localnet] -> emgproxy
    
    Now data set name is set to ``emgproxy''.
  4. 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
  5. 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
  6. データが無事に保存されているようなので、終了。
    /dev/sd0d : emgproxy -> bye
    
    #

データの復帰

保存したデータの復帰は、ブート時に行われる。 ブート方法の選択で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と違い、設定の入力は促されない。

データの退避

ブート後、任意の時点でデータを退避させることができる。データの退避は「保存データの作成」と同様 /boottmp/usbfadm コマンドで行う。データを退避させる場合は、新規保存の場合と比べ、以下の点が異なる;

また、シャットダウン時、データの退避は自動的には行われないので、手動で実行する必要がある。


LiveCDに戻る


*1 yを入力した場合は、河豚板のシステムも転送され、河豚板の起動とデータ保存の両方に対応したUSBメモリが作成される

Front page   New Page list Search Recent changes   Help   RSS of recent changes