Kirkwood Series
Kirkwood processors were developed for network connected consumer electronic equipment that are used in gateway/access point, set-top boxes, network storage, digital home media servers, point of services terminal, and plug computers (sheevaplug, dreamplug, guruplug, etc).[1]
Plug Computers
A plug computer is a small form factor server, intended to provide network-based services within the home. These ARM based devices provides always-on, always-connected, and environmentally-friendly computing that is readily available for developers.[2]
GuruPlugs
The Guruplugs are one of the popular plug computers. More information on Guruplugs can be found here. Below is the technical specifications for a typical GuruPlug Server Plus
Technical Specifications
- 1.0 Ghz - 1.2 Ghz Processor (Marvell 88F6281)
- 512 MB 16-bit DDR2 RAM
- 512 MB NAND Flash
- 802.11 b/g WiFi
- SATA 2.0 port (eSATA)
- 2 x Gigabit Ethernet
- 2 x 16550 compatible UART interfaces (external JTAG adapter)
- 2 x USB 2.0 ports
- 1 x MicroSD Slot
Running Fedora on a Kirkwood Device
This page will give a user detailed instructions for running Fedora 18 on a Kirkwood based device. The F18 image provides a user with a minimal text based installation to a serial console. At the moment there is no GUI image available. F18 image has been tested to run on GuruPlug Server Plus using microSD card, but should also work for other devices based on the Kirkwood SOC.
Downloading the image
The first step is to download the F18 image. The prebuilt images include kernels and can be written directly to an storage medium such as an (micro)SD Card or an USB stick and requires additional steps (uboot configurations) to boot. The serial console image requires a minimum storage medium size of 4GB.
Writing the Image
Please be aware that writing the image to any drive (SD/microSD/USB/Hard Drive) will erase any existing data in that drive. Please make sure that the card is not write protected.
Linux Users
The image can be written to any storage device as long as it meets the minimum size requirements noted above (4GB for the serial image)
- Connect the device or card to a computer and make a note of the device file in /dev.
- To write the image to to the device run the following command (Please adjust the path in /dev)
xzcat Fedora-18-kirkwood-arm.img.xz > /dev/<location-of-storage-device>
- Once completed run the command below to ensure the entire image is written to the storage
sync
Windows Users
- Download Win32 Image Writer as well as a tool to extract the image such as 7-Zip.
- Once downloaded and installed right click on the disk image and select "7-Zip->Extract files here"
- Launch Win 32 Disk Imager and select the extracted disk image and the microSD card to write the files to. Click "Write". Be very careful during this step - all data on the selected drive will be lost!
Mac Users
- Please note that the Default Archive Utility.app will not extract the .xz file. A third party app will have to be used to decompress it. There are multiple options for that
- There is a Free App available in the App Store called Unarchiver.
- If mac homebrew or macport is already installed, then the xz utility can be downloaded and installed using one of those.
- The xz utils .pkg for mac can be downloaded and installed directly from xz utils
- Once the xz utility is installed, open a terminal and make a note of the current drives.
ls /dev/disk?
- Connect the microSD card to the mac and make a note of the drive.
- Open Disk Utility and make sure that the card and all the partitions in the card (if any) is unmounted
- In the terminal change to the directory where the .xz file is located
- If xz was installed from the .pkg or macport or homebrew then run the following command
xzcat Fedora-18-kirkwood-arm.img.xz > /dev/<location-of-the-microSD-card>
- If the Unarchiver app from App Store was used then just click and decompress the .xz file and then run the following (may require sudo)
dd if=Fedora-18-kirkwood-arm.img of=/dev/<location-of-the-microSD-card>
- Click and eject the microSD card
Booting the Image
Connect the newly created media to the ARM device and power on. Depending on the model/version of the plug/uboot, additional uboot parameters may be necessary or the existing ones could be edited. To do that, stop the boot process during the countdown and follow the instructions here. The Fedora 18 Kirkwood images contain an ext3 filesystem that cannot be booted directly by certain plugs (such as the GuruPlug) at this time. Please follow the appropriate installation instructions for your device.
U-Boot supporting boot from EXT partitions
The following has been tested with a GuruPlug Server Plus (remove the "saveenv" command prior to "boot" if you would only like to test without permanently changing configuration):
# NOTE: substitute "usb 1:1" with "usb 0:1" on non-Plus model devices, or try: usb start ext2ls usb x:1 #where x can be any integer but usually 0-3, the right number will show a directory listing including the files uInitrd and uImage #If ext2ls does not work, your uboot does not support ext2 filesystem, #skip down to the "U-Boot supporting boot from VFAT partitions only" section or upgrade your uboot. printenv set bootargs 'console=ttyS0,115200 root=LABEL=rootfs rootwait' set loadInitrd 'ext2load usb 1:1 0x7400000 uInitrd' set loadImage 'ext2load usb 1:1 0x6400000 uImage' set bootcmd 'usb start; ${loadImage}; ${loadInitrd} ; bootm 0x6400000 0x7400000' saveenv boot
U-Boot supporting boot from VFAT partitions only
(Skip this if you have ext2 support in your uboot.) The first partition of the image will need to be reformatted to VFAT prior to successfully booting the device. You can do this manually if you would like, or use the livemedia-modifier tool to simplify the process. From a terminal enter the following:
wget http://fossjon.fedorapeople.org/packages/livemedia-modifier/livemedia-modifier-1.8-1.fc18.noarch.rpm chmod 755 livemedia-modifier ./livemedia-modifier --image=<location-of-kirkwood-disk-image> --platform=kirkwood
The livemedia-modifier tool will mount the disk image, copy the contents of the boot partition to a temporary directory, reformat to VFAT and then copy the contents back to the partition.
When the reformat has completed, the following has been tested with a GuruPlug Server Plus (remove the "saveenv" command prior to "boot" if you would only like to test without permanently changing configuration):
# NOTE: substitute "usb 1:1" with "usb 0:1" on non-Plus model devices printenv set bootargs 'console=ttyS0,115200 root=LABEL=rootfs rootwait' set loadInitrd 'fatload usb 1:1 0x7400000 uInitrd' set loadImage 'fatload usb 1:1 0x6400000 uImage' set bootcmd 'usb start; ${loadImage}; ${loadInitrd} ; bootm 0x6400000 0x7400000' saveenv boot
Installing the kernel to NAND
You can install the kernel and initrd directly into the Plug's NAND flash using commands similar to the following:
# NOTE: substitute "usb 1:1" with "usb 0:1" on non-Plus model devices usb start fatload usb 1:1 0x6400000 /uImage nand erase 0x100000 0x400000 nand write.e 0x6400000 0x100000 0x400000 fatload usb 1:1 0x6400000 /uInitrd nand erase 0x500000 0x1b00000 nand write.e 0x6400000 0x500000 0x1b00000 set bootargs 'console=ttyS0,115200 root=LABEL=rootfs rootwait' set loadInitrd 'nand read.e 0x7400000 0x500000 0x1b00000' set loadImage 'nand read.e 0x6400000 0x100000 0x400000' set bootcmd 'nand start; ${loadImage}; ${loadInitrd} ; bootm 0x6400000 0x7400000' saveenv boot
Using Fedora on a Kirkwood Device
The default root password is "fedora". This should be changed immediately.
Known Issues
Additional Support
There are Fedora ARM users all around the globe - if you need assistance, would like to provide feedback or contribute to Fedora ARM please visit us on the IRC - we can be found in #fedora-arm on Freenode. You can also contact us on the mailing list - arm@lists.fedoraproject.org