help me ...

Niki Waibel niki.waibel at newlogic.com
Fri Jan 9 11:57:00 CET 2004


On 06-Jan-2004 Devi Priya wrote:
> Hi.
> Thanks.
> I want to have linuxbios, linux os and filesystem in my diskonchip 
> millennium.

EXACTLY what i would like to have as well.

> Mine is sc1200.

ok. i have an epia-m board.

> If I use linuxbios to which physical address 
> should the DOCM be mapped?

that depends how you want to boot the pc / the board.
and how you connect the DOC chip.
how is your doc connected right now?
has your DOC DIL pins? (mine has -- have attached a pic of it)

here are 3 hardware configs i know:
BTW: if anything below is wrong then pls correct me!
A)
you can replace the bios (software) in the bords bios chip.
you can reprogramm it with some linux tools and store linuxbios
in it. (have you already done that?)
that way the system boots with linuxbios.
that's very fast (< 3sec) -- at the end you have to load the linux
kernel. there are several ways to do that.
the standard way seems to be etherboot.
i could not get that working.
i use filo (http://te.to/~ts1/filo/).
that little thing can load the kernel from a disk with and
without a filesystem / with and without partitions / with and
without offset (of a disk or partition).
with filo you can also specify kernel parameters (root disk).
the root disk needs to have a filesystem.

afaik you can use filo to load the kernel from character
devices (DoC millennium). that is at least what the filo
developer sayed.

what i do currently, is, replacing the boards bios by linuxbios.
linuxbios is configured to use filo (as i sayed).
filo also resides in the bios chip.
filo loads the linux kernel from an ide disk (a compact flash card in my case).
the kernel loads its root disk (parameter from filo which is programmed in the
bios chip (with linuxbios)) from another part of the disk.
the root disk contains the linuxsystem i put together:
uclibc, busybox, tinylogin, openssl, zlib, openssh, iptables, freeswan. 

B)
my plan was to replace the bios chip compleately to have
no ide disk (no compactflash card). only this DoC millennium.
everything (as you've sayed:
> I want to have linuxbios, linux os and filesystem in my diskonchip 
> millennium.
) in the doc mill.
but somehow i could not use the flash memory in the DoC millenniums.
the chip itself was working (so all address mapping was ok), but i
could not access the 8MByte flash memory. i got a 2nd DoC Mill,
-> no success, same problem. so i bet it has sthg to to with the
bios socket/electrical problem...
ah -- my DoC mill is a DIP chip ... as you can see in the image.
my bios socket is a PLCC socket (epia-m). so i had to buy a
converter. -> pins have a 1 to 1 mapping!
that way i could plug the DoC directly into the bios socket.
i bet it should work that way, and it WILL work one day.

if done this way 3 another problem appear:
1) the DoC mill flash memory cannot be accessed directly.
the 8MByte flash does not fit into the 8KByte address space
of the DoC. but the DoC can map a 512 byte page into that
8KByte address space. --- after some initialisation of
registers in the DoC mill.
2) the memory of the board (epia-m in my case, sc1200 in your
case) has to be initialised as well to put the 512byte peaces
of the DoC into some large chunk of the boards memory.
3) you have to do 1) and 2) within 512byte (... or maybe 1024byte,
but i could never figure out that). that piece of code is usually
called IPL (initial probram loader). the reason for that is, that
when a PC boots it executes code in the BIOS -- the address
pins of the bios socket will be active. i know nothing
about the real mapping ... and i dont care. the DoC mill will
do a reset on power on. AND!!! it will map the first flash page
on TOP and on BOTTOM of its 8KByte address space!!! automatically.
but only the FIRST page (512byte). that is the reason why you
have to do 1) and 2) within 512bytes. the PC board will execute
its code from at that 512bytes.

C)
there are boards around in which you can plug the DoC chip in addition
to the bios. and afaik there are also PCI boards in which you can 
plug a DoC mill.

if you use the regular bios it checks some addresses
for "bios extentions". such sockets or pci boards map the DoC
millennium into such an address space.
afaik the DoC mill is shipped with such a bios extention program.
that code can install a filesystem and an additional "emulated"
drive (dont know the details). if there is no other disk in the
system it looks as you have a drive (windows/dos would call it C:)
plugged to your computer and it boot from that drive.

also grub seems to be able to act as such a loader (with patches?).

but, C) was not the way i wanted to go, and so i dont know much details.

> Is it that no filesystem is necessary with 
> linuxbios?

not for linuxbios.
the pc's bios does not have a filesystem either.
it is just some code which inits memory and other
pc components (serial port, pci bus, usb, ethernet, ...)
and does some checks on the hardware.

but after that you want to load an os.
and the os usually wants a root disk.
with a filesystem.

hope this helps, niki
-------------- next part --------------
A non-text attachment was scrubbed...
Name: x.jpg
Type: application/octet-stream
Size: 3393 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20040109/d8eb213d/attachment.obj>


More information about the coreboot mailing list