AnsweredAssumed Answered

I.MX7 boot failed

Question asked by Kennith Hsu on Jul 4, 2018
Latest reply on Jul 9, 2018 by igorpadykov

Hi All:

My u-boot version is 2016-03 and kernel version is 4.9,

and my bootargs was setting as below:

setenv bootargs console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait ro earlyprintk

 

but the boot process was failed after cpu0  Setting up static identity map.

 

should I have modified somewhere in my u-boot 2016-03?

 

the log as below:

 

Kernel image @ 0x80800000 [ 0x000000 - 0x7d8348 ]
## Flattened Device Tree blob at 83000000
Booting using the fdt blob at 0x83000000
Using Device Tree in place at 83000000, end 8300e618

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 4.9.107-04778-gd590654-dirty (root@harry-workstation) (gcc version 4.9.2 ( 4.9.2-10) ) #38 SMP PREEMPT Wed Jul 4 15:10:53 CST 2018
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
CPU: div instructions available: patching division code
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt:Machine model: Freescale i.MX7 SabreSD Board
bootconsole [earlycon0] enabled
Reserved memory: created CMA memory pool at 0xdc000000, size 320 MiB
OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
Memory policy: Data cache writealloc
psci: probing for conduit method from DT.
psci: Using PSCI v0.1 Function IDs from DT
percpu: Embedded 14 pages/cpu @daf1a000 s26048 r8192 d23104 u57344
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 520703
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait ro earlyprintk
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 262144 (order: 8, 1048576 bytes)
Inode-cache hash table entries: 131072 (order: 7, 524288 bytes)
Memory: 1734160K/2097148K available (10240K kernel code, 551K rwdata, 3424K rodata, 1024K init, 476K bss, 35308K reserved, 327680K cma-reserved, 262140K highmem)
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
lowmem : 0x80000000 - 0xf0000000 (1792 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.text : 0x80008000 - 0x80b00000 (11232 kB)
.init : 0x80f00000 - 0x81000000 (1024 kB)
.data : 0x81000000 - 0x81089ea0 ( 552 kB)
.bss : 0x8108b000 - 0x811020c8 ( 477 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Preemptible hierarchical RCU implementation.
Build-time adjustment of leaf fanout to 32.
RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=2
NR_IRQS:16 nr_irqs:16 16
arm_arch_timer: Architected cp15 timer(s) running at 8.00MHz (phys).
clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 440795202120 ns

sched_clock: 56 bits at 8MHz, resolution 125ns, wraps every 2199023255500ns
Switching to timer-based delay loop, resolution 125ns
Ignoring duplicate/late registration of read_current_timer delay
clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 16.00 BogoMIPS (lpj=80000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 4096 (order: 2, 16384 bytes)
Mountpoint-cache hash table entries: 4096 (order: 2, 16384 bytes)
CPU: Testing write buffer coherency: ok
CPU0: update cpu_capacity 1024
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x80100000 - 0x80100058

 

 

 

 

 

 

my u-boot env as below:

 

baudrate=115200 [3/1956]
biosver=1.0.0S01
boot_fdt=try
bootcmd=mmc dev ${mmcdev};mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi;$
bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};
bootdelay=3
bootscript=echo Running bootscript from mmc ...; source
console=ttymxc0
dfu_alt_info=image raw 0 0x800000;u-boot raw 0 0x4000;bootimg part 0 1;rootfs part 0 2
eth1addr=00:90:e8:33:55:42
ethact=FEC0
ethaddr=00:90:e8:33:55:41
ethprime=FEC
fastboot=0
fdt_addr=0x83000000
fdt_file=imx7d-sdb.dtb
fdt_high=0xffffffff
ifname=0
image=zImage
initrd_addr=0x83800000
initrd_high=0xffffffff
ip_dyn=yes
ipaddr=10.144.4.179
loadaddr=0x80800000
loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
mfgtool_args=setenv bootargs console=${console},${baudrate} rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.idVendor=0x066F g_mass_storage
mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot}
mmcautodetect=yes
mmcboot=echo Booting from mmc ...; run mmcargs; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdt_addr}; else if tes;
mmcdev=0
mmcpart=1
mmcroot=/dev/mmcblk0p2 rootwait rw
netargs=setenv bootargs console=${console},${baudrate} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
netboot=echo Booting from net ...; run netargs; if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; ${get_cmd} ${image}; if test ${boot_fdt} =;
robust=0
script=boot.scr
serverip=10.144.4.180
stderr=serial
stdin=serial
stdout=serial
videomode=video=ctfb:x:480,y:272,depth:24,pclk:108695,le:8,ri:4,up:2,lo:4,hs:41,vs:10,sync:0,vmode:0

Outcomes