[linux-yocto] [daisy] beaglebone large kernel images do not boot
Bruce Ashfield
bruce.ashfield at windriver.com
Fri Jul 11 06:48:31 PDT 2014
On 14-07-11 09:00 AM, Peter A. Bigot wrote:
> I've just returned to Yocto development, and am using Ubunto 12.04
> 64-bit with commit 8e05d5e at the head of poky's daisy branch, building
> for core-image-base for MACHINE=beaglebone, testing on a Beaglebone
> Black rev A5C.
>
> The resulting image failed to boot, hanging after printing "Starting
> kernel ...". After a lot of experimentation, I've narrowed it down to a
> discovery that the size of the Image file produced by "bitbake linux-yocto"
> changed based on the absolute path to the build directory:
>
> -rwxr-xr-x 1 pab pab 11215060 Jul 11 05:58
> /tmp/poky/build/tmp/work/beaglebone-poky-linux-gnueabi/linux-yocto/3.14+gitAUTOINC+09424cee64_0143c6ebb4-r0/linux-beaglebone-standard-build/arch/arm/boot/Image
>
> -rwxr-xr-x 1 pab pab 11223252 Jul 11 04:20
> /prj/oe/omap/poky/build/tmp/work/beaglebone-poky-linux-gnueabi/linux-yocto/3.14+gitAUTOINC+09424cee64_0143c6ebb4-r0/linux-beaglebone-standard-build/arch/arm/boot/Image
>
> -rwxr-xr-x 1 pab pab 11223252 Jul 11 06:49
> /prj/oe/omap/poky/bld-tw6/tmp/work/beaglebone-poky-linux-gnueabi/linux-yocto/3.14+gitAUTOINC+09424cee64_0143c6ebb4-r0/linux-beaglebone-standard-build/arch/arm/boot/Image
>
> -rwxr-xr-x 1 pab pab 11223252 Jul 11 05:37
> /prj/oe/omap/poky/build-tw8/tmp/work/beaglebone-poky-linux-gnueabi/linux-yocto/3.14+gitAUTOINC+09424cee64_0143c6ebb4-r0/linux-beaglebone-standard-build/arch/arm/boot/Image
>
> -rwxr-xr-x 1 pab pab 11231444 Jul 11 05:08
> /prj/oe/omap/poky/build-thirty2/tmp/work/beaglebone-poky-linux-gnueabi/linux-yocto/3.14+gitAUTOINC+09424cee64_0143c6ebb4-r0/linux-beaglebone-standard-build/arch/arm/boot/Image
>
> -rwxr-xr-x 1 pab pab 11231444 Jul 11 06:24
> /tmp/poky/build-oe-omap-thirty2/tmp/work/beaglebone-poky-linux-gnueabi/linux-yocto/3.14+gitAUTOINC+09424cee64_0143c6ebb4-r0/linux-beaglebone-standard-build/arch/arm/boot/Image
>
> -rwxr-xr-x 1 pab pab 11239636 Jul 11 04:43
> /prj/oe/omap/poky/build-beaglebone-daisy/tmp/work/beaglebone-poky-linux-gnueabi/linux-yocto/3.14+gitAUTOINC+09424cee64_0143c6ebb4-r0/linux-beaglebone-standard-build/arch/arm/boot/Image
>
>
> When I replace /boot/uImage on the SD card with the ones corresponding
> to built Image files with size 11223252 (0xab40d4) or smaller, the boot
> succeeds as shown below. With uImage corresponding to Image size
> 1231444 (0xab60d4) or greater, the boot hangs after "Starting kernel
> ..." with no further output.
>
> Anybody have a clue as to what might be going wrong here and how to fix
> it? I'm guessing the larger uncompressed image is overwriting something
> critical, but don't know where to tweak to make it work.
That's almost always what it is. I assume you are tftping the zImage and
dtb to the BBB before booting ?
If so, just move the load address of the dtb higher, and the uncompressed
kernel should no longer clobber it.
Bruce
>
> Thanks.
>
> Peter
>
>
>
> U-Boot 2013.04-dirty (Jul 10 2013 - 14:02:53)
>
> I2C: ready
> DRAM: 512 MiB
> WARNING: Caches not enabled
> NAND: No NAND device found!!!
> 0 MiB
> MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
> *** Warning - readenv() failed, using default environment
>
> musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx,
> SoftConn)
> musb-hdrc: MHDRC RTL version 2.0
> musb-hdrc: setup fifo_mode 4
> musb-hdrc: 28/31 max ep, 16384/16384 memory
> USB Peripheral mode controller at 47401000 using PIO, IRQ 0
> musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx,
> SoftConn)
> musb-hdrc: MHDRC RTL version 2.0
> musb-hdrc: setup fifo_mode 4
> musb-hdrc: 28/31 max ep, 16384/16384 memory
> USB Host mode controller at 47401800 using PIO, IRQ 0
> Net: <ethaddr> not set. Validating first E-fuse MAC
> cpsw, usb_ether
> Hit any key to stop autoboot: 1 0
> gpio: pin 53 (gpio 53) value is 1
> mmc0 is current device
> micro SD card found
> mmc0 is current device
> gpio: pin 54 (gpio 54) value is 1
> SD/MMC found on device 0
> reading uEnv.txt
> ** Unable to read file uEnv.txt **
> gpio: pin 55 (gpio 55) value is 1
> 4985360 bytes read in 851 ms (5.6 MiB/s)
> gpio: pin 56 (gpio 56) value is 1
> 29192 bytes read in 64 ms (445.3 KiB/s)
> Booting from mmc ...
> ## Booting kernel from Legacy Image at 80007fc0 ...
> Image Name: Linux-3.14.0-yocto-standard
> Image Type: ARM Linux Kernel Image (uncompressed)
> Data Size: 4985296 Bytes = 4.8 MiB
> Load Address: 80008000
> Entry Point: 80008000
> Verifying Checksum ... OK
> ## Flattened Device Tree blob at 80f80000
> Booting using the fdt blob at 0x80f80000
> XIP Kernel Image ... OK
> OK
> Using Device Tree in place at 80f80000, end 80f8a207
>
> Starting kernel ...
>
> Booting Linux on physical CPU 0x0
> Initializing cgroup subsys cpuset
> Initializing cgroup subsys cpu
> Initializing cgroup subsys cpuacct
> Linux version 3.14.0-yocto-standard (pab at llc) (gcc version 4.8.2 (GCC) )
> #1 PREEMPT Fri Jul 11 04:20:09 CDT 2014
> CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
> CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
> Machine model: TI AM335x BeagleBone
> cma: CMA: reserved 16 MiB at 9e800000
> Memory policy: Data cache writeback
> CPU: All CPU(s) started in SVC mode.
> AM335X ES2.0 (sgx neon )
> Built 1 zonelists in Zone order, mobility grouping on. Total pages: 129792
> Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 ro
> rootfstype=ext4 rootwait
> PID hash table entries: 2048 (order: 1, 8192 bytes)
> Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
> Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
> allocated 1048576 bytes of page_cgroup
> please try 'cgroup_disable=memory' option if you don't want memory cgroups
> Memory: 489440K/523264K available (7491K kernel code, 520K rwdata, 2452K
> rodata, 488K init, 757K bss, 33824K reserved, 0K highmem)
> Virtual kernel memory layout:
> vector : 0xffff0000 - 0xffff1000 ( 4 kB)
> fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
> vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)
> lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
> pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
> modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
> .text : 0xc0008000 - 0xc09be044 (9945 kB)
> .init : 0xc09bf000 - 0xc0a39034 ( 489 kB)
> .data : 0xc0a3a000 - 0xc0abc0d4 ( 521 kB)
> .bss : 0xc0abc0d4 - 0xc0b79678 ( 758 kB)
>
More information about the linux-yocto
mailing list