MarvellDoveLucidInstall

Revision 7 as of 2009-09-17 00:40:39

Clear message

This page describes how to install a Karmic (9.10) image to an Marvell Dove board.

Preparation and image writing

Update u-boot

The stock u-boot on the Marvell Dove Y0 board lacks USB support, and must be upgraded to a newer version. In addition, there are modifications made by Canonical to make u-boot automatically start USB and SATA devices. Canonical-modified versions have a Canonical>> prompt instead of Marvel>>.

Canonical versions have a version string similar this

U-Boot 1.3.4-dirty (Sep 16 2009 - 20:05:29) Marvell version: 4.2.3 NQ.  Canonical Development Version.

If your u-boot is older, you'll have to update it to a newer version. u-boot binaries are located here: http://people.canonical.com/~mcasadevall/dove/

Warning /!\ DANGER - If you are at all unsure, please confirm what you are doing is correct with NCommander; a bad u-boot flash WILL brick your board without a JTAG adapter

Warning /!\ DANGER - DO NOT USE THE bubt COMMAND when going from SPI-NOR to NAND. It will result in a bricked board since bubt will end up writing a NAND u-boot to SPI-Nor

Note: This is a revision from earlier versions of these instructions.

Confidentality status of u-boot is currently unclear. Once this is resolved, I'll put public links here. Until then, ping me (NCommander) for the new u-boot binary.

Make sure that the serverip and ipaddr variables are properly set in u-boot (use printenv *name* to check, setenv *name* *value* to change, and save to commit). If you can currently TFTP images to your board, these values are correct.

You'll get a u-boot-db88f6781y0bp_hX00_nand_1CS_fast_bank_en.bin that needs to be placed in your tftpboot folder. Power your board to u-boot as normal, and then execute the following commands to write u-boot to NAND flash

Marvell>> tftp 2000000 u-boot-db88f6781y0bp_hX00_nand_1CS_fast_bank_en.bin
Marvell>> nand erase 0 C0000
Marvell>> nand write 2000000 0 C0000

u-boot will automatically download and flash the new binary. Press 'y' when it asks if you want to wipe the environment, and then reset once it finishes to (hopefully) boot into the new u-boot. Now you need to change the DIP switches so the Dove boots from NAND flash instead of SPI-NOR.

Changing the DIPs

SW7 1-5 on the Dove Y0 board controls where the BootROM does its initial program load from. By default this is set to 0x01, or SPI booting. The correct NAND booting mode for U-Boot is 0x17. To change the mode, set the SW7 dips as follows. For reference, "down" is towards the reset switch, up is towards the power supply connector

Boot Mode

1

2

3

4

5

NAND

Down

Down

Down

Up

Down

SPI

Down

Up

Up

Up

Up

If successful, when the board is powered back on, you should get the u-boot prompt, and it should automatically start scanning for devices.

Writing the Image

First of all you need to download the Image to a large enough USB stick (1GB will suffice) that u-boot will be able to use; SanDisk were reported as supported.

For writing the image either use the usb-imagewriter tool which you can install from the Jaunty universe archive (packages for Hardy (8.04) and Intrepid (8.10) can be found at the usb-imagewriter PPA) or follow the commandline method below.

sudo dd bs=4M if=./karmic-desktop-armel+dove.img of=/dev/sdb

(assuming your USB stick is called /dev/sdb)

You'll also need a SATA disk or large USB harddrive as the target installation device.

Warning /!\ USB booting is supported, but the Dove bootloader is extremely picky on what devices it will boot from. Using SATA is recommended and perferred

Starting the live system manually

Warning /!\ These instructions are currently for reference if you need to manually start from the boot prompt. Current u-boot versions will autostart from a properly written USB stick

Attach the USB pendrive you made in the previous step to the Dove, and then reset the board with the drive attached.

IMPORTANT - Don't type usb start more than once in any given u-boot session since it will cause u-boot to loose track of all devices it currently sees.

You can test if the drive was detected like this:

Marvell>> usb start
(Re)start USB...
USB:   scanning bus for devices... 2 USB Device(s) found
       scanning bus for storage devices... 1 Storage Device(s) found
Marvell>> fatls usb 0:1
            casper/
            dists/
            pics/
            .disk/
            install/
            preseed/
            pool/
     3143   md5sum.txt
      368   boot.scr
      228   readme.diskdefines

3 file(s), 7 dir(s)

If you get file output, your in business. The live image can be started with the following

Marvell>> usb start
(Re)start USB...
USB:   scanning bus for devices... 2 USB Device(s) found
       scanning bus for storage devices... 1 Storage Device(s) found
Marvell>> fatload usb 0:1 0x1000 boot.scr
reading boot.scr

368 bytes read
Marvell>> autoscr
## Executing script at 00800000
Wrong image format for autoscript
Marvell>> autoscr 1000
## Executing script at 00001000
"Loading Ubuntu Ubuntu LiveCD..."
reading /casper/uImage
........................................................................................................................................................................................................................................................................
Wrong Ramdisk Image Format

Starting kernel ...

Uncompressing Linux............................................................
.............................................................................................................. done, booting the kernel.
Linux version 2.6.31-201-dove (buildd@jaboticaba) (gcc version 4.4.1 (Ubuntu 4.4.1-3ubuntu1) ) #5-Ubuntu Mon Aug 24 23:06:43 UTC 2009 (Ubuntu 2.6.31-201.5-dove)

Video output will appear on the console as normal.