Raspberry Pi 日記

長嶋 洋一


2013年5月15日(水)

前期は月曜に1コマ、火曜に3コマの講義があり、水曜日と木曜日は講義が無い。 今週は金・土と阪大に学会発表出張(+甲子園ライトスタンド観戦)の予定なので、今日と明日が「稼ぎ時」である。 実際には、まだ阪大でのプレゼンを作っていないし(^_^;)、来週の講義(「音楽情報科学」「サウンドデザイン」)の教材(講義ページ)は出来たものの、月曜4限の学科専門必修「メディア造形論」の学科教員持ち回り担当日なのに、そのプレゼンも作っていない(^_^;)。 まぁ、それは大阪往復の新幹線の車中、という予定なのである。 放課後には、今年度から水曜日に移動したアカペラがあり、連休中に3回のマラソンカラオケ(計23時間、計91曲)の成果として、今日のアカペラに新入生の見学・参加の表明が届いているのが、朝から楽しみでならない(^_^)。

まずはスタートの整理として、これまで手元にあったUnix/Linux/Raspberry Pi関係の資料、そして参考文献/資料についてまとめておこう。 書き出すと昔話が延々とあるが全て省略すると、とりあえずの登場人物として「ふーみん」は必須である。 現在、 東大 の先生をしている中村文隆さんであり、彼は僕にとってUnixの師匠であるが、僕は彼にとってComputer Musicの師匠である。 ともに京大理学部物理学科の卒業生で、20年ほど前、彼が京大ドクター時代に 僕の神戸山手女子短大音楽科の講義 の助手をしてもらって以来の付き合いで(その後、神戸山手の専任教員となり非常勤講師の僕を支えた)、音楽情報科学研究会やComputer Musicコミュニティが共通フィールドである。 ふーみんは強力なUnixオタクで、まだ日本に「Linux教の信者」が10人しかいなかった頃(まったく知られていない時代)からLinuxを使い倒している猛者である。 このページを含む僕のドメイン[nagasm.org]の共同管理者(root)にもなってもらっている。

以下の写真は、手元にあるRaspberry Pi関係の3冊の書籍であるが、分解したインプレスの本とCQ出版の本と並んでいる260ページの分厚い原稿は、まだ某出版社から出版される前の、ふーみんが執筆した「Raspberry Pi本」の校正前原稿である。 この本が出版されれば、日本のスケッチング業界でもまたRaspberry Piが大騒ぎになる事は確実であるが、この内容をテストユーザとして追いかけてみる、というのが、この「日記」のユニークなところになるかもしれない。 もちろん、たった4.6MBのPDFであるが、ふーみんの生原稿はここでは紹介できないので、あしからず(^_^;)。

さて、アナウンスから購入まで半年以上も待たされたRaspberry Piであるが、その間に手元に集めていた資料も整理しておこう。 以下のメモは最初のおさらいで、「Unix環境下でC言語のプログラムをコンパイルして実行する」という作業であった。

■MacOSXのターミナルでUnixする■

・ターミナルを起動する → 「/Users/nagasm」がdefault
	適当にDesktopなどにcdする

・ソースファイルはJeditで書き出す。拡張子は「*.c」

・コンパイルは「gcc ****.c」でOK → defaultの出力実行プログラムは「a.out」
	実行は「./」に続けてプログラムを指定する
	以下は出来た(^_^)

#include <stdio.h>

main(){
	printf("\n\tHello, World \n\n");
}

・その実行は「./a.out」でOK

・バックスラッシュの入力は「option+"?"」

・manから抜けるのは「control+"z"」

また、もう1年ほど前になるが、Raspberry Piを注文した時に、RSコンポーネンツから届いた「最新情報」という以下のメモもあった。

Rapsberry Piに関しての最新情報
If this e-mail isn't displaying correctly please click here.

https://eu.rs-email.com/pub/cc?_ri_=X0Gzc2X%3DWQpglLjHJlTQGhNza6E7ukLrn9zeYamjnza81zfozeApwuoHfrfzbDw8HrFMRVXtpKX%3DSRRYBRDWT&_ei_=EolaGGF4SNMvxFF7KucKuWOGPw6Bdvhs-6K7j8xi_jUm6w.Jg%3D%3D

