今回は,前回の「組み込みLinuxの実験環境を整備する」においてインストールしたエミュレータ・ソフトウエア「QEMU」を使って,仮想組み込みLinux環境を動作させるとともに,その必要最小限の使い方を説明します。

仮想組み込み環境を動作させよう

 それでは,前回にシステム環境を整備した開発用PC上に,仮想組み込み環境を構築していきます。

イメージ・ファイルのダウンロード

 最初に,仮想組み込み環境で使うLinuxカーネルとファイル・システムのイメージ・ファイル(それぞれ,「zImage」と「rootfs.img.bz2」)を,以下の場所からダウンロードします。

Linuxカーネル(クリックするとイメージをダウンロードします)

ファイル・システム(クリックするとイメージをダウンロードします)

 ダウンロードしたファイルを,ホーム・ディレクトリ直下の「qemu-images」というディレクトリに置きます。

mkdir ~/qemu-images
mv ~/Desktop/zImage ~/qemu-images
mv ~/Desktop/rootfs.img.bz2 ~/qemu-images

 ダウンロードしたファイル・システムのイメージ・ファイル(rootfs.img.bz2)は圧縮されているので,次のようにして展開します。展開後のファイル名は「rootfs.img」です。

bzip2 -d ~/qemu-images/rootfs.img.bz2

 次に,仮想組み込み環境を起動するためのシェル・スクリプト(boot-arm.sh)をダウンロードします。シェル・スクリプトについては,Windowsでいうところのバッチ・ファイルのようなものだと思ってください。

今回使うシェル・スクリプト(クリックするとイメージをダウンロードします)

 こちらもホーム・ディレクトリに置き,実行パーミッションを許可します。実行パーミッション(実行権限)がないと,このスクリプトを実行できません。以下のようにして,実行権限を設定します。

mv ~/Desktop/boot-arm.sh ~/
chmod +x ~/boot-arm.sh

仮想組み込み環境を起動する

 動作確認のため,仮想組み込み環境の起動スクリプト(上記で実行権限を設定したシェル・スクリプト)を実行します。

~/boot-arm.sh

すると,図1のようにして,組み込み環境が起動します。

[em-linux@localhost ~]$ ~/boot-arm.sh
Could not configure '/dev/rtc' to have a 1024 Hz timer. 
This is not a fatal error, but for better emulation accuracy
either use a 2.6 host Linux kernel or type 'echo 1024 ; >
 /proc/sys/dev/rtc/max-user-freq' as root.
(qemu) Uncompressing Linux......................... done,
 booting the kernel.
Linux version 2.6.25.5 (em-linux@localhost.localdomain)
 (gcc version 4.2.3以下,略)
init started: BusyBox v1.10.3 (2008-06-08 20:55:55 JST)
starting pid 260, tty '': '/etc/init.d/rcS'
Cannot run '/etc/init.d/rcS': No such file or directory

Please press Enter to activate this console.
図1●仮想組み込み環境を起動した画面

 起動後に,リターンを押すと,コマンドを入力できるようになります。仮想組み込み環境のCPUがどうなっているかを確認してみましょう。

 以下の図2のコマンドで,CPU情報を調べることができます。ちなみに,/proc/cpuinfoは,RAM上に存在する特殊なファイルで,このファイルを開くことでCPU情報を知ることができます。3行目からわかるように,確かにARMアーキテクチャのCPUが動いていることが分かります。

# mount  -t proc proc /proc/
# cat /proc/cpuinfo
Processor       : ARM926EJ-S rev 5 (v5l)
                  ↑ARMアーキテクチャのCPUとして認識
BogoMIPS        : 553.77
Features        : swp half thumb fastmult vfp edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
図2●仮想組み込み環境のCPUを確認する

 CPUの確認が終わったら,「Ctrl」と「A」(CtrlキーとAキーを同時に押す),「X」と続けてキーを入力して,仮想組み込み環境を終了します。ここでは,「Ctrl」と「A」と「X」を同時に入力すると終了しないことに注意してください。