Fedora ARM Secondary Architecture/SheevaPlug
Contents
Goal
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
Memory
- 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
- 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
- Connect the device using the mini USB -> USB cable.
- 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).
- Windows will find 2 devices (USB Converter A and B) A = JTAG port B = serial port. We want to connect to the serial port.
- Click on Port B, select properties and in the Advance tab ensure LOAD VCP is selected.
- Unplug the device, and plug it back in.
- Using PuTTY, connect to the COM port of "PORT B" and make sure the SPEED is set to 115200.
- 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).
- Login using the default authentication information (username = root ) (password = nosoup4u)
Accessing SheevaPlug serial console from a Linux box
- Connect the device using the mini USB -> USB cable.
- You will find a new /dev/ttyUSBx device (/dev/ttyUSB0 if there are no other USB serial ports).
- Connect to this port using the cu command (found in the uucp package):
cu -l ttyUSB0 -s 115200
Installing F12 on an SD
- Plug an ethernet cable into the SheevaPlug and connect it to your router.
- Check the DHCP table on the router to find out the IP that was assigned to the SheevaPlug (i.e. 192.168.15.109)
-
ssh root@ipaddress
(i.e. 192.168.15.109) - Insert the SD card into the SheevaPlug's card reader slot.
-
dmesg | tail
(shows the mount point) (i.e. /dev/mmc1) - Partition the SD card using
fdisk /dev/mmc1
(Delete any existing partitions) - Create a new partition (C) accept the defaults, make it bootable (a), verify it (p) and write the new partition table (w)
- Create the file system using mkfs.ext3 /dev/mmc1
- Get the Kernel:
wget http://ftp.linux.org.uk/pub/linux/arm/fedora/platforms/sheevaplug/uImage-2.6.30-sheevaplug
and root filesystemhttp://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
- Create a mount point using
mkdir /media/flash
. Mount the SD card using/dev/mmc1 /media/flash
. Uncompress the file system usingtar -jxf rootfs-f12.tar.bz2
. Copy the filesystem over to the SD card usingcp -r rootfs-f12/* /media/flash
. Copy the the kernel over to the SD card usingcp 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.
If you have the newest version or have finished upgrading continue to the following steps:
- Reboot the SheevaPlug, and during the countdown, interrupt it by pressing any key.
- 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
- Once the device reboots, you should be prompted with the fedora-arm login. Login using "root" and the password is "fedoraarm"