SPIFFS_OBJ_NAME_LEN + SPIFFS_META_LENGTH should not exceed
SPIFFS_PAGE_SIZE - 64.
+ config SPIFFS_FOLLOW_SYMLINKS
+ bool "Enable symbolic links for image creation"
+ default "n"
+ help
+ If this option is enabled, symbolic links are taken into account
+ during partition image creation.
+
config SPIFFS_USE_MAGIC
bool "Enable SPIFFS Filesystem Magic"
default "y"
USE_MAGIC_LEN = ""
endif
+ifdef CONFIG_SPIFFS_FOLLOW_SYMLINKS
+FOLLOW_SYMLINKS = "--follow-symlinks"
+else
+FOLLOW_SYMLINKS = ""
+endif
+
# spiffs_create_partition_image
#
# Create a spiffs image of the specified directory on the host during build and optionally
--page-size=$(CONFIG_SPIFFS_PAGE_SIZE) \
--obj-name-len=$(CONFIG_SPIFFS_OBJ_NAME_LEN) \
--meta-len=$(CONFIG_SPIFFS_META_LENGTH) \
+ $(FOLLOW_SYMLINKS) \
$(USE_MAGIC) \
$(USE_MAGIC_LEN)
ESPTOOL_ALL_FLASH_ARGS += $(foreach partition,$(SPIFFSGEN_FLASH_IN_PROJECT), \
$(shell $(GET_PART_INFO) --partition-table-file $(PARTITION_TABLE_BIN) \
-get_partition_info --partition-name $(partition) --info offset) $(BUILD_DIR_BASE)/$(partition).bin)
\ No newline at end of file
+get_partition_info --partition-name $(partition) --info offset) $(BUILD_DIR_BASE)/$(partition).bin)
set(use_magic_len "--use-magic-len")
endif()
+ if(CONFIG_SPIFFS_FOLLOW_SYMLINKS)
+ set(follow_symlinks "--follow-symlinks")
+ endif()
+
# Execute SPIFFS image generation; this always executes as there is no way to specify for CMake to watch for
# contents of the base dir changing.
add_custom_target(spiffs_${partition}_bin ALL
--page-size=${CONFIG_SPIFFS_PAGE_SIZE}
--obj-name-len=${CONFIG_SPIFFS_OBJ_NAME_LEN}
--meta-len=${CONFIG_SPIFFS_META_LENGTH}
+ ${follow_symlinks}
${use_magic}
${use_magic_len}
DEPENDS ${arg_DEPENDS}
else()
esptool_py_flash_project_args(${partition} ${offset} ${image_file})
endif()
-endfunction()
\ No newline at end of file
+endfunction()
action="store_true",
default=True)
+ parser.add_argument("--follow-symlinks",
+ help="Take into account symbolic links during partition image creation.",
+ action="store_true",
+ default=False)
+
parser.add_argument("--use-magic-len",
help="Use position in memory to create different magic numbers for each block. Specify if CONFIG_SPIFFS_USE_MAGIC_LENGTH.",
action="store_true",
spiffs = SpiffsFS(image_size, spiffs_build_default)
- for root, dirs, files in os.walk(args.base_dir):
+ for root, dirs, files in os.walk(args.base_dir, followlinks=args.follow_symlinks):
for f in files:
full_path = os.path.join(root, f)
spiffs.create_file("/" + os.path.relpath(full_path, args.base_dir).replace("\\", "/"), full_path)
CONFIG_SPIFFS_OBJ_NAME_LEN=32
CONFIG_SPIFFS_USE_MAGIC=y
CONFIG_SPIFFS_USE_MAGIC_LENGTH=y
+CONFIG_SPIFFS_FOLLOW_SYMLINKS=
CONFIG_SPIFFS_META_LENGTH=4
CONFIG_SPIFFS_USE_MTIME=y