PandaboardにUbuntu+地デジサーバを(Ubuntu10.10インストール&使用可能なメモリを増やす編)

==必要なモノ==
* Pandaboard
* SDカード(4Gバイト以上)
* 母艦PC (Linux) ※他のOSでも可能と思われますが、使用するツールが異なります

最低限必要なのは上記だが、地デジデータを保存するためには大容量のメディアが必要となるため、当方では64GバイトのUSBメモリを用意した。またSDカードはSandisk社32Gバイトの製品を使った。

==Ubuntuのインストール==

[http://www.omappedia.com/wiki/OMAP_Ubuntu_Main OMAP Ubuntu Main -OMAPpedia] から、『Quick Start Guide』を開き、そちらに書いてある手順に従えば良い。

===ダウンロード===

[http://www.omappedia.com/wiki/Prebuilt_ubuntu_binaries PandaBoard Prebuilt Ubuntu binaries] から filesystem のリンク先をダウンロードする。

$ wget http://cdimage.ubuntu.com/ubuntu-netbook/ports/releases/10.10/release/ubuntu-netbook-10.10-preinstalled-netbook-armel+omap4.img.gz

===SDカードのフォーマット===

母艦PCからSDカードにイメージを書き込む。以下の手順によりSDカードは初期化されるので、消えたら困るファイルがないように注意すること。

$ sudo fdisk -ls

などと入力して、SDカードに対応するデバイスファイルを確認する。

デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 1 17062 63470610 83 Linux

などと表示されるので、これにより把握する。
そして、

$ sudo sh -c ‘zcat ./ubuntu-netbook-10.10-preinstalled-netbook-armel+omap4.img.gz > /dev/sdb’

として、SDカードにイメージを書き込む。

$ sync

として、SDカードに確実に書き出しを実施する。

===起動===

[http://www.omappedia.com/wiki/Ubuntu_Prebuilt_Platform_Configuration PandaBoard Configuration] にあるとおりに接続して Pandaboard を起動する。

無事起動すれば、見慣れたUbuntuのログイン画面が表示されるはずです。

===サーバ用途に向けてカスタマイズ===

グラフィカルな画面が表示された喜びもつかの間、少し考えれば、GUI は使わないのでメモリの無駄遣いにしかならないと気づくはず。

そこで、U-Bootというブートローダのパラメータを修正します。ポイントは以下のとおり。

/boot/boot.script を修正
* splash 削除
* text 追加
* メモリも増やす

具体的には以下のとおりです。

setenv bootargs quiet splash ro elevator=noop vram=32M mem=460M@0x80000000 mem=256M@0xA0000000 root=UUID=54311947-79da-457f-8767-732aac6b6c25 fixrtc
↓↓↓↓↓↓↓↓
setenv bootargs quiet text ro elevator=noop vram=32M mem=460M@0x80000000 mem=460M@0xA0000000 root=UUID=54311947-79da-457f-8767-732aac6b6c25 fixrtc

Kernelのバグが原因でPandaboardはせっかく1GBのDRAMが搭載されているにも関わらず、460MB+256MBという構成が認識できる最大容量となっているとのことだが、どうやら460MB+460MBでも動作するらしい。ということで、そのあたりのパラメータも修正してある。

$ sudo apt-get install uboot-mkimage
$ sudo mkimage -A arm -T script -C none -n “Pandaboard boot script” \
-d boot.script boot.scr

上記ににより、boot.scrを作成する。

$ sudo mount /dev/mmcblk0p1 /mnt
$ sudo cp /mnt/boot.scr /mnt/boot.scr.orig
$ sudo cp boot.scr /mnt/

リブートしたら、懐かしい!?コンソールによるログインプロンプトが表示されるはず。

GUIを表示させたければ、ログインした後、”startx”すれば良い。

$ startx

メンテナンスを行っていく場合、GUIが好みならstartxすれば良いし、頑張って、モニタをDVIやHDMIでつないでコンソールを使うのも良い。当方では、sshdをインストールして、母艦PCからsshによりログインしている。