2014年5月27日火曜日

BeagleBone BlackにDebianをインストール

BeagleBone BlackにDebianをインストールしてみたメモ。


カーネルからビルドして〜って言ってみたいトコロだけど、そんな知識も技術もないのでビルド済みのイメージファイルをダウンロードしてみる。

見つけたBBB用のDebianイメージファイルは以下の二つ。
ARMhf
Embedded Linux Wiki
前者は極々シンプルな構成のイメージファイルで、多くのインストール解説サイトでも紹介されている。後者はCloud9 IDE、BoneScript libraryなどeMMCにインストールされている環境がAngstromではなくDebianの上に乗っかってる状態でのイメージファイル。占有ディスクサイズを除けば利便性はコチラの方がいいかと思う。

と言いつつスッカラカンの前者(ARMhf)をインストールする方向でのメモ。

ちなみに、母艦として使っているのはMac(OSX10.9.3)とFusionにインストールしたUbuntu14.04。イメージファイルをインストールするmicroSDは16GBのものを使用しています。

まずは、イメージのダウンロード。HP直DLでも"wget"でもお好きな方で。
このメモ記載時点でのダウンロードしたイメージファイルは、
debian-wheezy-7.2-armhf-3.8.13-bone30.img.xz
なので、コチラを解凍。解凍方法もご自由に。

SDカードへの書き込み

解凍が終わったらSDカードリーダーをUSBにぶっ挿し"df"でデバイス名称を確認します。
ワタシの場合は、/dev/rdisk1に接続されてるのが確認出来たのでメモはコレで進めます。

このまま書き込みするとエラーが返されるので、ディスクの認証を解除してからイメージの書き込みを行います。
OSX terminal
$ sudo diskutil umount /dev/disk1s1
$ sudo dd bs=1m if=Downloads/debian-wheezy-7.2-armhf-3.8.13-bone30.img of=/dev/rdisk1
1832+0 records in
1832+0 records out
1920991232 bytes transferred in 77.065212 secs (24926827 bytes/sec)
ってな感じ。

これでBeagleBone BlackにSDを挿して替えて起動すれば終了!!

なんだけど、DHCP環境がない場合やら固定IPにしたい場合やら、起動時に"Boot Button"押しながらってのが面倒だとかって色々あると思うので、事前にまとめて対応しちゃおう!ってのが以降の内容です。

ネットワークの設定

SDカードをFusion上のUbuntuで認識させます。
"df"で"rootfs"か"rootfs〜ナンチャラ〜"ってドライブを確認して、そこに移動してネットワーク設定を行います。
Fusion Ubuntu terminal
$ cd /media/$USER/rootfs
$ sudo vi etc/network/interfaces
# loopback network interface
auto lo
iface lo inet loopback

# primary network interface
auto eth0
iface eth0 inet static
    address 192.168.7.2
    netmask 255.255.255.0
    network 192.168.7.0
    gateway 192.168.7.1 
と、赤字の部分を修正&追加。
ついでに、もう一個設定変更。

apt-getのsources.listを変更

標準で設定されているリポジトリだと貧弱なので、思い切ってまるごと差し替え。

Fusion Ubuntu terminal
$ sudo vi etc/apt/sources.list
deb http://ftp.us.debian.org/debian/ wheezy main contrib non-free
#deb-src http://ftp.us.debian.org/debian/ wheezy main contrib non-free

deb http://ftp.us.debian.org/debian/ wheezy-updates main contrib non-free
#deb-src http://ftp.us.debian.org/debian/ wheezy-updates main contrib non-free

deb http://security.debian.org/ wheezy/updates main contrib non-free
#deb-src http://security.debian.org/ wheezy/updates main contrib non-free

#deb http://ftp.debian.org/debian wheezy-backports main contrib non-free
##deb-src http://ftp.debian.org/debian wheezy-backports main contrib non-free

deb [arch=armhf] http://debian.beagleboard.org/packages wheezy-bbb main
#deb-src [arch=armhf] http://debian.beagleboard.org/packages wheezy-bbb main
追加していっても問題ないんだけど、面倒なので丸ごと書き換えてます。
次に"Boot Button"対策。

BBB起動設定

コチラは、"df"で確認出来る"boot"ってドライブへ移動して"uEnv.txt"ってファイルに赤字部分を追加します。
Fusion Ubuntu terminal
$ sudo vi /media/$USER/boot/boot/uboot/uEnv.txt
mmcpart=2
bootfile=zImage
optargs=fixrtc
uenvcmd=i2c mw 0x24 1 0x3e; kd=0; if test $mmcdev -eq 1; then mmc dev 0; if mmc rescan; then kd=1; fi; mmc dev 1; fi; setenv mmcroot /dev/mmcblk${kd}p${mmcpart} ro
loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdtaddr} ${bootdir}/dtbs/${fdtfile}
loadimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${bootdir}/${bootfile}
mmcboot=echo Booting from mmc ...; run mmcargs; bootz ${kloadaddr} - ${fdtaddr}
以上で完了。

こんどこそ、BeagleBone BlackにSDを挿して替えて起動すれば終了!!

0 件のコメント:

コメントを投稿