[Lenny400] LetuxOS on SD card for MIPS JZ4780 CI20

H. Nikolaus Schaller hns at goldelico.com
Fri Apr 19 14:27:16 CEST 2019


Hi Paul,

> Am 19.04.2019 um 13:37 schrieb Paul Boddie <paul at boddie.org.uk>:
> 
> On Thursday 18. April 2019 19.17.12 H. Nikolaus Schaller wrote:
>>> Am 18.04.2019 um 19:08 schrieb Paul Boddie <paul at boddie.org.uk>:
>>> 
>>> https://github.com/MIPS/CI20_u-boot
>>> 
>>> Branch ci20-v2013.10 from the above repository.
>> 
>> Yes, exactly.
> 
> Good to know that we're still on the same page. :-)
> 
> [...]
> 
>> Most likely... But how should we run a device-tree kernel now?
> 
> I imagine that any future effort would depend on doing so.
> 
>> It does not look as if there is a MIPS pendant to CONFIG_ARM_APPENDED_DTB.
>> Android seems to have that:
>> 
>> https://android.googlesource.com/kernel/goldfish.git/+/ffe2e9528580222567114
>> 0560e4261425f63db69%5E!/
>> 
>> Well, there is always the option to manually do the append. But I am not
>> sure if the MIPS kernel is searching for it...
> 
> Is this it...?
> 
> CONFIG_BUILTIN_DTB=y
> 
> I vaguely remember similar options when doing the initial work for the Letux 
> 400, or maybe it was related to the Ben NanoNote and newer kernels. Maybe 
> these:
> 
> CONFIG_MIPS_NO_APPENDED_DTB
> CONFIG_MIPS_ELF_APPENDED_DTB
> CONFIG_MIPS_RAW_APPENDED_DTB

That looks interesting!

CONFIG_BUILTIN_DTB is mentioned on https://cateee.net/lkddb/web-lkddb/BUILTIN_DTB.html

but it is neither defined by ci20_defconfig nor letux_defconfig.

Here is the ci20_defconfig:

	https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/mips/configs/ci20_defconfig?h=v5.1-rc5

The latter defines CONFIG_MIPS_RAW_APPENDED_DTB by default!:

	http://git.goldelico.com/?p=letux-kernel.git;a=blob;f=arch/mips/configs/letux_defconfig;h=4e85d9a6b2bac0a96c14aaac36ad8e3fcf735b23;hb=202f2274f4ec7e82f42634c3f3b2284ba23806a4

So it might simply suffice to append the .dtb manually... I think there is (was) some script
to do that inside flash-nand for the GTA04. Yes, here:

	http://git.goldelico.com/?p=letux-kernel.git;a=blob;f=Letux/root/flash-nand;h=284c5c19d6e041d6adf883fd4f84f9fe5319e2e5;hb=refs/heads/letux-5.1-rc5#l274

Or if we do research there might be a kernel make option for that. I'll give it a try as soon as I find time for it.

Here I have found some (ARM) patch for the kernel makefile:
https://elinux.org/images/f/f4/Elc2013_Fernandes.pdf

index abfce28..131558f 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -55,6 +55,9 @@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE

          $(call if_changed,objcopy)
          @$(kecho) '  Kernel: $@ is ready'

+$(obj)/zImage-dtb.%: $(obj)/%.dtb $(obj)/zImage + cat $(obj)/zImage $< > $@
+
  endif

+$(obj)/uImage-dtb.%: $(obj)/zImage-dtb.% FORCE
+        $(call if_changed,uimage)
+        @echo '  Image $@ is ready'
+

> 
> Of course, I did spend some time trying to define a usable device tree for the 
> Letux 400, and I am pretty sure that the NanoNote kernel adopted device tree.
> 
> Plus, there are device tree files for the JZ4780 and CI20, so I do wonder 
> whether the support isn't already in place. So, maybe a perusal of the CI20 
> discussion groups/lists is needed to remind myself.

Indeed. I can't believe that there was no progress since 2013... And some of
the android images mention that they use device tree.

Maybe it is just missing in the "compile kernel yourself" documentation.

> 
>> Or should we backport a newer bootm command? That may not be easy as it
>> assumes a standard to pass the DTB address to a kernel and that might not
>> be in the old tree.
>> 
>> So we are a little stuck here. Ideas are welcome!
> 
> I would need to refresh my memory a lot more to be able to say something 
> sensible, I think.
> 
> Paul

BR and thanks for the new hints for experimentation,
Nikolaus



More information about the Lenny400 mailing list