version 1.103, 2018/11/06 22:29:26
|
version 1.107, 2018/11/06 22:42:38
|
Line 2
|
Line 2
|
|
|
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. |
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]] |
[[images/raspberrypi.jpg]] |
|
|
Line 33 Initial, limited, Raspberry Pi support w
|
Line 33 Initial, limited, Raspberry Pi support w
|
|
|
## NetBSD current |
## NetBSD current |
|
|
- RPI3B+ |
- RPI3+ |
- RPI3 builtin bluetooth |
- RPI3 builtin bluetooth |
- RPI3 new SD host controller driver |
- RPI3 new SD host controller driver |
|
|
Line 46 Initial, limited, Raspberry Pi support w
|
Line 46 Initial, limited, Raspberry Pi support w
|
## What needs work |
## What needs work |
|
|
- USB (host); isochronous transfers. |
- USB (host); isochronous transfers. |
- RPI3 builtin WiFi |
- RPI3, RPI0W builtin WiFi |
|
- RPI0W Bluetooth Low Energy (probably) |
|
|
# CPU types |
# CPU types |
|
|
Line 112 Once you get to the releasedir, self-bui
|
Line 113 Once you get to the releasedir, self-bui
|
|
|
## Preparing a uSD card |
## 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 |
- gunzip rpi.img.gz |
- dd if=rpi.img of=/dev/disk1 |
- dd if=rpi.img of=/dev/disk1 |
Line 145 build.sh (and hence the FTP site) also c
|
Line 146 build.sh (and hence the FTP site) also c
|
|
|
\todo Verify that the above is accurate and sufficient. |
\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 |
## Installation via ebijun's image |
|
|
As an alternative to the standard installation images, Jun Ebihara |
As an alternative to the standard installation images, Jun Ebihara |
Line 194 A section below describes the process of
|
Line 197 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. |
\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. |
\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. |
|
|
Line 271 Tests should be run on all of `rpi[0123]
|
Line 274 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. |
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 Explain about how DTB works. |
|
|
\todo Give a command line example to run qemu (without anita). |
\todo Give a command line example to run qemu (without anita). |