Amazon EC2 c5インスタンスでのNetBSD/amd64 9.0_RC1の利用

この記事は、NetBSD Advent Calendar 2019の5日目の記事です。 すっかり遅くなりすみません。

はじめに

昨年のNetBSD Advent Calendarの記事で、 Amazon Web Service EC2 c5インスタンスでNetBSD/amd64-currentを動かそうとした話を書きました。 その時には、ena(4)に関連したカーネルパニックで利用できる状態にはできませんでした。

その後、さいとうさん(msaito@)がxhci(4)と同様の方法で直してくださいました。 AMIを作って起動させるところまでは、 昨年のNetBSD Advent Calendarの記事と同様ですので、 今年度は、ena(4)が使えるようになった状態の報告と、 Get System Logでブートログを表示させる方法を書きたいと思います。 使うのは、先日リリースされたNetBSD/amd64 9.0RC1付近のnetbsd-9です。

ena(4)が使えるようになった状態

AWS EC2では、シリアルコンソールやVNCコンソールはありませんから、sshでログインできなければ操作できません。 ena(4)が使えないといけないのは、そのためです。

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017,
2018, 2019 The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California.  All rights reserved.

NetBSD 9.0_RC1 (GENERIC) #0: Mon Dec  2 15:08:52 UTC 2019
 mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/amd64/compile/GENERIC
