aboutsummaryrefslogtreecommitdiffstats
path: root/usr/Makefile
diff options
context:
space:
mode:
authorAlain Knaff <alain@knaff.lu>2009-01-07 03:10:27 -0500
committerH. Peter Anvin <hpa@zytor.com>2009-01-07 03:10:27 -0500
commita26ee60f90daffe1de6be0d093af86e7279b3dfd (patch)
tree01239fb6b173ff46711480b9601c69b92e1715a5 /usr/Makefile
parentfb9a4ca9820fd4d7c4906bd393004662451e273e (diff)
bzip2/lzma: fix built-in initramfs vs CONFIG_RD_GZIP
Impact: Resolves build failures in some configurations Makes it possible to disable CONFIG_RD_GZIP . In that case, the built-in initramfs will be compressed by whatever compressor is available (bzip2 or lzma) or left uncompressed if none is available. It also removes a couple of warnings which occur when no ramdisk compression at all is chosen. It also restores the select ZLIB_INFLATE in drivers/block/Kconfig which somehow came missing. This is needed to activate compilation of the stuff in zlib_deflate. Signed-off-by: Alain Knaff <alain@knaff.lu> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'usr/Makefile')
-rw-r--r--usr/Makefile42
1 files changed, 30 insertions, 12 deletions
diff --git a/usr/Makefile b/usr/Makefile
index 201f27f8cba..451cdff7dff 100644
--- a/usr/Makefile
+++ b/usr/Makefile
@@ -5,14 +5,32 @@
5klibcdirs:; 5klibcdirs:;
6PHONY += klibcdirs 6PHONY += klibcdirs
7 7
8# Find out "preferred" ramdisk compressor. Order of preference is
9# 1. bzip2 efficient, and likely to be present
10# 2. gzip former default
11# 3. lzma
12# 4. none
13
14# None of the above
15suffix_y =
16
17# Lzma, but no gzip nor bzip2
18suffix_$(CONFIG_RD_LZMA) = .lzma
19
20# Gzip, but no bzip2
21suffix_$(CONFIG_RD_GZIP) = .gz
22
23# Bzip2
24suffix_$(CONFIG_RD_BZIP2) = .bz2
25
8 26
9# Generate builtin.o based on initramfs_data.o 27# Generate builtin.o based on initramfs_data.o
10obj-$(CONFIG_BLK_DEV_INITRD) := initramfs_data.o 28obj-$(CONFIG_BLK_DEV_INITRD) := initramfs_data$(suffix_y).o
11 29
12# initramfs_data.o contains the initramfs_data.cpio.gz image. 30# initramfs_data.o contains the compressed initramfs_data.cpio image.
13# The image is included using .incbin, a dependency which is not 31# The image is included using .incbin, a dependency which is not
14# tracked automatically. 32# tracked automatically.
15$(obj)/initramfs_data.o: $(obj)/initramfs_data.cpio.gz FORCE 33$(obj)/initramfs_data$(suffix_y).o: $(obj)/initramfs_data.cpio$(suffix_y) FORCE
16 34
17##### 35#####
18# Generate the initramfs cpio archive 36# Generate the initramfs cpio archive
@@ -25,28 +43,28 @@ ramfs-args := \
25 $(if $(CONFIG_INITRAMFS_ROOT_UID), -u $(CONFIG_INITRAMFS_ROOT_UID)) \ 43 $(if $(CONFIG_INITRAMFS_ROOT_UID), -u $(CONFIG_INITRAMFS_ROOT_UID)) \
26 $(if $(CONFIG_INITRAMFS_ROOT_GID), -g $(CONFIG_INITRAMFS_ROOT_GID)) 44 $(if $(CONFIG_INITRAMFS_ROOT_GID), -g $(CONFIG_INITRAMFS_ROOT_GID))
27 45
28# .initramfs_data.cpio.gz.d is used to identify all files included 46# .initramfs_data.cpio.d is used to identify all files included
29# in initramfs and to detect if any files are added/removed. 47# in initramfs and to detect if any files are added/removed.
30# Removed files are identified by directory timestamp being updated 48# Removed files are identified by directory timestamp being updated
31# The dependency list is generated by gen_initramfs.sh -l 49# The dependency list is generated by gen_initramfs.sh -l
32ifneq ($(wildcard $(obj)/.initramfs_data.cpio.gz.d),) 50ifneq ($(wildcard $(obj)/.initramfs_data.cpio.d),)
33 include $(obj)/.initramfs_data.cpio.gz.d 51 include $(obj)/.initramfs_data.cpio.d
34endif 52endif
35 53
36quiet_cmd_initfs = GEN $@ 54quiet_cmd_initfs = GEN $@
37 cmd_initfs = $(initramfs) -o $@ $(ramfs-args) $(ramfs-input) 55 cmd_initfs = $(initramfs) -o $@ $(ramfs-args) $(ramfs-input)
38 56
39targets := initramfs_data.cpio.gz 57targets := initramfs_data.cpio.gz initramfs_data.cpio.bz2 initramfs_data.cpio.lzma initramfs_data.cpio
40# do not try to update files included in initramfs 58# do not try to update files included in initramfs
41$(deps_initramfs): ; 59$(deps_initramfs): ;
42 60
43$(deps_initramfs): klibcdirs 61$(deps_initramfs): klibcdirs
44# We rebuild initramfs_data.cpio.gz if: 62# We rebuild initramfs_data.cpio if:
45# 1) Any included file is newer then initramfs_data.cpio.gz 63# 1) Any included file is newer then initramfs_data.cpio
46# 2) There are changes in which files are included (added or deleted) 64# 2) There are changes in which files are included (added or deleted)
47# 3) If gen_init_cpio are newer than initramfs_data.cpio.gz 65# 3) If gen_init_cpio are newer than initramfs_data.cpio
48# 4) arguments to gen_initramfs.sh changes 66# 4) arguments to gen_initramfs.sh changes
49$(obj)/initramfs_data.cpio.gz: $(obj)/gen_init_cpio $(deps_initramfs) klibcdirs 67$(obj)/initramfs_data.cpio$(suffix_y): $(obj)/gen_init_cpio $(deps_initramfs) klibcdirs
50 $(Q)$(initramfs) -l $(ramfs-input) > $(obj)/.initramfs_data.cpio.gz.d 68 $(Q)$(initramfs) -l $(ramfs-input) > $(obj)/.initramfs_data.cpio.d
51 $(call if_changed,initfs) 69 $(call if_changed,initfs)
52 70