I've been playing around with this lately, so I'm happy to have a stab
at an answer, with the caveat that this reflects a recollection of my
reading of the code rather than any attempt to make it work to your
requirements. Whatever I may fail to clarify, recall, or understand is
best taken to suggest that you'd be best served by reading the docs in
full, consulting the code as necessary.
To start with the details, I reckon that reading mkdist shows that it
does a du on vnddirs in the filesystem tree from which you're building
and add then pads out those sizes (i.e. look for the loop in mkdist
following the comment "Determine sizes for partitions").
Reading code isn't, however, strictly necessary to answer your
question: see the section of the FAQ that starts with "What is the
basic flahrd layout? What are tardirs? mfsdirs? vnddirs?".
More fundamentally, though: what are you trying to accomplish in
growing /usr after laying down the flash image? It's likely more
straightforward to lay down changes to the build (if not the
personality, depending on whether your goal is to limit yourself to
maintaining a single system or define a baseline build for use on
multiple systems--if you're managing multiple systems, you might want
to tweak the way you are preparing your builds and/or to modify the
flashrd code so that it can pick up personality-related files from a
separate tree than the build) on the regular filesystem tree from
which you build the post-bootstrap flash svnd (i.e. the top-level
directory you're passing as the mandatory parameter to flashrd),
rather than trying to stack stuff onto the flash after this initial
assembly is done. By the time you've got the basic image laid down in
a file for your svnd, the initial partition scheme is already set.
That doesn't mean that it's immutable, but it's a bit more work to do
the slice and dice at that point. (cfgflashrd, on the other hand, is
largely about configuring the bootstrap (terminal, root ramdisk)
rather than what's subsequently brought up from the openbsd.vnd
containing the full build.)
Not meaning to put too fine a point on it: I don't imagine you want to
be trying this kind of post-op slice and dice if you've not spent time
understanding how much of your problem may be adequately addressed in
less baroque ways by documented behaviour.
Am 15 Dec 2009 um 15:25 schrieb stan:
I am trying to put OpenBSD on some Soekris machines. I have looked
around
and fount the flashrd toolkit. Uinsg it, I was able to create a
bootable
compact flash image for one of the machines. However, I pretty much
did it
by following the driections without understnaidng what was being
don, and
we all know where that leads :-)
Now, I am trying to change a fwe things, and I need to get a better
understnading of what is being done here. Specifically, I want to
create a
larger /usr partion in the vnd iamge. What determiens the size of
these? I
have looked through the cfgflashrd, and the growimg scripts, but I
don't
see any knobs to tweak in these for this.
--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?