Tiny Core Linux
Tiny Core Base => TCB Q&A Forum => Topic started by: jmhill on January 07, 2011, 05:35:53 PM
-
I have a PC/104 card with a Geode GX1 processor as well as a socket for compact flash. So far I'm booting TinyCore off a CD-ROM and using a USB memory stick to provide persistent storage, but I'd prefer to work entirely off compact flash (CF).
I have a new 4GByte SanDisk brand CF . With the CF plugged in and the system boots slowly off CD-ROM and once booted I cannot find any reference to the CF. But at this point I'm not sure of what I should be seeing.
I've seen several notes that CF works with TinyCore, but not too many details.
I've read that some CF devices report being "removable media" but can be reconfigured to report being "fixed media" but I'm not sure if that is necessary.
I've read that CF mounts like an IDE device. Does TinyCore need to be configured in some way to be able to use CF? Perhaps a special driver is needed?
Jonathan
-
The answer to most of your questions is "it depends". You'll need to find out how your card reader is connected.
Through an usb adapter it looks like an usb stick, through an ide one like a hard disk. And so on.
Please also post (pastebin) your dmesg, maybe it has some info.
-
The PC/104 card model is a Gene-4310. The install guide only acknowledges that there is a CF socket. I'm digging for better documentation, but in booting, the BIOS detects the CF on the IDE secondary master and reports a SanDisk SDCFH-004G. Okay, it appears to be attached as an IDE disk device.
I searched the dmesg file for 'IDE' and found the following:
Uniform Multi-Platform E-IDE driver
cs5530 0000:00:12.0: IDE controller (0x1078:0x0102 rev 0x00)
[snip]
Probing IDE interface ide1...
ide1: Wait for ready failed before probe !
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 (serialized)
ide1 at 0x170-0x177,0x376 on irq 15 (serialized)
ide_generic: please use "probe_mask=0x3f" module parameter for probing all legacy ISE IDE ports
I also replaced the CF with a SanDisk Ultra II 256MByte device, it did not get nearly as far. In attempting to boot the system stopped and reported:
hdc: dma timeout error: status=0x58 {DriveReady SeekComplete DataRequest}
hdc: possibly failed opcode 0xc8
I recall seeing a note that some CF devices have trouble with DMA. In any case, I'm going to get a CF-USB adapter and use a PC to get a better look at these CF devices.
'Best;
Jonathan
-
Ummm... Please, how would I "pastebin"?
-
Ummm... Please, how would I "pastebin"?
I'd say that means using http://pastebin.com to "publish" a file (as an alternative to attaching a file here).
-
ide_generic: please use "probe_mask=0x3f" module parameter ...
Did you try this?
-
Regarding the module parameter, I haven't tried it yet as I'm not sure how.
I'll try booting with it, let's see if it works.
Let's see if this works for dmesg.
Jonathan
http://pastebin.com/avv1nLX1
-
also try boot parameter 'ide-core.nodma=1.0' (either in combination with the other boot param, or each alone)
-
The system boots with 256MByte CF inserted and using the nodma boot paramter. The CF appears in the mount directory as hdc1. The system boot with or without the probe_mask boot parameter.
In booting with the 4GByte CF, the dmesg file still contains the same note:
ide1: Wait for ready failed before probe !
Thank you so far, I'd like to be able to use the 4Bbyte CF.
Jonathan
-
Please, does anyone know what the largest size compact flash is that can be used with TinyCore? Is there a reason why a 4GByte compact flash might not work?
Jonathan
-
Highly doubtable that size would be the reason.
-
Yes, CF size is no issue. It's either the card or your reader giving fits.
-
Hi John
I noticed in your dmesg listing that there is a hdb but no hda. This would suggest that you are
running your cd as a slave. Most drive manufacturers recommend that you jumper a drive as a
master if it is the only drive on an ide channel. Running it as a slave may be causing something
funny to happen. Also, make sure that the cable for the CF adapter is as short as possible, the
adapters are usually passive devices and do not contain electronics to drive a long cable. One
other thing to try is using the bootcode ide0=serialize or ide1=serialize or both. This should slow
down the probing of the ide channels should this be a timing problem. Remember to check the
output of dmesg to check if there any changes when you try these suggestions.
-
Thanks for your note Rich;
I moved the jumper on the CD-ROM drive and now the BIOS sees the drive as the primary master. Also, the CF adapter is actually on the board itself so there is no issue with cable length.
I find that any time I boot with the 4G CF the before booting, the BIOS responds very slowly, even if BIOS is configured to boot off the CD-ROM first. Any ideas why so slow?
I noted that the 256MByte CF is formatted as FAT, presumably as FAT16, and the 4G CF is formatted as FAT32. I'm not sure what might happen if I attempted to format the CF as FAT16.
I also see other folks concerned about CF that is configured as "removable media" rather than "fixed media" and that in accessing "removable media" things are similar but not the same. I've also verified that the CF is configured as "removable media." The folks at SanDisk appear to make a point that their CF if configured that way. There is a DOS tool for configuring CF as fixed media but no luck yet.
Here is the dmesg. Ignore the comment about the Ethernet not being configured, as firmware.tcz isn't getting loaded first.
http://pastebin.com/46JJc5sf
Jonathan
-
Oh, didn't mention the startup parameters
$ tinycore ide-core.nodma=1.0 ide0=serialize ide1=serialize probe_mask=0x3f
Jonathan
-
I noted that the 256MByte CF is formatted as FAT, presumably as FAT16, and the 4G CF is formatted as FAT32. I'm not sure what might happen if I attempted to format the CF as FAT16.
Note that standard max. size for a FAT16 file system is 2GB.
You can make it 4GB at the cost of some compatibility and possibly wasting space by using 64KB clusters.
So, you might want to consider multiple partitions.
-
Why not use ext2?
-
Hi John
I'm going to go out on a limb and say that it's not a FAT16 or FAT32 problem, Linux is only probing
for devices and does not care what's on it, otherwise you could never install a new drive if it were
not formatted. I'm also going to guess that you have drive C set to auto in the BIOS setup and it's
taking a long time to determine the size of that 4Gig flash card. You say that the BIOS is reporting
a SanDisk SDCFH-004G, I take it that's the 4Gig card. Go to the BIOS setup ide hdd auto detection
page and tell it to autodetect both drives, then save and exit and see if that helps. If that does not
work then go to the standard cmos setup page and on drive c try large or LBA, do not use normal,
that's only good up to 528Meg.
-
Okay, there are least two factors to take into account.
1) fixed disk setting - I'll have to either buy a CF configured as fixed media type or find a way to reconfigure a CF to see if it makes any difference
2) File system - Just found a note on sandisk.com that recommends that CF 2G and smaller be formatted with FAT and CF 4G and larger be formatted with FAT32. I see your point Rich, though.
I'll take another look at the BIOS.
Jonathan
-
I just received a 4GByte Transcend "Industrial Grade" Compact Flash (CF), model CF200I. The documentation says it's "fixed media" type. I'm still booting off CD-ROM with the 'tinycore ide-core.nodma=1.0' boot code, but now the CF can actually mount, this is good.
I'd like to boot off this CF, so I'm following along in the "Tiny Core Linux Installation" notes.
'fdisk -l' tells me that:
o The CF is on /dev/hdc
o The CF is bootable
o The CF is already formatted with FAT32
o Partition 1 has different physical/logical endings
phys=(1023, 254, 63) logical=(495, 142, 63)
cfdisk has a fatal error: "Bad primary partition 0: Partition ends in the final partial cylind"
The CF is already formatted, so I'm continuing. In copying over the system files, 'cp -p' says that it cannot preserve ownership.
At this point the drive is /mnt/hdc, partition is /mnt/hdc1, and is mounted
In using grub:
grub> root (hd2,0)
Error 21: Selected disk does not exist
I must be missing something here.
Jonathan
-
If you want to use grub, you must format the CF ext2, not FAT.
The errors you quoted are all due to using FAT32.
-
@jmhill
Grub only numbers the drives that exist. If unsure, type "root (hd" and tab-complete.
@gerald_clark
Grub works fine on fat too, I have some sticks booting that way.
-
Thanks for getting me over the hurdle with respect to grub, particularly the way grub numbers things. Okay, some of the error/warning notes I saw will be present with FAT32.
I just changed the boot order and presto, I just booted off the CF. This is good news!
Jonathan