ARM on QEMU環境でDebianを動かす

Ubuntu 9.04で動作するQEMUにDebianのARMイメージをインストールします。

LinkIconQEMUをインストールする
LinkIconブリッジ型ネットワークを設定する
LinkIconDebianをインストールする

milk_btn_pagetop.png

 

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

milk_btn_pagetop.png

 

ブリッジ型ネットワークを設定する

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 を付けます。

milk_btn_pagetop.png

 

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のブートが始まり、ログインプロンプトが表示されます。

debian-arm.jpg

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 を選択します。

milk_btn_pagetop.png

変更 2010.12.28
変更 2010.12.14
変更 2010.12.01
2010.11.27