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