version 1.1, 2013/01/01 05:34:36
|
version 1.15, 2013/04/20 16:09:24
|
Line 1
|
Line 1
|
[[!meta title="NetBSD/evbarm on Raspberry Pi"]] |
[[!meta title="NetBSD/evbarm on Raspberry Pi"]] |
|
|
|
[[images/raspberrypi.jpg]] |
|
|
This page attempts to document and coordinate efforts towards NetBSD/evbarm on [Raspberry Pi](http://www.raspberrypi.org). |
This page attempts to document and coordinate efforts towards NetBSD/evbarm on [Raspberry Pi](http://www.raspberrypi.org). |
|
|
|
<small>([Raspberry Pi image](http://www.flickr.com/photos/42325803@N07/8118758647/) by Christopher Lee used under CC-By-2.0 license)</small> |
|
|
|
# Installation |
|
- You may use the rpi.img file created by an arm build. |
|
- An example can be found in the '/evbarm/binary/gzimg/' directory under releng.netbsd.org |
|
- 'obj/releasedir/evbarm/binary/gzimg/' if you run (for example) './build.sh -m evbarm -u release' |
|
- <i>gunzip and dd</i> this img to your sd card. |
|
|
|
dd if=rpi.img of=/dev/disk1 |
|
|
|
- Using a serial console |
|
- By default the rpi.img is set to use the HDMI output; to change mount rpi.img (it's a FAT filesystem) |
|
|
|
edit cmdline.txt and remove '"console=fb"' |
|
- proceed with the 'dd' |
|
|
|
- Growing the root file-system |
|
- 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. |
|
- Reboot, and at the prompt to enter the passname 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 /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. |
|
|
|
# Updating the firmware |
|
- [rpi firmware files](https://github.com/raspberrypi/firmware/tree/master/boot) |
|
- Copy all files except 'kernel*img' into /boot and reboot |
|
|
|
# Additional links |
|
- [ARM userland utilities](https://github.com/jaredmcneill/userland) |
|
|
# What works |
# What works |
- multi-user boot with root on SD card and serial console |
- multi-user boot with root on SD card |
|
- serial or graphics console (with EDID query / parsing) |
|
- X windows. |
|
- USB (host); control, interrupt and bulk transfers. Has some stability issues that are being worked on. man page missing. |
|
- USB Ethernet |
|
- RNG: works |
|
- I²C: works, could use enhancements, man page |
|
- SPI: works, could use enhancements, man page |
|
- VCHIQ: work in progress. man page missing. (-current) |
|
- Audio: works. man page missing. (-current) |
|
|
# What needs work |
# What needs work |
- USB (host): work in progress |
- USB (host); isochronous transfers. DMA support. |
- I²C: work in progress |
- DMA controller driver / dmover(9) backend |
- SPI: work in progress |
- Teach sdhc(4) about dmover; not Raspberry Pi specific |
|
- hardfloat; not Raspberry Pi specific |
|
- earm ABI; not Raspberry Pi specific |
- GPIO |
- GPIO |
- framebuffer |
|
- almost everything relating to working with the VideoCore IV |
|