------------------------------------------------------------
I've wasted a number of hours recently trying to make a flash based
root Gentoo system on a Sandisk 8GB card using a nifty Flash->IDE
adapter I picked up from Ebay for ~$10. In summary, it doesn't work,
at least not for the Dell Latitude LS I was hoping to silence...[1]
It turns out that the card I picked up comes with a shockingly
non-standard 576 byte sector size (as opposed to the 512 bytes of
every other IDE drive on the planet that I have seen or known). This
causes the files stored on the drive to start on addresses which are
not multiples of the 512 bytes which causes GRUB to fail with the
informative 'Error 16' sometimes, or more frequently 'Read Error'.
More importantly, IT JUST DOESN'T WORK.
This phenomenon has been seen in the past when using reiserfs on your
boot partition (due to it's tail packing algorithm). Normally this can
be solved by mounting the partition using the 'notail' option; I was
using the normal ext2 so this was not the problem in my case.
So I am wondering, Sandisk, is there a reason for the 576 byte sector
size other than to completely screw up Linux boot loaders and keep
people from creating cheap flash based systems? Of course, I am no
flash chip design expert so there might be some technical problems
which require such an odd value, but I'm sure if I asked the company
I'd recieve no response...
I am pondering the option of pouring through the GRUB source trying to
find the trigger that hits 'Error 16' and removing it to see if that
might help it work but I haven't had the chance yet. If so I'll post
the results and the patch, but I feel that it could just be another
waste of my time hunting for multiple random occurences of hardcoded
checks scattered around code that has had too many people put their
fingers on it. Time to write another simple, modern boot loader?
Good thing I checked the return policy on the card before I bought it.
I'm taking it back and buying some winter boots, if I can find some.
[1] It did work on my other Compaq EVO so I am assuming that it is the
relatively ancient Phoenix BIOS that is the causing the problems. I
checked the Dell site and found that the A09 BIOS version was the most
up to date available for the system.
just something i wrote for myself that i thought i would share with...myself
---------- Forwarded message ----------
From: Burton Samograd <burton.samograd@gmail.com>
Date: Fri, Nov 14, 2008 at 7:05 AM
Subject: Sandisk Flash Card article
To: burton.samograd@gmail.com
Don't Waste Your Time With Tying To Boot Sandisk Flash Cards
------------------------------------------------------------
I've wasted a number of hours recently trying to make a flash based
root Gentoo system on a Sandisk 8GB card using a nifty Flash->IDE
adapter I picked up from Ebay for ~$10. In summary, it doesn't work,
at least not for the Dell Latitude LS I was hoping to silence...[1]
It turns out that the card I picked up comes with a shockingly
non-standard 576 byte sector size (as opposed to the 512 bytes of
every other IDE drive on the planet that I have seen or known). This
causes the files stored on the drive to start on addresses which are
not multiples of the 512 bytes which causes GRUB to fail with the
informative 'Error 16' sometimes, or more frequently 'Read Error'.
More importantly, IT JUST DOESN'T WORK.
This phenomenon has been seen in the past when using reiserfs on your
boot partition (due to it's tail packing algorithm). Normally this can
be solved by mounting the partition using the 'notail' option; I was
using the normal ext2 so this was not the problem in my case.
So I am wondering, Sandisk, is there a reason for the 576 byte sector
size other than to completely screw up Linux boot loaders and keep
people from creating cheap flash based systems? Of course, I am no
flash chip design expert so there might be some technical problems
which require such an odd value, but I'm sure if I asked the company
I'd recieve no response...
I am pondering the option of pouring through the GRUB source trying to
find the trigger that hits 'Error 16' and removing it to see if that
might help it work but I haven't had the chance yet. If so I'll post
the results and the patch, but I feel that it could just be another
waste of my time hunting for multiple random occurences of hardcoded
checks scattered around code that has had too many people put their
fingers on it. Time to write another simple, modern boot loader?
Good thing I checked the return policy on the card before I bought it.
I'm taking it back and buying some winter boots, if I can find some.
[1] It did work on my other Compaq EVO so I am assuming that it is the
relatively ancient Phoenix BIOS that is the causing the problems. I
checked the Dell site and found that the A09 BIOS version was the most
up to date available for the system.
0 comments:
Post a Comment