summaryrefslogtreecommitdiff
path: root/target/cramfs
diff options
context:
space:
mode:
Diffstat (limited to 'target/cramfs')
-rw-r--r--target/cramfs/cramfs.mk20
1 files changed, 18 insertions, 2 deletions
diff --git a/target/cramfs/cramfs.mk b/target/cramfs/cramfs.mk
index a53cbff4f..2964dddd3 100644
--- a/target/cramfs/cramfs.mk
+++ b/target/cramfs/cramfs.mk
@@ -64,8 +64,24 @@ cramfsroot: cramfs
@rm -rf $(TARGET_DIR)/usr/man
@rm -rf $(TARGET_DIR)/usr/info
/sbin/ldconfig -r $(TARGET_DIR)
- $(CRAMFS_DIR)/mkcramfs -q $(CRAMFS_ENDIANNESS) -D \
- target/generic/device_table.txt $(TARGET_DIR) $(IMAGE).cramfs
+ # Use fakeroot to pretend all target binaries are owned by root
+ $(STAGING_DIR)/usr/bin/fakeroot \
+ -i $(STAGING_DIR)/fakeroot.env \
+ -s $(STAGING_DIR)/fakeroot.env -- \
+ chown -R root:root $(TARGET_DIR)
+ # Use fakeroot to pretend to create all needed device nodes
+ $(STAGING_DIR)/usr/bin/fakeroot \
+ -i $(STAGING_DIR)/fakeroot.env \
+ -s $(STAGING_DIR)/fakeroot.env -- \
+ $(STAGING_DIR)/bin/makedevs \
+ -d $(TARGET_DEVICE_TABLE) \
+ $(TARGET_DIR)
+ # Use fakeroot so mkcramfs believes the previous fakery
+ $(STAGING_DIR)/usr/bin/fakeroot \
+ -i $(STAGING_DIR)/fakeroot.env \
+ -s $(STAGING_DIR)/fakeroot.env -- \
+ $(CRAMFS_DIR)/mkcramfs -q $(CRAMFS_ENDIANNESS) \
+ $(TARGET_DIR) $(IMAGE).cramfs
cramfsroot-source: cramfs-source