We have Linux booting on our P2020 based board and trying to use the same kernel on a Kontrom P2020 based board using onboard uboot. I've tried using our dtb file as well as dtb file from Kontron but no progress.
bootargs is console=ttyS0,115200
U-Boot 2009.11 Release GA 2.03 MON (Jul 03 2013 - 21:32:11)
CPU0: P2020, Version: 2.1, (0x80e20021)
Core: E500, Version: 5.1, (0x80211051)
Board: Kontron T5310 Rev2 - System Image 0
Reset: 01 Cold Reset, Source: 01 Power Up
PLD: 29 U
I2C: ready
DRAM: DDR: 1 GB (DDR3, 64-bit, CL=6, ECC on)
POST memory (fast) PASSED
POST kcs PASSED
FLASH: 256 MB
L2: 512 KB enabled
NAND: disable_nand is set in env, skipping
VPD: serial# 9009187384, ethaddr 00:A0:A5:81:6F:22
Net: eTSEC1
POST i2c PASSED
POST serial PASSED
POST tsec PASSED
POST pci PASSED
POST i2c1 PASSED
autoboot in 3 seconds...
type configured bootstopkey to abort
watchdog stopped
> tftp uImage
Speed: 100, full duplex
Using eTSEC1 device
TFTP from server 192.168.10.1; our IP address is 192.168.10.120
Filename 'uImage'.
Load address: 0x1000000
Loading: #################################################################
#################################################################
#################################################################
###############################
done
Bytes transferred = 3305745 (327111 hex)
=> tftp 20000000 kontron.dtb
Speed: 100, full duplex
Using eTSEC1 device
TFTP from server 192.168.10.1; our IP address is 192.168.10.120
Filename 'kontron.dtb'.
Load address: 0x20000000
Loading: #
done
Bytes transferred = 8128 (1fc0 hex)
=> bootm 1000000 - 20000000
WARNING: adjusting available memory to 30000000
## Booting kernel at 01000000 ...
Verifying Checksum ... OK
## Flattened Device Tree blob at 20000000
Booting using the fdt blob at 0x20000000
Uncompressing Kernel Image ... OK
Loading Device Tree to 00ffb000, end 00ffffbf ... OK
f
Hello Rajesh Tripathi,
Please refer to the following ramdisk boot environment.
=>setenv ramboot 'setenv bootargs root=/dev/ram rw console=ttyS0,115200 ramdisk_size=1000000;tftp 0x4000000 rootfs.ext2.gz.u-boot;tftp 0x1000000 uImage.bin;tftp 0x3000000 p2020rdb.dtb;bootm 0x1000000 0x4000000 0x3000000'
=>run ramboot
If your problem remains, please use "pri" command to display and share your u-boot environment.
Have a great day,
Yiping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Yiping,
Still no luck. it just hand after loading device tree.
=> printenv
bootcmd=run bootcmd${bootsource}
bootdelay=3
baudrate=115200
loads_echo=1
autoload=no
rootpath=/opt/nfsroot
loadaddr=1000000
setbootargs=setenv bootargs console=ttyS0,${baudrate}
bootcmdprd=watchdog 0; bootp; tftpboot ${loadaddr} t5310-bringup.multi; run setbootargs; bootm ${loadaddr}
disable_nand=yes
initrd_high=20000000
reset_unknown=1
watchdogboot=30
watchdogos=110
disable_rollback=0
stop_posterr=0
rootfs_loadaddr=8000000
test_and_recover=if test ${disable_rollback} = 0; then run recover_flash; fi
check_images=vpdget SERIAL && imcksum e1580000 $rootfs_loadaddr ROOTFS_SIZE ROOTFS_CKSUM && imcksum e0180000 ${loadaddr} OS_SIZE OS_CKSUM
recover_flash=echo Recovering flash ; imgselect.s swap ; reset
bootcmdrecover=run recover_flash
bootcmdflash=echo Booting from flash... ; run check_images && watchdog ${watchdogos} both && boothv ${loadaddr}; run test_and_recover
bootcmddiag=imcksum e4380000 $loadaddr DIAG_SIZE DIAG_CKSUM && watchdog ${watchdogos} && run setbootargs && bootm ${loadaddr}; run test_and_recover
bootcmdnet=watchdog ${watchdogos}; bootp && tftpboot ${loadaddr} ${bootfile} && run setbootargs && bootm ${loadaddr}
stoponposterr=test ${postresult} = 0 || test ${stop_posterr} = 0
early_cmd=watchdog ${watchdogboot}; run stoponposterr
bootsource=flash
clear_env=protect off all; erase e0100000 +40000
clear_config=protect off all; erase e6b80000 +1400000
uboot_flash_update=protect off all && erase e0000000 +80000 && cp.b ${fileaddr} e0000000 ${filesize}
ethaddr=00:A0:A5:81:6F:22
serial#=9009187384
hvbootargs0=linux0:console=ttyS0,${baudrate} macaddr=${ethaddr}
hvbootargs1=linux1:console=ttyS0,${baudrate} macaddr=${ethaddr}
hvbootargs=baudrate=${baudrate}
filesize=327111
fileaddr=1000000
ipaddr=192.168.10.120
serverip=192.168.10.1
eth1addr=00:A0:A5:81:6F:23
eth2addr=00:A0:A5:81:6F:24
stdin=serial
stdout=serial
stderr=serial
ethact=eTSEC1
postresult=0
ramboot=setenv bootargs root=/dev/ram rw console=ttyS0,115200 ramdisk_size=1000000;tftp 0x4000000 rootfs.ext2.gz.u-boot;tftp 0x1000000 uImage;tftp 0x3000000 kontron.dtb;bootm 0x1000000 0x4000000 0x3000000
Environment size: 2088/16379 bytes
=> run ramboot
Speed: 100, full duplex
Using eTSEC1 device
TFTP from server 192.168.10.1; our IP address is 192.168.10.120
Filename 'rootfs.ext2.gz.u-boot'.
Load address: 0x4000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
############################################
done
Bytes transferred = 9224384 (8cc0c0 hex)
Speed: 100, full duplex
Using eTSEC1 device
TFTP from server 192.168.10.1; our IP address is 192.168.10.120
Filename 'uImage'.
Load address: 0x1000000
Loading: #################################################################
#################################################################
#################################################################
###############################
done
Bytes transferred = 3305745 (327111 hex)
Speed: 100, full duplex
Using eTSEC1 device
TFTP from server 192.168.10.1; our IP address is 192.168.10.120
Filename 'kontron.dtb'.
Load address: 0x3000000
Loading: #
done
Bytes transferred = 8128 (1fc0 hex)
WARNING: adjusting available memory to 30000000
## Booting kernel at 01000000 ...
Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 04000000 ...
Image Name: P2020 Ramdisk
Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
Data Size: 9224320 Bytes = 8.8 MB
Load Address: 04000000
Entry Point: 04000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 03000000
Booting using the fdt blob at 0x3000000
Uncompressing Kernel Image ... OK
Loading Ramdisk to 1f733000, end 1ffff080 ... OK
Loading Device Tree to 00ffb000, end 00ffffbf ... OK
Hello Rajesh Tripathi,
It looks that Kontrom u-boot is not compatible with uImage provided in Freescale Linux SDK.
It's better to rebuild Kernel with your required configuration file in Kontrom provided Linux BSP.
Or rebuild u-boot in Freescale Linux SDK environment with Kontrom provided board configuration file.
Thanks,
Yiping
Hello Yiping,
Thanks again for your reply. What in uboot is not compatible with uImage file? Does is has something to do with the way uBoot handles device tree?
I'm using timesys Linux to generate uImage.
Kontron has not provided Linux BSP or any detailed documentation. Since our board and Kontron board are based on P2020 I was hoping to boot linux with uBoot already on the board as don't want to brick the board by trying to load our uBoot on it.