ホームサポート技術情報OpenBlockSコンパクトフラッシュの初期化

コンパクトフラッシュの初期化

IDEデバイスの初期化

OpenBlockSでコンパクトフラッシュ(CF)カードを使用する際には初期化する必要があります。
OpenBlockSでは32MBのCFを利用する場合に自動的にパーティションの設定を行うコマンドを用意していますが、このコマンドは16MBずつをシステムとswapに分けてしまいます。
CFにswapパーティションをとりたくない場合や32MBより大きいCFを利用する場合はfdiskコマンドを使って手動でパーティションの設定を行って下さい。

CFをブートデバイスとして使用する場合

  1. 32MBのCFを使用する場合(自動設定)
    1. mkcfrtによるCFの自動設定

  2. 32MBより大きいCFを使用する場合(手動設定)
    1. パーティションの作成
    2. ファイルシステムの作成
    3. swapの作成
    4. mkcfrtファイルの変更
    5. mkcfrtによるマウントとファイルの展開

  1. 32MBのCFを使用する場合(自動設定)
    OpenBlockSが停止していることを確認します。OpenBlockSのふたを開け、CFを専用のスロットに装着します。 OpenBlockSのアルミシャーシの角で手指などを傷つけないよう、またスロットのピンを曲げたりしないように十分注意して作業を行って下さい。

    1. mkcfrtによるCFの自動設定
      以下のコマンドを実行します。
      # cd /etc
      # ./mkcfrt
      Deleting partitions (/dev/hda) ... 
      
      ... (画面表示省略)
      
      done, Please shutdown
      #
      
      これによりLinuxパーティション(/dev/hda1)とLinux Swapパーティション(/dev/hda2)が16MBずつ作成され、ルートファイルシステムが構築されます。
      以上で初期化は終了です。

      OpenBlockSをshutdownし、電源を切ってメインボードのディップスイッチ(SW1)をユーザーズガイドの1.4.3のように2のスイッチをOFFにして(下図)再起動します。


  2. 32MBより大きいCFを使用する場合(手動設定)
    OpenBlockSが停止していることを確認します。
    OpenBlockSのふたを開け、CFを専用のスロットに装着します。OpenBlockSのアルミシャーシの角で手指などを傷つけないよう、またスロットのピンを曲げたりしないように十分注意して作業を行って下さい。

    1. パーティションの作成
      以下の例ではswap領域を作成していますが、CFへの書き込み回数が気になる場合はswap領域を確保しないほうがよいでしょう。swapに使用する領域は32MBを推奨します(OpenBlockSのメモリー容量の倍)。
      使用するCFの容量に合わせて、設定するパーティションのシリンダ数(もしくは容量)を調節してください。

      下記の例では64MB、シリンダ数978のCFを使用しましたので半分ずつ(シリンダ数489)に領域を分けました。シリンダ数は製品によって異なります。 パーティションの作成を行うためにfdiskを使用します。
      以下[Enter]は何も数値を入力せずにEnterキーを押すことを意味します(デフォルト値が入力されます)

      fdiskの起動

      # fdisk /dev/hda
      

      Linuxパーティションの作成

      Command (m for help): n (パーティションの作成)
      Command action
         e   extended
         p   primary partition (1-4)
      p (プライマリパーティションの作成)
      Partition number (1-4): 1 (パーティション番号1の領域を作成)
      First cylinder (1-978, default 1): [Enter] (領域の最初のシリンダー)
      Using default value 1
      Last cylinder or +size or +sizeM or +sizeK (1-978, default 978): 489
        (978シリンダの半分約32MBを領域1に割り当てる)
      
      swap領域を作らない場合はシリンダ値を入力せずEnterキーだけを押して、全領域を一つのパーティションにしてもかまいません。
      この場合[作成したパーティション情報の保存]に進んで下さい。

      Linux swap用パーティションの作成

      Command (m for help): n (パーティションの作成)
      Command action
         e   extended
         p   primary partition (1-4)
      p (プライマリパーティションの作成)
      Partition number (1-4): 2 (パーティション番号2の領域を作成)
      First cylinder (490-978, default 490): [Enter] (領域の最初のシリンダー)
      Using default value 490
      Last cylinder or +size or +sizeM or +sizeK (490-978, default 978): [Enter]
        (残り半分約32MBを領域2に割り当てる)
      

      システムIDをLinux swapに変更する

      Command (m for help): t (パーティションシステムIDの変更)
      Partition number (1-4): 2 (パーティション番号2の領域を変更)
      Hex code (type L to list codes): 82 (パーティション番号2の領域をLinux swapにする)
      Changed system type of partition 2 to 82 (Linux swap)
      

      作成したパーティションの確認

      Command (m for help): p (パーティションテーブルの表示)
      
      Disk /dev/hda: 4 heads, 32 sectors, 978 cylinders
      Units = cylinders of 128 * 512 bytes
      
         Device Boot   Start    End   Blocks  Id  System
      /dev/hda1            1    489    31280  83  Linux
      /dev/hda2          490    978    31296  82  Linux swap
      

      作成したパーティション情報の保存

      Command (m for help): w (パーティションテーブルをディスクに書き込む)
      The partition table has been altered!
      
    2. ファイルシステムの作成
      /dev/hda1にLinuxのファイルシステムを構築します。
      # mke2fs /dev/hda1
      
    3. swapの作成
      /dev/hda2にスワップ領域を設定します。
      # mkswap /dev/hda2
      
    4. mkcfrtファイルの変更
      CF初期化のスクリプト/etc/mkcfrt中のパーティションの作成とファイルシステムの構築の部分(2から20行目)をコメントします。 (下記赤字部分の各行頭に#を挿入します)(/etc/mkcfrtファイルの一部)
      #!/bin/sh
      umount /ext1
      umount /mnt/ide0
      swapoff -a
      echo "Deleting partions (/dev/hda) ..."
      if ptymain -d ptysub_fdisk fdisk /dev/hda; then
      	echo "done"
      else
      	echo "fdisk error"
      	exit
      fi
      echo "make partitions..."
      if ptymain -c ptysub_fdisk fdisk /dev/hda; then
      	echo "done"
      else
      	echo "fdisk error"
      	exit
      fi
      echo "makeing filesystems..."
      /sbin/mke2fs /dev/hda1
      echo "Copying filesystems.."
      if mount -t ext2 /dev/hda1 /mnt/ide0; then
      	umask 002
      	echo "gzip into mnt/ide0.."
      	cd /bin
      	tar zcvf /mnt/ide0/tmbin.tgz .
      

      /etc/mkcfrtファイルを編集するにはファームウェアバージョン1.09i以降に搭載されたaeeエディタを使うか、ftpを使ってファイルを他のマシンに転送して編集を行った後にOpenBlockSに書き戻して下さい。

    5. mkcfrtによるマウントとファイルの展開
      以下のコマンドを実行します。
      # cd /etc
      # ./mkcfrt
      Copying filesystems..
      gzip into mnt/ide0..
      
      ...... (画面表示省略)
      
      done, Please shutdown
      #
      
    以上で初期化は終了です。

    OpenBlockSをshutdownし、電源を切ってメインボードのディップスイッチ(SW1)をユーザーズガイドの1.4.3のように2のスイッチをOFFにして(下図)再起動します。

ページの先頭へ戻る