NetBSD/amd64 on CloudCore VPS (2)

【追記 2013-03-19】以下は書いた当時の情報であり、2013年3月現在、ここに書いたような方法(x86_errata()の無効化)を用いてもCloudCore VPSでNetBSDは動作しません。

前のエントリを書いた後すぐに、ISOイメージからのbootができるようになりました。
(ただしbetaと書かれています。)

イメージアップロードに関する情報は、VPSのコントロールパネルのOSインストールの項にあります。秘密鍵ファイルのダウンロードもそこにあります。build.shで普通にiso-imageを作成し、NetBSDのsftpで以下のようにアップロードして起動できました。

$ sftp -i 秘密鍵ファイル名 -P 接続先ポート 接続先ユーザ@接続先ホスト
sftp> put ISOファイル名 /iso

併せてインストール時にvirtioのオン・オフが選べるようになり、NetBSDをvirtioオンでインストールした場合、ディスクやネットワークがvirtio経由のld, vioifになります。

アクセスの速さは…あまり変わりませんでした。


dmesgの差分

--- dmesg-20120702.txt 2012-07-02 19:59:14.000000000 +0900
+++ dmesg-20120705.txt 2012-07-05 14:20:47.000000000 +0900
@@ -37,19 +37,28 @@
 wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation)
 wsmux1: connecting to wsdisplay0
 drm at vga0 not configured
-virtio0 at pci0 dev 4 function 0
-virtio0: Virtio Memory Balloon Device (rev. 0x00)
-viomb0 at virtio0
-virtio0: allocated 8192 byte for virtqueue 0 for inflate, size 128
-virtio0: allocated 8192 byte for virtqueue 1 for deflate, size 128
+virtio0 at pci0 dev 3 function 0
+virtio0: Virtio Block Device (rev. 0x00)
+ld0 at virtio0
+virtio0: allocated 45056 byte for virtqueue 0 for I/O request, size 128
+virtio0: using 36864 byte (2304 entries) indirect descriptors
+ld0: 100 GB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 209715200 sectors
 virtio0: interrupting at irq 11
-wm0 at pci0 dev 5 function 0: Intel i82540EM 1000BASE-T Ethernet (rev. 0x03)
-wm0: interrupting at irq 10
-wm0: 32-bit 33MHz PCI bus
-wm0: 64 word (6 address bits) MicroWire EEPROM
-wm0: Ethernet address 00:16:36:eb:e7:06
-makphy0 at wm0 phy 1: Marvell 88E1011 Gigabit PHY, rev. 0
-makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
+virtio1 at pci0 dev 4 function 0
+virtio1: Virtio Memory Balloon Device (rev. 0x00)
+viomb0 at virtio1
+virtio1: allocated 8192 byte for virtqueue 0 for inflate, size 128
+virtio1: allocated 8192 byte for virtqueue 1 for deflate, size 128
+virtio1: interrupting at irq 11
+virtio2 at pci0 dev 5 function 0
+virtio2: Virtio Network Device (rev. 0x00)
+vioif0 at virtio2: Ethernet address 00:16:36:eb:e7:06
+virtio2: allocated 20480 byte for virtqueue 0 for rx, size 256
+virtio2: using 8192 byte (512 entries) indirect descriptors
+virtio2: allocated 81920 byte for virtqueue 1 for tx, size 256
+virtio2: using 69632 byte (4352 entries) indirect descriptors
+virtio2: allocated 8192 byte for virtqueue 2 for control, size 64
+virtio2: interrupting at irq 10
 isa0 at pcib0
 com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
 pckbc0 at isa0 port 0x60-0x64
@@ -68,18 +77,16 @@
 timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
 uhub0 at usb0: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub0: 2 ports with 2 removable, self powered
-wd0 at atabus0 drive 0
-wd0: <QEMU HARDDISK>
-wd0: drive supports 16-sector PIO transfers, LBA48 addressing
-wd0: 100 GB, 208050 cyl, 16 head, 63 sec, 512 bytes/sect x 209715200 sectors
-wd0: 32-bit data port
-wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
-wd0(piixide0:0:0): using PIO mode 4, DMA mode 2 (using DMA)
+atapibus0 at atabus1: 2 targets
+cd0 at atapibus0 drive 0:  cdrom removable
+cd0: 32-bit data port
+cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
+cd0(piixide0:1:0): using PIO mode 4, DMA mode 2 (using DMA)
 Kernelized RAIDframe activated
 pad0: outputs: 44100Hz, 16-bit, stereo
 audio0 at pad0: half duplex, playback, capture
-boot device: wd0
-root on wd0a dumps on wd0b
+boot device: ld0
+root on ld0a dumps on ld0b
 root file system type: ffs
 clock: unknown CMOS layout
 wsdisplay0: screen 1 added (80x25, vt100 emulation)

追記: atapibus0とcd0が見えていたのはVPS側の不具合(修正済)で、いまは見えません。