FreeBSD 9.x (9-current) Plug Computer Distribution
From PlugWiki
Contents |
FreeBSD on the Marvell Sheeva Plug Computer
As of August 31, 2009, FreeBSD-current (pending 9.x) supports the SheevaPlug computer [1].
The directions below are for developers who are interested in booting FreeBSD using DHCP/TFTP/NFS.
As at 2009-10-16:
Support for booting from NAND is not yet possible as there is no NAND flash filesystem for FreeBSD yet, although work on a NAND driver is underway: [2] and [3]
Support for booting from SDHC is not yet available. The driver is complete and in a stable state, but needs to be polished and reviewed before being merged into SVN, so it will be available in the near future.
Support for booting from USB is possible, works in general and will be documented, however there are still some issues see below.
FreeBSD Current State: pre v9.0 Release
First, FreeBSD current is in a state of flux, but inside the current repository, FreeBSD is offering Marvell SoC support.
Getting FreeBSD Current
As of August 31, 2009, the "current" SVN snapshot has evolved to 9-current and 8-current is now 8-stable. There are some references to 8-current, but this is now 9-current where the SheevaPlug support is integrated. In order to gather the latest 9-current, one can use the csup command from the cvsup port by following the steps below and then follow those with building the SheevaPlug kernel and base. For more details, please use the FreeBSD handbook [4].
* install FreeBSD 7.x or 8.x (now 8-stable) on a virtual machine or appropriate hardware * edit a supfile to grab the cvs current with the following option:
*default release=cvs tag=.
* run csup supfile and wait while the CVS current release is downloaded
Now, one can compile the SheevaPlug kernel and maybe change some device or root options and build a base root FreeBSD 9-current file system. If more information is required for cvsup, please use the FreeBSD handbook on CVSup [5].
= Compiling a FreeBSD for the SheevaPlug with Option Changes
As discussed on the FreeBSDMarvell wiki page, the kernel compile works out of the box using a SheevaPlug supported by a properly configured trio of DHCP, TFTP, and NFS servers. However, if a different boot mechanism or alternate device is needed, please compile a custom FreeBSD kernel by doing the following:
* from your supfile cvs current directory, cp sys/arm/conf/SHEEVAPLUG sys/arm/conf/SHEEVAPLUG2
U-Boot: FreeBSD Fast File System (FFS) v2 and UFS v2
On the Forum in U-Boot stuff, there is a topic discussing how to patch and build the Marvell U-boot version to read and load from the FreeBSD file systems [6].
Boot FreeBSD from USB Key
Booting might be affected by general USB stack problems with the umass device being instantiated too late after the mount probe happens. There are a couple of threads below on this topic and patches posted, but the final fix has not yet been committed, so some devices will work while other will not.
The latest mail-trail on this issue is here [7] (trail includes several potential patches, not yet confirmed to work with the plug) also problem report filed here: [8]
More documentation on this will follow.
Boot FreeBSD from SDHC
Not yet possible, see first topic above
Summary
Return to Main Page#Comparing the Operating System Distributions Available for the Plug Computer
