U-boot Topics
This page is not a tutorial. It is just a place to document information about the odroid bootloader
Contents
We do not have source code
Trivia
The network is not available to u-boot. The smsc95xx driver is used, it is like USB/ethernet dongle -- not directly memory-mapped to processor.
Notes
Compile a u-boot script
mkimage -T script -A arm -C none -n 'Boot script for odroid-u2' -d boot.txt boot.scr
Abort boot at u-boot console
For some SD-Card images, the u-boot bootdelay environment variable will already be set to non-zero. In this case, boot normally, get root and then use the reboot command (from the serial console). As the system starts up hit <cr> a bunch of times. If u-boot is checking for input, the boot will abort and then you will get to play.
If you can't break in that way, try this:
set bootdelay 3 save
Version Info
The current version
U-Boot 2010.12-svn (Dec 21 2012 - 19:44:04) for Exynox4412
odroid-x version
U-Boot 2010.12-00000-gd359a3d-dirty (Sep 04 2012 - 09:38:51) for ODROID4412 This means there are at least two configurations is use -- and this one is older. I see that there are three mmc partitions defined and the kernel and initrd are loaded from the third instance.
The u-boot banner show this. The platform resources are different from odroid-U2, so it is normal to expect this. The machine ID should be different from Exynos 4412 and Exynos 4412-prime processors.
CPU: S5PC220 [Samsung SOC on SMP Platform Base on ARM CortexA9] APLL = 1000MHz, MPLL = 800MHz DRAM: 1023 MiB PMIC VERSION : 0x00, CHIP REV : 2 BL1 version: N/A (TrustZone Enabled BSP)
The first partition is not a valid Linux partition as expected. The second is vfat and is used as boot partition. The third is ext4 and has the root file system
Here is the default boot script
cat boot.txt setenv initrd_high "0xffffffff" setenv fdt_high "0xffffffff" setenv bootcmd "fatload mmc 0:2 0x40007000 uImage; fatload mmc 0:2 0x42000000 uInitrd; fatload mmc 0:2 0x41f00000 board.dtb; bootm 0x40007000 0x42000000" setenv bootargs "console=tty1 console=ttySAC1,115200n8 root=UUID=c21f1426-e878-4f05-a063-0a9c5e4234d0 rootwait ro" boot
Issues
fastboot does not seem to work
The USB device node does not come up when fastboot started (on the target). Does not work for Android ICS or ubuntu (not surprising since the u-boot version is the same)
fastboot does work with the odroid-x u-boot ( When I say it works, I mean the USB device shows up and fastboot responds to commands.
Bus 002 Device 050: ID 18d1:0002 Google Inc.
I thought this should work, but no results were shown. (It could be due to my x86_64 Linux version of fastboot -- I haven't seen it actually work and I don't have fastboot for windows and the driver at this point)
sudo fastboot getvar ver ver: finished. total time: 0.003s
fastboot partition information is wrong
Since fastboot does not appear to work, this is not much of a problem now. This is what I see, the layout is for NAND, not SD-Card/eMMC
# this is on my odroid-x ODROID4412 # fastboot [Partition table on MoviNAND] ptn 0 name='fwbl1' start=0x0 len=N/A (use hard-coded info. (cmd: movi)) ptn 1 name='bl2' start=N/A len=N/A (use hard-coded info. (cmd: movi)) ptn 2 name='bootloader' start=N/A len=N/A (use hard-coded info. (cmd: movi)) ptn 3 name='tzsw' start=N/A len=N/A (use hard-coded info. (cmd: movi)) ptn 4 name='kernel' start=N/A len=N/A (use hard-coded info. (cmd: movi)) ptn 5 name='ramdisk' start=N/A len=0x1000000(~16384KB) (use hard-coded info. (cmd: movi)) OTG cable Connected!