Marvell Plug Computer Booting

From Amahi Wiki
Revision as of 21:32, 2 September 2010 by Rafacas (talk | contribs)
Jump to: navigation, search

SheevaPlug

Here's how to allow your SheevaPlug to boot from a USB drive.
You'll need a JTAG module to achieve this.

  • Connect the JTAG module to the SheevaPlug (be careful; connecting it the wrong way will fry it! See the warning sticker on the plug, and the photo on the box for proper connection), and connect the USB side to your computer (can be Windows, Linux or Mac).
  • On Windows: install a driver (disc that came with plug), and use PuTTY (serial).
  • On Linux, execute the following command:
cat > /etc/udev/rules.d/85-sheevaplug.rules <<'EOF'
# if no driver has claimed the interface yet, load ftdi_sio
ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_interface", \
        ATTRS{idVendor}=="1c0c", ATTRS{idProduct}=="0102", \
        DRIVER=="", \
        RUN+="/sbin/modprobe -b ftdi_sio"

# add the sheevaplug VID and PID to the list of devices supported by ftdi_sio
ACTION=="add", SUBSYSTEM=="drivers", \
        ENV{DEVPATH}=="/bus/usb-serial/drivers/ftdi_sio", \
        ATTR{new_id}="1c0c 0102"

# optionally create a convenience symlink for the console device
ACTION=="add", KERNEL=="ttyUSB*", \
        ATTRS{interface}=="SheevaPlug JTAGKey FT2232D B", \
        ATTRS{bInterfaceNumber}=="01", \
        SYMLINK+="sheevaplug"
EOF

Then use gtkterm: use 2 stop bits & 115200 bps speed when creating the profile; keep the defaults for the rest. Instead of gtkterm, you can also use the simpler screen: yum -y install screen; screen /dev/ttyUSB1 115200
Once connected, if you want to close your terminal session, hit Ctrl-A followed by Shift-K. You'll be asked if you're sure you want to kill this window; just say yes!

  • On Mac OS X, Install the FTDI driver, download Info.plist.patch to your desktop, then run the following commands to connect to the SheevaPlug console:
sudo patch -p0 < ~/Desktop/Info.plist.patch
sudo kextunload /System/Library/Extensions/FTDIUSBSerialDriver.kext
sudo kextload /System/Library/Extensions/FTDIUSBSerialDriver.kext
screen /dev/tty.usbserial-[TAB]B 115200

For [TAB], hit the TAB key; the value there will be unique to each SheevaPlug computer, so TAB will allow you to auto-fill the correct value. Type B after that value has been auto-filled.
Once connected, if you want to close your terminal session, hit Ctrl-A followed by Ctrl-K (or Shift-K on Linux). You'll be asked if you're sure you want to kill this window; just say yes!

  • Reset the SheevaPlug.
  • At the terminal, press enter a couple of seconds after boot to prevent it from booting using the onboard flash (Ubuntu). You should end up with a Marvell>> prompt.
  • There are some commands you need to run to make it permanently boot from the USB port (NOTE: this step is only necessary once):
setenv mainlineLinux yes
setenv arcNumber 2097
setenv bootargs_root 'root=/dev/sda1 rootdelay=15'
setenv bootcmd_usb 'usb start; ext2load usb 0:1  0x6400000 /boot/uImage'
setenv bootcmd 'setenv bootargs $(console) $(bootargs_root); run bootcmd_usb; bootm 0x6400000'
saveenv
reset
  • If you want to make it permanently boot from the SD card, the commands you need to run are:

(NOTE: this step is only necessary once. I assume that the swap partition is /dev/mmcblk0p1 and the root partition is /dev/mmcblk0p2).

setenv mainlineLinux yes
setenv arcNumber 2097
setenv bootargs_console console=ttyS0,115200
setenv bootargs_root 'rw root=/dev/mmcblk0p2 rootdelay=15 rootfstype=ext3'
setenv bootcmd_mmc 'mmcinit; ext2load mmc 0:2 0x800000 /boot/uImage'
setenv bootcmd 'setenv bootargs $(bootargs_console) $(bootargs_root); run bootcmd_mmc; bootm 0x0800000'
saveenv
reset


GuruPlug

Configuring Uboot for GuruPlug

Pogoplug / DockStar

See the instructions here on how to allow the PogoPlug & DockStar to boot from USB: http://plugapps.com/index.php5?title=PlugApps:Pogoplug_Setboot
Stop after executing the pogo_u-boot_install.sh script in step 1.