How To: Running Fedora-ARM on Sheevaplug
The SheevaPlug is a development platform, targeted for use as a plug computer, and designed to run network-based software services. It features a Kirkwood Series SoC with an embedded Marvell Sheeva™ CPU core running at 1.2 GHz.
- Power: 2.3w idle no attached devices, 7.0w running at 100% CPU utilization
- CPU: Marvell Kirkwood 88F6281 ARM Based, 1Ghz - 2Ghz processor
- Memory: 512MB SDRAM, 512MB Flash
- Display: none
- Connectivity: USB 2.0, SD, Gigabit Network,JTAG mini USB
- Dimensions: 110 x 69.5 x 48.5 (mm)
Setup Kernel Image
You can either simply use a pre-built kernel image or build your own from source.
Pre-built Kernel Image
You can get one of the following pre-built kernel images for ARM: 1. Include link XXX
Build Kernel Image From Source
You will need to have an ARM cross-compiler. If you do not have one, download one from CodeSourcery's web-site, install it and ensure that is it in your path.
export arch=ARM export CROSS_COMPILE=arm-none-linux-gnueabi-
You can also use the Fedora cross toolchain that we provide.
Download the Linux kernel (I have tested with 2.6.30), and build it for kirkwood_defconfig.
$ cd linux-2.6/ $ make kirkwood_defconfig $ make uImage
Copy the kernel over tftp
Setup tftp server on your host machine as follows:
1. Install the tftp-server package as
# yum install tftp-server
2. Edit /etc/xinetd.d/tftp and change the disable value to no
3. Restart xinetd
# /etc/init.d/xinetd restart
4. Copy the binary into the tftp server's root directory (usually /tftpboot/)
Now on the Sheevaplug's uboot prompt, tftp the kernel over to the Sheevaplug as:
Marvell>> dhcp Marvell>> set serverip <hostip> Marvell>> tftpboot 0x6400000 uImage-2.6.30-sheevaplug
Replace <hostip> with your host's IP address.
Once your kernel cmdline settings are done (as mentioned below), you can boot into the kernel as
Marvell>> bootm 0x6400000
Setup Root File System
RFS over NFS
Download the latest root filesystem tarball from http://ftp.linux.org.uk/pub/linux/arm/fedora/rootfs/ and untar it.
This assumes that you untarred the root file system in /mnt/ARM_FS. We need to export it through NFS. Add the following in your /etc/exports.
Now, restart the NFS service.
/sbin/service nfs restart
Kernel cmdline parameters for NFS setup
While booting the kernel, pass the following cmdline options to ensure bootup over NFS. This assumes that you have the root filesystem in /mnt/ARM_FS/
root=/dev/nfs rw nfsroot=<hostip>:/mnt/ARM_FS/ ip=dhcp