2011年12月08日
KZM-A9-DualボードでARM Ubuntu 11.10を使う
今まで何度かKZM-A9-DualボードでARM Ubuntuを使う方法を書いていますが、今回は11.10でやってみました。
ARM Ubuntuのルートファイルシステムの作成
PCのUbuntu 11.10から
$ sudo apt-get install rootstock $ sudo rootstock --fqdn arm-oneiric --login user --password user --seed openssh-server --serial ttyS1
NFSのルートディレクトリを/export/ubuntu_1110_armel/root/とすると
$ sudo tar pxvf armel-rootfs-201112051931.tgz -C /export/ubuntu_1110_armel/root/
(2011.12.20追記。rootstockを使わずにLinaroのダウンロードページにあるものを利用する場合はこちら。
起動
NFSサーバのIPアドレスを192.168.1.126とすると
kernelに与えるブートパラメータは
root=/dev/nfs nfsroot=192.168.1.126:/export/ubuntu_1110_armel/root ip=dhcp noinitrd \ mem=129M@0x40000000 mem=256M@0x50000000 debug console=ttyS1,115200n8n \ video=qfb rootwait rw
ブートログ
....
[ 1.620000] mmc0: new high speed MMC card at address 0001
[ 1.620000] mmcblk0: mmc0:0001 000000 3.82 GiB
[ 1.630000] mmcblk0: p1 p2 p3
[ 2.090000] net eth0: SMSC911x/921x identified at 0xe0840000, IRQ: 167
[ 3.100000] Sending DHCP requests .., OK
[ 5.270000] IP-Config: Got DHCP answer from 0.0.0.0, my address is 192.168.1.139
[ 5.270000] IP-Config: Complete:
[ 5.280000] device=eth0, addr=192.168.1.139, mask=255.255.255.0, gw=192.168.1.62,
[ 5.280000] host=192.168.1.139, domain=kmckk.jp, nis-domain=(none),
[ 5.290000] bootserver=0.0.0.0, rootserver=192.168.1.26, rootpath=
[ 5.300000] Looking up port of RPC 100003/2 on 192.168.1.26
[ 5.310000] Looking up port of RPC 100005/1 on 192.168.1.26
[ 5.320000] VFS: Mounted root (nfs filesystem) on device 0:12.
[ 5.320000] Freeing init memory: 120K
modprobe: FATAL: Could not load /lib/modules/2.6.35.7/modules.dep: No such file or directory
modprobe: FATAL: Could not load /lib/modules/2.6.35.7/modules.dep: No such file or directory
Ubuntu 11.10 arm-oneiric ttyS1
arm-oneiric login:
ユーザー名、パスワードはrootstockコマンドで指定したものです。今回ならユーザー名:user、パスワード: user
このログからターゲットのIPアドレスが192.168.1.139になったとわかるので、以下のようにsshでもログインできます。
$ ssh -l user 192.168.1.139
ログインして各種の設定
modprobeのエラーメッセージは以下のように該当ファイルを作成すれば消えます。
arm-oneiric$ sudo mkdir -p /lib/modules/2.6.35.7 arm-oneiric$ sudo touch /lib/modules/2.6.35.7/modules.dep
時刻合わせ
arm-oneiric$ sudo /etc/network/if-up.d/ntpdate
起動時に毎回これを行うように、/etc/rc.local にこれを追加します。
タイムゾーンの設定
arm-oneiric$ sudo dpkg-reconfigure tzdata
Asia/Tokyo にセットします。
gccなどビルドに必要なツールの一括インストール
arm-oneiric$ sudo apt-get install build-essential
カーネルのリビルド
Android用のカーネルをそのまま使うと、一般ユーザでのsocketの作成が禁止されています。これでは困るので、ANDROID_PARANOID_NETWORK=n でカーネルをリビルドします。