File:  [NetBSD Developer Wiki] / wikisrc / ports / evbarm / raspberry_pi.mdwn
Revision 1.31: download - view: text, annotated - select for diffs
Wed Feb 4 05:17:05 2015 UTC (6 years, 5 months ago) by snj
Branches: MAIN
CVS tags: HEAD
For ioquake3, point to the ioquake3-pk3 package rather than having
people install them per-user by hand.  Adjust pak0.pk3 instructions
accordingly.

    1: [[!meta title="NetBSD/evbarm on Raspberry Pi"]]
    2: 
    3: [[images/raspberrypi.jpg]]
    4: 
    5: [[!toc levels=2]]
    6: 
    7: This page attempts to document and coordinate efforts towards NetBSD/evbarm on [Raspberry Pi](http://www.raspberrypi.org).
    8: 
    9: <small>([Raspberry Pi image](http://www.flickr.com/photos/42325803@N07/8118758647/) by Christopher Lee used under CC-By-2.0 license)</small>
   10: 
   11: # Installation
   12:  - You may use the rpi.img file created by an evbarm build - evbarm-earmv6hf is recommended.
   13:    - The Raspberry Pi port will be part of the NetBSD 7 stable release,
   14:      but you may want to use the HEAD branch for the latest development code.
   15:    - The automatic nightly builds can be found in the 'evbarm-earmv6hf/binary/gzimg/' directory under on [nyftp.netbsd.org](http://nyftp.netbsd.org/pub/NetBSD-daily/).
   16:      - The HEAD/current build will be under HEAD/YYYYMMDDHHMMZ/evbarm-earmv6hf/binary/gzimg/
   17:      - The stable build will be under netbsd-7/YYYYMMDDHHMMZ/evbarm-earmv6hf/binary/gzimg/
   18:      - For example, http://nyftp.netbsd.org/pub/NetBSD-daily/netbsd-7/201412161700Z/evbarm-earmv6hf/binary/gzimg/
   19:    - 'releasedir/evbarm/binary/gzimg/' if you run (for example) './build.sh -m evbarm -a earmv6hf -u release'
   20:    - <i>gunzip and dd</i> this img to your sd card.
   21: 
   22: 	   dd if=rpi.img of=/dev/disk1
   23: 
   24:  - Using a serial console
   25:    - By default the rpi.img is set to use the HDMI output; to change to using a serial console first mount rpi.img (it's a FAT filesystem)
   26: 
   27: 	   edit cmdline.txt and remove '"console=fb"'
   28: 
   29:  - Growing the root file-system
   30:    - During the partitioning process, do not delete or format the
   31:      first MSDOS (FAT) partition, as the Raspberry pi firmware is
   32:      hard coded to boot on the SDCAD / 1st MSDOS partition / Firmware
   33:      updates and boot loader.
   34:    - Copy /boot/cmdline.txt to /boot/cmdline.txt.orig
   35:    - Edit /boot/cmdline.txt and add the '-s' flag to the end of the first line of text to boot into single-user mode.
   36:    - For the next steps, the root filesystem mustn't be mounted rw. So reboot, and at the prompt to enter the pathname of shell,
   37:      press return for the default (/bin/sh).
   38:    - At the # prompt, type
   39: 
   40:         "disklabel -i ld0" and press return.
   41: 
   42:    - At the partition> prompt type "A" and press return.
   43: 
   44:            Adjust disklabel sector from 4194304 to 62333952 [n]?
   45:            Type "y" and press return.
   46: 
   47:    - partition> prompt type "a" and press return.
   48: 
   49:            Filesystem type prompt, press return to use the current value (4.2BSD).
   50:            Start offset prompt, press return to use the current value.
   51:            Partition size prompt, type "$" and press return to grow the
   52:            partition to use all available free space.
   53: 
   54:    - partition> prompt type "W" to save the changes to the disklabel.
   55: 
   56:            Confirm this choice by typing "y" at the Label disk prompt.
   57:            Type "Q" and press return to quit disklabel.
   58: 
   59:    - At the # prompt (shell), type
   60: 
   61:            fsck -fy /dev/rld0a
   62:            resize_ffs -y /dev/rld0a
   63: 
   64:    - This may take a few minutes, be patient!
   65: 
   66:            fsck -fy /dev/rld0a
   67:            mount_msdos /dev/ld0e /boot
   68:            mv /boot/cmdline.txt.orig /boot/cmdline.txt
   69:            reboot
   70: 
   71:     - When the system comes back up, the root file-system will have been expanded to
   72: 	   fill the SD card.
   73: 
   74: # Installation with sshramdisk image
   75:  - You may use the  rpi_inst.img.gz file created by an evbarm build.
   76:  - Connect Ethernet Cable to RPI.
   77:  - After starting DHCP client, SSH login to with user "sysinst", and password "netbsd".
   78:    - Be careful to note the ip address given during DHCP so you don't lose your connection
   79:    - Also for after the sysinst is done and the system reboots
   80:  - sysinst started!
   81: 
   82: # Updating the firmware
   83:  - [rpi firmware files](https://github.com/raspberrypi/firmware/tree/master/boot)
   84:    - Copy all files except 'kernel*.img' into /boot and reboot
   85: 
   86: # Wireless Networking
   87:  - A Realtek 802.11n USB adaptor configures as urtwn(4).
   88:    - Configure with wpa_supplicant in /etc/rc.conf -
   89: 
   90:            ifconfig_urtwn0=dhcp
   91:            dhcpcd=YES
   92:            dhcpcd_flags="-q -b"
   93:            wpa_supplicant=YES
   94:            wpa_supplicant_flags="-B -i urtwn0 -c /etc/wpa_supplicant.conf"
   95:    - A sample wpa_supplicant.conf can be found at /usr/share/examples/wpa_supplicant/wpa_supplicant.conf
   96: 
   97: # GPU
   98: 
   99: ## Video playback
  100: Accelerated video playback is supported in NetBSD 7 with the [OMXPlayer](http://pkgsrc.se/multimedia/omxplayer) application and through GStreamer with the [omx](http://pkgsrc.se/multimedia/gst-plugins1-omx) plugin.
  101: 
  102: ## OpenGL ES
  103: Accelerated OpenGL ES is supported in NetBSD 7. The GL ES client libraries are included with the [misc/raspberrypi-userland](http://pkgsrc.se/misc/raspberrypi-userland) package.
  104: 
  105: ## Quake 3
  106: A Raspberry Pi optimized build of *ioquake3* is available in the [games/ioquake3-raspberrypi](http://pkgsrc.se/games/ioquake3-raspberrypi) package. To use it, the following additional resources are required:
  107: 
  108:  - pak0.pk3 from Quake 3 CD
  109:  - additional pak files from the [games/ioquake3-pk3](http://pkgsrc.se/games/ioquake3-pk3) package
  110:  - read/write permissions on /dev/vchiq and /dev/wsmouse
  111: 
  112: Place the pak0.pk3 file in the /usr/pkg/lib/ioquake3/baseq3 directory.
  113: 
  114: # Additional links
  115:  - [ARM userland utilities](https://github.com/jaredmcneill/userland)
  116: 
  117: # What works (NetBSD 7.0+)
  118:  - multi-user boot with root on SD card
  119:  - serial or graphics console (with EDID query / parsing)
  120:  - DMA controller driver and sdhc(4) support
  121:  - Audio: works. man page missing.
  122:  - I²C: works, could use enhancements, man page
  123:  - GPIO
  124:  - RNG
  125:  - SPI: could use enhancements, man page
  126:  - GPU (VCHIQ) - 3D and video decode. man page missing.
  127:  - USB (host) - dwctwo(4)
  128:  - USB Ethernet - usmsc(4)
  129:  - X windows.
  130: 
  131: # What needs work
  132:  - USB (host); isochronous transfers.

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