1config BR2_TARGET_ROOTFS_SQUASHFS
2	bool "squashfs root filesystem"
3	help
4	  Build a squashfs root filesystem
5
6if BR2_TARGET_ROOTFS_SQUASHFS
7
8choice
9	prompt "block size"
10	default BR2_TARGET_ROOTFS_SQUASHFS_BS_128K
11	help
12	  Data block size. Bigger values can improve
13	  compression ratio.
14
15	  If unsure, leave at 128k (default).
16
17config BR2_TARGET_ROOTFS_SQUASHFS_BS_4K
18	bool "4k"
19
20config BR2_TARGET_ROOTFS_SQUASHFS_BS_8K
21	bool "8k"
22
23config BR2_TARGET_ROOTFS_SQUASHFS_BS_16K
24	bool "16k"
25
26config BR2_TARGET_ROOTFS_SQUASHFS_BS_32K
27	bool "32k"
28
29config BR2_TARGET_ROOTFS_SQUASHFS_BS_64K
30	bool "64k"
31
32config BR2_TARGET_ROOTFS_SQUASHFS_BS_128K
33	bool "128k"
34
35config BR2_TARGET_ROOTFS_SQUASHFS_BS_256K
36	bool "256k"
37
38config BR2_TARGET_ROOTFS_SQUASHFS_BS_512K
39	bool "512k"
40
41config BR2_TARGET_ROOTFS_SQUASHFS_BS_1024K
42	bool "1024k"
43
44endchoice
45
46config BR2_TARGET_ROOTFS_SQUASHFS_BS
47	string
48	default "4K" if BR2_TARGET_ROOTFS_SQUASHFS_BS_4K
49	default "8K" if BR2_TARGET_ROOTFS_SQUASHFS_BS_8K
50	default "16K" if BR2_TARGET_ROOTFS_SQUASHFS_BS_16K
51	default "32K" if BR2_TARGET_ROOTFS_SQUASHFS_BS_32K
52	default "64K" if BR2_TARGET_ROOTFS_SQUASHFS_BS_64K
53	default "128K" if BR2_TARGET_ROOTFS_SQUASHFS_BS_128K
54	default "256K" if BR2_TARGET_ROOTFS_SQUASHFS_BS_256K
55	default "512K" if BR2_TARGET_ROOTFS_SQUASHFS_BS_512K
56	default "1024K" if BR2_TARGET_ROOTFS_SQUASHFS_BS_1024K
57
58config BR2_TARGET_ROOTFS_SQUASHFS_PAD
59	bool "pad to a 4K boundary"
60	default y # legacy was always ON
61	help
62	  Say 'y' here (the default) to pad the the filesystem image
63	  to a 4K boundary. Say 'n' to disable padding.
64
65choice
66	prompt "Compression algorithm"
67	default BR2_TARGET_ROOTFS_SQUASHFS4_GZIP
68	help
69	  Select the squashfs compression algorithm to use when
70	  generating the filesystem.
71
72config BR2_TARGET_ROOTFS_SQUASHFS4_GZIP
73	bool "gzip"
74
75config BR2_TARGET_ROOTFS_SQUASHFS4_LZ4
76	bool "lz4"
77
78config BR2_TARGET_ROOTFS_SQUASHFS4_LZMA
79	bool "lzma"
80
81config BR2_TARGET_ROOTFS_SQUASHFS4_LZO
82	bool "lzo"
83
84config BR2_TARGET_ROOTFS_SQUASHFS4_XZ
85	bool "xz"
86
87config BR2_TARGET_ROOTFS_SQUASHFS4_ZSTD
88	bool "zstd"
89
90endchoice
91
92config BR2_TARGET_ROOTFS_SQUASHFS_EXTREME_COMP
93	bool "extreme compression when available"
94	default y if BR2_TARGET_ROOTFS_SQUASHFS4_LZ4  # legacy
95	help
96	  Use options to increase compression ration as much as
97	  possible, like using architecture-specific options, at
98	  the cost of time when assembling the filesystem image.
99
100	  For example:
101	   - with gzip and lzo, use -Xcompression-level 9
102	   - with xz use arch-specific bcj (branch-call-jump) filters
103	   - with zstd use -Xcompression-level 22
104	   - and more
105
106config BR2_TARGET_ROOTFS_SQUASHFS_COMP_OPTS
107	string
108	default "-Xcompression-level 9" if BR2_TARGET_ROOTFS_SQUASHFS4_GZIP
109	default "-Xcompression-level 9" if BR2_TARGET_ROOTFS_SQUASHFS4_LZO
110	default "-Xhc" if BR2_TARGET_ROOTFS_SQUASHFS4_LZ4
111	default "-Xbcj arm,armthumb" if BR2_TARGET_ROOTFS_SQUASHFS4_XZ && (BR2_arm || BR_aarch64)
112	default "-Xbcj powerpc" if BR2_TARGET_ROOTFS_SQUASHFS4_XZ && (BR2_powerpc || BR2_powerpc64)
113	default "-Xbcj sparc" if BR2_TARGET_ROOTFS_SQUASHFS4_XZ && (BR2_sparc || BR2_sparc64)
114	default "-Xbcj x86" if BR2_TARGET_ROOTFS_SQUASHFS4_XZ && (BR2_i386 || BR2_x86_64)
115	default "-Xcompression-level 22" if BR2_TARGET_ROOTFS_SQUASHFS4_ZSTD
116	depends on BR2_TARGET_ROOTFS_SQUASHFS_EXTREME_COMP
117
118endif
119