InstallUbuntu - kinneko/BBBB GitHub Wiki
Ubuntuを導入してみる
Ubuntuのインストール
BeagleBone Blackに、Ubuntuをインストールしてみましょう。
作業環境はUbuntu 12.04を使っています。
Ubuntuは、beagleboard.orgの公式な配布物はありません。
elinux.orgとarmhf.comで配布している2種類があります。
それぞれに特徴がありますので、以下にまとめます。
(ここにまとめる予定)
elinux.orgの配布物をインストールする
インストールには、Ubuntu環境が必要になります。
armhf.comの配布物をインストールする
ダンプされたイメージファイルで提供されているものと、ブートローダーとユーザーランドの2つのアーカイブで提供されているものの二種類があります。
配布バージョンも、Saucy(13.10)と(12.04LTS)があります。
armhf.comの配布物で、Bootボタンを押しながらでないと起動できない問題の解決
armhf.comの配布物には、Bootボタンを押しながら起動しないと起動できないという問題があります。
実際に使用する上では、とても不便なことです。
これは、おそらく、AngstromのNAND Flash書き換えようのブートローダーをそのまま使っているからではないかと想像しています(確認はしていません)。
この問題について、解消できないかと質問がありましたので、調べてみました。結果はこちらです。
調べてみると、ubootの設定ファイルと、起動環境の間に整合性がないことがわかりました。
これを解消するには、uEnv.txtにデフォルト設定を修正する設定を以下のように追記して、起動時に上書きします。
/boot/uboot$ sudo vi 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}
具体的には、起動用のkernelのファイル名が間違っているのと、kernelがuboot用にmkimageコマンドで処理されていないので、bootmでは起動できないため、bootzを使うことです。