Raspberry Piに関する最新情報

お客様のご登録情報
メールご登録ID: 3####7
ご登録日: 04/06

こちらより (Raspberry Piインフォメーションサイト)
https://eu.rs-email.com/pub/cc?_ri_=X0Gzc2X%3DWQpglLjHJlTQGhNza6E7ukLrn9zeYamjnza81zfozeApwuoHfrfzbDw8HrFMRVXtpKX%3DSRRYBSTWY&_ei_=EolaGGF4SNMvxFF7KucKuWMcpCo5wvQCpk3oqWSPqPGp6w_Rw52RdHZFP4Uv.Jg%3D%3D

いつ頃「Raspberry Pi」購入のご案内メールをお届け可能かが分かるようになりました。

2012年6月

当メールではお客様の登録に関する情報と、その他Raspberry Piに関する最新情報をお届けします。

RSでは今年8月までに約100,000個の入荷を予定しています。Raspberry Piのご注文時には、入荷予定に基づきお客様への出荷可能な日時をお知らせしております。

お待たせをしまして申し訳ございませんが、今後も順次入荷を予定しておりますので、案内の届いていない方は今しばらくお待ち下さい。

FAQはこちらよりご覧下さい。 FAQ's
http://authenticate.rsdelivers.com/staticpages/pi/faq.aspx

もっとRaspberry Piに関してお知りになりたい場合は、 エンジニアのためのコミュニティーサイト DesignSpark
http://www.designspark.com/ja/theme/raspberrypi
をご覧下さい。

Raspberry Piクィックスタートガイド
Raspberry Piの初期設定に関する記事になります。
http://rswww.co.jp/raspberrypi

https://eu.rs-email.com/pub/cc?_ri_=X0Gzc2X%3DWQpglLjHJlTQGhNza6E7ukLrn9zeYamjnza81zfozeApwuoHfrfzbDw8HrFMRVXtpKX%3DSRRYBSTUD&_ei_=EolaGGF4SNMvxFF7KucKuWOGPw6Bdvhs-6K7j8xi_jUm6w.Jg%3D%3D

Raspberry Piのアクセサリに関して
Raspberry Piはボードのみ出荷され、アクセサリ類は付いてきません。必要なアクセサリ類はこちらをご覧下さい。
http://rswww.co.jp/raspberrypi

https://eu.rs-email.com/pub/cc?_ri_=X0Gzc2X%3DWQpglLjHJlTQGhNza6E7ukLrn9zeYamjnza81zfozeApwuoHfrfzbDw8HrFMRVXtpKX%3DSRRYBSTWR&_ei_=EolaGGF4SNMvxFF7KucKuWOGPw6Bdvhs-6K7j8xi_jUm6w.Jg%3D%3D

RSでは「Raspberry Piキャンペーン」を実施中!
RSオンラインにご登録いただいた方の中から抽選で5名様にRaspberry Piをプレゼントします。キャンペーン期間: 2012年7月31日まで
http://rswww.co.jp/raspberrypi

https://eu.rs-email.com/pub/cc?_ri_=X0Gzc2X%3DWQpglLjHJlTQGhNza6E7ukLrn9zeYamjnza81zfozeApwuoHfrfzbDw8HrFMRVXtpKX%3DSRRYBSTWS&_ei_=EolaGGF4SNMvxFF7KucKuWOGPw6Bdvhs-6K7j8xi_jUm6w.Jg%3D%3D

その他Raspberry Piに関して
既にRaspberry Piをご購入をいただいた方の声など、Raspberry Piに関する最新ニュースはこちら。

https://eu.rs-email.com/pub/cc?_ri_=X0Gzc2X%3DWQpglLjHJlTQGhNza6E7ukLrn9zeYamjnza81zfozeApwuoHfrfzbDw8HrFMRVXtpKX%3DSRRYBRDWU&_ei_=EolaGGF4SNMvxFF7KucKuWOGPw6Bdvhs-6K7j8xi_jUm6w.Jg%3D%3D

