Raspberry Pi Type B+にUSBメモリ増設

RaspberryPIを買って早1月以上。そろそろディスク容量も乏しくなってきました。もともと余っていた32GのMicroSDを挿していたのですが、データが増えるにつれてちょっと残りが寂しくなってきたので、上海問屋の64GUSBメモリを購入しました。

RaspberryPIはUSB3.0対応ではないので、USB2.0の安いものをチョイス。送料込みで3400円くらい。安い。。

早速挿してみました。フォーマット自体はFAT32。プラグアンドプレイなので差し込むだけでOK。コマンドラインからマウントしてやります

こんだけ。マウント簡単。しかしここで問題が発生。

どうやら一般ユーザでは書き込めない模様。権限も変更できず。まあ、FATなので権限もクソもないのでどうしょうもないのでしょう。ちなみにROOTユーザなら読み書きOKですがそれだと使いづらいので、EXT4にフォーマットし直してやります

mkfsでフォーマット

ついでにマウント先も変更しました

Raspberry Pi TypeB+で遊ぶ

昨日ポチッたRaspberryPi、早速届きました。RSコンポーネンツさん仕事が早いです。

早速セットアップ。

MicroSD

上海問屋で以前入手したトラセンドの32G

microUSB電源アダプタ

ソニーエリクソンのMW1付属のものを流用。

モニタ

ソニーの液晶テレビ

要は家にある物でなんとかしてみました。セットアップはMacOSXで行います

SDのフォーマット

通常のフォーマットでFAT32にしておけばOK。

raspberry piのImageのダウンロード

http://www.raspberrypi.org/downloads/

こちらからRASPBIANのZIPファイルをダウンロード。解凍しておきます

イメージの書き込み

ディスクをマウントしコマンドプロンプトのdfで確認します

/dev/disk2s1がSDのデバイスです。マウントを外し書き込んでいきます。

4、5分でイメージが書き終わります。

起動

HDMIケーブルをテレビと接続し、SDカードをセットしたら電源コネクタにマイクロUSBの電源を差し込みます。テレビに起動コンソールが映り始めればOK

だめな場合には、LEDランプの緑がちかちかしているかどうか確認します。こちらがどうやらディスクアクセスのランプのようです。うまく起動画面が出ない場合にはSDにOSがうまく書き込めていないと思いますので、ディスクを変更するなどし再度チャレンジしてください。

RaspberryPIのセットアップ

起動したらディスクやLocaleの設定などを行います

1.Expand Filesystem

そのままの設定だと2GしかSDカードを使ってくれないのでこちらのメニューからすべての領域を使うようにします

4.Internationalisation Options

I1 Change Locale

ロケールをja_JP.UTF-8へと変更

I2 Change Timezone

Tokyoへ変更

I3 Change Keyboard Layout

General Keyboard 105 あたりからJapaneseを選択

8. Advanced Options

A4 SSH

これをONにしておくと外部からSSHでログイン可能

ここまででだいぶ使いやすくなるかと思います。あと固定IPの方が使いやすいのでネットワークの設定を行います。

自宅のネットワーク構成に合わせてaddressとgatewayを設定します。

これで一通りの設定ができたかと思います。必要なパッケージはapt-getが使えるので簡単にインストールできるのが楽ですね

Linuxでミリ秒まで取得

ansiのC言語で用意されているtime関数では現在時刻をミリ秒まで取得できません。そこでLinuxならではの取得方法の覚え書きです

gettimeofday関数を用いてミリ秒を取得します

以下のサンプルではミリ秒単位で現在時刻を取得し、2つの時間の差を求めています

sshでsudoを使ってtomcatをスタートする

  • centos 5系

どうやらttyがないとエラーになるらしいので以下のオプションをつける

このままだとスタートアップしてもsshでログアウトするとTOMCATも終了してしまう

nohupを使うことによりログアウト後もTOMCATが終了しない

ちなみに/etc/sudoersは

さらにパスワードを入れるのが面倒な場合は

  • remotestart.sh

このシェルを実行

iptablesでNAT変換しTOMCATをポート80で動かす

色々やりかたはあると思うのですが、ROOT権限で動かしたくなかったので

iptablesでNAT変換します