Skip to content
garycramblitt edited this page May 25, 2012 · 71 revisions

u-boot for Allwinner A10

Branch information:

sunxi Default branch. Most up to date. Supports booting from MMC only.

lichee/* Unmodified mirrors of original Allwinner sources

wip/* Work in progress temporary feature branches

How to compile u-boot

You need a suitable gcc ARM Linux GNUEABI toolchain installed and added to your PATH.

Then compile u-boot by running

make sun4i CROSS_COMPILE=arm-none-linux-gnueabi-

or alternatively depending on how your toolchain is configured

make sun4i CROSS_COMPILE=arm-linux-gnueabi-

How to make a bootable sunxi SD-card

A10 boots the SPL loader from block 8. This then loads actual u-boot from block 32 onwards, counted in 1KB blocks.

dd if=spl/sunxi-spl.bin of=/dev/sdc bs=1024 seek=8
dd if=u-boot.bin of=/dev/sdc bs=1024 seek=32

You also need to partition the card to store system.bin, uImage, boot.scr (optoinal) and rootfs partition there. First partition should start at sector 2048.

This version of u-boot supports boot.scr, and will look for it in the first partition FAT /boot.scr or extX /boot.scr or extX /boot/boot.scr.

If no boot.scr is found then it will fall back on a default boot action which is

fatload mmc 0 0x43000000 script.bin; fatload mmc 0 0x48000000 ${kernel}; bootm 0x48000000

Default environment

    console=ttyS0,115200
    root=/dev/mmcblk0p2
    panic=10
    extra=
    init=/init
    loglevel=8
    setargs=setenv bootargs console=${console} root=${root} init=${init} loglevel=${loglevel} panic=${panic} ${extra}
    kernel=uImage
    boot.scr=if fatload mmc 0 0x44000000 boot.scr || ext2load mmc 0 0x44000000 boot.scr || ext2load mmc 0 0x44000000 boot/boot.scr; then source 0x44000000; fi; true
    boot_mmc=fatload mmc 0 0x43000000 script.bin; fatload mmc 0 0x48000000 ${kernel}; bootm 0x48000000
    bootcmd=run boot.scr setargs boot_mmc

Clone this wiki locally