Fedora ARM Secondary Architecture/SheevaPlug

From CDOT Wiki
Jump to: navigation, search


To prepare the SheevaPlug, one of the ARM systems, so that it can be added to the Koji build pool.

SheevaPlug Specifications

Sheeva CPU Core

  • 1.2 GHz operation
  • L1 Cache: 16K Instruction + 16K Data
  • L2 Cache: 256KB


  • DDR2 400MHz, 16-bit bus, 512MB
  • NAND FLASH Controller, 8-bit bus, 512MB NAND FLASH
  • 128-bit eFuse Memory (for tiny, permanent storage, e.g., serial number)


  • Power input: 100-240VAC/50-60Hz 19W DC Consumption: 5V/3.0A
  • High efficiency POL DC-DC converters

Development Interface

  • System Development Board JTAG and Console Interface via USB
  • SDIO expansion
  • JTAG OpenOCD support via USB

High Speed I/O & Peripherals

  • USB 2.0 Host
  • SD slot
  • RTC w/ Battery
  • Programmable LED

Hardware Links

Accessing the SheevaPlug serial console from a Windows 7 box

  1. Connect the device using the mini USB -> USB cable.
  2. Chances are Windows will struggle to find drivers for the device so just use the SheevaPlug_Host_SWsupportPackageWindowsHost.zip file that is included in the DevKit CD. Unzip it and use Device Manager to browse for the TeraTerm Drivers (located as a sub directory in the zip file you just extracted).
  3. Windows will find 2 devices (USB Converter A and B) A = JTAG port B = serial port. We want to connect to the serial port.
  4. Click on Port B, select properties and in the Advance tab ensure LOAD VCP is selected.
  5. Unplug the device, and plug it back in.
  6. Using PuTTY, connect to the COM port of "PORT B" and make sure the SPEED is set to 115200.
  7. You might need to press ENTER once or twice to get the prompt to actually show (sounds silly but it took me a while to figure that out lol).
  8. Login using the default authentication information (username = root ) (password = nosoup4u)

Accessing SheevaPlug serial console from a Linux box

  1. Connect the device using the mini USB -> USB cable.
  2. You will find a new /dev/ttyUSBx device (/dev/ttyUSB0 if there are no other USB serial ports).
  3. Connect to this port using the cu command (found in the uucp package):
cu -l ttyUSB0 -s 115200

Installing F12 on an SD

  1. Plug an ethernet cable into the SheevaPlug and connect it to your router.
  2. Check the DHCP table on the router to find out the IP that was assigned to the SheevaPlug (i.e.
  3. ssh root@ipaddress (i.e.
  4. Insert the SD card into the SheevaPlug's card reader slot.
  5. dmesg | tail (shows the mount point) (i.e. /dev/mmc1)
  6. Partition the SD card using fdisk /dev/mmc1 (Delete any existing partitions)
  7. Create a new partition (C) accept the defaults, make it bootable (a), verify it (p) and write the new partition table (w)
  8. Create the file system using mkfs.ext3 /dev/mmc1
  9. Get the Kernel: wget http://ftp.linux.org.uk/pub/linux/arm/fedora/platforms/sheevaplug/uImage-2.6.30-sheevaplug and root filesystem http://ftp.linux.org.uk/pub/linux/arm/fedora/rootfs/rootfs-f12.tar.bz2
    • NOTE: WGET may not be installed on the SheevaPlug so run "yum install wget"
    • NOTE: If you are not connected to the internet run route add default gw <ip address> and add the name server to /etc/resolv.conf
  10. Create a mount point using mkdir /media/flash. Mount the SD card using /dev/mmc1 /media/flash. Uncompress the file system using tar -jxf rootfs-f12.tar.bz2. Copy the filesystem over to the SD card using cp -r rootfs-f12/* /media/flash. Copy the the kernel over to the SD card using cp uImage-2.6.30-sheevaplug/media/flash/boot

Booting F12(on the SD) from SheevaPlug

In order boot from the SD card, u-boot must be configured. Depending on what version of u-boot you have, you might have to take an extra step in upgrading u-boot. Use the link below for the upgrade procedures.

[How-TO on Upgrading U-Boot]

If you have the newest version or have finished upgrading continue to the following steps:

  1. Reboot the SheevaPlug, and during the countdown, interrupt it by pressing any key.
  2. Run the following commands:
    • Marvell>> setenv mainlineLinux yes
    • Marvell>> setenv arcNumber 2097
    • Marvell>> setenv bootargs_console console=ttyS0,115200
    • Marvell>> setenv bootargs_root 'rw root=/dev/mmcblk0p1 rootdelay=10 rootfstype=ext2'
    • Marvell>> setenv bootcmd_mmc 'mmcinit; ext2load mmc 0 0x800000 /boot/uImage-2.6.30-sheevaplug'
    • Marvell>> setenv bootcmd 'setenv bootargs $(bootargs_console) $(bootargs_root); run bootcmd_mmc; bootm 0x0800000'
    • Marvell>> saveenv
    • Marvell>> reset
  3. Once the device reboots, you should be prompted with the fedora-arm login. Login using "root" and the password is "fedoraarm"