add romfs support
PATCH 1/1 add romfs support
The following patch adds the ability to generate a romfs image using genromfs. Josh
diff -purN buildroot-snapshot/target/romfs/Config.in buildroot-romfs/target/romfs/Config.in
--- buildroot-snapshot/target/romfs/Config.in 1969-12-31
16:00:00.000000000 -0800
+++ buildroot-romfs/target/romfs/Config.in 2008-04-01 14:11:13.000000000 -0700
@@ -0,0 +1,7 @@
+config BR2_TARGET_ROOTFS_ROMFS
+ bool "romfs root filesystem"
+ default n
+ select BR2_HOST_FAKEROOT
+ help
+ Build a romfs image of the root filesystem.
+
diff -purN buildroot-snapshot/target/romfs/romfs.mk buildroot-romfs/target/romfs/romfs.mk
target/romfs/romfs.mk +40 -0
@@ -0,0 +1,79 @@ +############################################################# +# +# genromfs to build to target romfs filesystems +# +############################################################# +ROMFS_VERSION=0.5.2 +ROMFS_DIR=$(BUILD_DIR)/genromfs-$(ROMFS_VERSION) +ROMFS_SOURCE=genromfs-$(ROMFS_VERSION).tar.gz +ROMFS_SITE=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/romfs + +$(DL_DIR)/$(ROMFS_SOURCE): + $(WGET) -P $(DL_DIR) $(ROMFS_SITE)/$(ROMFS_SOURCE) + +$(ROMFS_DIR): $(DL_DIR)/$(ROMFS_SOURCE) + $(ZCAT) $(DL_DIR)/$(ROMFS_SOURCE) | tar -C $(BUILD_DIR) -xvf - + +$(ROMFS_DIR)/genromfs: $(ROMFS_DIR) + $(MAKE) -C $(ROMFS_DIR) + touch -c $@ + +romfs: $(ROMFS_DIR)/genromfs + +romfs-source: $(DL_DIR)/$(ROMFS_SOURCE) + +romfs-clean: + -$(MAKE) -C $(ROMFS_DIR) clean + +romfs-dirclean: + rm -rf $(ROMFS_DIR) + +############################################################# +# +# Build the romfs root filesystem image +# +############################################################# + +ROMFS_TARGET=$(IMAGE).romfs + +romfsroot: host-fakeroot makedevs romfs + - at find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIPCMD)
2>/dev/null || true
+ifneq ($(BR2_HAVE_MANPAGES),y)
+ @rm -rf $(TARGET_DIR)/usr/man
+endif
+ifneq ($(BR2_HAVE_INFOPAGES),y)
+ @rm -rf $(TARGET_DIR)/usr/info
+endif
+ $(if $(TARGET_LDCONFIG),test -x $(TARGET_LDCONFIG) &&
$(TARGET_LDCONFIG) -r $(TARGET_DIR) 2>/dev/null)
+ # Use fakeroot to pretend all target binaries are owned by root
+ rm -f $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(ROMFS_TARGET))
+ touch $(PROJECT_BUILD_DIR)/.fakeroot.00000
+ cat $(PROJECT_BUILD_DIR)/.fakeroot* >
$(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(ROMFS_TARGET))
+ echo "chown -R 0:0 $(TARGET_DIR)" >>
$(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(ROMFS_TARGET)) +ifneq ($(TARGET_DEVICE_TABLE),)
+ # Use fakeroot to pretend to create all needed device nodes
+ echo "$(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR)" \
+ >> $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(ROMFS_TARGET))
+endif
+ # Use fakeroot so genromfs believes the previous fakery
+ echo "$(ROMFS_DIR)/genromfs -d $(TARGET_DIR) -f $(ROMFS_TARGET)" >>
$(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(ROMFS_TARGET))
+ chmod a+x $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(ROMFS_TARGET))
+ $(STAGING_DIR)/usr/bin/fakeroot --
$(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(ROMFS_TARGET))
+ - at rm -f $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(ROMFS_TARGET))
+
+romfsroot-source: romfs-source
+
+romfsroot-clean:
+ -$(MAKE) -C $(ROMFS_DIR) clean
+
+romfsroot-dirclean:
+ rm -rf $(ROMFS_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_TARGET_ROOTFS_ROMFS)),y) +TARGETS+=romfsroot
+endif
PATCH 1/1 add romfs support
Quoted 1 line · digitalpeer
The following patch adds the ability to generate a romfs image using genromfs.
Thanks, committed in rev 21618.
Two notes;
1. Your patch was word-wrapped in a few places.
2. Needed to edit target/Config.in to include target/romfs/Config.in also. I guess you did this but forgot to send the patch.
Hamish
Signature · 1 line
Hamish Moffatt VK3SB <[email protected]> <[email protected]>
PATCH 1/1 add romfs support
Hmm, I'll send future patches as attachments if you prefer?
Quoted 10 lines · Hamish Moffatt
Quoted 1 line · digitalpeer
The following patch adds the ability to generate a romfs image using
genromfs.
Thanks, committed in rev 21618.
Two notes;
1. Your patch was word-wrapped in a few places.
Quoted 8 lines
2. Needed to edit target/Config.in to include target/romfs/Config.in also. I guess you did this but forgot to send the patch.
Hamish
--
Hamish Moffatt VK3SB <[email protected]> <[email protected]>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://busybox.net/lists/buildroot/attachments/20080401/ce9d1260/attachment.htm
PATCH 1/1 add romfs support
Quoted 8 lines · digitalpeer
Quoted 6 lines · Hamish Moffatt
Quoted 1 line · digitalpeer
The following patch adds the ability to generate a romfs image using
genromfs.
Thanks, committed in rev 21618.
Quoted 8 lines
Quoted 6 lines
Two notes;
1. Your patch was word-wrapped in a few places.
2. Needed to edit target/Config.in to include target/romfs/Config.in also. I guess you did this but forgot to send the patch.
Hmm, I'll send future patches as attachments if you prefer?
Inline is ok (easier to comment on) if you can configure your mailer not to break your messages. Maybe not, I guess it's gmail.
Also top-posting is bad :-)
Thanks
Hamish
Signature · 1 line
Hamish Moffatt VK3SB <[email protected]> <[email protected]>
PATCH 1/1 add romfs support
In reply to digitalpeerQuoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"digitalpeer" == digitalpeer <[email protected]> writes:
digitalpeer> The following patch adds the ability to generate a romfs digitalpeer> image using genromfs.
Just curious, why would anyone use romfs instead of the more modern alternatives (cramfs, squashfs)?
Signature · 1 line
Bye, Peter Korsgaard