ARM on QEMU環境でDebianを動かす
Ubuntu 9.04で動作するQEMUにDebianのARMイメージをインストールします。
QEMUをインストールする
ブリッジ型ネットワークを設定する
Debianをインストールする
QEMUをインストールする
QEMUのインストール
Ubuntu 9.04にQEMUをインストールします。
$ sudo apt-get update
$ sudo apt-get install qemu
QEMUがインストールされていることを確認します。
$ qemu
QEMU PC emulator version 0.10.0, Copyright (c) 2003-2008 Fabrice Bellard
usage: qemu [options] [disk_image]
'disk_image' is a raw hard image image for IDE hard disk 0
ブリッジ型ネットワークを設定する
QEMUのホスト環境とバーチャル環境の間にブリッジ型ネットワークの設定を行います。QEMUはデフォルトでNAT型の仮想ネットワークになっています。
必要ツールのインストール
tunctlのインストール
uml-utilities をインストールします。
$ sudo apt-get install uml-utilities
bridge-utilsのインストール
bridge-utilsをインストールします。
$ sudo apt-get install bridge-utils
etc/network/interfacesの編集
/etc/network/interfacesを編集します。
$ sudo vi /etc/network/interfaces
DHCPでアドレス設定する場合
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
up ifconfig eth0 0.0.0.0 up
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_maxwait 1
固定IPアドレスを設定する場合
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
up ifconfig eth0 0.0.0.0 up
auto br0
iface br0 inet static
address 192.168.1.2
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
bridge_ports eth0
bridge_stp off
bridge_maxwait 1
/etc/qemu-ifupの作成
/etc/qemu-ifup を作成します。
$ sudo vi /etc/qemu-ifup
#!/bin/sh
echo "Executing /etc/qemu-ifup"
echo "Bringing up $1 for bridged mode..."
sudo /sbin/ifconfig $1 0.0.0.0 promisc up
echo "Adding $1 to br0..."
sudo /usr/sbin/brctl addif br0 $1
sleep 3
実行権限を与えます。
$ sudo chmod 755 /etc/qemu-ifup
/etc/qemu-ifdownの作成
/etc/qemu-ifdown を作成します。
$ sudo vi /etc/qemu-ifdown
#!/bin/sh
sudo /usr/sbin/brctl delif br0 $1
sudo /sbin/ifconfig $1 down
実行権限を与えます。
$ sudo chmod 755 /etc/qemu-ifdown
/etc/resolv.confの編集
/etc/resolv.conf に nameserver 192.168.1.1 を設定します。
$ sudo vi /etc/resolv.conf
nameserver 192.168.1.1
再起動
再起動します。
$ sudo reboot
ブリッジ型ネットワーク動作確認
ifconfigで動作確認をします。
$ ifconfig
br0 Link encap:イーサネット ハードウェアアドレス 00:0c:29:06:f3:dc
inetアドレス:192.168.1.2 ブロードキャスト:192.168.1.255 マスク:255.255.255.0
inet6アドレス: fe80::20c:29ff:fe06:f3dc/64 範囲:リンク
UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1
RXパケット:14 エラー:0 損失:0 オーバラン:0 フレーム:0
TXパケット:32 エラー:0 損失:0 オーバラン:0 キャリア:0
衝突(Collisions):0 TXキュー長:0
RXバイト:1384 (1.3 KB) TXバイト:4117 (4.1 KB)
eth0 Link encap:イーサネット ハードウェアアドレス 00:0c:29:06:f3:dc
inet6アドレス: fe80::20c:29ff:fe06:f3dc/64 範囲:リンク
UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1
RXパケット:4169 エラー:0 損失:0 オーバラン:0 フレーム:0
TXパケット:408 エラー:0 損失:0 オーバラン:0 キャリア:0
衝突(Collisions):0 TXキュー長:1000
RXバイト:609430 (609.4 KB) TXバイト:42916 (42.9 KB)
割り込み:19 ベースアドレス:0x2024
lo Link encap:ローカルループバック
inetアドレス:127.0.0.1 マスク:255.0.0.0
inet6アドレス: ::1/128 範囲:ホスト
UP LOOPBACK RUNNING MTU:16436 メトリック:1
RXパケット:3 エラー:0 損失:0 オーバラン:0 フレーム:0
TXパケット:3 エラー:0 損失:0 オーバラン:0 キャリア:0
衝突(Collisions):0 TXキュー長:0
RXバイト:246 (246.0 B) TXバイト:246 (246.0 B)
ブリッジ接続時のQEMU起動方法
・QEMUは sudo で起動します。
・QEMU起動時にオプション -net nic -net tap を付けます。
Debian ARMをインストールする
Debian ARMをQEMU環境にインストールし、初期設定を行います。
Debian ARMイメージのダウンロード
DebianのARMイメージをダウンロードします。
Index of /~aurel32/qemu/arm
http://people.debian.org/~aurel32/qemu/arm/
作業用ディレクトリを作成します。
$ cd ~
$ mkdir qemu
$ cd qemu
Debian ARMイメージをダウンロードします。
$ wget http://people.debian.org/~aurel32/qemu/arm/debian_lenny_arm_small.qcow2
$ wget http://people.debian.org/~aurel32/qemu/arm/initrd.img-2.6.26-2-versatile
$ wget http://people.debian.org/~aurel32/qemu/arm/vmlinuz-2.6.26-2-versatile
Debian ARMの実行
QEMU上でDebian ARMを実行します。
Debian ARMイメージをダウンロードしたディレクトリに移動します。
$ cd ~/qemu
Debian ARMを実行します。
$ sudo qemu-system-arm -m 128M -M versatilepb -kernel vmlinuz-2.6.26-2-versatile -initrd initrd.img-2.6.26-2-versatile -hda debian_lenny_arm_small.qcow2 -append "root=/dev/sda1" -k ja -net nic -net tap
(注1)
実行時に -k ja を付けるとカーソルキーが使えるようになります。
(注2)
起動オプション -net nic -net tap を付け、ブリッジ型ネットワークが使えるようにします。
Debian ARMへのログイン
Debian ARMのブートが始まり、ログインプロンプトが表示されます。
rootパスワード:rootでログインします。
Debianの更新
Debianを更新します。
# aptitude update
# aptitude safe-upgrade
日本語106キーボード対応
日本語106キーボードが使えるようにします。
# apt-get install console-tools console-data
# dpkg-reconfigure console-data
Configuring Console-data画面で設定作業を行います。
・Select keymap from arch list を選択します。
・qwerty → Japanese → Standard を選択します。
タイムゾーンの設定
日本標準時(JST)に設定します。
# apt-get install tzdata
# dpkg-reconfigure tzdata
Configuring tzdata画面で設定作業を行います。
・Asia → Tokyo を選択します。
変更 2010.12.28
変更 2010.12.14
変更 2010.12.01
2010.11.27