qemuでgPXE
実機でROMを焼くのは面倒なのでqemuで試してみた。
OSが起動する前なのにDNSで名前解決してHTTPでファイルをとってこられるのがすごい。
ROMイメージの取得
http://rom-o-matic.net/gpxe/gpxe-git/gpxe.git/contrib/rom-o-matic/
にアクセスして,
1. output format: を .rom
2. NIC type: を ns8390
3. optionalで,PCI VENDOR CODE に 10ec ,PCI DEVICE CODE に 8029 を記入して,
4. Get Image でダウンロード。
httpサーバ側の準備
今回は例としてmbmのディスクイメージでブートしてみる。
public_html/pxeディレクトリを作り,
syslinux-3.83.tar.bz2からmemdiskを,
mbm039.zipからMBM.144をpxeディレクトリにコピー。
qemuの起動
オリジナルのpxe-ne2k_pci.binをバックアップして,
ダウンロードしたromイメージをpxe-ne2k_pci.binにリネーム。
そして,以下のコマンドで起動。
> qemu -L . -boot n
qemu内での操作
ctrl-Bを押して対話モードにして以下のコマンドを実行
gPXE> dhcp net0 gPXE> kernel http://www.foo.com/pxe/memdisk gPXE> initrd http://www.foo.com/pxe/MBM.144 gPXE> boot
ブートした!