Hello,
I'd like to boot my i.mx6 sabresd from network, using a tftp server. I've followed the Linux User's Guide.pdf, with some minor modifications.
setenv serverip IPADDR
setenv bootfile uImage
setenv fdt_file imx6q-sabresd.dtb
setenv ethaddr 00:04:9f:02:e2:33
saveenv
dhcp
mmc dev 1
mmc write ${loadaddr} 0x800 0x4000
tftpboot ${fdt_addr} ${fdt_file}
fdt addr ${fdt_addr}
setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk2p2 rootwait rw'
setenv bootcmd_mmc 'run bootargs_mmc;mmc dev 1;mmc read ${loadaddr} 0x800 0x4000;mmc read ${fdt_addr} 0x5000 0x800;bootm ${loadaddr} - ${fdt_addr}'
setenv bootcmd 'run bootcmd_mmc'
saveenv
But, when using boot (or bootd), I have the following :
switch to partitions #0, OK
mmc1 is current device
MMC read: dev # 1, block # 2048, count 16384 ... 16384 blocks read: OK
MMC read: dev # 1, block # 20480, count 2048 ... 2048 blocks read: OK
## Booting kernel from Legacy Image at 12000000 ...
Image Name: Linux kernel
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 5578744 Bytes = 5.3 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!
There is an error with the checksum, but the zImage works fine for a classic booting.
To create the uImage, I've made : mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n "Linux kernel" -d zImage uImage.
I've tried with zImage (without converting to uImage), but it doesn't work event with bootz.