Raspberry Pi 2 が届きました。
さて、ついうっかり届いたワケだが…。何しよう?w pic.twitter.com/cUbpsWOVeZ
— Kiyono, Goro (@goro1080) February 18, 2015
購入の決め手は Raspberry Pi 2 用の Windows 10 が無償提供されるってところですが、明確な提供時期が不明なので、とりあえず NetBSD を入れて遊んでみることにしました。
先代との互換性がって話を見かけてたのでさっくり NetBSD も動くだろうとタカをくくっていたのですが SoC が ARMv6 から ARMv7 になっている関係か、何度試しても起動しない…。というのも先代は SD カードの DOS パーティションにある kernel.img を読み込んでブートしてたのですが、 RPI2 は kernel7.img を読み込んでブートする仕組みみたいなので、それがない以上動くわけはないんですな(笑
で、3 月上旬に RPI2 をサポートするコードが入ったようで2015/3/13 以降のイメージであれば kernel7.img も入ってるので問題なく動くようになりました。
インストールそのものは @ebijun さんの紹介ページ読んだままに実行すれば問題なく終わるので、引っかかったところだけメモ。
- ディスクイメージ作成
OS X でやっているのですが、goro@serena:~$ diskutil list /dev/disk0 #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *1.0 TB disk0 1: EFI EFI 209.7 MB disk0s1 2: Apple_CoreStorage 999.7 GB disk0s2 3: Apple_Boot Recovery HD 650.0 MB disk0s3 /dev/disk1 #: TYPE NAME SIZE IDENTIFIER 0: Apple_HFS Macintosh HD *999.3 GB disk1 Logical Volume on disk0s2 48465300-0000-11AA-AA11-00306543ECAC Unencrypted /dev/disk2 #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *15.8 GB disk2 1: DOS_FAT_16 NO NAME 58.7 MB disk2s1
とかやると刺さってる SD が /dev/disk2 だってことがわかるので
goro@serena:~$ diskutil umount /Volumes/NO\ NAME
てな感じでマウント解除して
goro@serena:~$ sudo dd if=./2015-03-13-netbsd-raspi-earmv6hf.img of=/dev/rdisk2 bs=1m
とかやるとめでたく SD カードにイメージが焼かれます。この時進捗状況を確認しようと kill -USR1 とかやるとサクっと dd が死ぬので気をつけましょうw
- 無線 LAN
RPI2 用に USB の無線 LAN ドングル? を買っておいたのですが、NetBSD で無線 LAN を弄ってたのは NetBSD/hpcmips の頃だったので正に隔世の感がありました(笑 。 刺したところ urtwn0 と認識したので試行錯誤して以下のように落ち着きました。- /etc/rc.conf
critical_filesystems_local="/var /usr" dhcpcd_flags="-q -b" wpa_supplicant=YES wpa_supplicant_flags="-i urtwn0 -c /etc/wpa_supplicant.conf"
- /etc/ifconfig.urtwn0
up dhcp
- /etc/wpa_supplicant.conf
ap_scan=1 ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 network={ scan_ssid=1 proto=RSN WPA key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP ssid="your ssid" #psk="your ssid key" psk=b831168171cb1e94059064d7ea39d06789ff70fc1f2f262dd51d4138c116b94b }
ちなみに wpa_supplicant.conf の書き方は how to use wpa supplicant に大体書いてあるはずですが、 psk は
wpa_passphrase 'your ssid' 'your ssid key' network={ ssid="your ssid" #psk="your ssid key" psk=b831168171cb1e94059064d7ea39d06789ff70fc1f2f262dd51d4138c116b94b }
とか出力されるので、これを wpa_supplicant.conf にコピペです。ちなみに ssid や ssid key にスペースが入ってない場合はクォート不要です。
- /etc/rc.conf
- キーボード配列
普段から英語配列でしか使ってないので気にしたことなかったんですが、 RPI2 の配布イメージは日本語キーボード前提だったので、途方にくれてしまいました(笑 ということで- /etc/wscons.conf
#encoding jp
とコメントアウトすると解決です
- /etc/wscons.conf
dmesg.boot は以下のように流れました。さて、これを何に使おうか…(ぇー
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 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 7.99.6 (RPI2.201503081520Z) #0: Sun Mar 8 17:11:19 UTC 2015 builds@b44.netbsd.org:/home/builds/ab/HEAD/evbarm-earmv7hf/201503081520Z-obj/home/source/ab/HEAD/src/sys/arch/evbarm/compile/RPI2 total memory = 944 MB avail memory = 929 MB sysctl_createv: sysctl_create(machine_arch) returned 17 timecounter: Timecounters tick every 10.000 msec mainbus0 (root) cpu0 at mainbus0 core 0: 600 MHz Cortex-A7 r0p5 (Cortex V7A core) cpu0: DC enabled IC enabled WB disabled EABT branch prediction enabled cpu0: isar: [0]=0x2101110 [1]=0x13112111 [2]=0x21232041 [3]=0x11112131, [4]=0x10011142, [5]=0 cpu0: mmfr: [0]=0x10101105 [1]=0x40000000 [2]=0x1240000 [3]=0x2102211 cpu0: pfr: [0]=0x1131 [1]=0x11011 cpu0: 32KB/32B 2-way L1 VIPT Instruction cache cpu0: 32KB/64B 4-way write-back-locking-C L1 PIPT Data cache cpu0: 512KB/64B 8-way write-through L2 PIPT Unified cache vfp0 at cpu0: NEON MPE (VFP 3.0+), rounding, NaN propagation, denormals vfp0: mvfr: [0]=0x10110222 [1]=0x11111111 cpu1 at mainbus0 core 1: disabled (unresponsive) cpu2 at mainbus0 core 2: disabled (unresponsive) cpu3 at mainbus0 core 3: disabled (unresponsive) obio0 at mainbus0 bcmicu0 at obio0 armgtmr0 at obio0: ARMv7 Generic 64-bit Timer (19200 kHz) armgtmr0: interrupting on irq 99 timecounter: Timecounter "armgtmr0" frequency 19200000 Hz quality 500 bcmmbox0 at obio0 intr 65: VC mailbox vcmbox0 at bcmmbox0 vchiq0 at obio0 intr 66: BCM2835 VCHIQ bcmpm0 at obio0: Power management, Reset and Watchdog controller bcmdmac0 at obio0: DMA0 DMA2 DMA4 DMA5 DMA8 DMA9 DMA10 bcmrng0 at obio0: RNG plcom0 at obio0 intr 57 plcom0: txfifo disabled plcom0: console genfb0 at obio0: switching to framebuffer console genfb0: framebuffer at 0x3bc56000, size 2400x1200, depth 32, stride 15360 wsdisplay0 at genfb0 kbdmux 1: console (default, vt100 emulation) wsmux1: connecting to wsdisplay0 wsdisplay0: screen 1-3 added (default, vt100 emulation) sdhc0 at obio0 intr 62: SDHC controller sdhc0: interrupting on intr 62 dwctwo0 at obio0 intr 9: USB controller bcmspi0 at obio0 intr 54: SPI spi0 at bcmspi0: SPI bus bsciic0 at obio0 intr 53: BSC0 iic0 at bsciic0: I2C bus bsciic1 at obio0 intr 53: BSC1 iic1 at bsciic1: I2C bus bcmgpio0 at obio0: GPIO [0...31] gpio0 at bcmgpio0: 32 pins bcmgpio1 at obio0: GPIO [32...53] gpio1 at bcmgpio1: 22 pins usb0 at dwctwo0: USB revision 2.0 timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0 sdhc0: SD Host Specification 3.0, rev.153 sdhc0: using DMA transfer sdmmc0 at sdhc0 slot 0 uhub0 at usb0: vendor 0000 DWC2 root hub, class 9/0, rev 2.00/1.00, addr 1 uhub0: 1 port with 1 removable, self powered ld0 at sdmmc0: ld0: 15079 MB, 7659 cyl, 64 head, 63 sec, 512 bytes/sect x 30881792 sectors ld0: 4-bit width, bus clock 50.000 MHz uhub1 at uhub0 port 1: vendor 0424 product 9514, class 9/0, rev 2.00/2.00, addr 2 uhub1: multiple transaction translators uhub1: 5 ports with 4 removable, self powered usmsc0 at uhub1 port 1 usmsc0: vendor 0424 product ec00, rev 2.00/2.00, addr 3 usmsc0: Ethernet address b8:27:eb:dc:4e:af ukphy0 at usmsc0 phy 1: OUI 0x00800f, model 0x000c, rev. 3 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto uhidev0 at uhub1 port 3 configuration 1 interface 0 uhidev0: vendor 05af USB Keyboard, rev 2.00/1.40, addr 4, iclass 3/1 ukbd0 at uhidev0: 8 modifier keys, 6 key codes wskbd0 at ukbd0: console keyboard, using wsdisplay0 uhidev1 at uhub1 port 3 configuration 1 interface 1 uhidev1: vendor 05af USB Keyboard, rev 2.00/1.40, addr 4, iclass 3/0 uhidev1: 2 report ids uhid0 at uhidev1 reportid 1: input=1, output=0, feature=0 uhid1 at uhidev1 reportid 2: input=4, output=0, feature=1 urtwn0 at uhub1 port 4 urtwn0: Realtek 802.11n WLAN Adapter, rev 2.00/2.00, addr 5 urtwn0: MAC/BB RTL8188CUS, RF 6052 1T1R, address 80:1f:02:6e:dc:64 urtwn0: 1 rx pipe, 2 tx pipes urtwn0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps urtwn0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps uhidev2 at uhub1 port 5 configuration 1 interface 0 uhidev2: Logitech USB Receiver, rev 2.00/22.01, addr 6, iclass 3/1 ums0 at uhidev2: 16 buttons, W and Z dirs wsmouse0 at ums0 mux 0 uhidev3 at uhub1 port 5 configuration 1 interface 1 uhidev3: Logitech USB Receiver, rev 2.00/22.01, addr 6, iclass 3/0 uhidev3: 17 report ids uhid2 at uhidev3 reportid 3: input=4, output=0, feature=0 uhid3 at uhidev3 reportid 16: input=6, output=6, feature=0 uhid4 at uhidev3 reportid 17: input=19, output=19, feature=0 boot device: ld0 root on ld0a dumps on ld0b mountroot: trying nfs... mountroot: trying msdos... mountroot: trying ext2fs... mountroot: trying ffs... root file system type: ffs kern.module.path=/stand/evbarm/7.99.6/modules vchiq: local ver 6 (min 3), remote ver 6. vcaudio0 at vchiq0: auds vchiq_get_state: g_state.remote->initialised != 1 (0) vchiq: vchiq_initialise: videocore initialized after 1 retries WARNING: no TOD clock present WARNING: using filesystem time WARNING: CHECK AND RESET THE DATE! audio0 at vcaudio0: half duplex, playback, capture, independent init: copying out path `/sbin/init' 11 WARNING: module error: vfs load failed for `com', error 2 WARNING: module error: vfs load failed for `com', error 2 usmsc0: link state DOWN (was UNKNOWN) wsdisplay0: screen 4 added (default, vt100 emulation)
「NetBSD on Raspberry Pi 2」への1件の返信
ふむ | NetBSD on Raspberry Pi 2 | 不定期な記録 http://t.co/sGRnoOZ5Mf