* [ptxdist] [PATCH] image_ext2: improve image generation and support ext4
@ 2012-05-31 13:27 Jan Luebbe
0 siblings, 0 replies; only message in thread
From: Jan Luebbe @ 2012-05-31 13:27 UTC (permalink / raw)
To: ptxdist; +Cc: Jan Luebbe
In some cases, genext2fs does not produce enough inodes. Specify
16384 bytes per inode by default (can be overridden using
IMAGE_EXT2_EXTRA_ARGS).
Also run e2fsck in all cases to generate a UUID in the superblock.
Finally support upgrading the image to ext4.
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
---
platforms/image_ext2.in | 14 +++++++++++---
rules/post/image_ext2.make | 25 +++++++++++++++++++------
2 files changed, 30 insertions(+), 9 deletions(-)
diff --git a/platforms/image_ext2.in b/platforms/image_ext2.in
index c26efd0..d87a8f5 100644
--- a/platforms/image_ext2.in
+++ b/platforms/image_ext2.in
@@ -14,7 +14,7 @@ config IMAGE_EXT2_SIZE
default 20480
prompt "Size in kilobytes"
help
- FIXME: This item needs to be documented
+ Size of the image in kilobytes
config IMAGE_EXT2_EXTRA_ARGS
string
@@ -33,9 +33,17 @@ config IMAGE_EXT2_GZIP
config IMAGE_EXT2_JOURNAL
bool
select HOST_E2FSPROGS
- prompt "Add a journal to the ext2 file system image, making it ext3"
+ prompt "Upgrade the ext2 file system image to ext3 by adding a journal"
+ help
+ Enable this option if you want to mount the root file system as
+ an ext3 image.
+
+config IMAGE_EXT2_EXT4
+ bool
+ select IMAGE_EXT2_JOURNAL
+ prompt "Upgrade the ext2 file system image to ext4"
help
Enable this option if you want to mount the root file system as
- ext3 image.
+ an ext4 image.
endif
diff --git a/rules/post/image_ext2.make b/rules/post/image_ext2.make
index ed7d037..9988ce5 100644
--- a/rules/post/image_ext2.make
+++ b/rules/post/image_ext2.make
@@ -13,13 +13,14 @@ SEL_ROOTFS-$(PTXCONF_IMAGE_EXT2_GZIP) += $(IMAGEDIR)/root.ext2.gz
$(IMAGEDIR)/root.ext2: $(STATEDIR)/image_working_dir
@echo -n "Creating root.ext2 from working dir..."
- @cd $(image/work_dir); \
+ @cd $(image/work_dir); \
(awk -F: $(DOPERMISSIONS) $(image/permissions) && \
( \
echo -n "$(PTXCONF_SYSROOT_HOST)/bin/genext2fs "; \
echo -n "-b $(PTXCONF_IMAGE_EXT2_SIZE) "; \
+ echo -n "-i 16384 "; \
echo -n "$(PTXCONF_IMAGE_EXT2_EXTRA_ARGS) "; \
- echo -n "-d $(image/work_dir) "; \
+ echo -n "-d $(image/work_dir) "; \
echo "$@" ) \
) | $(FAKEROOT) --
@echo "done."
@@ -31,12 +32,24 @@ ifdef PTXCONF_IMAGE_EXT2_JOURNAL
# # mode we use output redirection (and since we're operating on files
# # and not on real block devices, it's very unlikely that there are
# # errors we want to see.
- @echo -n "Adding a journal to root.ext2 ..."
- @tune2fs -j "$(IMAGEDIR)/root.ext2" > /dev/null
- @e2fsck -y "$(IMAGEDIR)/root.ext2" > /dev/null 2>&1
- @echo "done."
+ @echo -n "Upgrading root.ext2 to ext3..."
+ @tune2fs -O has_journal "$(IMAGEDIR)/root.ext2" >/dev/null
+ @echo "done."
+endif
+
+ifdef PTXCONF_IMAGE_EXT2_EXT4
+ @echo -n "Upgrading root.ext2 to ext4..."
+ @tune2fs -O extents,uninit_bg,dir_index "$(IMAGEDIR)/root.ext2" >/dev/null
+ @echo "done."
endif
+ @echo -n "Running e2fsck on root.ext2..."
+ @e2fsck -pvfD "$(IMAGEDIR)/root.ext2" >/dev/null 2>&1; test $$? -le 2
+ @echo "done."
+
+ @echo -n "Summary of root.ext2:"
+ @e2fsck -pvf "$(IMAGEDIR)/root.ext2"
+
$(IMAGEDIR)/root.ext2.gz: $(IMAGEDIR)/root.ext2
@echo -n "Creating root.ext2.gz from root.ext2...";
@rm -f $@
--
1.7.9.5
--
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2012-05-31 13:27 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-31 13:27 [ptxdist] [PATCH] image_ext2: improve image generation and support ext4 Jan Luebbe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox