version 1.50, 2017/10/08 23:14:07
|
version 1.53, 2017/10/14 14:53:46
|
Line 10 Initial, limited, Raspberry Pi support w
|
Line 10 Initial, limited, Raspberry Pi support w
|
|
|
<small>([Raspberry Pi image](http://www.flickr.com/photos/42325803@N07/8118758647/) by Christopher Lee used under CC-By-2.0 license)</small> |
<small>([Raspberry Pi image](http://www.flickr.com/photos/42325803@N07/8118758647/) by Christopher Lee used under CC-By-2.0 license)</small> |
|
|
|
# What works |
|
|
|
## 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 |
# 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 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-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 'evbarm-earmv7hf/binary/gzimg/' directory, as of August 6th 2015, contains an armv7.img file that is optimized for Raspberry Pi 2. |
Line 32 Initial, limited, Raspberry Pi support w
|
Line 65 Initial, limited, Raspberry Pi support w
|
|
|
In minicom, run "minicom -s" and set hardware flow control to "no" |
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**) |
## Installation with sshramdisk image |
- 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. |
|
|
|
- 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. |
- You may use the rpi_inst.img.gz file created by an evbarm build. |
- Connect Ethernet Cable to RPI. |
- Connect Ethernet Cable to RPI. |
- After starting DHCP client, SSH login to with user "sysinst", and password "netbsd". |
- After starting DHCP client, SSH login to with user "sysinst", and password "netbsd". |
Line 85 Initial, limited, Raspberry Pi support w
|
Line 74 Initial, limited, Raspberry Pi support w
|
- Also for after the sysinst is done and the system reboots |
- Also for after the sysinst is done and the system reboots |
- sysinst started! |
- sysinst started! |
|
|
# Updating the firmware |
## Updating the kernel |
|
|
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: |
|
|
|
- Audio |
|
- OMXPlayer (and [[!template id=man name="vchiq"]]) |
|
- Serial/framebuffer console |
|
- CPU frequency scaling |
|
|
|
That goes for all of `rpi[0123]`. |
|
|
|
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 |
|
- Build a new kernel, e.g. using build.sh. It will tell you where the ELF version of the kernel is, e.g. |
- Build a new kernel, e.g. using build.sh. It will tell you where the ELF version of the kernel is, e.g. |
|
|
... |
... |
Line 118 Copy all files except `kernel*.img` into
|
Line 88 Copy all files except `kernel*.img` into
|
- reboot |
- reboot |
|
|
# Wireless Networking |
# 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). |
- A Realtek 802.11n USB adaptor configures as urtwn(4). |
- Configure with wpa_supplicant in /etc/rc.conf - |
- Configure with wpa_supplicant in /etc/rc.conf - |
|
|
Line 160 $ retroarch-joyconfig -o gamepad.cfg
|
Line 133 $ retroarch-joyconfig -o gamepad.cfg
|
$ retroarch --appendconfig gamepad.cfg -L /usr/pkg/lib/libretro/gambatte_libretro.so game.gbc |
$ 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) |
## Updating the firmware |
- 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 |
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 |
That goes for all of `rpi[0123]`. |
- Raspberry Pi 3 new SD host controller driver |
|
|
|
# What needs work |
Upstream firmware releases are |
- USB (host); isochronous transfers. |
[on GitHub](https://github.com/raspberrypi/firmware/releases). |
|
Copy all files except `kernel*.img` into `/boot` and reboot. |