license for setup_sdcard.sh
Guilherme Salgado
salgado at canonical.com
Wed Dec 8 13:07:16 UTC 2010
On Tue, 2010-12-07 at 15:33 +0000, Dave Martin wrote:
> Hi,
>
> On Tue, Dec 7, 2010 at 3:10 PM, Robert Nelson <robertcnelson at gmail.com> wrote:
> > Hi Guilherme,
> >
> >> I know you found a workaround with fdisk so you're probably no longer
> >> using parted, but I was wondering if you were able to use parted to
> >> change the geometry in the partition table to 255heads/63sectors as the
> >> boot rom seems to require?
> >
> > Actually with current x-loader/u-boot the 255heads/63sectors isn't a
> > hard requirement anymore for the boot partition, so i've dropped it..
> >
> > https://github.com/RobertCNelson/omap-image-builder/blob/master/tools/setup_sdcard.sh#L348
> >
> > So far tested on:
> >
> > Beagle B6 (oldest still booting beagle i have, any boards before that
> > had serial-ic overheating problems and eventually die under warrente.)
> > Beagle C2 & C4
> > Beagle xM A2
> >
> > with angstrom's: MLO-beagleboard-1.44+r16 & u-boot-beagleboard-2010.03+r65
> >
> > Panda A1
> >
> > with mlo/u-boot from: http://gitorious.org/pandaboard
> >
> > So right now i use parted to create the second partition. We could
> > drop fdisk for the first, if we could figure out how to make parted
> > create a partition starting at the first cylinder.
> >
> > For example, I've tried this and it doesn't boot:
> >
> > parted --script ${MMC} mkpart primary fat16 0 64
> >
> >> I ask because I'm working on converting our script to python and it'd be
> >> nice if I could use python-parted for that, but it doesn't seem to be
> >> able to.
>
> What about sfdisk? This is by far the simplest tool and works well
> for parts of linaro-media-create: by direct consequence of its
> simplicity it seems to be the most controllable and has the fewest
> unexpected limitations and failure modes among the tools I've played
> with, as well as being friendly to being program-driven. For manually
> generating an optimal partition layout for Beagles I've also found
> this the best tool to use.
sfdisk works indeed, but it'd be nicer if I could use a python library
since I'm converting the whole script. The python-parted API is crap
and undocumented, though, so I'll stick to running sfdisk in a
subprocess.
>
> Certainly it's horrible to have to use a different partitioner to
> create each partition...
Yeah, I was not planning to do that, although we currently use parted to
create a fresh partition table. It'd be nice if we could use sfdisk to
do that, but I don't think we can?
>
> sfdfisk works well for me though, e.g.:
>
> S=63; H=255
> BC=5
> cat <<EOF | sfdisk -S63 -H255 -C523 -L -uS <device>
> $S,$((5*BC*S-S)),0xc,*
> $(((5*BC*S+2047)/2048*2048))
> EOF
>
> ...will set up by 4GB card a treat, with a working boot partition and
> an aligned filesystem partition, with the CHS fields for the first
> partition filled in correctly:
>
> 00000000 80 01 01 00 0c fe 3f 04 3f 00 00 00 86 39 01 00
> 00000010 00 19 15 05 83 2a a0 0a 00 40 01 00 00 c0 7e 00
> 00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>
> (BC is the number of cylinders for the boot partition. The only
> constraint here is that the partition must be unambiguously FAT32,
> i.e. > 65534 clusters -- which gives a minimum sector count of 66593.
> 5 is simply (65593 + 63*255-1)/(63*255))
>
>
> Of course, the DOS partition table format is so trivial that if we're
> having to jump through a lot of hoops, it's tempting to suggest we
> could implement it ourselves (though I know I'm not supposed to say
> that due to fragmentation etc., etc....)
>
> Cheers
> ---Dave
--
Guilherme Salgado <https://launchpad.net/~salgado>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.linaro.org/pipermail/linaro-dev/attachments/20101208/cdf4da3c/attachment.pgp>
More information about the linaro-dev
mailing list