Difference between revisions of "Marvell Plug Computer Booting"

From Amahi Wiki
Jump to: navigation, search
Line 5: Line 5:
  
 
* 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).
 
* 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 [http://plugcomputer.org/plugwiki/index.php/SerialTerminal/Windows/PuTTY use PuTTY (serial)].
+
 
* On Linux, execute the following command:
+
= Windows =
 +
On Windows install a driver (disc that came with plug), and [http://plugcomputer.org/plugwiki/index.php/SerialTerminal/Windows/PuTTY use PuTTY (serial)].
 +
 
 +
= Linux =
 +
On Linux, execute the following command:
 
         cat > /etc/udev/rules.d/85-sheevaplug.rules <<'EOF'
 
         cat > /etc/udev/rules.d/85-sheevaplug.rules <<'EOF'
 
         # if no driver has claimed the interface yet, load ftdi_sio
 
         # if no driver has claimed the interface yet, load ftdi_sio
Line 28: Line 32:
 
Then use [http://sourceforge.net/projects/gtkterm/ 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''<br/>
 
Then use [http://sourceforge.net/projects/gtkterm/ 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''<br/>
 
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!
 
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 [http://www.ftdichip.com/Drivers/VCP/MacOSX/FTDIUSBSerialDriver_v2_2_14.dmg FTDI driver], download [http://dl.dropbox.com/u/3022105/Amahi/sheeva/Info.plist.patch 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.<br/>
+
= On Mac OS X =
 +
 
 +
On Mac OS X, Install the [http://www.ftdichip.com/Drivers/VCP/MacOSX/FTDIUSBSerialDriver_v2_2_14.dmg FTDI driver], download [http://dl.dropbox.com/u/3022105/Amahi/sheeva/Info.plist.patch 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
 +
 
 +
Then plug in the device to USB:
 +
 
 +
      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=
 +
 
 
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!
 
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.
 
* 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.
 
* 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):
 
* 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 mainlineLinux yes
setenv arcNumber 2097
+
      setenv arcNumber 2097
setenv bootargs_root 'root=/dev/sda1 rootdelay=15'
+
      setenv bootargs_root 'root=/dev/sda1 rootdelay=15'
setenv bootcmd_usb 'usb start; ext2load usb 0:1  0x6400000 /boot/uImage'
+
      setenv bootcmd_usb 'usb start; ext2load usb 0:1  0x6400000 /boot/uImage'
setenv bootcmd 'setenv bootargs $(console) $(bootargs_root); run bootcmd_usb; bootm 0x6400000'
+
      setenv bootcmd 'setenv bootargs $(console) $(bootargs_root); run bootcmd_usb; bootm 0x6400000'
saveenv
+
      saveenv
reset
+
      reset
 
* If you want to make it permanently boot from the SD card, the commands you need to run are:
 
* 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).   
 
('''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 mainlineLinux yes
setenv arcNumber 2097
+
      setenv arcNumber 2097
setenv bootargs_console console=ttyS0,115200
+
      setenv bootargs_console console=ttyS0,115200
setenv bootargs_root 'rw root=/dev/mmcblk0p2 rootdelay=15 rootfstype=ext3'
+
      setenv bootargs_root 'rw root=/dev/mmcblk0p2 rootdelay=15 rootfstype=ext3'
setenv bootcmd_mmc 'mmcinit; ext2load mmc 0:2 0x800000 /boot/uImage'
+
      setenv bootcmd_mmc 'mmcinit; ext2load mmc 0:2 0x800000 /boot/uImage'
setenv bootcmd 'setenv bootargs $(bootargs_console) $(bootargs_root); run bootcmd_mmc; bootm 0x0800000'
+
      setenv bootcmd 'setenv bootargs $(bootargs_console) $(bootargs_root); run bootcmd_mmc; bootm 0x0800000'
saveenv
+
      saveenv
reset
+
      reset
  
  

Revision as of 03:00, 9 October 2010

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).

Windows

On Windows install a driver (disc that came with plug), and use PuTTY (serial).

Linux

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

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

Then plug in the device to USB:

      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

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.