MarvellDoveLucidInstall
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/
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
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.
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
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.