Hello everybody, my past experience with embedded PC computers includes a decade when CompactFlash was the bread and butter bootdisk flash format for the computers that we used to sell at the time.
As for IDE/CF conversion adapters, I recall a time when the CF cards did not support DMA operation, and consequently many earlier IDE/CF adapters did not support DMA either. Which was fun when the first CF cards arrived that *did* in fact support DMA. You'd get them "detected" by the BIOS (INQUIRY worked), but then reading the MBR failed :-) So I suggest that you get some converter that does support DMA = does have the two signals required routed on the PCB. As a particular CF/IDE adaptor model still available today, I'd like to mention the Delock model 91624 . https://www.delock.com/produkt/91624/merkmale.html I cannot see DMA mentioned in its description, but I'm pretty sure it's the surviving later generation of the board that does support DMA. Pay attention to the cable that you're using. For UDMA above 33MBps, you need the dense 80wire cable. The aforementioned DeLock adaptor does have that missing pin in the 40pin header that allows you to plug in that modern IDE cable. If you use a sparse 40wire cable (or 44wire for that matter) you'd better keep it as short as possible, otherwise you get IDE transaction errors. If you stumble upon Geode-based PC hardware, be aware that especially its older generations used to have a problem with specific "ATA target controller" chip models that were popular in certain old CF card models. The symptoms span from mild rot (OS fails to boot after a successful installation) to heavy brain damage (ATA transaction failures during OS installation). I recall seeing a wave of such cards when the popular size was 16 - 64 MB, the controller chip brand was SSS (which you could only find out by cracking the card's mechanical shell open). And I seem to have recently stumbled upon an older piece of a 1GB CF card being flakey in an old Geode-based machine. As for CF card brands... SanDisk is not a bad choice, overall their flash products are top notch within the general/consumer market. For industrial-grade CF cards, I can warmly recommend Innodisk, though at the same time I should declare my vested interest (I work as a support techie with a small national distributor of this brand). https://www.innodisk.com/en/products/flash-storage/cf-card For instance their iCF4000 family are all SLC-based and the current models work fine with Geode motherboards of all vintages. The SLC silicon technology can sustain maybe 50k total rewrites. Innodisk also have something called "iSLC", which apparently means using just the most-significant bit per cell, thus using the MLC memory in SLC-like mode. This yields about 20-30k rewrites for a lower cost. But even the SLC-based iCF4000 at 1 GB can cost maybe 30-40 EURO, depending on some further "flavours" of the card (temperature range for instance) and depending on where you can buy (and you also need to consider carriage!). Be aware that swapping is generally not a very nice load on flash cards, as the write transaction may be smaller than a flash row size (page size), i.e. the written volume gets "multiplied". A nice intro into flash space allocation / wear leveling algorithms in cards with block layer abstraction: https://lwn.net/Articles/428584/ The IDE LBA sector size is 512 B. The x86 VM page size is 4 kB (unless huge pages are configured). The flash row size (page size) can be a couple dozen kB. The erase block size is megabytes, rather than hundreds of kB. Inside an ATA/SATA Flash drive or USB mass storage drive, there are two floors of space allocation (mapping) from the "virtual" LBA layer 1) to "minimum writeable size" rows (pages) and 2) to the erase blocks. And quite some janitoring is going on in shuffling these allocation units around. Innodisk have some software tools (Windows only, AFAICT) to tell you the average and maximum number of overwrites (internally kept track of per erase block, apparently). These two figures are apparently somehow encoded in a proprietary SMART variable - details available from Innodisk techsupport by email. Sorry to hear that 32bit Linux is no longer as straightforward as I used to appreciate it for the last two decades or so. It is true that I myself do not have any need for 32bit kernels anymore, as pretty much all embedded x86 PC's that we have sold over the last 5+ years (maybe more like a decade) already have 64bit cores :-) so even my PXEbooting test environment now has 64bit kernels and I don't remember the last time I got an error message trying to boot that on a 32bit CPU. I could try compiling a modern 32bit kernel with a minimal instruction set just for sport, but I don't really have the time... I hope this helps :-) Frank _______________________________________________ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user