*DISCLAIMER* This is not "documentation" but a loose collection of actions to install software etc. Style and structure is lacking. A random ethernet address is generated and stored in flash. it can be set in u-boot with, for example setenv ethaddr 00:01:23:3e:cf:cf saveenv Generate SD card ---------------- In the following, DEVICE is the host's device name for the SD card, for example mmcblk0 or sdf. Careful: if you choose the wrong device, you may overwrite the operating system! Unsupported easy method: wget -O /tmp/flash_all http://download.kernelconcepts.de/~arne/odroidx/flash_all sh /tmp/flash_all -w /dev/DEVICE This will download all needed files to /tmp/flash-sd and install everything to DEVICE. Normal method: On a linux host put all files in one directory. Then, run ./flash_all /dev/DEVICE -.- NAND and SD-card layout: ------------------------ block contents length (512 byte blocks) 0x0000 boot sector 0x00001 0x0001 bl1 0x0001e 0x001f bl2 0x00020 0x003f u-boot 0x00800 0x083f tzsw 0x00138 0x0977 u-boot env 0x00020 0x0997 kernel 0x04000 0x4997 rootfs-ram 0x00800 0x5197 reserved 0x1ccfa 6697922 partition 1 ..end.. /mnt/sdcard 138897 partition 2 2237784 /system 2237785 partition 3 6435560 /data 6435561 partition 4 6697921 /cache E) U-Boot Environment etc. Exynos4412 # printenv baudrate=115200 bootcmd= mmc rescan 0:1; mmc rescan 0:2; if run loadbootscript_1; then run bootscript; else if run loadbootscript_2; then run bootscript; else run default_bootcmd; fi ; fi ; bootdelay=1 bootscript=source 40008000 default_bootargs=setenv bootargs smsc95xx.macaddr=${ethaddr} ${video} touch_i2c.param=${touch} default_bootcmd=echo >>> Run Default Bootcmd <<<;run default_bootargs;movi read kernel 0 40008000;movi read rootfs 0 41000000 100000;bootm 40008000 41000000 ethaddr=00:40:5c:26:0a:5b gatewayip=192.168.0.1 ipaddr=192.168.0.20 loadbootscript_1=echo >>> Load Boot Script from mmc 0:1 <<<;fatload mmc 0:1 40008000 boot.scr loadbootscript_2=echo >>> Load Boot Script from mmc 0:2 <<<;fatload mmc 0:2 40008000 boot.scr netmask=255.255.255.0 serverip=192.168.0.10 touch=0x33=0x0002;0x34=0x0030;0x35=0x0000;0x36=0x001f video=fb_x_res=1280 fb_y_res=800 hdmi_phy_res=720 Exynos4412 # bdinfo arch_number = 0x000010C1 boot_params = 0x40000100 DRAM bank = 0x00000000 -> start = 0x40000000 -> size = 0x10000000 DRAM bank = 0x00000001 -> start = 0x50000000 -> size = 0x10000000 DRAM bank = 0x00000002 -> start = 0x60000000 -> size = 0x10000000 DRAM bank = 0x00000003 -> start = 0x70000000 -> size = 0x10000000 DRAM bank = 0x00000004 -> start = 0x80000000 -> size = 0x10000000 DRAM bank = 0x00000005 -> start = 0x90000000 -> size = 0x10000000 DRAM bank = 0x00000006 -> start = 0xA0000000 -> size = 0x10000000 DRAM bank = 0x00000007 -> start = 0xB0000000 -> size = 0x0FF00000 ethaddr = 00:40:5c:26:0a:5b ip_addr = 192.168.0.20 baudrate = 0 bps TLB addr = 0x3FFF0000 relocaddr = 0xC3E00000 reloc off = 0x00000000 irq_sp = 0xC3CFBF38 sp start = 0xC3CFBF30 FB base = 0x00000000