total memory = 3881 MB
avail memory = 3745 MB
cpu_rng: RDSEED
timecounter: Timecounters tick every 10.000 msec
Kernelized RAIDframe activated
running cgd selftest aes-xts-256 aes-xts-512 done
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
Amazon EC2 c5.large
mainbus0 (root)
ACPI: RSDP 0x00000000000F8FA0 000014 (v00 AMAZON)
ACPI: RSDT 0x00000000BFFFE360 00003C (v01 AMAZON AMZNRSDT 00000001 AMZN 00000001)
ACPI: FACP 0x00000000BFFFFF80 000074 (v01 AMAZON AMZNFACP 00000001 AMZN 00000001)
ACPI: DSDT 0x00000000BFFFE3A0 0010E9 (v01 AMAZON AMZNDSDT 00000001 AMZN 00000001)
ACPI: FACS 0x00000000BFFFFF40 000040
ACPI: SSDT 0x00000000BFFFF6C0 00087A (v01 AMAZON AMZNSSDT 00000001 AMZN 00000001)
ACPI: APIC 0x00000000BFFFF5D0 000076 (v01 AMAZON AMZNAPIC 00000001 AMZN 00000001)
ACPI: SRAT 0x00000000BFFFF530 0000A0 (v01 AMAZON AMZNSRAT 00000001 AMZN 00000001)
ACPI: SLIT 0x00000000BFFFF4C0 00006C (v01 AMAZON AMZNSLIT 00000001 AMZN 00000001)
ACPI: WAET 0x00000000BFFFF490 000028 (v01 AMAZON AMZNWAET 00000001 AMZN 00000001)
ACPI: 2 ACPI AML tables successfully acquired and loaded
ioapic0 at mainbus0 apid 0: pa 0xfec00000, version 0x11, 24 pins
cpu0 at mainbus0 apid 0
cpu0: Intel(R) Xeon(R) Platinum 8275CL CPU @ 3.00GHz, id 0x50657
cpu0: package 0, core 0, smt 0
cpu1 at mainbus0 apid 1
cpu1: Intel(R) Xeon(R) Platinum 8275CL CPU @ 3.00GHz, id 0x50657
cpu1: package 0, core 0, smt 1
acpi0 at mainbus0: Intel ACPICA 20190405
acpi0: X/RSDT: OemId , AslId 
LNKD: ACPI: Found matching pin for 0.4.INTA at func 0: 11
acpi0: SCI interrupting at int 9
acpi0: fixed power button present
acpi0: fixed sleep button present
timecounter: Timecounter "ACPI-Safe" frequency 3579545 Hz quality 900
pckbc1 at acpi0 (KBD, PNP0303) (kbd port): io 0x60,0x64 irq 1
pckbc2 at acpi0 (MOU, PNP0F13) (aux port): irq 12
LPT (PNP0400) at acpi0 not configured
COM1 (PNP0501) at acpi0 not configured
ACPI: Enabled 16 GPEs in block 00 to 0F
pckbd0 at pckbc1 (kbd slot)
pckbc1: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc1 (aux slot)
pckbc1: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0: vendor 8086 product 1237 (rev. 0x00)
pcib0 at pci0 dev 1 function 0: vendor 8086 product 7000 (rev. 0x00)
piixpm0 at pci0 dev 1 function 3: vendor 8086 product 7113 (rev. 0x08)
timecounter: Timecounter "piixpm0" frequency 3579545 Hz quality 1000
piixpm0: 24-bit timer
piixpm0: polling
iic0 at piixpm0 port 0: I2C bus
vga0 at pci0 dev 3 function 0: vendor 1d0f product 1111 (rev. 0x00)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
drm at vga0 not configured
nvme0 at pci0 dev 4 function 0: vendor 1d0f product 8061 (rev. 0x00)
nvme0: NVMe 1.0
nvme0: for admin queue interrupting at msix0 vec 0
nvme0: Amazon Elastic Block Store, firmware 1.0, serial vol0f4f9afe33c64b139
nvme0: for io queue 1 interrupting at msix0 vec 1 affinity to cpu0
nvme0: for io queue 2 interrupting at msix0 vec 2 affinity to cpu1
ld0 at nvme0 nsid 1
ld0: 3072 MB, 1560 cyl, 64 head, 63 sec, 512 bytes/sect x 6291456 sectors
ena0 at pci0 dev 5 function 0: vendor 1d0f product ec20 (rev. 0x00)
pci0: Elastic Network Adapter (ENA)ena v0.8.1
ena0: initalize 2 io queues
ena0: for MGMNT interrupting at msix1 vec 0
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
attimer0 at isa0 port 0x40-0x43
pcppi0 at isa0 port 0x61
spkr0 at pcppi0: PC Speaker
wsbell at spkr0 not configured
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
attimer0: attached to pcppi0
acpicpu0 at cpu0: ACPI CPU
acpicpu0: C1: HLT, lat   0 us, pow     0 mW
acpicpu1 at cpu1: ACPI CPU
ena0: link is UP
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "TSC" frequency 3000119080 Hz quality 3000
ld0: GPT GUID: 8e7e8f6a-a91c-4a78-9bc3-c40c38ebbc9c
dk0 at ld0: "AWSROOT", 4194304 blocks at 34, type: ffs
dk1 at ld0: "AWSSWAP", 2097085 blocks at 4194338, type: swap
IPsec: Initialized Security Association Processing.
boot device: ld0
root on dk0 dumps on dk1
root file system type: ffs
kern.module.path=/stand/amd64/9.0/modules
ena0: device is going UP
ena0: for IO queue 0 interrupting at msix1 vec 1 affinity to 1
ena0: for IO queue 1 interrupting at msix1 vec 2 affinity to 0

ここで、com0というのが、Get System Logに出力が表示されるシリアルポートです。 Get System Logに表示されるようにするには、/boot.cfgを以下のように修正します。

$ cat /boot.cfg
menu=Boot normally:rndseed /var/db/entropy-file;consdev com0;boot
menu=Boot single user:rndseed /var/db/entropy-file;boot -s
menu=Drop to boot prompt:prompt
default=1
timeout=5
clear=1
つまり、consdev com0を追加します。 これにより、Actions → Instance Settings → Get System Log で下図のようにブートメッセージを表示できます。

これで、Linuxのインスタンスと同様に動作させられたのではないでしょうか。

No comments:

Post a Comment

Firefoxのアドレス欄で<code>http://</code>が省略されないようにする

Firefoxではデフォルトではアドレス欄の http:// が省略される。 表示させるには、 about:config で browser.urlbar.trimURLs を true から false に 変更すれば良い。 Firefoxの再起動は不要なようだ。