Messages in this thread | | | Subject | Re: Flashdisk, M-Systems, Devicedriver, TrueFFS, Booting | Date | Mon, 19 Jan 1998 15:12:54 +0000 | From | David Woodhouse <> |
| |
dolze@schuler.de said: > i have a M-Systems Flashdisk PCD-896 (ISA) with 4 MB. With an > BIOS-Extension and TrueFFS it's possible to access the disk like an > normal harddisk (realtime stuff under DOS)...
> I like to boot a very small linux from that Flashdisk into RAM. But > after switching to protected-mode i need a kernel-driver, or?
> I searched for a kernel-driver for this hardware, but i didn't found > any. But in devices.txt i found...
Hi. That'd have been me. I've was working on drivers for this over the summer vacation, while I was working for Nortel. I got it to the point where it would read and write FFS on the cards.
My code is at ftp://dwmw2.robinson.cam.ac.uk/pub/kernel/mtd-971008.tar.gz
There's a generic MTD (Memory Technology Device) driver, an FTL driver (ported from the PCMCIA distribution), and a couple of memory device drivers - one to use standard memory, and the M-Systems ISA card driver. It's set up for the 4Mb card, AFAICR, but it should be simple enough to change it to other sizes. I just didn't have enough of the cards to work out how to tell them apart.
There's no makefiles - just use the gcc command line that the kernel uses to make modules.
Also, it's against about 2.1.57, which was just before a handful of VFS changes (inode->dentry, etc.), but that should be fairly trivial to fix.
Obviously, if you want to use it as a root fs, you'll need to compile it in, but that shouldn't take too much work.
The main problem with it is that it is _very_ slow to write, and tends to hangs the machine up for the duration of the write. If it were to set current-> timeout to a sensible value before calling schedule() when it is waiting for the flash card, that should improve. Busy-waiting is bad :)
The reason that I stopped working on it was to wait for the changes to the PCMCIA code to support generic MTD devices, after discussion with David Hinds. It was silly for me to provide a generic MTD subsystem when there was already one provided by the PCMCIA code. All that needed doing was separating the MTD system from the PCMCIA so that you could have the former without the latter.
I went on to other things before I left, and I don't know if Nortel ever picked up the project, or even if the PCMCIA subsystem now supports generic MTD devices in the way we want.
Note that if you want to boot from it, the easiest solution is to put a DOS partition on it and use LOADLIN. You can update LILO to know about it later, perhaps, or make the FTL driver fake the geometry so it looks exactly how the BIOS routines present it.
-- ---- ---- ---- David Woodhouse, Robinson College, CB3 9AN, England. (+44) 0976 658355 Dave@imladris.demon.co.uk http://dwmw2.robinson.cam.ac.uk finger pgp@dwmw2.robinson.cam.ac.uk for PGP key.
| |