Diff for /wikisrc/ports/evbarm/raspberry_pi.mdwn between versions 1.19 and 1.39

version 1.19, 2013/11/22 16:12:19 version 1.39, 2015/03/29 21:32:29
Line 1 Line 1
 [[!meta title="NetBSD/evbarm on Raspberry Pi"]]  [[!meta title="NetBSD/evbarm on Raspberry Pi"]]
   
   This page attempts to document and coordinate efforts towards NetBSD/evbarm on [Raspberry Pi](http://www.raspberrypi.org). All board variants are supported.
   
   Initial Raspberry Pi support was introduced in NetBSD 6.0. NetBSD 7.0 adds complete support for the board, along with introducing support for the quad-core Raspberry Pi 2 board.
   
 [[images/raspberrypi.jpg]]  [[images/raspberrypi.jpg]]
   
 This page attempts to document and coordinate efforts towards NetBSD/evbarm on [Raspberry Pi](http://www.raspberrypi.org).  [[!toc levels=2]]
   
 <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>
   
 # Installation  # Installation
  - Use the latest HEAD/-current which builds for install   - You may use the rpi.img file created by an evbarm build - evbarm-earmv6hf is recommended. This isn't optimized for Raspberry Pi 2, but allows a single image to be used for all boards.
    - As the Raspberry Pi port is still not part the stable release, you will want to use the     - The Raspberry Pi and Pi 2 ports will be part of the NetBSD 7 release.
      HEAD branch to download installation sets.     - The automatic nightly builds can be found in the 'evbarm-earmv6hf/binary/gzimg/' directory on [nyftp.netbsd.org](http://nyftp.netbsd.org/pub/NetBSD-daily/).
    - You may use the rpi.img file created by an evbarm build - evbarm-earmv6hf is recommended, but this is not currently available on nyftp. For now, evbarm-earmhf is best.       - The stable build will be under netbsd-7/YYYYMMDDHHMMZ/evbarm-earmv6hf/binary/gzimg/
    - An example can be found in the 'evbarm-earmhf/binary/gzimg/' directory under releng.netbsd.org       - The HEAD/current build will be under HEAD/YYYYMMDDHHMMZ/evbarm-earmv6hf/binary/gzimg/
      - On nyftp.netbsd.org/pub/NetBSD-daily/HEAD/YYYYMMDDHHMMZ (it will look like pub/NetBSD-daily/HEAD/201305220150Z)       - For example, http://nyftp.netbsd.org/pub/NetBSD-daily/netbsd-7/201412161700Z/evbarm-earmv6hf/binary/gzimg/
    - 'releasedir/evbarm/binary/gzimg/' if you run (for example) './build.sh -m evbarm -a earmv6hf -u release'     - 'releasedir/evbarm/binary/gzimg/' if you run (for example) './build.sh -m evbarm -a earmv6hf -u release'
      - <i>gunzip and dd</i> this img to your sd card.     - <i>gunzip and dd</i> this img to your sd card.
   
            dd if=rpi.img of=/dev/disk1             dd if=rpi.img of=/dev/disk1
   
Line 30  This page attempts to document and coord Line 34  This page attempts to document and coord
      updates and boot loader.       updates and boot loader.
    - Copy /boot/cmdline.txt to /boot/cmdline.txt.orig     - 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.     - 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 pathname of shell, press     - For the next steps, the root filesystem mustn't be mounted rw. So reboot, and at the prompt to enter the pathname of shell,
            return for the default (/bin/sh).       press return for the default (/bin/sh).
    - At the # prompt, type     - At the # prompt, type
   
         "disklabel -i ld0" and press return.          "disklabel -i ld0" and press return.
Line 80  This page attempts to document and coord Line 84  This page attempts to document and coord
  - [rpi firmware files](https://github.com/raspberrypi/firmware/tree/master/boot)   - [rpi firmware files](https://github.com/raspberrypi/firmware/tree/master/boot)
    - Copy all files except 'kernel*.img' into /boot and reboot     - Copy all files except 'kernel*.img' into /boot and reboot
   
 # Additional links  # Wireless Networking
  - [ARM userland utilities](https://github.com/jaredmcneill/userland)   - A Realtek 802.11n USB adaptor configures as urtwn(4).
      - Configure with wpa_supplicant in /etc/rc.conf -
   
              ifconfig_urtwn0=dhcp
              dhcpcd=YES
              dhcpcd_flags="-q -b"
              wpa_supplicant=YES
              wpa_supplicant_flags="-B -i urtwn0 -c /etc/wpa_supplicant.conf"
      - A sample wpa_supplicant.conf can be found at /usr/share/examples/wpa_supplicant/wpa_supplicant.conf
   
   # GPU
   
   ## Video playback
   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.
   
   ## OpenGL ES
   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.
   
   ## Quake 3
   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:
   
    - pak0.pk3 from Quake 3 CD
    - additional pak files from the [games/ioquake3-pk3](http://pkgsrc.se/games/ioquake3-pk3) package
    - read/write permissions on /dev/vchiq and /dev/wsmouse
   
   Place the pak0.pk3 file in the /usr/pkg/lib/ioquake3/baseq3 directory.
   
   ## RetroArch / Libretro
   Using [emulators/retroarch](http://pkgsrc.se/emulators/retroarch) it is possible to run many emulators at full speed the Raspberry Pi. Emulator cores for various gaming consoles are available in the [emulators/libretro-*](http://pkgsrc.se/search.php?so=libretro-) packages. To begin using retroarch:
   
    - Install [emulators/retroarch](http://pkgsrc.se/emulators/retroarch)
    - Install the libretro core for the system you would like to emulate (lets take [emulators/libretro-gambatte](http://pkgsrc.se/emulators/libretro-gambatte), a GameBoy Color emulator, as an example).
    - Plug in a USB HID compatible Gamepad, such as the Logitech F710 in "DirectInput" mode (set "D/X" switch to "D").
    - Create a config file for your gamepad using *retroarch-joyconfig*.
   [[!template  id=programlisting text="""
   $ retroarch-joyconfig -o gamepad.cfg
   """]]
    - Launch the emulator from the command-line (no X required):
   [[!template  id=programlisting text="""
   $ retroarch --appendconfig gamepad.cfg -L /usr/pkg/lib/libretro/gambatte_libretro.so game.gbc
   """]]
   
 # What works  # What works (NetBSD 7.0+)
  - multi-user boot with root on SD card   - multi-user boot with root on SD card
  - serial or graphics console (with EDID query / parsing)   - serial or graphics console (with EDID query / parsing)
  - X windows.   - 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 (host) - dwctwo(4)
  - USB Ethernet - usmsc(4)   - USB Ethernet - usmsc(4)
  - RNG: works   - X windows.
  - 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); isochronous transfers.   - USB (host); isochronous transfers.
  - DMA controller driver / dmover(9) backend   - MULTIPROCESSOR support for Raspberry Pi 2
  - Teach sdhc(4) about dmover; not Raspberry Pi specific  
  - GPIO  

Removed from v.1.19  
changed lines
  Added in v.1.39


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