--- wikisrc/ports/evbarm/raspberry_pi.mdwn 2018/11/06 22:29:26 1.103 +++ wikisrc/ports/evbarm/raspberry_pi.mdwn 2018/11/07 01:10:59 1.109 @@ -2,7 +2,7 @@ This page attempts to document and coordinate efforts towards NetBSD/evbarm on [Raspberry Pi](http://www.raspberrypi.org). All [board variants](https://en.wikipedia.org/wiki/Raspberry_Pi#Specifications) are supported. We use e.g. "RPI2" to refer to "Raspberry Pi 2" to save precious bytes on this page. -Initial, limited, Raspberry Pi support was introduced in NetBSD 6.0. NetBSD 7.0 adds complete support for the board, along with introducing support for the quad-core Raspberry Pi 2 board. Raspberry Pi 3 support was added for NetBSD 8, and backported to NetBSD 7 in July of 2017. (This page assumes those using NetBSD 7 are using 7.2, or the netbsd-7 branch after mid 2018.) +Initial, limited, Raspberry Pi support was introduced in NetBSD 6.0. NetBSD 7.0 adds complete support for the board, along with introducing support for the quad-core Raspberry Pi 2 board. Raspberry Pi 3 support was added for NetBSD 8, and backported to NetBSD 7 in July of 2017. (This page assumes those using NetBSD 7 are using 7.2 or later, but note that everyone uses 8 or -current.) [[images/raspberrypi.jpg]] @@ -33,7 +33,7 @@ Initial, limited, Raspberry Pi support w ## NetBSD current - - RPI3B+ + - RPI3+ - RPI3 builtin bluetooth - RPI3 new SD host controller driver @@ -46,15 +46,16 @@ Initial, limited, Raspberry Pi support w ## What needs work - USB (host); isochronous transfers. - - RPI3 builtin WiFi + - RPI3, RPI0W builtin WiFi + - RPI0W Bluetooth Low Energy (probably) # CPU types - RPI1 uses "earmv6hf". - - RPI0 uses "\todo". + - RPI0 uses "earmv6hf". + - RPI0W uses "earmv6hf". - RPI2 uses "earmv7hf". - RPI3 uses "earmv7hf". - - RPI0W uses "\todo". Note that one can run a build of earmv6hf on the 2 and 3. There will still be a kernel7, built to use the 2/3 hardware, but with the armv6 instruction set. @@ -112,7 +113,7 @@ Once you get to the releasedir, self-bui ## Preparing a uSD card -Once you have rpi.img.gz (or rpi_inst), put it on a uSD card using gunzip and dd, for example: +Once you have rpi.img.gz (or rpi_inst for earmv6 boards), put it on a uSD card using gunzip and dd, for example: - gunzip rpi.img.gz - dd if=rpi.img of=/dev/disk1 @@ -125,7 +126,7 @@ The standard approach is to use a USB ke By default the rpi.img is set to use the HDMI output. If you wish to use a serial console, mount the FAT32 partition on another system and edit cmdline.txt and remove '"console=fb"'. - - Most (all?) USB-to-TTL serial adapters have wires for Tx, Rx and ground, and not RTS/CTS or other flow control lines. Thus, your terminal program (or terminal) must be configured to not require flow control; a symptom of misconfiguration is that you see console output, but cannot type anything. If so, adjust your serial console application's flow control settings to "none". + - Most (all?) USB-to-TTL serial adapters have wires for TX, RX and ground, and not RTS/CTS or other flow control lines. Thus, your terminal program (or terminal) must be configured to not require flow control; a symptom of misconfiguration is that you see console output, but cannot type anything. If so, adjust your serial console application's flow control settings to "none". - In Kermit, the command is "set flow none". - In minicom, run "minicom -s" and set hardware flow control to "no". @@ -143,7 +144,7 @@ build.sh (and hence the FTP site) also c - Use ssh to login to the address you found with user "sysinst", and password "netbsd". - When installing, ensure that you enable DHCP and ssh, so that you can log in again after the system is installed. -\todo Verify that the above is accurate and sufficient. +The rpi_inst.img.gz image will only work for systems that use earmv6hf kernels (so not RPI2/3). See [this port-arm message](https://mail-index.netbsd.org/port-arm/2017/08/18/msg004374.html) for details. ## Installation via ebijun's image @@ -194,7 +195,7 @@ A section below describes the process of \todo Explain where the firmware is in the source tree, and if it is in the installed system image (such as /usr/mdec). Explain how to update a system (presumably /boot) from either an installed system's new firmware files, or the source tree. Explain any particular cautions. -Probably, for the RPI3B+, one needs to use -current, or use -8 with firmware from -current. \todo Defuzz. +Probably, for the RPI3+, one needs to use -current, or use -8 with firmware from -current. \todo Defuzz. \todo Explain if using updated firmware from one branch (e.g. netbsd-current) on a system using a different branch (e.g. netbsd-8) is safe. Explain if pullups are done to release branches with new firmware. @@ -271,6 +272,8 @@ Tests should be run on all of `rpi[0123] anita has support for evbarm. Install qemu and dtb-arm-vexpress from pkgsrc. Note that the release subdirectory should be evbarm-earmv6hf or evbarm-earmv7hf. -\todo Explain how to select various RPI models to emulate. +\todo It is not currently known and documented how to configure qemu and anita to emulate a RPI in general or a specific RPI model. + \todo Explain about how DTB works. + \todo Give a command line example to run qemu (without anita).