HI,
we are using p1022 processor based custom board.
we are able to download u-boot elf image to DDR using code warrior USB TAP and u-boot is running successfully.
we have extracted kernel source and cross compiler from sdk1.9.
while building Linux simpleImage we are receiving simpleboot.o file not found error.we have edited Makefile in arch/powepc/boot in order to generate simpleboot.o file .
After editing Makefile we are able to build Linux simpleImage for p1022ds.(device tree: p1022ds_32b.dts).
Loaded simpleImage.initrd.p1022ds_32b.elf file to DDR through code warrior in debug mode and observed program counter is getting halt at fdt_getprop routine in simpleboot.c file where fatal error "Cannot find #address-cells property" is occurring.
Can anyone tell me whether simpleimage will work for QorIQ processors or not.
As flash and Ethernet interfaces are not up in our board we are going for Linux simpleImage option.
Regards,
Santosh Kumar.
Solved! Go to Solution.
U-Boot's ELF loader is not intended for booting a device-tree-aware OS such as Linux, and the dts files for our chips are not intended to be used without U-boot fixups. Build a uImage and use bootm instead.
hi PavelChubakov and scottwood....
Thanks for your replay...
we have tried booting linux with SD card.After following procedure to boot from SD card, U-boot is coming up properly.
We have used default uimage and dtb file from SDK 1.9.
After using following commands in u-boot:
Console prints are coming up to compressing kernel image.... and getting stuck(OK print is not coming).
By using debug prints in u-boot we have observed u-boot is getting stuck at inflate routine in lib/gunzip.c file.
can you please tell me where the issue is.....
Console prints are as follows:
U-Boot 2015.01+SDKv1.9+geb3d4fc (May 04 2016 - 15:14:13)
CPU0: P1022, Version: 1.1, (0x80e60011)
Core: e500, Version: 5.1, (0x80211151)
Clock Configuration:
CPU0:1000 MHz, CPU1:1000 MHz,
CCB:400 MHz,
DDR:53.333 MHz (106.666 MT/s data rate) (Asynchronous), LBC:25 MHz
L1: D-cache 32 KiB enabled
I-cache 32 KiB enabled
Board: P1022DS Sys ID: 0x00, Sys Ver: 0x00, FPGA Ver: 0x00, vBank: 0
I2C: ready
SPI: ready
DRAM: DDR: failed to read SPD from address 81
Error: No valid SPD detected.
16 MiB (DDR3, 64-bit, CL=6, ECC on)
Flash: 0 Bytes
L2: 256 KiB enabled
NAND: 0 MiB
MMC: FSL_SDHC: 0
CMD_SEND:0
ARG 0x00000000
MMC_RSP_NONE
Reset to card occurred
CMD_SEND:8
ARG 0x000001AA
MMC_RSP_R1,5,6,7 0x000001AA
CMD8 send return value:0CMD8 response:426mmc_send_if_cond ret val:0CMD_SEND:55
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00000120
CMD_SEND:41
ARG 0x40300000
MMC_RSP_R3,4 0x00FF8000
CMD_SEND:55
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00000120
CMD_SEND:41
ARG 0x40300000
MMC_RSP_R3,4 0xC0FF8000
sd_send_op_cond ret val:0CMD_SEND:2
ARG 0x00000000
MMC_RSP_R2 0x03505453
0x53303847
0x30DA3F7F
0xCD00F800
DUMPING DATA
000 - 53 54 50 03
004 - 47 38 30 53
008 - 7F 3F DA 30
012 - 00 F8 00 CD
CMD_SEND:3
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00070500
CMD_SEND:9
ARG 0x00070000
MMC_RSP_R2 0x400E0032
0x5B590000
0x39B77F80
0x0A400000
DUMPING DATA
000 - 32 00 0E 40
004 - 00 00 59 5B
008 - 80 7F B7 39
012 - 00 00 40 0A
CMD_SEND:13
ARG 0x00070000
MMC_RSP_R1,5,6,7 0x00000700
CURR STATE:3
CMD_SEND:7
ARG 0x00070000
MMC_RSP_R1,5,6,7 0x00000700
CMD_SEND:55
ARG 0x00070000
MMC_RSP_R1,5,6,7 0x00000920
CMD_SEND:51
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00000920
CMD_SEND:6
ARG 0x00FFFFF1
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:6
ARG 0x80FFFFF1
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:55
ARG 0x00070000
MMC_RSP_R1,5,6,7 0x00000920
CMD_SEND:6
ARG 0x00000002
MMC_RSP_R1,5,6,7 0x00000920
CMD_SEND:16
ARG 0x00000200
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:17
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:16
ARG 0x00000200
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:17
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:16
ARG 0x00000200
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:18
ARG 0x000003D4
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:12
ARG 0x00000000
MMC_RSP_R1b 0x00000900
*** Warning - bad CRC, using default environment
EEPROM: Read failed.
PCIe1: Root Complex of Nothing, no link, regs @ 0xffe0a000
PCIe1: Bus 00 - 00
PCIe2: disabled
PCIe3: disabled
In: serial
Out: serial
Err: serial
Net: PHY ID:ffffPHY ID:ffffeTSEC1 [PRIME]
=>
=>
=> setenv sdboot "setenv bootargs root=/dev/mmcblk0p2 rw rootfstype=ext2 rootdelay=5 conso le=ttyS0,115200;mmcinfo; fatload mmc 0:1 30000000 /uImage; fatload mmc 0:1 3e000000 /p1022 ds.dtb; bootm 30000000 - 3e000000"
=> run sdboot
Device: FSL_SDHC
Manufacturer ID: 3
OEM: 5054
Name: SS08G
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 7.2 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
CMD_SEND:16
ARG 0x00000200
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:17
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:16
ARG 0x00000200
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:17
ARG 0x00000800
MMC_RSP_R1,5,6,7 0x00000900
reading /uImage
CMD_SEND:16
ARG 0x00000200
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:17
ARG 0x00000800
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:16
ARG 0x00000200
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:18
ARG 0x00000A10
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:12
ARG 0x00000000
MMC_RSP_R1b 0x00000900
CMD_SEND:16
ARG 0x00000200
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:18
ARG 0x00000810
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:12
ARG 0x00000000
MMC_RSP_R1b 0x00000900
CMD_SEND:16
ARG 0x00000200
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:18
ARG 0x00000A40
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:12
ARG 0x00000000
MMC_RSP_R1b 0x00000900
CMD_SEND:16
ARG 0x00000200
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:17
ARG 0x00002AD5
MMC_RSP_R1,5,6,7 0x00000900
4270967 bytes read in 359 ms (11.3 MiB/s)
CMD_SEND:16
ARG 0x00000200
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:17
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:16
ARG 0x00000200
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:17
ARG 0x00000800
MMC_RSP_R1,5,6,7 0x00000900
reading /p1022ds.dtb
CMD_SEND:16
ARG 0x00000200
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:17
ARG 0x00000800
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:16
ARG 0x00000200
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:18
ARG 0x00000A10
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:12
ARG 0x00000000
MMC_RSP_R1b 0x00000900
CMD_SEND:16
ARG 0x00000200
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:18
ARG 0x00000810
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:12
ARG 0x00000000
MMC_RSP_R1b 0x00000900
CMD_SEND:16
ARG 0x00000200
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:18
ARG 0x00002AE0
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:12
ARG 0x00000000
MMC_RSP_R1b 0x00000900
CMD_SEND:16
ARG 0x00000200
MMC_RSP_R1,5,6,7 0x00000900
CMD_SEND:17
ARG 0x00002AFE
MMC_RSP_R1,5,6,7 0x00000900
15400 bytes read in 89 ms (168.9 KiB/s)
## Booting kernel from Legacy Image at 30000000 ...
Image Name: Linux-3.12.37-rt51+
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 4270903 Bytes = 4.1 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 3e000000
Booting using the fdt blob at 0x3e000000
Test Uncompressing Kernel Image ...
Regards,
Santosh Kumar.
U-Boot's ELF loader is not intended for booting a device-tree-aware OS such as Linux, and the dts files for our chips are not intended to be used without U-boot fixups. Build a uImage and use bootm instead.
We did not test similar loading.
It looks like that DTB file miss if halt happens at fdt_getprop. Usually our Linux SDK generates three files: kernel, .dtb file and rootfs.
We recommend using Flash, or SD card or Ethernet connection for image loading.
Have a great day,
Pavel Chubakov
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------