[U-Boot] CycloneV kernel hang with big zImage over tftpboot

Clément Péron peron.clem at gmail.com
Fri Nov 2 13:10:59 UTC 2018


Hi,

I'm on top of U-Boot 2018.11-rc3 and try to boot using TFTP to load a
Kernel 4.9.130
My board is a custom SoCFPGA CycloneV with 512MiB and I try to load :
-zImage (kernel + rootfs) @ 0x1000000 (the size is around 29MiB kernel
is compressed with gzip)
-DeviceTree @ 0x18000000

The SDRAM should be mapped from 0x0 to 0x1FFFFFFF

But the boot of big zImage makes the kernel hang.
I have enabled the earlycon and earlyprintk and the boot stop at
# Starting kernel ...

I tried to increase the CONFIG_SYS_BOOTMAPSZ to 128MiB but didn't change

Do you have any clue on what's going wrong here ?

Thanks,
Clement

Log when I boot a big zImage :

U-Boot SPL 2018.11-rc3_3.0.0-00030-gcbcb645514-dirty (Oct 31 2018 -
15:21:25 +0100)
Trying to boot from SPI


U-Boot 2018.11-rc3_3.0.0-00030-gcbcb645514-dirty (Oct 31 2018 - 15:21:25 +0100)

CPU:   Altera SoCFPGA Platform
FPGA:  Altera Cyclone V, SE/A4 or SX/C4, version 0x0
BOOT:  QSPI Flash (3.0V)
DRAM:  512 MiB
MMC:   dwmmc0 at ff704000: 0
Loading Environment from MMC... OK
In:    serial1 at ffc03000
Out:   serial1 at ffc03000
Err:   serial1 at ffc03000
Net:
Warning: ethernet at ff702000 (eth0) using random MAC address - 7c:c4:ef:00:06:e5
eth0: ethernet at ff702000
Hit any key to stop autoboot:  0
Booting debug
Speed: 1000, full duplex
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
DHCP client bound to address 192.168.1.146 (3016 ms)
Speed: 1000, full duplex
192.168.1.4
Speed: 1000, full duplex
Using ethernet at ff702000 device
TFTP from server 192.168.1.4; our IP address is 192.168.1.146
Filename '/boot/zImage'.
Load address: 0x1000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ########################
         1.2 MiB/s
done
Bytes transferred = 29406688 (1c0b5e0 hex)
Speed: 1000, full duplex
Using ethernet at ff702000 device
TFTP from server 192.168.1.4; our IP address is 192.168.1.146
Filename '/boot/socfpga.dtb'.
Load address: 0x18000000
Loading: ######
         1001 KiB/s
done
Bytes transferred = 28717 (702d hex)
## Flattened Device Tree blob at 18000000
   Booting using the fdt blob at 0x18000000
   reserving fdt memory region: addr=0 size=1000
   Using Device Tree in place at 18000000, end 1800a02c

Starting kernel ...

/* Stuck here */

With small zImage + NFS Boot is fine

U-Boot SPL 2018.11-rc3_3.0.0-00030-gcbcb645514-dirty (Nov 02 2018 -
13:40:27 +0100)
Trying to boot from SPI


U-Boot 2018.11-rc3_3.0.0-00030-gcbcb645514-dirty (Nov 02 2018 - 13:40:27 +0100)

CPU:   Altera SoCFPGA Platform
FPGA:  Altera Cyclone V, SE/A4 or SX/C4, version 0x0
BOOT:  QSPI Flash (3.0V)
DRAM:  512 MiB
MMC:   dwmmc0 at ff704000: 0
Loading Environment from MMC... OK
In:    serial1 at ffc03000
Out:   serial1 at ffc03000
Err:   serial1 at ffc03000
Net:
Warning: ethernet at ff702000 (eth0) using random MAC address - 7c:c4:ef:00:02:ce
eth0: ethernet at ff702000
Hit any key to stop autoboot:  0
Booting debug
Speed: 1000, full duplex
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
DHCP client bound to address 192.168.1.227 (3016 ms)
Speed: 1000, full duplex
192.168.1.4
Speed: 1000, full duplex
Using ethernet at ff702000 device
TFTP from server 192.168.1.4; our IP address is 192.168.1.227
Filename '/boot/zImage'.
Load address: 0x1000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #####T ############################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ########################
         450.2 KiB/s
done
Bytes transferred = 3781872 (39b4f0 hex)
Speed: 1000, full duplex
Using ethernet at ff702000 device
TFTP from server 192.168.1.4; our IP address is 192.168.1.227
Filename '/boot/socfpga.dtb'.
Load address: 0x18000000
Loading: ######
         934.6 KiB/s
done
Bytes transferred = 28717 (702d hex)
## Flattened Device Tree blob at 18000000
   Booting using the fdt blob at 0x18000000
   reserving fdt memory region: addr=0 size=1000
   Using Device Tree in place at 18000000, end 1800a02c

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 4.9.130 (cperon at cperon-Latitude-7490) (gcc version 6.4.1
20170707 (Linaro GCC 6.4-2017.08) ) #1 SMP PREEMPT Fri Nov 2 10:45:18
CET 2018
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt:Machine model: Devialet Paco v2
bootconsole [earlycon0] enabled
Memory policy: Data cache writealloc
percpu: Embedded 14 pages/cpu @9fbc8000 s26124 r8192 d23028 u57344
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
Kernel command line: console=ttyS1,115200 root=/dev/nfs rw
nfsroot=192.168.1.4:/opt/nfsroot,v3,tcp ip=dhcp earlyprintk
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)
Memory: 509908K/524288K available (6144K kernel code, 163K rwdata,
1208K rodata, 1024K init, 242K bss, 14380K reserved, 0K cma-reserved)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xa0800000 - 0xff800000   (1520 MB)
    lowmem  : 0x80000000 - 0xa0000000   ( 512 MB)
    modules : 0x7f000000 - 0x80000000   (  16 MB)
      .text : 0x80008000 - 0x80700000   (7136 kB)
      .init : 0x80900000 - 0x80a00000   (1024 kB)
      .data : 0x80a00000 - 0x80a28f58   ( 164 kB)
       .bss : 0x80a28f58 - 0x80a65afc   ( 243 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Preemptible hierarchical RCU implementation.
        Build-time adjustment of leaf fanout to 32.
        RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=2
NR_IRQS:16 nr_irqs:16 16
L2C: DT/platform modifies aux control register: 0x02060000 -> 0x02460000
L2C-310 erratum 769419 enabled
L2C-310 enabling early BRESP for Cortex-A9
L2C-310 full line of zeros enabled for Cortex-A9
L2C-310 ID prefetch enabled, offset 8 lines
L2C-310 dynamic clock gating enabled, standby mode enabled


More information about the U-Boot mailing list