Normal boot log
U-Boot 1.1.6 (Apr 1 2008 - 13:52:15)
Board: Ingenic PMP Ver 1.x (CPU Speed 335 MHz)
DRAM: 64 MB
Flash: 0 kB
NAND:1024 MiB
*** Warning - bad CRC or NAND, using default environment
In: serial
Out: serial
Err: serial
Net: JZ ETHERNET
### main_loop: bootcmd="nboot 0x80600000 0 0x100000;bootm"
Hit any key to stop autoboot: 0
Loading from NAND 1GiB 3,3V 8-bit, offset 0x100000
Image Name: Linux Kernel Image
Image Type: MIPS Linux Kernel Image (gzip compressed)
Data Size: 1018286 Bytes = 994.4 kB
Load Address: 80100000
Entry Point: 8031a040
## Booting image at 80600000 ...
Image Name: Linux Kernel Image
Image Type: MIPS Linux Kernel Image (gzip compressed)
Data Size: 1018286 Bytes = 994.4 kB
Load Address: 80100000
Entry Point: 8031a040
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
Starting kernel ...
CPU revision is: 02d0024f
Possible boot options
PMP # printenv
bootargs=mem=128M console=ttyS0,115200n8 root=/dev/ssfdca1 rw noatime
bootcmd=nboot 0x80600000 0 0x100000;bootm
bootcmd1=nboot 0x80600000 0 0x280000;bootm
bootcmd_sd1=mmcinit;fatload mmc 0 0x80600000 uimage;bootm
bootcmd_sd2=mmcinit;fatload mmc 0 0x80600000 uimage;nand erase 0x100000 0x180000 ;nand write 0x80600000 0x100000 0x180000 ;bootm
bootcmd_sd_minifs=mmcinit;fatload mmc 0 0x80600000 minifs.img;nand erase 0x500000 0x500000 ;nand write 0x80600000 0x500000 0x500000 ;boot
bootcmd_sd_all=mmcinit;fatload mmc 0 0x80600000 minipc.img;nand erase 0 0xa00000 ;nand write 0x80600000 0 0xa00000 ;boot
bootdelay=1
baudrate=115200
loads_echo=1
ethaddr=00:52:c2:2a:bd:f5
ipaddr=192.168.1.10
serverip=192.168.1.128
autoload=n
bootfile="uImage"
stdin=serial
stdout=serial
stderr=serial
ethact=JZ ETHERNET
Environment size: 800/131067 bytes
We can see that there are 6 different boot options:
| what |
how |
does |
| bootcmd |
do nothing |
load kernel from nandflash. Boot it. |
| bootcmd1 |
unknown |
load kernel and minifs from nand? Boot it. |
| bootcmd_sd1 |
Fn+LeftShift+LeftCtrl |
Load uimage as kernel from first partition of the sd-card. Boot it. |
| bootcmd_sd2 |
Fn+LeftShift+F1 |
Load uimage from first partition of the sd-card. Flash it to linux mtd partition. Boot it. |
| bootcmd_sd_minifs |
Fn+LeftShift+RightShift |
Load minifs.img from first partition of the sd-card. Flash it to rescue rootfs mtd partition. Reboot. |
| bootcmd_sd_all |
unknown |
Load minipc.img from first partition of the sd-card. Flash it. Reboot. |
WARNING
Fn+LeftShift+LeftCtrl means flash the nand in some models!
SD requirements for uboot
From
CompilingAKernel:
Booting the SD-card way
Make sure you have an SD-card with a first partition of less than 32MB, make it 16 or so.
SDCARD=/dev/sdb
fdisk ${SDCARD} # make the first partition at *most* 32MB, better to take less like 16MB
mkfs.vfat -F 16 ${SDCARD}1
mount ${SDCARD}1 /mnt
wget -O /mnt/uimage http://projects.kwaak.net/twiki/pub/Epc700/CompilingAKernel/uImage
umount /mnt
Put the SD card in your minipc. Turn it on while pressing Fn+LeftShift+LeftCtrl.
Of course, once you have a small partition or SD card with vfat, you can also copy the image using your minipc to the SD card.
No need to take it out anymore. Somehow this all seems very convenient to me. Like mounting the first partition of the sd-card under /boot, and the second under / .

.
WARNING: there is also a key combination that makes it flash the uimage file straight to the linux partition. Do not play with key combinations unless you have a serial console.