File:  [NetBSD Developer Wiki] / wikisrc / ports / evbarm / raspberry_pi.mdwn
Revision 1.11: download - view: text, annotated - select for diffs
Sat Mar 23 13:54:25 2013 UTC (13 months ago) by wiki
Branches: MAIN
CVS tags: HEAD
web commit by mspo

[[!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).

(Raspberry Pi [image](http://www.flickr.com/photos/42325803@N07/8118758647/) by Christopher Lee used under CC-By-2.0 license)

# 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
     - <i>gunzip and dd</i> this img to your sd card.

 - 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.
   - 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. You will see
     a message like:

           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, 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)
 - [Additional kernel drivers for VCHIQ](https://github.com/jaredmcneill/vchiq-netbsd)

# What works
 - 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

# What needs work
 - VCHIQ; work in progress - will provide audio.
 - USB (host); isochronous transfers. DMA support.
 - DMA controller driver / dmover(9) backend
 - Teach sdhc(4) about dmover; not Raspberry Pi specific
 - hardfloat; not Raspberry Pi specific
 - earm ABI; not Raspberry Pi specific
 - GPIO

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb