U-Boot error after enabling ftrace in kernel uImage: image is not a fdt - must RESET the board to recover

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

U-Boot error after enabling ftrace in kernel uImage: image is not a fdt - must RESET the board to recover

Jump to solution
3,935 Views
alexray
Contributor II

Hello,

I am currently troubleshooting an issue on my T4240RDB and I would like to get ftrace up and running. I have used the bitbake to enable ftrace via:

bitbake virtual/kernel -c menuconfig

enable Kernel Hacking->Tracers->Kernel Function Tracer

bitbake fsl-image-full

extract fsl-image-full.tar.gz to my rootfs

On boot time, I get the following error on u-boot: "ERROR: image is not a fdt - must RESET the board to recover" (full output log is below)

This is proceeded by an automatic reboot, so we end up in an infinite reboot loop.

I have recovered the system by running

bitbake virtual/kernel -c clean -f

bitbake fsl-image-full

extract fsl-image-full.tar.gz to my rootfs

I believe (based on searching similar issues) that my kernel uImage is now too large to fit in the memory space allocated for it and it is squashing something else when it is uncompressed. Unfortunately, I am unfamiliar with the workings of u-boot for this target. Can someone help me resolve this issue?

Here is the full output from U-Boot:

U-Boot 2013.01QorIQ-SDK-V1.5 (Jun 05 2014 - 16:58:13)

CPU0:  T4240E, Version: 2.0, (0x82480020)
Core:  E6500, Version: 2.0, (0x80400120)
Clock Configuration:                    
       CPU0:1666.667 MHz, CPU1:1666.667 MHz, CPU2:1666.667 MHz, CPU3:1666.667 MHz,
       CPU4:1666.667 MHz, CPU5:1666.667 MHz, CPU6:1666.667 MHz, CPU7:1666.667 MHz,
       CPU8:1666.667 MHz, CPU9:1666.667 MHz, CPU10:1666.667 MHz, CPU11:1666.667 MHz,
       CCB:733.333 MHz,                                                             
       DDR:933.333 MHz (1866.667 MT/s data rate) (Asynchronous), IFC:183.333 MHz    
       FMAN1: 733.333 MHz                                                           
       FMAN2: 733.333 MHz                                                           
       QMAN:  366.667 MHz                                                           
       PME:   533.333 MHz                                                           
L1:    D-cache 32 kB enabled                                                        
       I-cache 32 kB enabled                                                        
Reset Configuration Word (RCW):                                                     
       00000000: 16070019 18101916 00000000 00000000                                
       00000010: 70701050 00448c00 0c020000 f5000000                                
       00000020: 00000000 ee0000ee 00000000 000287fc                                
       00000030: 00000000 50000000 00000000 00000028                                
Board: T4240RDB, SERDES Reference Clocks: SERDES1=100MHz SERDES2=156.25MHz SERDES3=100MHz SERDES4=100MHz
I2C:   ready                                                                                           
SPI:   ready                                                                                           
DRAM:  Initializing....using SPD                                                                       
Detected UDIMM 9JSF25672AZ-2G1K1                                                                       
Detected UDIMM 9JSF25672AZ-2G1K1                                                                       
Detected UDIMM 9JSF25672AZ-2G1K1                                                                       
4 GiB left unmapped                                                                                    
    DDR: 6 GiB (DDR3, 64-bit, CL=13, ECC on)                                                           
       DDR Controller Interleaving Mode: 3-way 4KB                                                     
Flash: 128 MiB                                                                                         
L2:    2048 KB enabled                                                                                 
enable l2 for cluster 1 fec60000                                                                       
enable l2 for cluster 2 feca0000                                                                       
Corenet Platform Cache: 1536 KB enabled                                                                
Using SERDES1 Protocol: 28 (0x1c)                                                                      
Using SERDES2 Protocol: 56 (0x38)                                                                      
Using SERDES3 Protocol: 2 (0x2)                                                                        
Using SERDES4 Protocol: 10 (0xa)                                                                       
SRIO1: disabled                                                                                        
SRIO2: disabled                                                                                        
NAND:  2048 MiB                                                                                        
MMC:  FSL_SDHC: 0                                                                                      
PCIe1: Root Complex, no link, regs @ 0xfe240000                                                        
PCIe1: Bus 00 - 00                                                                                     
PCIe2: disabled                                                                                        
PCIe3: Root Complex, no link, regs @ 0xfe260000                                                        
PCIe3: Bus 01 - 01                                                                                     
PCIe4: Root Complex, no link, regs @ 0xfe270000                                                        
PCIe4: Bus 02 - 02                                                                                     
In:    serial                                                                                          
Out:   serial                                                                                          
Err:   serial                                                                                          
Warning: SERDES2 expects reference clock 125MHz, but actual is 156.25MHz                               
Net:   Fman1: Uploading microcode version 106.4.10                                                     
Failed to connect                                                                                      
Failed to connect                                                                                      
Fman2: Uploading microcode version 106.4.10                                                            
FM1@DTSEC1, FM1@DTSEC2, FM1@DTSEC3, FM1@DTSEC4, FM1@TGEC1, FM1@TGEC2, FM2@DTSEC1, FM2@DTSEC2, FM2@DTSEC3, FM2@DTSEC4, FM2@TGEC1, FM2@TGEC2
Hit any key to stop autoboot:  0                                                                                                         
Using FM1@DTSEC1 device                                                                                                                  
TFTP from server 192.168.1.20; our IP address is 192.168.1.50                                                                            
Filename 't4240rdb/boot/uImage'.                                                                                                         
Load address: 0x1000000                                                                                                                  
Loading: #################################################################                                                               
         #################################################################                                                               
         #################################################################                                                               
         #################################################################                                                               
         #################################################################                                                               
         ########################                                                                                                        
         11.4 MiB/s                                                                                                                      
done                                                                                                                                     
Bytes transferred = 5118125 (4e18ad hex)                                                                                                 
Using FM1@DTSEC1 device                                                                                                                  
TFTP from server 192.168.1.20; our IP address is 192.168.1.50                                                                            
Filename 't4240rdb/boot/t4240rdb.dtb'.                                                                                                   
Load address: 0xc00000                                                                                                                   
Loading: #####                                                                                                                           
         9.6 MiB/s                                                                                                                       
done                                                                                                                                     
Bytes transferred = 60481 (ec41 hex)                                                                                                     
WARNING: adjusting available memory to 30000000                                                                                          
## Booting kernel from Legacy Image at 01000000 ...                                                                                      
   Image Name:   Linux-3.12.19-rt30-QorIQ-SDK-V1.                                                                                        
   Created:      2015-05-07  18:57:24 UTC                                                                                                
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)                                                                            
   Data Size:    5118061 Bytes = 4.9 MiB                                                                                                 
   Load Address: 00000000                                                                                                                
   Entry Point:  00000000                                                                                                                
   Verifying Checksum ... OK                                                                                                             
## Flattened Device Tree blob at 00c00000                                                                                                
   Booting using the fdt blob at 0x00c00000                                                                                              
   Uncompressing Kernel Image ... OK                                                                                                     
ERROR: image is not a fdt - must RESET the board to recover.                                                                            

Labels (1)
0 Kudos
1 Solution
2,706 Views
scottwood
NXP Employee
NXP Employee

Increase $fdtaddr so that it doesn't get overwritten by uncompressing the kernel.  I usually use 1fc0000.

View solution in original post

4 Replies
2,707 Views
scottwood
NXP Employee
NXP Employee

Increase $fdtaddr so that it doesn't get overwritten by uncompressing the kernel.  I usually use 1fc0000.

2,705 Views
robertoinnocent
Contributor III

In which file and part I must change $fdtaddr ?

I have the same error with T2080RDB

Flattened Device Tree blob at 00c00000
Booting using the fdt blob at 0xc00000
Uncompressing Kernel Image ... OK
ERROR: image is not a fdt - must RESET the board to recover.

I have changed  the file T208xRDB.h 

#define CONFIG_LINUX \
"setenv bootargs root=/dev/ram rw " \
"console=$consoledev,$baudrate $othbootargs;" \
"setenv ramdiskaddr 0x02000000;" \
"setenv fdtaddr 0x01fc0000;"

was:

- "setenv fdtaddr 0x00c00000;" \

and even sandbox.h:

@@ -177,7 +177,7 @@
#define MEM_LAYOUT_ENV_SETTINGS \
"bootm_size=0x10000000\0" \
"kernel_addr_r=0x1000000\0" \
- "fdt_addr_r=0xc00000\0" \
+ "fdt_addr_r=0x1fc0000\0" \

but boot using fdt blob at 0xc00000 and not 01fc0000

0 Kudos
2,705 Views
robertoinnocent
Contributor III

How I can setenv fdtaddr inside T208XRDB.h file as I have done manually from terminal?

Done manually:

=> printenv fdtaddr           
fdtaddr=0x00c00000
=> setenv fdtaddr 0x00e00000
=> printenv fdtaddr         
fdtaddr=0x00e00000
=> boot

0 Kudos
2,705 Views
alexray
Contributor II

That did the trick. Thanks Scott!

0 Kudos