2010年01月28日

ARMのQEMUにDebianをnetinstallする

前回試してうまくいかなかったDebianのnetinstallはやはり古いインストーラを使っていたためでした。

新しいものでうまくいったので、その手順を紹介します。



以下の操作は全てUbuntu 9.04 (x86_64)で行いました。

netinstall用のイメージとカーネルをダウンロード

$ wget http://ftp.jp.debian.org/debian/dists/stable/main/installer-armel/current/images/versatile/netboot/initrd.gz
$ wget http://ftp.jp.debian.org/debian/dists/stable/main/installer-armel/current/images/versatile/netboot/vmlinuz-2.6.26-2-versatile

前回はなぜうまくいかなかったかというと、数年前のページに書いてあったURLからダウンロードしたので、それはetch用のものだったためでした。etchは古いのでそれのネットインストール用のリポジトリはもう閉じられているようです。上記のURLならば、"stable" 用なので、新しいリリースがでたときにはそれに応じて内容が差しかわると思います。

空の仮想ハードディスクを作成

$ qemu-img create -f qcow2 hda.img.qcow2 10G

インストール実行

$ qemu-system-arm -M versatilepb \
 -kernel vmlinuz-2.6.26-2-versatile \
 -initrd initrd.gz -hda hda.img.qcow2 \
 -append "root=/dev/ram"

起動用ファイルを仮想ハードディスクから取り出す

起動のためにinitrdが必要です。ルートファイルシステムをマウントするのに必要なドライバがモジュールになっているためです。

そのファイルは /boot にあるので、以下の手順で取り出します。

また、ルートファイルシステム内にあるカーネルモジュールとカーネルのバージョンに不整合があるとまずいので、カーネルのイメージも一緒に取り出します。

この操作はWindowsではできなくて、Linuxで行う必要があります。

$ sudo qemu-nbd --connect=/dev/nbd0 hda.img.qcow2 
$ sudo mount /dev/nbd0p1 /mnt
$ cp /mnt/boot/initrd.img-2.6.26-2-versatile .
$ cp /mnt/boot/vmlinuz-2.6.26-2-versatile .
$ sudo umount /mnt
$ sudo qemu-nbd --disconnect /dev/nbd0

起動

$ qemu-system-arm -M versatilepb \
-kernel vmlinuz-2.6.26-2-versatile \
-initrd initrd.img-2.6.26-2-versatile \
-hda hda.img.qcow2 \
-append "root=/dev/sda1"

hda.img.qcow2, vmlinuz-2.6.26-2-versatile, initrd.img-2.6.26-2-versatile をWindowsにコピーすれば、Windows上でビルドしたqemu-system-arm を使ってWindows上で起動することができます。

こちらのページを参考にさせていただきました。

(2010.2.23 追記)

デスクトップのインストール

上記の手順の中でnetinstallの途中のメニューでデスクトップ環境を選択するとOpenOfficeも含んだGNOMEのGUIを動かすことができます。(インストールに2時間くらいかかります。)

ところが、私の環境ではなぜかXサーバの起動に失敗してしまいました。いろいろ調べた結果、以下の一ヶ所の修正でうまくいくようになりました。

--- /etc/X11/xorg.conf.org	2010-02-23 14:36:24.000000000 +0900
+++ /etc/X11/xorg.conf	2010-02-23 14:37:11.000000000 +0900
@@ -29,6 +29,7 @@
 
 Section "Device"
 	Identifier	"Configured Video Device"
+	Driver		"fbdev"
 	Option		"UseFBDev"		"true"
 EndSection

Screenshot-QEMU

Screenshot-QEMU-1



トラックバックURL

トラックバック一覧

1. クロス開発でのQEMU まとめ(基礎編)  [ KMC Staff Blog ]   2010年09月16日 11:08
ここまでのQEMUの記事のリンク集です。 なお、CELFテクニカルジャンボリーにて、時間をいただきましたので、このあたりについて話をさせていただきます。 (3月5日 中野サンプラザ 入場無料) よろしければご参加ください。

コメントする

名前
 
  絵文字
 
 
記事検索
最新コメント
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード