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 でカーネルをリビルドします。