[Letux-kernel] [PATCH 00/20] A bunch of JZ4730 fixups for letux-kernel

H. Nikolaus Schaller hns at goldelico.com
Mon Nov 30 07:50:54 CET 2020


Hi Lubomir,

> Am 28.11.2020 um 16:31 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
>> 
>> Then I checked out your complete tree, copied the .config to the right location and:
>> 
>> 2919423 bytes read
>> ## Booting image at 80600000 ...
>>  Image Name:   Linux-5.10.0-rc5-letux-l400+
>>  Image Type:   MIPS Linux Kernel Image (gzip compressed)
>>  Data Size:    2919359 Bytes =  2.8 MB
>>  Load Address: 80100000
>>  Entry Point:  8053d0f4
>>  Verifying Checksum ... OK
>>  Uncompressing Kernel Image ... OK
>> 
>> Starting kernel ...
>> 
>> [    0.000000] Linux version 5.10.0-rc5-letux-l400+ (hns at iMac.fritz.box) (mipsel-linux-gnu-gcc (GCC) 4.9.2, GNU ld (GNU Binutils) 2.25) #4026 PREEMPT Sat Nov 28 14:32:55 CET 2020
>> [    0.000000] CPU0 revision is: 02d0024f (Ingenic XBurst)
>> [    0.000000] MIPS: machine is letux400,minipc
>> [    0.000000] earlycon: jz4740_uart0 at MMIO32 0x10030000 (options '115200n8')
>> [    0.000000] printk: bootconsole [jz4740_uart0] enabled
>> [    0.000000] printk: debug: ignoring loglevel setting.
>> [    0.000000] User-defined physical RAM map overwrite
>> [    0.000000] Initrd not found or empty - disabling initrd
>> [    0.000000] cma: Reserved 32 MiB at 0x01000000
>> ...
>> 
>> So there is a subtle difference between your minimalistic tree and the full letux tree which blows up the uImage by ca. 80% and makes it fail to boot.
>> Have to study this now... But I think we are close.
> 
> Seems to be something incompatible in my defconfig.
> If I merge your tree into mine and use your defconfig it works.
> The one that is ok for CI20 (of course after switching to JZ4730) fails.
> 
> This is now a bisectable problem...

Yes, it was - partially - bisectable. But it is not a specific CONFIG.
And not a specific subsystem compiled into the kernel.

Rather it appears as if there is a limit of ca. 3800000 Bytes for the uImage Data Size.
Above that there is no sign of activity. Below the kernel boots.

I have cross-checked and the vmlinux.bin is quite exactly 8 MB in that cases which gets
compressed into these ca. 3800000 Bytes.

So please can you
a) check what happens for your build if you configure for bigger uImage (so that vmlinux.bin is more than 8MB)
   (e.g. CONFIG_INET, CONFIG_WIRELESS, CONFIG_POSIX_MQUEUE, CONFIG_CGROUPS, CONFIG_NAMESPACES, CONFIG_KEXEC, CONFIG_SUSPEND)
   until your kernel size goes beyond 3.8 MB resp. 8 MB?
b) try to boot my smaller uImage-good and the full uImage [1] and look by JTAG why the uncompression fails for the latter?
   (NOTE: it seems to be jz4730 specific since the CI20 has no problems with bigger uImages)
c) have ideas why the appended-DTB search algorithm fails? This would not be used for the CI20.

BR and thanks,
Nikolaus

[1]: https://download.goldelico.com/letux-kernel/letux-5.10-rc5-l400/


More information about the Letux-kernel mailing list