1: [[!meta title="NetBSD/evbarm on Raspberry Pi"]]
5: This page attempts to document and coordinate efforts towards NetBSD/evbarm on [Raspberry Pi](http://www.raspberrypi.org).
7: <small>([Raspberry Pi image](http://www.flickr.com/photos/42325803@N07/8118758647/) by Christopher Lee used under CC-By-2.0 license)</small>
9: # Installation
10: - Use the latest HEAD/-current which builds for install
11: - As the Raspberry Pi port is still not part the stable release, you will want to use the
12: HEAD branch to download installation sets.
13: - 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.
14: - An example can be found in the 'evbarm-earmhf/binary/gzimg/' directory under releng.netbsd.org
15: - On nyftp.netbsd.org/pub/NetBSD-daily/HEAD/YYYYMMDDHHMMZ (it will look like pub/NetBSD-daily/HEAD/201305220150Z)
16: - 'releasedir/evbarm/binary/gzimg/' if you run (for example) './build.sh -m evbarm -a earmv6hf -u release'
17: - <i>gunzip and dd</i> this img to your sd card.
19: dd if=rpi.img of=/dev/disk1
21: - Using a serial console
22: - 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)
24: edit cmdline.txt and remove '"console=fb"'
26: - Growing the root file-system
27: - During the partitioning process, do not delete or format the
28: first MSDOS (FAT) partition, as the Raspberry pi firmware is
29: hard coded to boot on the SDCAD / 1st MSDOS partition / Firmware
30: updates and boot loader.
31: - Copy /boot/cmdline.txt to /boot/cmdline.txt.orig
32: - Edit /boot/cmdline.txt and add the '-s' flag to the end of the first line of text to boot into single-user mode.
33: - For the next steps, the root filesystem mustn't be mounted rw. So reboot, and at the prompt to enter the pathname of shell,
34: press return for the default (/bin/sh).
35: - At the # prompt, type
37: "disklabel -i ld0" and press return.
39: - At the partition> prompt type "A" and press return.
41: Adjust disklabel sector from 4194304 to 62333952 [n]?
42: Type "y" and press return.
44: - partition> prompt type "a" and press return.
46: Filesystem type prompt, press return to use the current value (4.2BSD).
47: Start offset prompt, press return to use the current value.
48: Partition size prompt, type "$" and press return to grow the
49: partition to use all available free space.
51: - partition> prompt type "W" to save the changes to the disklabel.
53: Confirm this choice by typing "y" at the Label disk prompt.
54: Type "Q" and press return to quit disklabel.
56: - At the # prompt (shell), type
58: fsck -fy /dev/rld0a
59: resize_ffs -y /dev/rld0a
61: - This may take a few minutes, be patient!
63: fsck -fy /dev/rld0a
64: mount_msdos /dev/ld0e /boot
65: mv /boot/cmdline.txt.orig /boot/cmdline.txt
68: - When the system comes back up, the root file-system will have been expanded to
69: fill the SD card.
71: # Installation with sshramdisk image
72: - You may use the rpi_inst.img.gz file created by an evbarm build.
73: - Connect Ethernet Cable to RPI.
74: - After starting DHCP client, SSH login to with user "sysinst", and password "netbsd".
75: - Be careful to note the ip address given during DHCP so you don't lose your connection
76: - Also for after the sysinst is done and the system reboots
77: - sysinst started!
79: # Updating the firmware
80: - [rpi firmware files](https://github.com/raspberrypi/firmware/tree/master/boot)
81: - Copy all files except 'kernel*.img' into /boot and reboot
83: # Additional links
84: - [ARM userland utilities](https://github.com/jaredmcneill/userland)
86: # What works in -current
87: - multi-user boot with root on SD card
88: - serial or graphics console (with EDID query / parsing)
89: - Audio: works, but has issues. man page missing.
90: - DMA controller driver and sdhc(4) support
91: - I²C: works, could use enhancements, man page
92: - GPIO
93: - RNG
94: - SPI: could use enhancements, man page
95: - VCHIQ: man page missing. (-current)
96: - USB (host) - dwctwo(4)
97: - USB Ethernet - usmsc(4)
98: - X windows.
100: # What needs work
101: - USB (host); isochronous transfers.
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb