[Buildroot] bootm - "Starting kernel"

Lee, Tommy Tommy_Lee at alliedtelesis.com
Thu Aug 13 19:06:10 UTC 2015


Brendan,

I added one line and changed one line in my .config file:

BR2_LINUX_KERNEL_INTREE_DTS_NAME="armada-385-db-ap"
BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x02080000"

The reason for 0x02080000 is that the Marvell U-Boot has predefined this value for the kernel_addr_r variable. The U-Boot commands I ran were:

Marvell>> tftp 0x02080000 10.28.1.20:uImage - Bytes transferred = 3539008 (360040 hex)
Marvell>> tftp 0x02400000 10.28.1.20:rootfs.cpio.uboot - Bytes transferred = 7776320 (76a840 hex)
Marvell>> tftp 0x02c00000 10.28.1.20:armada-385-db-ap.dtb - Bytes transferred = 13286 (33e6 hex)
Marvell>> setenv bootargs console=ttyS0,115200n8 mem=2G initrd=0x02400000,8M rw root=/dev/ram0 rw eth=00:50:43:ec:16:4d
Marvell>> bootm 0x02080000 0x02400000 0x02c00000

This time, I saw lots of garbage following "Starting kernel". It looks like that the Buildroot system is bootable but the console= part of bootargs needs to be adjusted.

I am resolving this issue. Your experience is definitely welcome.

Tommy

Marvell>> bootm 0x02080000 0x02400000 0x02c00000
## Booting kernel from Legacy Image at 02080000 ...
   Image Name:   Linux-4.0.4
   Created:      2015-08-12  21:51:11 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3538944 Bytes = 3.4 MiB
   Load Address: 02000000
   Entry Point:  02000000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 02400000 ...
   Image Name:
   Created:      2015-08-12  21:51:55 UTC
   Image Type:   ARM Linux RAMDisk Image (uncompressed)
   Data Size:    7776256 Bytes = 7.4 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 02c00000
   Booting using the fdt blob at 0x02c00000
   Loading Kernel Image ... OK
OK
   Loading Ramdisk to 7f261000, end 7f9cb800 ... OK
   Loading Device Tree to 00ff9000, end 00fff3e5 ... OK

   Starting Device Tree update ('fdt_skip_update' = no)
Updating device tree failed

Starting kernel ...

▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒p▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
.....

-----Original Message-----
From: Lee, Tommy
Sent: Wednesday, August 12, 2015 5:32 PM
To: 'Brendan Heading'
Cc: buildroot at busybox.net
Subject: RE: bootm - "Starting kernel"

Brendan,

The Marvell's USB has a n armada-385-db-ap.dtb file. My .config file has no such setting yet:

tclee at Latitude-E6400:~/Downloads/aug10mon15/buildroot-2015.05$ egrep DTS .config # BR2_LINUX_KERNEL_DTS_SUPPORT is not set

I discovered only two map files through the make process. They are not map of kernel:

tclee at Latitude-E6400:~/Downloads/aug10mon15/buildroot-2015.05$ find . -name "*.map"|xargs ls -l|egrep "Aug 12"
-rw-rw-r-- 1 tclee tclee 8691522 Aug 12 16:56 ./output/build/busybox-1.23.2/busybox_unstripped.map
-rw-rw-r-- 1 tclee tclee   22576 Aug 12 16:54 ./output/build/host-gcc-final-4.8.4/build/arm-buildroot-linux-uclibcgnueabi/libgcc/libgcc.map
tclee at Latitude-E6400:~/Downloads/aug10mon15/buildroot-2015.05$

I tried the " bootm 0x02000000" command. The result is same.

Marvell>> print bootargs
bootargs=console=ttyS0,115200n8 mem=2G initrd=0x02400000,8M rw root=/dev/ram0 rw  eth=00:50:43:ec:16:4d
Marvell>> bootm 0x02000000
## Booting kernel from Legacy Image at 02000000 ...
   Image Name:   Linux-4.0.4
   Created:      2015-08-12  21:51:11 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3538944 Bytes = 3.4 MiB
   Load Address: 02000000
   Entry Point:  02000000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK
OK

Starting kernel ...

-----Original Message-----
From: Brendan Heading [mailto:brendanheading at gmail.com]
Sent: Wednesday, August 12, 2015 4:48 PM
To: Lee, Tommy
Cc: buildroot at busybox.net
Subject: Re: bootm - "Starting kernel"

> -rw-r--r-- 1 root root 7776320 Aug 12 14:53 rootfs.cpio.uboot
> -rw-r--r-- 1 root root 3539008 Aug 12 14:53 uImage
>
> On my target, I did the TFTP downloads of the above two files in SDRAM. The uImage is loaded at 0x02000000; rootfd.cpio.uboot:

Tommy,

Can you send through the System.map file generated by the kernel ?
It's interesting that the kernel has apparently been linked to start at 0x0000 0000. I'm not so familiar with ARM; maybe that's normal.

Also, can you run the test again, except without loading the ramdisk.
Just load the kernel. It will probably still fail but it's one less variable.

Is there a device tree file for this board ? If so you probably need to configure it in buildroot and load it using u-boot/pass it to the kernel.

regards

Brendan

This e-mail message is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. If you are the intended recipient, please be advised that the content of this message is subject to access, review and disclosure by the sender's e-mail System Administrator.


More information about the buildroot mailing list