Commit | Line | Data |
---|---|---|
27bc59d4 EA |
1 | ############################################################# |
2 | # | |
dda90723 | 3 | # Build the jffs2 root filesystem image |
27bc59d4 EA |
4 | # |
5 | ############################################################# | |
6 | ||
dda90723 | 7 | JFFS2_OPTS := -e $(strip $(BR2_TARGET_ROOTFS_JFFS2_EBSIZE)) |
27bc59d4 | 8 | |
dda90723 | 9 | ifeq ($(strip $(BR2_TARGET_ROOTFS_JFFS2_PAD)),y) |
dda90723 | 10 | ifneq ($(strip $(BR2_TARGET_ROOTFS_JFFS2_PADSIZE)),0x0) |
ddcaf144 PK |
11 | JFFS2_OPTS += --pad=$(strip $(BR2_TARGET_ROOTFS_JFFS2_PADSIZE)) |
12 | else | |
13 | JFFS2_OPTS += -p | |
dda90723 EA |
14 | endif |
15 | endif | |
27bc59d4 | 16 | |
28f46894 | 17 | ifeq ($(BR2_TARGET_ROOTFS_JFFS2_SQUASH),y) |
dda90723 EA |
18 | JFFS2_OPTS += -q |
19 | endif | |
27bc59d4 | 20 | |
28f46894 | 21 | ifeq ($(BR2_TARGET_ROOTFS_JFFS2_LE),y) |
dda90723 EA |
22 | JFFS2_OPTS += -l |
23 | endif | |
27bc59d4 | 24 | |
28f46894 | 25 | ifeq ($(BR2_TARGET_ROOTFS_JFFS2_BE),y) |
dda90723 EA |
26 | JFFS2_OPTS += -b |
27 | endif | |
27bc59d4 | 28 | |
28f46894 BRF |
29 | ifneq ($(BR2_TARGET_ROOTFS_JFFS2_DEFAULT_PAGESIZE),y) |
30 | JFFS2_OPTS += -s $(BR2_TARGET_ROOTFS_JFFS2_PAGESIZE) | |
31 | ifeq ($(BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER),y) | |
32 | JFFS2_OPTS += -n | |
33 | endif | |
34 | endif | |
35 | ||
36 | JFFS2_TARGET := $(strip $(subst ",,$(BR2_TARGET_ROOTFS_JFFS2_OUTPUT))) | |
37 | #")) | |
dda90723 | 38 | JFFS2_DEVFILE = $(strip $(subst ",,$(BR2_TARGET_ROOTFS_JFFS2_DEVFILE))) |
28f46894 | 39 | #")) |
0091f181 | 40 | ifneq ($(JFFS2_DEVFILE)$(TARGET_DEVICE_TABLE),) |
d93b209d | 41 | JFFS2_OPTS += -D $(TARGET_DEVICE_TABLE) |
dda90723 EA |
42 | endif |
43 | ||
27bc59d4 | 44 | |
27bc59d4 | 45 | # |
674d61d8 | 46 | # mtd-host is a dependency which builds a local copy of mkfs.jffs2 if it is needed. |
dda90723 EA |
47 | # the actual build is done from package/mtd/mtd.mk and it sets the |
48 | # value of MKFS_JFFS2 to either the previously installed copy or the one | |
49 | # just built. | |
27bc59d4 | 50 | # |
ee66f552 | 51 | $(JFFS2_TARGET): host-fakeroot makedevs mtd-host |
27bc59d4 EA |
52 | -@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true; |
53 | @rm -rf $(TARGET_DIR)/usr/man | |
dda90723 | 54 | @rm -rf $(TARGET_DIR)/usr/share/man |
27bc59d4 | 55 | @rm -rf $(TARGET_DIR)/usr/info |
07feaa57 | 56 | @rmdir -p --ignore-fail-on-non-empty $(TARGET_DIR)/usr/share |
06c5ff4e | 57 | -/sbin/ldconfig -r $(TARGET_DIR) 2>/dev/null |
d1345f06 | 58 | # Use fakeroot to pretend all target binaries are owned by root |
b81bcbd2 | 59 | rm -f $(STAGING_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET)) |
5418a923 | 60 | touch $(STAGING_DIR)/.fakeroot.00000 |
b81bcbd2 | 61 | cat $(STAGING_DIR)/.fakeroot* > $(STAGING_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET)) |
f94a44c3 | 62 | echo "chown -R 0:0 $(TARGET_DIR)" >> $(STAGING_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET)) |
0091f181 | 63 | ifneq ($(TARGET_DEVICE_TABLE),) |
d1345f06 | 64 | # Use fakeroot to pretend to create all needed device nodes |
674d61d8 | 65 | echo "$(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR)" \ |
b81bcbd2 | 66 | >> $(STAGING_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET)) |
0091f181 | 67 | endif |
d1345f06 | 68 | # Use fakeroot so mkfs.jffs2 believes the previous fakery |
674d61d8 | 69 | echo "$(MKFS_JFFS2) $(JFFS2_OPTS) -d $(BUILD_DIR)/root -o $(JFFS2_TARGET)" \ |
b81bcbd2 MF |
70 | >> $(STAGING_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET)) |
71 | chmod a+x $(STAGING_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET)) | |
72 | $(STAGING_DIR)/usr/bin/fakeroot -- $(STAGING_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET)) | |
73 | -@rm -f $(STAGING_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET)) | |
dda90723 | 74 | @ls -l $(JFFS2_TARGET) |
48b3e0c9 BRF |
75 | ifeq ($(BR2_JFFS2_TARGET_SREC),y) |
76 | $(TARGET_CROSS)objcopy -I binary -O srec --adjust-vma 0xa1000000 $(JFFS2_TARGET) $(JFFS2_TARGET).srec | |
77 | @ls -l $(JFFS2_TARGET).srec | |
78 | endif | |
dda90723 EA |
79 | |
80 | JFFS2_COPYTO := $(strip $(subst ",,$(BR2_TARGET_ROOTFS_JFFS2_COPYTO))) | |
28f46894 | 81 | #")) |
dda90723 EA |
82 | |
83 | jffs2root: $(JFFS2_TARGET) | |
84 | ifneq ($(JFFS2_COPYTO),) | |
85 | @cp -f $(JFFS2_TARGET) $(JFFS2_COPYTO) | |
d93b209d | 86 | endif |
27bc59d4 | 87 | |
dda90723 | 88 | jffs2root-source: mtd-host-source |
27bc59d4 | 89 | |
dda90723 EA |
90 | jffs2root-clean: mtd-host-clean |
91 | -rm -f $(JFFS2_TARGET) | |
27bc59d4 | 92 | |
dda90723 EA |
93 | jffs2root-dirclean: mtd-host-dirclean |
94 | -rm -f $(JFFS2_TARGET) | |
27bc59d4 | 95 | |
d06645d8 EA |
96 | ############################################################# |
97 | # | |
98 | # Toplevel Makefile options | |
99 | # | |
100 | ############################################################# | |
101 | ifeq ($(strip $(BR2_TARGET_ROOTFS_JFFS2)),y) | |
102 | TARGETS+=jffs2root | |
103 | endif |