User:Armin76/Test
Note: this is there because i'm working on it
There are different ways to boot your plug: from USB, TFTP, and NAND. They're sorted by what is easier if you haven't booted your plug before.
Contents |
Starting your plug
For booting your plug you first need to get access to the serial console, please follow the following guides, depending if you use GNU/Linux or Microsoft Windows.
Once you've setup your console, then the following output should appear:
__ __ _ _
| \/ | __ _ _ ____ _____| | |
| |\/| |/ _` | '__\ \ / / _ \ | |
| | | | (_| | | \ V / __/ | |
|_| |_|\__,_|_| \_/ \___|_|_|
_ _ ____ _
| | | | | __ ) ___ ___ | |_
| | | |___| _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
\___/ |____/ \___/ \___/ \__|
** MARVELL BOARD: SHEEVA PLUG LE
U-Boot 1.1.4 (Dec 15 2008 - 11:13:12) Marvell version: 3.4.11
U-Boot code: 00600000 -> 0067FFF0 BSS: -> 0069292C
Soc: 88F6281 A0 (DDR2)
CPU running @ 1200Mhz L2 running @ 400Mhz
SysClock = 400Mhz , TClock = 200Mhz
DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6
DRAM CS[0] base 0x00000000 size 256MB
DRAM CS[1] base 0x10000000 size 256MB
DRAM Total size 512MB 16bit width
Flash: 0 kB
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:512 MB
*** Warning - bad CRC or NAND, using default environment
CPU : Marvell Feroceon (Rev 1)
Streaming disabled
Write allocate disabled
USB 0: host mode
PEX 0: interface detected no Link.
Net: egiga0 [PRIME], egiga1
Hit any key to stop autoboot: 3
Hit any key before it gets to 0. So you can access the U-Boot console, the following should appear:
Marvell>>
Booting from USB
Booting from USB is the easiest method, since you can put all the files needed into your mass storage USB device(an USB stick or USB HDD) on another computer, since we won't may have our Plug with an operating system working yet.
You can have two kind of filesystems in your mass storage device: EXT2/3/4 and FAT/FAT32. Other filesystems like ReiserFS haven't been tested, and they're unlikely to work, since U-Boot won't support them.
EXT2/3/4 Filesystem
We have our mass storage device formatted with an EXT2/3/4 filesystem, our device may have several partitions or just one, it doesn't matter. The following commands suppose we have a file called uImage_kwplug on the first partition, and that our rootfs is on the second partition.
First, we set the bootcmd:
Marvell>> setenv bootcmd ext2load usb 0:1 0x2000000 /uImage\;setenv bootargs console=ttyS0,115200 root=/dev/sda2 rw rootdelay=5 \; bootm 0x2000000
This would be:
- setenv = set the environment variable
- bootcmd = name of the variable, which in this case is the commands that are going to get executed if we run 'boot'
- ext2load = command for loading a kernel from an EXT2/3/4 filesystem
- usb = from the USB subsystem
- 0:1 = Device 0, partition 1
- 0x2000000 memory address where its going to be dumped) /uImage(name of the file that is going to get dumped
- ; = first command ends here
- setenv = set the environment variable
- bootargs = name of the variable, which in this case is the kernel parameters
- console=ttyS0,115200 = set the console properly
- root=/dev/sda2 = device that contains the root filesystem(in this case, partition 2 of the first device.
- rw = mount it read-write
- rootdelay=5 = the usb subsystem takes a while to initialize, therefore we make the kernel wait 5 seconds before it mounts the root filesystem
- ; = second command ends here
- bootm = boot from memory
- 0x2000000 = address of the memory to boot from
Then, let's save the environment, so we always boot from USB
Marvell>> saveenv Saving Environment to NAND... Erasing Nand...Writing to Nand... done Marvell>> reset