Raspberry Piに関する日本語のFAQはこちら。
FAQ's
https://eu.rs-email.com/pub/cc?_ri_=X0Gzc2X%3DWQpglLjHJlTQGhNza6E7ukLrn9zeYamjnza81zfozeApwuoHfrfzbDw8HrFMRVXtpKX%3DSRRYBSTWW&_ei_=EolaGGF4SNMvxFF7KucKuWOGPw6Bdvhs-6K7j8xi_jUm6w.Jg%3D%3D

そして、ここから手元に「2012-09-18-wheezy-raspbian.zip」(460MB)をダウンロードしたり、ムービーを中心にいくつかの資料をゲットしていた。 ちなみに最新版として新たに「2013-02-09-wheezy-raspbian.zip」もダウンロードした。 明日あたりに注文していたSDカードが届いたら、さっそくこれを書き込む予定である。 そのためのマニュアルは以下である。

http://downloads.raspberrypi.org/verifying_an_image.html

Raspberry Pi Logo Raspberry Pi Distribution Downloads

File: 2013-02-09-wheezy-raspbian.zip
File Size: 470.72 MiB

You will be redirected in 5 seconds. Don't want to wait? Use a Direct Link.
SHA-1 Checksum: b4375dc9d140e6e48e0406f96dead3601fac6c81
Default login Username: pi Password: raspberry

Verifying an Image

The Raspberry Pi Images come with an SHA-1 Checksum. These are usually shown as a long series of characters that represent the value that was calculated when a mathmatical calculation was performed on the contents of a file that has been made available for download. The checksum is used to verify that the content is authentic and has neither been altered by an unauthorized third party, nor been damaged during the transfer process across the Internet.

MAC Instructions:

1. Download the image file from the Raspberry Pi website and make sure you have the icon of the downloaded file displayed somewhere in the Finder.

2. Open the Terminal application.

3. Run "/usr/bin/openssl sha1" (without the quotes), then put a space, drag the image file into the command prompt and press enter. Note that the command can take a few minutes to complete.

4. Compare the hash you have with the one specified on the page where you downloaded the file from

5. If they are the same then the file has been downloaded successfully. If the hash does not match you will have to download the file again.

そして、これまで観たことがなかったが、約1年前に、手元にゲットしていた上記のRaspberry Pi紹介サイトにあったデモ/チュートリアルのmovieを、ざっと確認してみた。 全て英語であるが(^_^;)、まあ、いい勉強である。 これ は、Raspberry Piとケーブルや周辺機器の接続についての解説である。 これ は、接続したRaspberry Piの電源を起動するあたりの解説である。 これ は、別なユーザが全体のチュートリアルをざっとまとめた記録のようである。 これ は、SDカードを最大容量まで拡張する方法の解説である。 これ から全16話のチュートリアルが並ぶが、まずはDebian Linuxの解説である。 これ は、VNCを使ってホストPCの画面内にRaspberry Piのリモート画面を表示する話題である。 これ は、Raspberry PiでC言語のプログラミングを行う、という話である。 これ は、コーディングスタイル(美しくプログラミング(^_^))という話である。 これ は、C言語でグラフィクスなどを交えたゲームを開発する概要である。 これ は、「初めてのゲーム・プログラミング」である。 これ は、ゲームのプログラミング・テクニック等の話題である。 これ は、「Pi Shooter」と名付けたサンプルゲームを完成にまでもっていく話である。 これ は、次のターゲットとして「Pi Snake」と名付けたゲームの開発を始めたところである。 これこれこれこれこれこれこれ は、その続きである。 これ は、Fedora's GUIという環境のインストールに関する話である。 これ は、GTK(Graphical ToolKit)で最初のC言語プログラミングをする、という話の前半である。 これ は、GTKで最初のC言語プログラミングをする、という話の後半である これ は、プログラミングに関する別のサンプルの話である。 これ は、プログラミングに関するまた別のサンプルの話である。 これ は、Raspberry Piチュートリアル全体の俯瞰のようである。 これ は、Xbox Media Centerにアクセスする事例紹介のようである。 結局、これらのチュートリアルビデオでは、Raspberry Piを小型のパソコンと位置付けていて、ふーみんの本のような物理コンピューティングの視点はほとんど無い、と確認できた。 つまり、今後、これをじっくりとまた観ることは、無いような気がする(^_^;)。

