[PATCH] olpc.fth - grow the root filesystem partition on boot
James Cameron
quozl at laptop.org
Fri Mar 16 19:58:05 EDT 2012
On Fri, Mar 16, 2012 at 11:58:51AM -0600, Daniel Drake wrote:
> I'll try to take on this project this release cycle.
> Posted some thoughts at http://dev.laptop.org/ticket/10040
Thanks.
Consensus is to implement a partition resize in OpenFirmware as the last
step of ''fs-update''. This doesn't preclude the initramfs doing it,
and the initramfs will do the filesystem resize.
In OpenFirmware, we might either:
* do the resize only if the .zd file requests it, (a new ''resize:''
line after ''zblocks-end:''), or
* do the resize regardless, thus affecting previous builds once a
firmware update occurs.
The first option avoids immediate impact to factory scripts which do an
''fs-verify'' after ''fs-update''.
Once factory is given a build that includes ''resize:'', the factory
scripts will require changing from
{{{
fs-update ...
fs-verify ...
}}}
to
{{{
fs-update-no-resize ...
fs-verify ...
fs-resize
}}}
Not changing the scripts will cause an fs-verify failure for the first
block of the storage.
I expect builds to begin doing this in the 12.1.0 series, leaving the
11.3.1 series unchanged, but we don't easily separate OpenFirmware in
that way.
Adding resize: to the end of an .zd file does not cause any error on the
current version of OpenFirmware on XO-1.75, so it can be added now:
>From 7ed7ac8452da32bce60208558d0e729a4bfe35b8 Mon Sep 17 00:00:00 2001
From: James Cameron <quozl at laptop.org>
Date: Sat, 17 Mar 2012 10:56:30 +1100
Subject: [PATCH] add resize
---
bin/zhashfs.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/bin/zhashfs.c b/bin/zhashfs.c
index 12a0ffb..0d765ea 100644
--- a/bin/zhashfs.c
+++ b/bin/zhashfs.c
@@ -221,8 +221,8 @@ int main(int argc, char **argv)
LTC_ARGCHK(readlen == zblocksize);
write_block(0, buf);
- fprintf(outfile, "zblocks-end:\n");
- fprintf(zfile, "zblocks-end:\n");
+ fprintf(outfile, "zblocks-end:\nresize:\n");
+ fprintf(zfile, "zblocks-end:\nresize:\n");
fclose(infile);
fclose(outfile);
--
1.7.9.1
--
James Cameron
http://quozl.linux.org.au/
More information about the Devel
mailing list