Hi,
I want to boot the kernel from NFS. I am using a PC with Ubuntu 14.04 and iMX6 SabreSD Dual-lite board. The following is the u-boot environment as well as the bootargs that I have set in the u-boot environment:
================================================================
U-Boot 2014.04-08648-g9d7bf9b (Sep 04 2015 - 16:57:01)
CPU: Freescale i.MX6DL rev1.1 at 792 MHz
CPU: Temperature 48 C, calibration data: 0x5b053b5f
Reset cause: POR
Board: MX6-SabreSD
I2C: ready
DRAM: 1 GiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
*** Warning - bad CRC, using default environment
No panel detected: default to Hannstar-XGA
Display: Hannstar-XGA (1024x768)
In: serial
Out: serial
Err: serial
Found PFUZE100 deviceid=10,revid=11
check_and_clean: reg 0, flag_set 0
Fastboot: Normal
flash target is MMC:2
Net: FEC [PRIME]
Normal Boot
Hit any key to stop autoboot: 0
=>
=> printenv
baudrate=115200
bootargs=console=ttymxc0,115200 ip=192.168.2.2 root=/dev/nfs rw nfsroot=192.168.2.1:/opt/nfsroot
bootcmd=tftp;bootm 10008000
bootdelay=1
bootfile=uImage
ethact=FEC
ethaddr=00:04:9f:02:ce:5b
ethprime=FEC
fastboot_dev=mmc2
fdt_high=0xffffffff
initrd_high=0xffffffff
ipaddr=192.168.2.2
loadaddr=0x10008000
serverip=192.168.2.1
splashpos=m,m
Environment size: 429/8188 bytes
================================================================
When I issue "boot" command in the u-boot environment, the uImage is loaded successfully to the given "loadaddr=10008000" using TFTP, but is stuck or stops after "Starting Kernel.." as follows :
================================================================
=> boot
Using FEC device
TFTP from server 192.168.2.1; our IP address is 192.168.2.2
Filename 'uImage'.
Load address: 0x10008000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
################################
4.2 MiB/s
done
Bytes transferred = 6819624 (680f28 hex)
## Booting kernel from Legacy Image at 10008000 ...
Image Name: Linux-3.10.53-88204-g4f0dd92-dir
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 6819560 Bytes = 6.5 MiB
Load Address: 10008000
Entry Point: 10008000
Verifying Checksum ... OK
XIP Kernel Image ... OK
No gpc device node -9, force to ldo-enable.
Starting kernel ...
================================================================
I also tried loading the Device Tree Blob. The result is the same as follows:
================================================================
U-Boot 2014.04-08648-g9d7bf9b (Sep 04 2015 - 16:57:01)
CPU: Freescale i.MX6DL rev1.1 at 792 MHz
CPU: Temperature 48 C, calibration data: 0x5b053b5f
Reset cause: POR
Board: MX6-SabreSD
I2C: ready
DRAM: 1 GiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
*** Warning - bad CRC, using default environment
No panel detected: default to Hannstar-XGA
Display: Hannstar-XGA (1024x768)
In: serial
Out: serial
Err: serial
Found PFUZE100 deviceid=10,revid=11
check_and_clean: reg 0, flag_set 0
Fastboot: Normal
flash target is MMC:2
Net: FEC [PRIME]
Normal Boot
Hit any key to stop autoboot: 0
=>
=>
=> setenv serverip 192.168.2.1
=> setenv ipaddr 192.168.2.2
=> setenv loadaddr 0x10008000
=> setenv bootfile uImage
=> setenv bootargs console=ttymxc0,115200 ip=${ipaddr} root=/dev/nfs rw nfsroot=${serverip}:/opt/nfsroot,v3,tcp
=> setenv bootcmd tftp\;tftp 11000000 imx6dl-sabresd.dtb\;bootm 10008000 - 11000000
=> printenv
baudrate=115200
bootargs=console=ttymxc1,115200 ip=192.168.2.2 root=/dev/nfs rw nfsroot=192.168.2.1:/opt/nfsroot
bootcmd=tftp;tftp 11000000 imx6dl-sabresd.dtb;bootm 10008000 - 11000000
bootdelay=1
bootfile=uImage
ethact=FEC
ethaddr=00:04:9f:02:ce:5b
ethprime=FEC
fastboot_dev=mmc2
fdt_high=0xffffffff
initrd_high=0xffffffff
ipaddr=192.168.2.2
loadaddr=0x10008000
serverip=192.168.2.1
splashpos=m,m
Environment size: 429/8188 bytes
=> tftp
Using FEC device
TFTP from server 192.168.2.1; our IP address is 192.168.2.2
Filename 'uImage'.
Load address: 0x10008000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
################################
4.2 MiB/s
done
Bytes transferred = 6819624 (680f28 hex)
=> tftp 11000000 imx6dl-sabresd.dtb
Using FEC device
TFTP from server 192.168.2.1; our IP address is 192.168.2.2
Filename 'imx6dl-sabresd.dtb'.
Load address: 0x11000000
Loading: ###########
2.6 MiB/s
done
Bytes transferred = 51820 (ca6c hex)
=> bootm 10008000 - 11000000
## Booting kernel from Legacy Image at 10008000 ...
Image Name: Linux-3.10.53-88204-g4f0dd92-dir
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 6819560 Bytes = 6.5 MiB
Load Address: 10008000
Entry Point: 10008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 11000000
Booting using the fdt blob at 0x11000000
Loading Kernel Image ... OK
Using Device Tree in place at 11000000, end 1100fa6b
switch to ldo_bypass mode!
Starting kernel ...
================================================================
Am I missing something ? Can anyone suggest a solution for this ?
Thanks in advance.
Regards,
Ananth
Hi Ananth,
I had the same problem. I was able to boot the kernel over TFTP by leaving the console set to tty0 and using the zImage instead of the uImage:
=> dhcp 0x10008000 zImage
=> dhcp 0x18000000 imx6q-sabresd.dtb
=> bootz 0x10008000 - 0x18000000
- This also works if you build the kernel to load at 0x12000000
- You may also specify the UART version of the DTB file: imx6q-sabresd-uart.dtb
Regards,
Don
Hi Guanqiong,
As per Android User's guide Rev L5.0.0_1.0.0-ga Section-3.6 I have built the uImage using the command, "make imx_v7_android_defconfig". Is this OK ?
Also I could not find the Demo uImage in the "android_LL5.0.0_1.0.0-ga_images_6qsabresd.tar.gz" from Freescale site. There are demo images for:
[1] u-boot-imx6dl.imx
[2] boot-imx6dl.img
[3] recovery-imx6dl.img
[4] system.img