Amazon

2017年7月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

最近のトラックバック

無料ブログはココログ

Amazon2

« 液晶モニター交換後に文字を読みやすく調整する(ClearTypeテキストの調整) | トップページ | RaspberryPiのswap領域を変更する »

2014年11月25日 (火)

RaspberryPiをHDD起動にする


今回はRaspberryPiをHDD起動にしてみます。但し、正確な所はブートだけは
やっぱりSDカードから実行して、それ以降の作業をHDDで実行する事になります。
つまり /boot だけはSDカードでそれ以外のマウントポイントをHDDにする事に
なります。(swapも)






何故わざわざHDDから起動する様にするのかと言われると、以下の様な理由を挙げられます。

  ・大きな記憶領域が欲しい
    大容量のSDカードと言うのは無くはないのですが非常に高価です。
    その点HDDの場合は512GBや1TBの物が購入できます。
    
  ・SDカードは書き換え可能回数が少ない
    様々なところで言われている事ではありますが、SDカードは書き換え可能回数に
    限界があります。実際の所HDDもあるのでしょうがやはり比較するとHDDの方が
    信頼性が高いです。
    Linuxを使用する場合はLogやswap領域等が書き換え頻度が高くなります。

この様な理由から今回はUSB-HDDを使用する様に変更します。この作業は既に
構築済みの環境でもそのままHDDに移行する事が可能です。
ちなみにパフォーマンスの向上はあまり期待できません。書き込みはちょっと早いみたいですが…。


・必要なもの

RaspberryPiにはUSBでしかHDDを追加できませんのでUSB接続のHDDが必要となります。
後はDebianをインストール済みのRaspberryPiがあれば接続可能です。

・現在の状態を確認する。

まずば現在の状態を確認します。USB-HDDを接続した状態で下記のコマンドを実行します。



/bootは/dev/mmcblk0p1をマウントしている事が判ります。




接続されている状態を見ると/dev/mmcblk0p1と/dev/mmcblk0p2がSDカードに確保されている
領域です。また80GBのHDDが接続されているのが判ると思います。(手元に残っていた骨董品の
HDDです) 今回の作業としては、/dev/mmcblk0p2に/ のファイルが入っているので、
基本的にはその中身をHDDにコピーしてそちらから起動するようにすればおしまいです。


・HDDのフォーマット

以前Windowsに接続して利用していたのでHDDがNTFSでフォーマットされています。
このままでは使用に適さないのでext4にします。また、swap領域もファイルではなく
パーティション化したいので、パーティションについても再構成する事にします。

    ※注 次の作業を実施するとHDDの中身は全て削除されます

以下のコマンドを実行します。★がついている所は入力した箇所です。



上記の設定で72GBをOS/データ領域として確保し、残りの2.5GB程度をswap領域として
確保しました。続いて、ファイルシステムを作製(フォーマット)します。

以下のコマンドを実行してファイルシステムを作製します。



上記コマンドで、データ領域はLinuxで標準的なext4方式のファイルシステムを
作製します。




・HDDへファイルをコピーする

以下のコマンドを実行して現在使用しているSDカードの/dev/mmcblk0p2の内容を
先ほど確保した/dev/sda1にコピーします。SDカードとHDDカードの速度によりますが
数分かかると思います。RaspberryPi使いなら気楽に待ちましょう。





まずまずの速度でコピーしました(年代物のClass6 SDカードにしてはまずまずかと...)

続いてファイルシステムのチェックを行います。 今回はddコマンドでディスクの
内容をそのままコピーしましたが、エラーも一緒にコピーしてしまいます。
SDカードの場合はあまり信用できないので、ファイルシステムをちゃんと修復して
おいた方が良いです。





なんか出た…"Fix?"と聞かれたらYを押して修復して下さい。


これでファイルのコピーはできましたが、今回は4GBのSDカードから物理コピーをしてしまっ為、
HDDの利用可能な領域が4GBになってしまっています。(ddコマンドはそう言う物です)
このままでは折角のHDDの大半の領域を使用できませんので、全ての領域を使用できるように
リサイズします。







・コピーしたHDDをマウントする

続いてコピーしたファイルの確認とその後の書き換えの為にHDDをマウントします。
Raspbianにも/mntが最初から用意されているはずですので、とりあえずそこにマウントします。




正しくマウントできました。/dev/sda1が/mntにマウントされ68GB程使用可能な
状態になっています。


・Linuxブート時に使用する領域を差し替える

最後にLinuxのブート時に使用する領域を差し替えます。変更点は二箇所です。
まず、/boot/cmdline.txtを修正します。viで以下の内容を修正します。

  修正前
  dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
  
  修正後
  dwc_otg.lpm_enable=0 console=tty1 root=/dev/sda1 rootfstype=ext4 elevator=deadline rootwait


続いてfstabを更新します。但し、更新しなければいけないfstabはSDカードのfstabではなく
HDDのfstabですので、下記の様に/mnt/etcフォルダのfstabファイルを更新する必要があります。



以下の行を修正します。

  修正前
  /dev/mmcblk0p2 / ext4 defaults,noatime 0 1
  
  修正後
  /dev/sda1 / ext4 defaults,noatime 0 1


これで作業は完了です。再起動するとHDDにコピーした内容で起動するはずです。(SDカードは引き続き必要です!)
再起動後接続しているHDDのアクセスランプがチカチカしていれば成功です。
ログイン後以下のコマンドで確認できます。



いいですね。/dev/rootが非常に広くなりました。これで成功です!



う~ん。すっかりRaspberryPiをサーバーとして利用しています。家庭内で電源を
入れっぱなしにする用途であれば、省電力でファンレスのRaspberryPiも悪い選択では
ないと思います。今回HDDを付けたので無音ではありませんが、それでもファンレス
ですからね。まぁ、本音で言えばGbEに対応してくれると嬉しいのですが…。









さて、今回パソコン用の机のスペースをなんとか広げる為にガラス台を買いました。
これが意外と具合が良くて机がより有効に使えるようになりました。本当はL字型の
机とか置きたいのですが、机を買うお金ならなんとかなるけれども置く場所が無い…。
無念…。










« 液晶モニター交換後に文字を読みやすく調整する(ClearTypeテキストの調整) | トップページ | RaspberryPiのswap領域を変更する »

RaspberryPi」カテゴリの記事

コメント

ちょっとだけOC(800MHz)とこのHDD化でsamba4のmakeが初めて4時間切りました。
多少なりとも高速化もされるみたいです。

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1680410/58069779

この記事へのトラックバック一覧です: RaspberryPiをHDD起動にする:

« 液晶モニター交換後に文字を読みやすく調整する(ClearTypeテキストの調整) | トップページ | RaspberryPiのswap領域を変更する »