--- wikisrc/ports/evbarm/raspberry_pi.mdwn 2017/10/08 23:14:07 1.50
+++ wikisrc/ports/evbarm/raspberry_pi.mdwn 2017/10/14 15:06:30 1.55
@@ -10,12 +10,45 @@ Initial, limited, Raspberry Pi support w
([Raspberry Pi image](http://www.flickr.com/photos/42325803@N07/8118758647/) by Christopher Lee used under CC-By-2.0 license)
+# What works (and what doesn't yet)
+
+## NetBSD 7 before July, 2017
+
+ - RaspberryPi 1, and 2 (including SMP)
+ - multi-user boot with root on SD card
+ - serial or graphics console (with EDID query / parsing)
+ - DMA controller driver and sdhc(4) support
+ - Audio: works. man page missing.
+ - I²C: works, could use enhancements, man page
+ - GPIO
+ - RNG
+ - SPI: could use enhancements, man page
+ - GPU (VCHIQ) - 3D and video decode. man page missing.
+ - USB (host) - dwctwo(4)
+ - USB Ethernet - usmsc(4)
+ - X windows.
+
+## NetBSD 7 after July, 2017 and NetBSD 8
+
+ - Raspberry Pi 3 (excluding WiFi and bluetooth)
+
+## NetBSD current
+
+ - Raspberry Pi 3 bluetooth
+ - Raspberry Pi 3 new SD host controller driver
+
+## What needs work
+
+ - USB (host); isochronous transfers.
+ - WiFi
+
# Installation
+
- The automatic nightly builds on [nyftp.netbsd.org](http://nyftp.netbsd.org/pub/NetBSD-daily/) provide image files that can be used for installation. The Raspberry Pi and Pi 2 ports are part of the NetBSD 7 release.
- The 'evbarm-earmv6hf/binary/gzimg/' directory contains an rpi.img file that can be used as a single image for both boards.
- The 'evbarm-earmv7hf/binary/gzimg/' directory, as of August 6th 2015, contains an armv7.img file that is optimized for Raspberry Pi 2.
- The stable build directory will be under netbsd-7/YYYYMMDDHHMMZ/ (for example, http://nyftp.netbsd.org/pub/NetBSD-daily/netbsd-7/201412161700Z/evbarm-earmv6hf/binary/gzimg/)
- - The HEAD/current directory build will be under HEAD/YYYYMMDDHHMMZ/ (for example, http://nyftp.netbsd.org/pub/NetBSD-daily/netbsd-7/201508062150Z/evbarm-earmv7hf/binary/gzimg/)
+ - The HEAD/current directory build will be under HEAD/YYYYMMDDHHMMZ/ (for example, http://nyftp.netbsd.org/pub/NetBSD-daily/netbsd-7/201508062150Z/evbarm-earminstv7hf/binary/gzimg/)
- You can build your own version of these images using (for example) './build.sh -m evbarm -a earmv6hf -u release', or './build.sh -m evbarm -a earmv7hf -u release'
- gunzip and dd this img to your sd card. For example,
@@ -32,52 +65,8 @@ Initial, limited, Raspberry Pi support w
In minicom, run "minicom -s" and set hardware flow control to "no"
- - Growing the root file-system (**not required with NetBSD -current after 2015-04-07, or by NetBSD 7 after 2015-08-06**)
- - During the partitioning process, do not delete or format the
- first MSDOS (FAT) partition, as the Raspberry pi firmware is
- hard coded to boot on the SDCAD / 1st MSDOS partition / Firmware
- updates and boot loader.
- - Copy /boot/cmdline.txt to /boot/cmdline.txt.orig
- - Edit /boot/cmdline.txt and add the '-s' flag to the end of the first line of text to boot into single-user mode.
- - For the next steps, the root filesystem mustn't be mounted rw. So reboot, and at the prompt to enter the pathname of shell,
- press return for the default (/bin/sh).
- - At the # prompt, type
-
- "disklabel -i ld0" and press return.
-
- - At the partition> prompt type "A" and press return.
-
- Adjust disklabel sector from 4194304 to 62333952 [n]?
- Type "y" and press return.
-
- - partition> prompt type "a" and press return.
-
- Filesystem type prompt, press return to use the current value (4.2BSD).
- Start offset prompt, press return to use the current value.
- Partition size prompt, type "$" and press return to grow the
- partition to use all available free space.
+## Installation with sshramdisk image
- - partition> prompt type "W" to save the changes to the disklabel.
-
- Confirm this choice by typing "y" at the Label disk prompt.
- Type "Q" and press return to quit disklabel.
-
- - At the # prompt (shell), type
-
- fsck -fy /dev/rld0a
- resize_ffs -y /dev/rld0a
-
- - This may take a few minutes, be patient!
-
- fsck -fy /dev/rld0a
- mount_msdos /dev/ld0e /boot
- mv /boot/cmdline.txt.orig /boot/cmdline.txt
- reboot
-
- - When the system comes back up, the root file-system will have been expanded to
- fill the SD card.
-
-# Installation with sshramdisk image
- You may use the rpi_inst.img.gz file created by an evbarm build.
- Connect Ethernet Cable to RPI.
- After starting DHCP client, SSH login to with user "sysinst", and password "netbsd".
@@ -85,27 +74,16 @@ Initial, limited, Raspberry Pi support w
- Also for after the sysinst is done and the system reboots
- sysinst started!
-# Updating the firmware
-
-You probably don't want to do this. Firmware updates can break things,
-and the latest firmware that's been tested is already included in the
-NetBSD build you installed.
-
-If you're feeling adventurous (or are the port maintainer), here's what
-to test whenever you try new firmware:
+## Installation via ebijun's image
-- Audio
-- OMXPlayer (and [[!template id=man name="vchiq"]])
-- Serial/framebuffer console
-- CPU frequency scaling
+Jun Ebihara provides an install image for Raspberry Pi that includes
+packages. It is based on NetBSD-current. This image is typically
+updated every few weeks.
-That goes for all of `rpi[0123]`.
+ - https://github.com/ebijun/NetBSD/blob/master/RPI/RPIimage/Image/README
-Upstream firmware releases are
-[on GitHub](https://github.com/raspberrypi/firmware/releases).
-Copy all files except `kernel*.img` into `/boot` and reboot.
+## Updating the kernel
-# Updating the kernel
- Build a new kernel, e.g. using build.sh. It will tell you where the ELF version of the kernel is, e.g.
...
@@ -118,6 +96,9 @@ Copy all files except `kernel*.img` into
- reboot
# Wireless Networking
+
+ Note that the built-in WiFi in the RPI3 is not yet supported.
+
- A Realtek 802.11n USB adaptor configures as urtwn(4).
- Configure with wpa_supplicant in /etc/rc.conf -
@@ -160,32 +141,26 @@ $ retroarch-joyconfig -o gamepad.cfg
$ retroarch --appendconfig gamepad.cfg -L /usr/pkg/lib/libretro/gambatte_libretro.so game.gbc
"""]]
-# What works
+# Developer notes
-## NetBSD 7 before July, 2017
+These notes are for people working on improvements to RPI support in NetBSD.
- - RaspberryPi 1, and 2 (including SMP)
- - multi-user boot with root on SD card
- - serial or graphics console (with EDID query / parsing)
- - DMA controller driver and sdhc(4) support
- - Audio: works. man page missing.
- - I²C: works, could use enhancements, man page
- - GPIO
- - RNG
- - SPI: could use enhancements, man page
- - GPU (VCHIQ) - 3D and video decode. man page missing.
- - USB (host) - dwctwo(4)
- - USB Ethernet - usmsc(4)
- - X windows.
+## Updating the firmware
-## NetBSD 7 after July, 2017 and NetBSD 8
+You probably don't want to do this. Firmware updates can break things,
+and the latest firmware that's been tested is already included in the
+NetBSD build you installed.
- - Raspberry Pi 3 (including wifi and SMP)
+If you're feeling adventurous (or are the port maintainer), here's what
+to test whenever you try new firmware:
-## NetBSD current
+- Audio
+- OMXPlayer (and [[!template id=man name="vchiq"]])
+- Serial/framebuffer console
+- CPU frequency scaling
- - Raspberry Pi 3 bluetooth
- - Raspberry Pi 3 new SD host controller driver
+That goes for all of `rpi[0123]`.
-# What needs work
- - USB (host); isochronous transfers.
+Upstream firmware releases are
+[on GitHub](https://github.com/raspberrypi/firmware/releases).
+Copy all files except `kernel*.img` into `/boot` and reboot.