diff options
author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2007-07-08 19:22:18 +0000 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2007-07-08 19:22:18 +0000 |
commit | 149c552e0fda9bdc64ea10fe5a2bfa35bd26ec65 (patch) | |
tree | c13fac6dea6bbc5d8e1b0785f971376614b55c32 /target/initramfs/initramfs.mk | |
parent | 402d710eeba8d7434387a0a36da66bfe837adbdc (diff) |
- provide option to build an initramfs out of the current rootfs. Closes #881
Diffstat (limited to 'target/initramfs/initramfs.mk')
-rw-r--r-- | target/initramfs/initramfs.mk | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/target/initramfs/initramfs.mk b/target/initramfs/initramfs.mk new file mode 100644 index 000000000..e4ae1480a --- /dev/null +++ b/target/initramfs/initramfs.mk @@ -0,0 +1,43 @@ +############################################################# +# +# Make a initramfs_list file to be used by gen_init_cpio +# gen_init_cpio is part of the 2.6 linux kernels to build an +# initial ramdisk filesystem based on cpio +# +############################################################# + +ifeq ($(strip $(BR2_TARGET_ROOTFS_INITRAMFS)),y) +INITRAMFS_TARGET:=$(IMAGE).initramfs_list +else +INITRAMFS_TARGET:= #nothing +endif + +$(INITRAMFS_TARGET) initramfs: host-fakeroot makedevs + -find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true; + rm -rf $(TARGET_DIR)/usr/man + rm -rf $(TARGET_DIR)/usr/info + -/sbin/ldconfig -r $(TARGET_DIR) 2>/dev/null + # Use fakeroot to pretend all target binaries are owned by root + rm -f $(STAGING_DIR)/_fakeroot.$(notdir $(TAR_TARGET)) + touch $(STAGING_DIR)/.fakeroot.00000 + cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(notdir $(TAR_TARGET)) + echo "chown -R 0:0 $(TARGET_DIR)" >> $(STAGING_DIR)/_fakeroot.$(notdir $(TAR_TARGET)) + # Use fakeroot to pretend to create all needed device nodes + echo "$(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR)" \ + >> $(STAGING_DIR)/_fakeroot.$(notdir $(TAR_TARGET)) + # Use fakeroot so gen_initramfs_list.sh believes the previous fakery + echo "$(CONFIG_SHELL) target/initramfs/gen_initramfs_list.sh -u 0 -g 0 $(TARGET_DIR) > $(INITRAMFS_TARGET)" \ + >> $(STAGING_DIR)/_fakeroot.$(notdir $(TAR_TARGET)) + chmod a+x $(STAGING_DIR)/_fakeroot.$(notdir $(TAR_TARGET)) + $(STAGING_DIR)/usr/bin/fakeroot -- $(STAGING_DIR)/_fakeroot.$(notdir $(TAR_TARGET)) + -rm -f $(STAGING_DIR)/_fakeroot.$(notdir $(TAR_TARGET)) + +initramfs-source: + +initramfs-clean: +ifeq ($(strip $(BR2_TARGET_ROOTFS_INITRAMFS)),y) + -rm -f $(INITRAMFS_TARGET) +endif +initramfs-dirclean: + + |