Hi,
I'm trying to create a SD card image for the i.MX6SoloLite Evaluation Kit using the binaries that I build from ltib. I'm using L3.0.35_4.1.0_130816_source. After the ltib build completed, things looked okay. I did:
./ltib -m prep -p u-boot
./ltib -m scbuild -p u-boot
and got the binary:
-rwxr-xr-x 1 lucid lucid 188844 /home/lucid/6sl/ltib/rpm/BUILD/u-boot-2009.08/u-boot.bin
Since I chose the evk mfg spec by default, I correctly see:
+ make HOSTCC=ccache /usr/bin/gcc -B/usr/bin/ CROSS_COMPILE=arm-none-linux-gnueabi- O=/home/lucid/6sl/ltib/rpm/BUILD/u-boot-2009.08 mx6sl_evk_mfg_config
in the build output.
When I tested this on the EVK, I see:
U-Boot 2009.08 (Nov 06 2013 - 02:40:41)
CPU: Freescale i.MX6 family TO1.2 at 396 MHz
Thermal sensor with ratio = 182
Temperature: 33 C, calibration data 0x57f5115f
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock : 49500000Hz
ipg per clock : 49500000Hz
uart clock : 80000000Hz
cspi clock : 60000000Hz
ahb clock : 99000000Hz
axi clock : 198000000Hz
emi_slow clock: 99000000Hz
ddr clock : 396000000Hz
usdhc1 clock : 198000000Hz
usdhc2 clock : 198000000Hz
usdhc3 clock : 198000000Hz
usdhc4 clock : 198000000Hz
Board: MX6SoloLite-EVK (0x60212): [ POR ]
Boot Device: SD
I2C: ready
DRAM: 512 MB
MMC: FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2
Using default environment
In: serial
Out: serial
Err: serial
Found PFUZE100! deviceid=10,revid=11
Net: got MAC address from IIM: 00:04:9f:02:c5:d9
FEC0 [PRIME]
Hit any key to stop autoboot: 0
Wrong Image Format for bootm command
ERROR: can't get kernel image!
It looks like the u-boot build does not default to reading from block 2048 of mmc1 which is where the uImage is supposed to be. If I manually do:
mmc dev 1
mmc read ${loadaddr} 0x800 0x16B8
bootm ${loadaddr}
Then it gets further.
## Booting kernel from Legacy Image at 80800000 ...
Image Name: Linux-3.0.35-2666-gbdde708
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2977428 Bytes = 2.8 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Linux version 3.0.35-2666-gbdde708 (lucid@ubuntu) (gcc version 4.6.2 20110630 (prerelease) (Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20) ) #1 PREEMPT Mon Nov 4 23:54:56 PST 2013
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX 6SoloLite EVK Board
Memory policy: ECC disabled, Data cache writeback
CPU identified as i.MX6SoloLite, silicon rev 1.2
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
Kernel command line: noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw rootfstype=jffs2 ip=off
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 512MB = 512MB total
Memory: 513756k/513756k available, 10532k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xf4600000 - 0xffe00000 ( 184 MB)
vmalloc : 0xa0800000 - 0xf2000000 (1304 MB)
lowmem : 0x80000000 - 0xa0000000 ( 512 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.init : 0x80008000 - 0x80036000 ( 184 kB)
.text : 0x80036000 - 0x8056db38 (5343 kB)
.data : 0x8056e000 - 0x805b7ce0 ( 296 kB)
.bss : 0x805b7d04 - 0x805d9d38 ( 137 kB)
I was wondering if I'm doing something odd or should I not expect it to work with the defaults. It looks like I'll need to modify the u-boot config to change bootcmd to get it to work.
Thanks,
jaya
Hi, Jaya
I think the mx6sl_evk_mfg_config uses include/configs/mx6sl_evk_mfg.h which did NOT have CONFIG_EXTRA_ENV_SETTINGS correctly, see below:
include/configs/mx6sl_evk_mfg.h:
121 #define CONFIG_EXTRA_ENV_SETTINGS \
122 "netdev=eth0\0" \
123 "ethprime=FEC0\0" \
124 "uboot=u-boot.bin\0" \
125 "kernel=uImage\0" \
126
But if you look into the include/configs/mx6sl_evk.h, it will have below config:
124 #define CONFIG_EXTRA_ENV_SETTINGS \
125 "netdev=eth0\0" \
126 "ethprime=FEC0\0" \
127 "uboot=u-boot.bin\0" \
128 "kernel=uImage\0" \
129 "nfsroot=/opt/eldk/arm\0" \
130 "bootargs_base=setenv bootargs console=ttymxc0,115200\0"\
131 "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\
132 "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\
133 "bootcmd_net=run bootargs_base bootargs_nfs; " \
134 "tftpboot ${loadaddr} ${kernel}; bootm\0" \
135 "bootargs_mmc=setenv bootargs ${bootargs} " \
136 "root=/dev/mmcblk0p1 rootwait\0" \
137 "bootcmd_mmc=run bootargs_base bootargs_mmc; " \
138 "mmc dev 1; " \
139 "mmc read ${loadaddr} 0x800 0x2000; bootm\0" \
140 "bootcmd=run bootcmd_mmc\0"
So, you should not expect the mfg config's default setting is working for you, you may need to modify this include/configs/mx6sl_evk_mfg.h's CONFIG_EXTRA_ENV_SETTINGS to what you want.
Hi Yongcai,
Thanks for your reply. Ok, I understand. I will add my custom edits to the u-boot config.
Thanks,
jaya
Hi, Jaya
Did you have any other question about this topic? If yes, please let me know, if not, can you close this topic?