Hi, I have the custom board (geode sc1200) with some external peripherals. I will have to have my BIOS program, linux kernel and specific application program in my Flash memory. I have hard disk only for storing files.
My Flash memory is of 32 Mbits and SDRAM 32MBytes.
I want to use LinuxBios. I build it for nano mainboard. But still I have many doubts. In normal BIOS, we will say the bios program to load the bootloader from hard disk into location 0000:7C00.
What part of the program in Linuxbios will bring my linux kernel image from Flash into SDRAM?
Is any options or something to be included in the configuration file to say to boot from Flash memory?
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?
Where shall my application program be placed in Flash? I hope I should have a filesystem. Is the MTD meant for the filesystem?
Please help me.
Thanks in advance.
Regards, John.
__________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com
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
Hello from Gregg C Levine Are we discussing the strangeness behind the Geode here? If I remember correctly, everything about that device is documented. Even the boards that NSC developed for us to try out, before committing to a bigger board were documented. About the only thing that wasn't, were the binary only drivers, and loaders, that they supplied. They did give use instructions, but that was all. As our correspondent in Japan says, investigate the source, the lists, everything. When in doubt ask. So far you're heading in the right direction with this. ------------------- Gregg C Levine hansolofalcon@worldnet.att.net ------------------------------------------------------------ "The Force will be with you...Always." Obi-Wan Kenobi "Use the Force, Luke." Obi-Wan Kenobi (This company dedicates this E-Mail to General Obi-Wan Kenobi ) (This company dedicates this E-Mail to Master Yoda )
-----Original Message----- From: linuxbios-admin@clustermatic.org [mailto:linuxbios- admin@clustermatic.org] On Behalf Of SONE Takeshi Sent: Sunday, August 10, 2003 3:32 PM To: John Praveen Cc: linuxbios@clustermatic.org Subject: Re: Preliminary doubts
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 _______________________________________________ Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios