Confirmed: the combination of a linaro-2.6.39 kernel with a transcend 8gb card results in flakey boots.
- linaro-2.6.39 kernel is affected - transcend cards are affected - oe-2.6.36 kernel is *not* affected - sandisk 8gb cards are *not* affected (67 megabytes smaller) I zero'd a card, but instead of only zeros, I also wrote the sector number in each 512-byte block. I changed the kernel to print out the 512 bytes it read as the mbr to the screen. When the card didn't boot fully the printk showed all zeros except for a sector number about 100mb into the card. How weird! Hardware? Kernel? Anyway, today my sandisk cards arrived and all 10 of them worked flawlessly. I ordered another 50 and hope to see the same results. AJ ONeal On Wed, Jun 29, 2011 at 11:48 AM, AJ ONeal <coola...@gmail.com> wrote: > I have a few inter-related issues: > > - Why would one kernel boot a card that another kernel can't? > - Why would a card's disk geometry matter for boot? > - Who is a good manufacturer for getting hardware-identical cards in > bulk? > - How can I probe the actual "disk geometry" of an sd card? > > > I bought 100 Transcend SD cards a little while ago and duplicated them with > an OpenEmbedded-based filesystem (linux-2.6.36). > There were a few "bad" cards that I threw out, but the success rate was > acceptable. > > > In the next round of 40 SD cards I used a Linaro-based filesystem > (linux-2.6.39) and had about a 50% failure rate when testing that the cards > would boot, which is absurd. > There kernel reports: [ 1.003204] mmcblk0: unknown partition table > However, the cards would mount and show files just fine. > > I reduplicated one of the non-booting cards with an OpenEmbedded filesystem > and then it booted. Weird! > > > After some investigation I found that using `gparted` (instead of `fdisk`) > to create a new partition table and then `rsync`ing the contents of the > original filesystem resulted in a booting Linaro card. > Rinse and repeat and I ended up with 3 images which only vary by the disk > geometry as reported by `fdisk -l`: > > - 50% -- 255 heads, 63 sectors/track, 974 cylinders > - 40% -- 2 heads, 4 sectors/track, 1957632 cylinders > - 10% -- 247 heads, 62 sectors/track, 1022 cylinders > - 1 card still didn't boot > > I'm lost. Please advise. > > AJ ONeal > > > > Non-booting kernel message > > [ 0.923309] Waiting for root device /dev/mmcblk0p2... > [ 0.957885] mmc0: host does not support reading read-only switch. > assuming write-enable. > [ 0.982025] mmc0: new high speed SDHC card at address b368 > [ 0.988494] mmcblk0: mmc0:b368 USD 7.46 GiB > [ 0.993957] mmcblk0: detected capacity change from 0 to 8018460672 > [ 1.003204] mmcblk0: unknown partition table > [ 1.036926] VFS: Cannot open root device "mmcblk0p2" or > unknown-block(179,2) > [ 1.044433] Please append a correct "root=" boot option; here are the > available partitions: > [ 1.053344] b300 7830528 mmcblk0 driver: mmcblk > [ 1.058959] Kernel panic - not syncing: VFS: Unable to mount root fs on > unknown-block(179,2) > > > Booting kernel message > > [ 1.122070] mmc0: host does not support reading read-only switch. > assuming write-enable. > [ 1.146087] mmc0: new high speed SDHC card at address b368 > [ 1.152557] mmcblk0: mmc0:b368 USD 7.46 GiB > [ 1.158020] mmcblk0: detected capacity change from 0 to 8018460672 > [ 1.166351] mmcblk0: p1 p2 p3 > [ 1.259674] EXT3-fs: barriers not enabled > [ 1.265411] kjournald starting. Commit interval 5 seconds > [ 1.271331] EXT3-fs (mmcblk0p2): mounted filesystem with ordered data > mode > [ 1.278686] VFS: Mounted root (ext3 filesystem) readonly on device > 179:2. >
_______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev