Quote:
Originally Posted by knc1
In flash storage, multiples of an erase block are ok, fractions of an erase block are a big no-no.
Erase blocks are 4,096 bytes. I.E: the sector size of flash is 4096 (8*512).
16 sectors per track, 2 tracks per cylinder ==
(8*512)*16*2 = 131072 bytes (a hard disk layout mapped to a 4096 byte sector) == space occupied by the disk label.
That first disk label defines four primary partitions.
Each of the first three contain **only** a file system (ext3 in our case).
The fourth primary partition contains another "DOS disk label" (this is legal per the Microsoft specifications - any partition may have its own (additional) disk label - nested to any depth)
|
That was some very interesting information. I just looked in my DXG to double check.
mmcblk0p1 = 12801 x 32768 = 419463168 bytes
For comparison I get these sizes:
419454976 when dd if=/dev/mmcblk0p1 of=/mnt/us/rootfs.img bs=512
419454976 when dd if=/dev/mmcblk0p1 of=/mnt/us/rootfs.img bs=1024
419454976 when dd if=/dev/mmcblk0p1 of=/mnt/us/rootfs.img bs=4096
I found a KindleDXGRepair.rar on the internet containing the same rootfs.img size so this seems to be confirmation of the technique. Unfortunatly, I no longer have the initial Yifan 2.5.8 rootfs.img or the 3.1 rootfs.img originally used when updating my DXG to 3.1.
delta = 419463168 - 419454976 = 8192 bytes
This might not be a problem as long as the rootfs.img being flashed into the mmcblk0p1 partition is smaller and not larger than the partition. Maybe that has something to do with the vfat mmcblk0p4 containing an ext3 image. I still don't know why Yifan Lu chose bs=1024 except that worked when I flashed the 3.1 rootfs.img to my DXG.