Okay! We figured this thing out... Our compact flash disk is too slow essentially. If we formatted the media manually, that worked. If we then mounted the disk manually, that worked as well. But if we let gnap_overlay perform those exact same commands, it failed. After hacking at gnap_overlay a bit we discovered that it seemed like a timing issue. Ian (Ennis) put a couple of simple "sleep" statements in gnap_overlay before and after the formatting code chunk. 10 seconds was not enough after the format, but it was sufficient before the format. He bumped the sleep up to 20 seconds after the format and before the mounting and it worked perfectly! Our CompactFlash was just too slow, apparently. I wonder if anyone else has seen this? Seems like it could possibly be the size of the CF Disk (256MB)? Perhaps with a smaller 16 or 32mb disk the format happens fast enough to allow proper mounting? I don't have a smaller CF Disk here so I can't test this.
Here is the output of "hdparm -Tt" for the SanDisk for those interested in the speed of the media: /dev/hdc1: Timing cached reads: 1032 MB in 2.01 seconds = 514.53 MB/sec Timing buffered disk reads: 8 MB in 3.01 seconds = 2.66 MB/sec We can simply hack gnap_overlay ourselves for now. But I wonder if others have experienced this, and if so, perhaps there should be a config option to the effect of "DIRT_SLOW_DISK" that toggles some sleep statements for those of us writing to disk on speed-challenged boxen. Thanks for the help, Koon and Sune! Ross Carlson Ian Ennis Corvus Technologies -----Original Message----- From: Ross Carlson [mailto:[EMAIL PROTECTED] Sent: Friday, August 19, 2005 8:57 AM To: [email protected] Subject: RE: [gentoo-embedded] GNAP Media Formatting Error? Koon, Thanks for the suggestion. Unfortunately, it seems not to be the formatting process (as seen below) but perhaps the mounting of the disk. I will dig around some more in the source and see if I can find something. # mkfs.msdos /dev/hdc1 mkfs.msdos 2.11 (12 Mar 2005) Successful format! # gnap_overlay -c overlays/project/etc/overlay.conf -d /dev/hdc1 -r hda1 -o overlays/project/ -n -m -s 9600 GNAP overlay tool gnap_overlay 1.8 * Checking parameters... [ ok ] * Warning : you have selected disk install * Make sure you are root or have full access to /dev/hdc1 * /dev/hdc must have an MBR installed, run: * dd if=/usr/lib/gnap/mbr/mbr.bin of=/dev/hdc bs=512 count=1 if needed * /dev/hdc1 must contain an active partition: * use fdisk /dev/hdc if needed * Current data on /dev/hdc1 will be destroyed ! * Are your sure you want to continue [N]: Y * Expanding /usr/lib/gnap/gnap-core.tar core... [ ok ] * Preparing overlay... [ ok ] * Adding baudrate for serial console... [ ok ] * Adding overlays/project/ (directory overlay)... [ ok ] * Adding overlays/project/etc/overlay.conf (overlay.conf file)... [ ok ] * Creating overlay tarball... [ ok ] * Formatting /dev/hdc1... [ !! ] * Cleaning temporary directories... [ ok ] Overlay failed, try gnap_overlay -h for more help Here's the output of mount, so it doesn't appear to be related to an automounting issue (suggested by Sune): # mount /dev/hda3 on / type ext3 (rw,noatime) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) udev on /dev type tmpfs (rw,nosuid) devpts on /dev/pts type devpts (rw) shm on /dev/shm type tmpfs (rw,noexec,nosuid,nodev) usbfs on /proc/bus/usb type usbfs (rw) Thanks for the help. I'll keep poking at it. Ross Carlson Corvus Technologies -----Original Message----- From: Thierry Carrez [mailto:[EMAIL PROTECTED] Sent: Friday, August 19, 2005 5:08 AM To: [email protected] Subject: Re: [gentoo-embedded] GNAP Media Formatting Error? Ross Carlson wrote: > * Creating overlay tarball... > [ ok ] > * Formatting /dev/hdc1... > [ !! ] > > I had GNAP running on 1.7.1 (syslinux 2.13) but can't seem to get it > running now with 1.8. The box that I'm using to build on has been > reloaded in the past few days. Perhaps I am missing something in the > kernel (2.6.12-gentoo-r9)? The target disk (SanDisk Compact Flash > 256MB) has been re-partitioned with a single, bootable partition. The > gnap MBR has been copied using dd. And then gnap_overlay as shown > above. Can't seem to figure this out. Thierry? Anyone? Here is the code snippet that gnap_overlay runs on the "Formatting..." part : gbegin "Formatting ${OUTPUT}" mkfs.msdos "${OUTPUT}" > /dev/null 2>&1 gtest $? The [ !! ] is written by gtest if an error code is set by the previous command. So it's the mkfs.msdos that failed. I suppressed the output (might not be a good idea) so you obviously miss the message. Try "mkfs.msdos /dev/hdc1" directly and see what happens. My wild guess : a required msdos/fat/vfat module is missing in your brand-new kernel. -- Koon -- [email protected] mailing list -- [email protected] mailing list -- [email protected] mailing list
