[Lenny400] [Mipsbook-devel] Reviewing the Ingenic board initialisation code

Paul Boddie paul at boddie.org.uk
Sat Jun 13 02:21:19 CEST 2015


On Tuesday 9. June 2015 14.55.48 Dr. H. Nikolaus Schaller wrote:
> 
> Fortunately, I have found copies of PC701-LX-u-boot-1.1.6.tar.bz2 on my
> daily work machine…

This has been rather educational to look at, as it turns out.

[...]

> Yes, according to my 5 years old description there are multiple locations
> where hot keys are detected to help the boot process. A big hack… No chance
> to get it upstream to kernel.org or denx :)

The first place where keys are read appears to be in the U-Boot found in NAND. 
These are described on the following page, although I think they might need 
reviewing:

http://projects.goldelico.com/p/l400-rootfs/page/Operation/

> The key point is that U-Boot can only boot from NAND or SD/MMC. And it
> can boot the “minifs” which is a stripped down Linux with running a single
> shell script in busybox. That script provides some user interface - and of
> course USB drivers (and network) to load recovery systems from.
> 
> I have found that we had written a simple replacement minifs (which is not
> the same as the one that comes shipped with the hardware). But if you
> did not touch the original, it should be possible to read out the NAND
> partition.
> 
> http://projects.goldelico.com/p/l400-rootfs/source/tree/master/config/root/
> mkminifs
> http://projects.goldelico.com/p/l400-rootfs/source/tree/master/config/root
> /recover

It may well be the case that booting via minifs is the way to go because 
booting via U-Boot directly from a uImage on SD may not work: even with the 
ancient and hacked U-Boot sources, it is still guesswork with regard to 
whether U-Boot is operating correctly because it doesn't write to the screen. 
And I don't dare try and upgrade it because there is probably no reliable, 
updated version for the MiniPC, so any attempt to do so would itself be an 
experiment.

Indeed, to prepare for this exercise, I got a payload to boot on the Ben 
NanoNote from U-Boot, but it required me to build a newer version of U-Boot 
and to install it into the NAND - the latter being easy enough with usbboot - 
before I could persuade the bootm command to actually load and run the image. 
I actually think that something was broken with standalone programs (which is 
what I'm testing with) for a long time in U-Boot. Reading the special-casing 
in the U-Boot sources is informative, certainly.

If anyone can provide any clear recipes for making suitable uImage files of a 
simple nature that U-Boot 1.1.6 on the MiniPC can boot into - no, "the Linux 
kernel" is not such a recipe - I'd appreciate it a lot. It is just annoying 
that this particular ancient version of U-Boot seems to be widespread, and so 
many people are presumably having to deal with its deficiencies.

Paul


More information about the Lenny400 mailing list