chakokuのブログ(rev4)

テック・コミック・DTM・・・ごくまれにチャリ

BeagleBoneにDebian(squeeze)を入れる

BeagleBoneは購入した際、Linux(Angstrom)が入っていますがちょっと使い慣れないので普段使っているDebianを入れてみた。
スマートなやり方は最少セットをSDに焼いてネットインストールさせる方法だと思いますが、どうもネット上で公開されているバイナリでは自分のBeagleBone(Rev.A6a)で正しくセットアップできなかった*1ので、イメージをSDに焼いてブートさせた。手順は以下

PCのDebian環境でSDカードを焼いています。


wget http://ynezz.ibawizard.net/beagleboard/squeeze/squeeze-minimal-armel-2011-12-23.tar.xz
tar xJfv squeeze-minimal-armel-2011-12-23.tar.xz
cd squeeze-minimal-armel-2011-12-23
./setup_sdcard.sh --mmc /dev/sdd --uboot bone
同梱されているスクリプト;setup_sdcard.shでSDにイメージを展開します。SDカードのデバイス名は/dev/sddとしていますが、環境によって異なるので適切なデバイス名に変更してください。スクリプトでは可能性のあるドライブをリストにして最終確認してくるので万一間違ったデバイスを指定しても、いきなりルートデバイスが消されてしまうことはありません。
PCに接続されているデバイスを正しく確認する方法について本来の正しい手順があるかと思いますが、例えば、fdisk -l とすればデバイス一覧が表示されます。一覧の中からSDを刺して増えたデバイスがSDカードであると推測できます(サイズが数GBで、FATフォーマットになっている)。(ちょっと我流のやり方かもしれません)

なおインストールが開始された後、パッケージ不足により以下のようなメッセージが出ました。


Ubuntu/Debian: sudo apt-get install uboot-mkimage wget pv dosfstools btrfs-tools parted
文字通り、上記パッケージがないので、手順に従って不足分をPCのLinux環境にインストールします。
できあがったSDをBeagleBoneに刺して起動させます。上記のKernelバージョンではUserLEDが点滅しない仕様のようです。(普段チカチカ光っているユーザ用LEDがまったく点灯しないのでブートに失敗したと誤解しました)
従来通り、USB経由でシリアル接続できます。ID/PWDは以下です。

ID/PWD
debian/temppwd root/root

今後のやることは。。
Kernelソースをインストールして、ローダブルモジュールを試作する→デバドラを作ってみる。。

■追記

このイメージはKernelVersionが3.1.0のようで、バージョンが上がりすぎるので、どうにかしてsqeezeの公式サポートバージョンまで下げる必要がある。。(ソースヘッダパッケージ等も出ていないようなので。。)
DebianはこれぐらいにしてArchiLinuxに移るべきか。。

■ご参考URL

BeagleBoardDebianを入れるWiki(主にネットインストール手順)
http://elinux.org/BeagleBoardDebian

本家Debianのインストール資料(この手順ではやっていません。ご参考まで)
http://wiki.debian.org/InstallingDebianOn/TI/BeagleBone

*1:DHCPが取れる所までは動くけどその後のネットワーク設定でどうもエラーになるようだ。ネットインストールでネットが使えないと致命的ですね。。