Booting process & memory layout.

Oleg Gusev oleg@usm.uni-muenchen.de
Thu Mar 11 20:11:06 CET 2004


> Weird. What are the symptoms?

Can you do 'dd if=/dev/mem bs=4096 | od -A n -t x4' ?
I can't unless i add 'skip=8'. The symptom is the
'oops' in syslog. I have decoded it, and the crash is
in the handwritten assembly of 'copy_to_user'. Which
means that the 'user' memory is broken.

> What you prevent writing to this page?
Oops. If the "big" kernel is used, i can write there.

>What command are you using?

'dd if=/dev/zero of=/dev/mem bs=,skip=,count='

The symptom is the crash in 'copy_from_user'. That makes
sense because of the symmetry.

> The 2 megabytes limit is only there
> to ensure we can boot properly despite any mapping that survives from WinCE.

That was exactly my point. To preserve wince you need only 1MB+384K.
And i have reverted your change locally ;) I reboot j820 very often,
and the broken sound/light intensity settings are extremely annoying.

>As for chaning the bootloader from hpcboot to something else, well sure,
>but unless we need change kernel parameters at boot time (do we?)

First, I want to choose between fb and serial console for debugging purposes.
Second, IMO the 1kHz counter is some side effect of the hpcboot setup or linux 
init code. Although the value at 5c080 is not "absolutely" constant, it does 
not change when wince is running. Therefore we need a clear understanding
of all stages of the boot process. Probably the understanding of the meaning
of this table at 5c000-5c080 can be helpful too.

> PS: I've just bought off eBay a unit with 32MB RAM...

The picture!!! And you own us a memory autosizing patch :)
Now I have a new idea - what will happen if i will remove the ROM
module on j820 running linux ? Will it be visible on some GPIO ?

 Oleg.



More information about the Jornada820 mailing list