[Letux-kernel] jz4730-i2c - clocksource

H. Nikolaus Schaller hns at goldelico.com
Sun Mar 7 18:11:42 CET 2021

Hi Paul,

> Am 07.03.2021 um 17:06 schrieb Paul Boddie <paul at boddie.org.uk>:
> On Sunday, 7 March 2021 14:37:40 CET H. Nikolaus Schaller wrote:
>>> Am 07.03.2021 um 14:05 schrieb Paul Boddie <paul at boddie.org.uk>:
>>> The uImage file should go in the first (FAT) partition, of course.
>> Yes. Exact names depends on what U-Boot expects. On my system it should be
>> named "Image" without the "u".
> Mine works with uImage since my L4Re payloads work fine with that name.
> However, I am using the legacy U-Boot here. Will that support some of the 
> features you are using, such as bootargs.scr and loading device tree files?

Ah, I see. The legacy u-boot does neither support loading DTB nor is it able
to uncompress bigger uImages.

This is why I use the two-staged approach where legacy u-boot loads the
new u-boot by Ludomir which then can do everything. Loading bootargs.scr
is done by a boot.scr that I provide.

I think this is the reason why I have named it "Image". Because legacy-u-boot
has hard-coded to load an "uImage". So the second phase u-boot is called
"uImage" and that it does not try to load itself the kernel is named "Image".

> [...]
>>> ingenic/alpha400.dtb
>>> Where would this be unpacked? Should it be on the first partition? What
>>> happened to the dtbs/5.12.0-rc2-letux-l400+ part of the path?
>> It should go to /boot and dtbs/5.12.0-rc2-letux-l400+ should be stripped
>> off. The reason is that this is loaded by U-Boot which does not know the
>> exact kernel name. Only the kernel knows its name and can search modules
>> in /lib/modules/5.12.0-rc2-letux-l400+/
>> This means the .dtb must be located where U-Boot (or a boot.scr) is looking
>> for it.
>> So I have:
>> root at letux:~# ls -lR /boot
>> /boot:
>> total 5136
>> -rw-r--r-- 1 root root 5232705 Mar  4  2021 Image
>> -rw-r--r-- 1 root root      96 Mar  4  2021 Image.info
>> -rw-r--r-- 1 root root    2108 Mar  4  2021 bootargs.scr
>> drwxr-xr-x 2 root root    4096 Mar  4  2021 ingenic
> So this is in the FAT partition?

Ah, sorry.

That was an older /boot without having mounted the FAT
partition. The FAT partition looks like:

root at letux:~# ls -lR /boot
total 5880
-rwxr-xr-x 1 root root 5233921 Mar  7  2021 Image
-rwxr-xr-x 1 root root      79 Mar  7  2021 Image.info
-rwxr-xr-x 1 root root    2156 Jan 31  2021 boot.scr
-rwxr-xr-x 1 root root    2108 Mar  7  2021 bootargs.scr
drwxr-xr-x 2 root root    8192 Mar  7  2021 ingenic
-rwxr-xr-x 1 root root     843 Jan 31  2021 makesd.info
-rwxr-xr-x 1 root root  500979 Jan 31  2021 u-boot.bin
-rwxr-xr-x 1 root root  234810 Jan 31  2021 uImage

total 16
-rwxr-xr-x 1 root root 12078 Mar  7  2021 alpha400.dtb
root at letux:~# 

here we see that both, uImage and Image exist plus
the u-boot.bin for the second phase U-Boot.

And I have a boot.scr (for the second phase u-boot)
which loads DTB and Image and runs bootargs.scr before
starting the kernel:


I have developed that once last year and the boot process
is a "never touch a running system unless absolutely necessary"
thing for me :)

What you can also see is that my installation process
has updated Image (+.info), bootargs.scr and ingenic/alpha400.dtb
from my kernel build today. The others are untouched.

Hope this is helpful.


More information about the Letux-kernel mailing list