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
I had a similar problem. For me the solution was to change console from ttymxc0 to ttymxc1.
Hi Jotes,
I already tried that. The result is same.
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
what kernel image do you use? demo image or build by yourself? it seems that something wrong with your kernel image, you can try to use demo image to test at first.
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
Hi Guanqiong,
I have used the Kernel Image that I built by following the procedure in the Android User's guide for Android Lollipop. And where can I find the Demo Image ?
Regards,
Ananth