Skip to contentSkip to conversation

add romfs support

PATCH New digitalpeer 3 participants 5 messages Apr 1, 2008 – Apr 2, 2008

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw

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]>
#2 lore raw

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

#3 lore raw

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]>
#4 lore raw

PATCH 1/1 add romfs support

In reply to digitalpeer
Quoted 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