Messages in this thread | | | Date | Sat, 22 Mar 1997 22:55:41 -0500 (EST) | From | "Richard B. Johnson" <> | Subject | Re: LIL- caused by a DiskOnChip? and other SSD questions. |
| |
On Fri, 22 Mar 1996, Jeffrey Wiegley wrote:
> I'm working on an embedded project. My platform is a single board > computer manufactured by Ampro, CoreModule/4DXi model. And I have a > problem booting it and I also have some questions related to it. > > The problem I am currently having is centered around what is known as a > DiskOnChip. It is a Solid State EEPROM socketed to the board which, > through BIOS, acts exactly like a hard drive. > > At what point during the boot process does the BIOS stop being used and > what happens to it? Why can't we use BIOS stuff under linux? (I > realize there are good reasons like its inefficient, but I would like to > know what those reasons are). [SNIPPED] The BIOS is used only to load the OS from the boot sector(s). Once the machine is put into 32-bit protected mode, the BIOS can't be used directly because its segments were written for 16-bits 16-bytes per segment, "real" mode operation.
You COULD write a 16-bit segment decsriptor that COULD be accessed from 16-bit mode. In fact, that's how the MS-DOS emulation (virtual '86 mode) works. The area addresed COULD be the proprietary RAM-Disk area. However, as you note, it probably does not act like RAM. If your machine can boot MS-DOS off the RAM-Disk, It SHOULD be able to boot any operating system that will fit, because the entire operating system is loaded before the machine is put into protected mode. I would do it like this:
From Linux, copy your operating system to a floppy disk: Make sure you have used 'rdev` to set the right root file-system.
# # cp /vmlinux /vmlinux.old cp /usr/src/linux/System.map / cp /usr/src/linux/arch/i386/boot/zImage /vmlinux ROOTDEV=`df / | cut -d ' ' -f1 | sed -e1d` echo -n 'Setting root device as ' ; echo ${ROOTDEV} rdev -R /vmlinux 1 rdev /vmlinux ${ROOTDEV} cp /vmlinux /dev/fd0 psupdate
Then, from DOS, write a program to copy the floppy image to the RAM Disk image (just copy all sectiors and all tracks in a 1:1 correspondance. Note that MS-DOS's diskcopy won't work because it checks for a DOS disk even though it copies the disk image.
You use INT 13H to read and write to the raw devices.
Configure your machine to boot from the RAM Disk as though it was MS-DOS. It should boot Linux.
Cheers, Dick Johnson -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Richard B. Johnson Project Engineer Analogic Corporation Voice : (508) 977-3000 ext. 3754 Fax : (508) 532-6097 Modem : (508) 977-6870 Ftp : ftp@boneserver.analogic.com Email : rjohnson@analogic.com, johnson@analogic.com Penguin : Linux version 2.1.29 on an i586 machine (66.15 BogoMips). Warning : I read unsolicited mail for $350.00 per hour. Supply billing address. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
| |