日記/2006-06-11
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
] [
リンク元
]
開始行:
*QEMU [#q7571d71]
気が向いたのでいじってみる.
** 資料 [#c3e14553]
ざっくりぐぐってみる.
:http://fabrice.bellard.free.fr/qemu/|本家
:http://www.h7.dion.ne.jp/~qemu-win/qemu-doc-ja.html|日本...
** インストール [#f936fe24]
debian 環境なので,さっくりと
# apt-get install qemu
で.
** ARM エミュレーション [#n6f1b698]
http://fabrice.bellard.free.fr/qemu/download.html に,吊...
で,README にあるとおりに
$ qemu-system-arm -kernel zImage.integrator -initrd arm_...
と実行.
あっさり起動する.
#ref(screen.png,center)
** ターゲットの NIC を有効に [#lba1a359]
$ sudo qemu-system-arm -kernel zImage.integrator -k ja -...
root 権限が無いと tap0 のアクセスができないようなので,su...
** /proc/config.gz [#l94ef212]
README によると,「カーネルのコンフィグレーションは /proc...
確かに
# zcat /proc/config.gz | more
で見ることはできる.
が,しかし,
> この内容をエミュレータから持ち出す手段が無い
ということに気がつく.
ftp コマンドも無ければ,httpd も無い.
うーん,と考えたあげくに
> そうだ,NFS だ
ホストマシンのディレクトリをエミュレータマシンへ mount す...
** NFS にチャレンジ(失敗) [#f96fe87f]
というわけで,NFS.
まずは,ホストマシンの設定.
/etc/exports に
/home 172.20.0.*(rw,no_root_squash,async)
というエントリを追加する((セキュリティ的には,あっぱっぱ...
で,
# /etc/init.d/nfs-kernel-server restart
で,NFS サーバを再起動.
そして,ターゲット上で
# mount 172.20.0.1:/home/armroot /mnt
と実行してみるが…
portmap が無いので失敗してしまう.
うーむ.
** かくなるうえは,nfsroot [#ieb6317e]
というわけで,root filesystem を nfs に指定しての起動にチ...
この場合は portmap は必要ありません.
幸いにして,/proc/config.gz を見る限りでは,nfsroot の起...
まずは,export するディレクトリツリーの作成.
付属の arm_root.img を使用する.
このファイルは cpio イメージを gzip 圧縮してあるので
# cd /home/armroot
# zcat arm_root.img | cpio --extract
で,/home/armroot 以下に展開できます.
$ sudo qemu-system-arm -kernel zImage.integrator -k ja -...
-append 'root=/dev/nfs nfsroot=172.20.0.1:/home/armroot \
ip=172.20.0.2::172.20.0.1:255.255.0.0:::'
で,いざ,起動.
メッセージを見る限りでは mount には成功しているようなのだ...
ターゲットファイルシステムの /etc/init.d/rcS を見る.
ifconfig eth0 10.0.2.15 up
rdate 10.0.2.2
ip route add default via 10.0.2.2
こんな行があるので,コメントアウトしてやります.
あと,起動直後は nfsroot は readonly で mount されている...
mount -o remount,rw /
を追加.
そして,再度チャレンジ.
今度はうまくいきました.
書き込みも ok.
というわけで,ターゲット上で
# cat /proc/config.gz > config.gz
を実行し,config.gz の内容をホストマシンに持ってくること...
めでたしめでたし.
終了行:
*QEMU [#q7571d71]
気が向いたのでいじってみる.
** 資料 [#c3e14553]
ざっくりぐぐってみる.
:http://fabrice.bellard.free.fr/qemu/|本家
:http://www.h7.dion.ne.jp/~qemu-win/qemu-doc-ja.html|日本...
** インストール [#f936fe24]
debian 環境なので,さっくりと
# apt-get install qemu
で.
** ARM エミュレーション [#n6f1b698]
http://fabrice.bellard.free.fr/qemu/download.html に,吊...
で,README にあるとおりに
$ qemu-system-arm -kernel zImage.integrator -initrd arm_...
と実行.
あっさり起動する.
#ref(screen.png,center)
** ターゲットの NIC を有効に [#lba1a359]
$ sudo qemu-system-arm -kernel zImage.integrator -k ja -...
root 権限が無いと tap0 のアクセスができないようなので,su...
** /proc/config.gz [#l94ef212]
README によると,「カーネルのコンフィグレーションは /proc...
確かに
# zcat /proc/config.gz | more
で見ることはできる.
が,しかし,
> この内容をエミュレータから持ち出す手段が無い
ということに気がつく.
ftp コマンドも無ければ,httpd も無い.
うーん,と考えたあげくに
> そうだ,NFS だ
ホストマシンのディレクトリをエミュレータマシンへ mount す...
** NFS にチャレンジ(失敗) [#f96fe87f]
というわけで,NFS.
まずは,ホストマシンの設定.
/etc/exports に
/home 172.20.0.*(rw,no_root_squash,async)
というエントリを追加する((セキュリティ的には,あっぱっぱ...
で,
# /etc/init.d/nfs-kernel-server restart
で,NFS サーバを再起動.
そして,ターゲット上で
# mount 172.20.0.1:/home/armroot /mnt
と実行してみるが…
portmap が無いので失敗してしまう.
うーむ.
** かくなるうえは,nfsroot [#ieb6317e]
というわけで,root filesystem を nfs に指定しての起動にチ...
この場合は portmap は必要ありません.
幸いにして,/proc/config.gz を見る限りでは,nfsroot の起...
まずは,export するディレクトリツリーの作成.
付属の arm_root.img を使用する.
このファイルは cpio イメージを gzip 圧縮してあるので
# cd /home/armroot
# zcat arm_root.img | cpio --extract
で,/home/armroot 以下に展開できます.
$ sudo qemu-system-arm -kernel zImage.integrator -k ja -...
-append 'root=/dev/nfs nfsroot=172.20.0.1:/home/armroot \
ip=172.20.0.2::172.20.0.1:255.255.0.0:::'
で,いざ,起動.
メッセージを見る限りでは mount には成功しているようなのだ...
ターゲットファイルシステムの /etc/init.d/rcS を見る.
ifconfig eth0 10.0.2.15 up
rdate 10.0.2.2
ip route add default via 10.0.2.2
こんな行があるので,コメントアウトしてやります.
あと,起動直後は nfsroot は readonly で mount されている...
mount -o remount,rw /
を追加.
そして,再度チャレンジ.
今度はうまくいきました.
書き込みも ok.
というわけで,ターゲット上で
# cat /proc/config.gz > config.gz
を実行し,config.gz の内容をホストマシンに持ってくること...
めでたしめでたし.
ページ名:
-->