・・・ここまでグズグズしてなかなか踏み出さないのには理由があり、明日あたりに届くという、注文していたRaspberry Piシステム実験用の小型キーボードと小型マウスとSDカードを待っているからである。 ここの写真 に映っている小型の液晶テレビはビデオ信号モニタとして活用できるが、繋いでいるキーボードはMac用なので、微妙に文字コードが違っているのである。 また、いつもトラックボールを使っているので、ついでに小型マウスも購入したので、この風景はあくまで暫定である。 既に ここここ にあるように、Raspberry Piが立ち上がってLAN経由でインターネットの世界にまで出かける、という事は確認しているので、次に行うのはSDカードにOSのミラーイメージを書き込むところなのだが、その肝心のSDカード(4GB)は明日に納品予定なのである。

しかしここで思い出したのが、実験用に過去に仕入れていた、上の16GBのSDHCカードの存在だった。 幸いにも色々なデータのバックアップに使っているものの、4枚ほど使わずに余っていることが判明したので、今日はこれをやってみる事にした。 手順をこの日記に書いておけば、もう手元の文献(書籍)の完了したページはどんどん取り外して捨てていく、という方針である(^_^;)。 まずは、作業開始のデスクトップは以下である。2画面を開いたMac miniであるが、ターミナル、このHTMLファイル、サーバに送るFTPソフト、モニタするブラウザなどが広がっている。(^_^;)。

SDカードに書き込む方法は、文献ではLinuxとかWindowsとかも書かれているが、ここはMacOSXだけで十分である。 ユーティリティの「ターミナル」アプリケー ションをまず起動して、「diskutil list」とすると以下のようにディスクの一覧が出た。 これは内蔵HDD(160GB)と、外付けのTime Machine用500GBである。

nagasm-Mac-mini:Desktop nagasm$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *160.0 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS mini                    159.7 GB   disk0s2
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:                  Apple_HFS work13                  499.8 GB   disk1s2
そしてここでSDカードリーダにSDカードを挿して再び「diskutil list」とすると以下のようにディスクの一覧が変化した。
nagasm-Mac-mini:Desktop nagasm$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *160.0 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS mini                    159.7 GB   disk0s2
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:                  Apple_HFS work13                  499.8 GB   disk1s2
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        *16.1 GB    disk2
   1:        Apple_partition_map                         32.3 KB    disk2s1
   2:                  Apple_HFS 15GB-37                 16.0 GB    disk2s3
明らかに、新たに登場した「/dev/disk2」が、容量からもSDカードである。 このドライブを間違うと、HDDを消去してしまうので、ここは注意が必要なのである。 この状態ではOSがSDカードをドライブとしてマウントしているので、まずマウントを解除する必要がある。 ターミナルから「diskutil unmountdisk /dev/disk2」と打つと、「Unmount of all volumes on disk2 was successful」と表示されて、以下のようにアイコンがデスクトップから消えた。



これに続いて「dd」コマンドでSD カードにディスクイメージを書き込むことになる。 注意点としては、カレントディレクトリにイメージデータがある必要があるが、既にzipを解凍したイメージファイルはデスクトップにあり、ターミナルでデスクトップに移動しているので、ここはOKである。 また、ddコマンドはroot権限で実行する必要があるが、もともとお仕事用Macでは僕はrootなので、本に書かれている「sudo」はここでは不要である。 ということで、ふーみん本に従って、ターミナルから「dd if=2013-02-09-wheezy-raspbian.img of=/dev/disk2 bs=2M」と打ってみたところ、「dd: bs: illegal numeric value」と断られた(^_^;)。 ドキッとしたが、インプレス本では「bs=2M」でなく「bs=1m」と書かれていたので、「dd if=2013-02-09-wheezy-raspbian.img of=/dev/disk2 bs=1m」と入れると、無事に書き込みがスタートした(^_^)。 そして約5分後、無事に以下のようなメッセージが出て、1.9GBのLinuxの入ったSDカードになった。成功である。

