Although luck of documentation is the problem the project faces, the source and the list archive are always open to people. If you investigate them yourself first, then ask, you will get more helpful response.
On Sat, Aug 09, 2003 at 11:33:48PM -0700, John Praveen wrote:
What part of the program in Linuxbios
will bring my linux kernel image from Flash into SDRAM?
freebios/src/lib/elfboot.c
There is also a old linux-only loader, linuxbiosmain. "grep -r" is your friend.
Is any options or something to be
included in the configuration file to say to boot from Flash memory?
USE_GENERIC_ROM
In my embedded device the Flash
memory is mapped to physical address 00000h to 3FFFFFh. So at what location should i place the linuxbios romimage and linux kernel image in my Flash memory?
I have my doubt here. AFAIK, every x86 system has its ROM at the top of address space (eg. if ROM is 256K, it's at 0xfffc0000 = 4G-256K), since x86 starts execution at last 16 byte of address space (0xfffffff0).
Does your board have another ROM at here? Or the flash is shadowed/aliased to here?
Also, if the bottom 4MB is ROM and it can't be remapped, you will have to modify the kernel as well as LinuxBIOS. Convenional x86 systems has 640KB of RAM at bottom (from address 0), then 384KB of hole for legacy BIOS and I/O, then rest of RAM from address 1M. x86 port of Linux and LinuxBIOS is written for such system.
Where shall my application program be
placed in Flash? I hope I should have a filesystem. Is the MTD meant for the filesystem?
I'm not sure but if your flash will be used for BIOS, you most certainly have to use it as a raw storage. You can put the LinuxBIOS, Linux kernel, and initrd there. Your application code will be in the initrd.
-- Takeshi