Installing U-Boot and Linux Kernel for Mercury

From Ambedded
Revision as of 12:15, 8 January 2015 by Desmond (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Loading u-boot

Mercury are coming with u-boot preloaded. If you ever need to update it, follow this procedure.
Boot into ubuntu on Mercury,and get the new bootloader


To enable write access to EMMC, disable the forced read-only access with:

echo 0 > /sys/block/mmcblk0boot0/force_ro

clean up uboot settings

dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=1536 count=16 conv=fsync

then load the uboot binary image

dd if=u-boot.bin of=/dev/mmcblk0 bs=512 seek=2 skip=2 conv=fsync
dd if=u-boot.bin of=/dev/mmcblk0boot0 bs=512 seek=2 skip=2 conv=fsync

then reboot and keyin any key let system into u-boot shell,and then you need to set environment variable

setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk0p1 rootwait rw video=mxcfb0:dev=ldb,LDB-XGA,if=RGB666,bpp=32 video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32 fbmem=28M,28M vmalloc=400M ldb=dul0'
setenv bootcmd 'mmc dev 3;mmc read 0x10800000 0x800 0x4000;bootm 0x10800000'

Loading the Kernel

Mercury are coming with Linux kernel preloaded. If you want to build your own follow the instructions at Building the Linux Kernel

Or get the kernel image from Ambedded.

wget -O uImage

boot into ubuntu on Mercury ,and then execute the following to write the Kernel

 dd if=uImage of=/dev/mmcblk0 bs=1M seek=1conv=fsync
Personal tools