デスクトップには、新たに以下のような内容のドライブが出現した。 16GBのSDカードのはずなのに、ほとんど残りが無い状態なので、これはRaspberry Piの環境設定機能で拡張する必要がある。 そこでターミナルから「diskutil unmountdisk /dev/disk2」と打つと、ちゃんとアイコンがデスクトップから消えたのでSDカードを外した。

そして、せっかくなので以下同文の繰り返しで、SDカードを計4枚、Raspberry Pi用に書き換えた。 次のSDカードを入れて、ドライブのアイコンと「/dev/disk2」を確認してアンマウントしようとしたらエラーになったが、これはFTPソフトが掴んでいるためであり、FTPソフトを一旦quitすると問題なく作業できた。 そして、いよいよ手元にあったRaspberry Piに入っていた、OS入りとして1枚だけ購入していたSDカードを、この新しいSDカードに差し替えて、まずは立ち上げてみた。 すると以下のように、何故か「generating swapfile ...」というメッセージとともに、長い長い沈黙に入った(^_^;)。

そしてこのまま10分以上、何も変わらないのを確認して、Raspberry Piから電源プラグを抜き、数秒してから、再度リブートした。 電源スイッチがないので、立ち上げ直すにはこれしかない。 すると今度は、以下のような表示が出て、5分間、待つのだという(^_^;)。なんだこりゃ。

ここで再び電源を抜いて、しばらくして入れても同じである(^_^;)。 これはヤラレタかもしれない。 とりあえずこの37番のSDカードを諦めて、38番の同等の(筈の)SDカードに差し替えてRaspberry Piを立ち上げてみた。 すると以下のように、「generating swapfile ...」で止まることもなくLinuxが立ち上がってあっさりと環境設定メニューに入ったので、SDメモリカードの領域拡張と、SSHサーバをイネーブルに設定してリブートした。 これは、もしSDカードが1枚きりだったら行き詰まっていたところだったが、助かった。 37番のSDカードは、もう一度、この合間にイメージ書き込みを行うこととした。

・・・しかし今度は、上の再起動で行う領域拡張のメッセージが、15分以上したところで画面から消えて真っ暗になってまたまたドキッとしたが、これはスクリーンセーバであって、キーボードのエンターキーで現れてくれた。 5分以上経過して、37番のSDカードのイメージ書き込みが終わっても、まだまだSDカードのリサイズは終わらない。 なかなかに不安な時間が経過した後に、以下のように今度は文字化けの画面となった。 キーボードのロケールをしていなかったからか(^_^;)、「pi」でのログインも出来ない。

とりあえずRaspberry Piの電源を抜き、再び立ち上げてみると、今度はさっきと違うところで止まったままになり、しばらくして表示が進んではまた止まり、と不思議な挙動を繰り返していて、20分たってもログイン画面まで到達しない。 うーーむ、なかなかRaspberry Piは厄介だぞ。

ここで、改めてRaspberry Piのハードウェアの正常(だいぶ基板が暖まったので温度の影響を懸念)を確認するために、Raspberry Piと一緒に買った4GBのSDカードに差し替えて立ち上げてみると、まったく何の問題もなく正常だった(これまで省略していたshutdownもちゃんと出来た)。 これを確認してから再び38番のSDカードに差し替えて立ち上げてみると、さっきとはまた違う、これまで見たことのない膨大なタイムアウトエラーと何かプロセスをkillしまくる(^_^;)、というメッセージが延々と出続けた。 止まっているよりはいいものの、いつまでたってもタイムアウトエラーを表示し続けるというのもあまり嬉しくない(^_^;)。


「Raspberry Pi日記」トップに戻る