[Gta04-owner] Booting from NAND

Dr. H. Nikolaus Schaller hns at goldelico.com
Mon Nov 21 08:59:47 CET 2011


Hi Radek,

Am 21.11.2011 um 08:41 schrieb Radek Polak:

> Hi,
> on GTA02 i was used to have stable distro on NAND and experiment on SD card. 
> If i broke something on SD i could boot from NAND without having to remove the 
> cover and take the SD card.
> 
> Can someone give me pointers how to do something similar on GTA04. Is anyone 
> booting from NAND?

To give a rough idea how it works:
1. the Boot ROM checks if there is a valid NAND image for x-loader
2. if so, x-loader comes from NAND
3. x-loader is a variant that requires U-Boot in NAND
4. U-Boot checks for SD, MMC (in this order - but that can be modified through boot.scr) for an uImage
5. So if you flash x-loader to NAND, it will use that one incl. some U-Boot in NAND independently what you have on the SD card
6. if you press the AUX button before and during the 1st second, the Boot ROM changes the search order so that it looks for the MLO file on SD card first (if an SD card is found). MLO is a variant of x-loader that tries to load U-Boot from SD card

So you can flash a known-to-work combination of x-loader and U-Boot into NAND.
And some uImage.

If there is no MLO on the SD card, you get the stable system from NAND.
If you have an experimental one, you can press the AUX/User button.

If the system in NAND is broken, you can use the AUX button to recover.

The only piece we have not yet experimented with is flashing a rootfs into NAND.
This needs a slightly different boot command line so that it looks for some jffs in
NAND. And it has to be initialized.

Finally, we have made flashing x-loader and U-Boot and uImage quite simple:

http://projects.goldelico.com/p/gta04-rootfs/

	• connect the board to RS232
	• copy all required files (MLO, x-loader.ift, splash.rgb16z, boot.scr etc.) to a SD card as described in the previous section.
	• install the SD and boot from peripheral (press User/AUX button if required).
	• break into the U-Boot console
	• flash=yes
	• run bootcmd


> And one more question. I see that UMTS should be on /dev/ttyHS3, but it is not 
> on mine system (because i dont use udev?). Can someone give me major and minor 
> numbers so that i can create the devices nodes with mknod?

Hm. I think that it is not done by udev at all but the HSO driver.

Can you please check that lsusb shows the modem?
If yes, the driver should be loaded by USB probing and matching
and leave some traces in dmesg.

Do you have compiled your own kernel?

There is one patch required for the EHCI driver. The reason is that
there is no 5V USB bus power for the Modem. Therefore, the standard
USB PHY chip does not recognize that the modem is available.
Therefore, we had to patch the driver to send some ULPI command
to the PHY chip to disable VBUS sensing:

https://github.com/goldelico/gta04-kernel/commit/c654169f357877288b9080fd0072723c47923484

Hope this helps!

Nikolaus



More information about the Gta04-owner mailing list