aboutsummaryrefslogtreecommitdiff
path: root/usr/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2013-11-13initramfs: read CONFIG_RD_ variables for initramfs compressionP J P1-9/+14
When expert configuration option(CONFIG_EXPERT) is enabled, menuconfig offers a choice of compression algorithm to compress initial ramfs image; This choice is stored into CONFIG_RD_* variables. But usr/Makefile uses earlier INITRAMFS_COMPRESSION_* macros to build initial ramfs file. Since none of them is defined, resulting 'initramfs_data.cpio' file remains un-compressed. This patch updates the Makefile to use CONFIG_RD_* variables and adds support for LZ4 compression algorithm. Also updates the 'gen_initramfs_list.sh' script to check whether a selected compression command is accessible or not. And fall-back to default gzip(1) compression when it is not. Signed-off-by: P J P <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-01-13decompressors: add boot-time XZ supportLasse Collin1-1/+4
This implements the API defined in <linux/decompress/generic.h> which is used for kernel, initramfs, and initrd decompression. This patch together with the first patch is enough for XZ-compressed initramfs and initrd; XZ-compressed kernel will need arch-specific changes. The buffering requirements described in decompress_unxz.c are stricter than with gzip, so the relevant changes should be done to the arch-specific code when adding support for XZ-compressed kernel. Similarly, the heap size in arch-specific pre-boot code may need to be increased (30 KiB is enough). The XZ decompressor needs memmove(), memeq() (memcmp() == 0), and memzero() (memset(ptr, 0, size)), which aren't available in all arch-specific pre-boot environments. I'm including simple versions in decompress_unxz.c, but a cleaner solution would naturally be nicer. Signed-off-by: Lasse Collin <[email protected]> Cc: "H. Peter Anvin" <[email protected]> Cc: Alain Knaff <[email protected]> Cc: Albin Tonnerre <[email protected]> Cc: Phillip Lougher <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-09-29initramfs: generalize initramfs_data.xxx.S variantsHendrik Brueckner1-2/+4
Remove initramfs_data.{lzo,lzma,gz,bz2}.S variants and use a common implementation in initramfs_data.S. The common implementation expects the file name of the initramfs to be defined in INITRAMFS_IMAGE. Change the Makefile to set the INITRAMFS_IMAGE define symbol according to the selected compression method. Signed-off-by: Hendrik Brueckner <[email protected]> Cc: WANG Cong <[email protected]> Acked-by: Michal Marek <[email protected]> Acked-by: "H. Peter Anvin" <[email protected]> Cc: Hendrik Brueckner <[email protected]> Cc: Heiko Carstens <[email protected]> Cc: Martin Schwidefsky <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2010-05-27initramfs: add support for in-kernel initramfs compressed with LZOAlbin Tonnerre1-1/+4
Add the necessary parts to be enable the use of LZO-compressed initramfs build into the kernel. Signed-off-by: Albin Tonnerre <[email protected]> Cc: "H. Peter Anvin" <[email protected]> Cc: Michal Marek <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-09-20kbuild: correct initramfs compression commentRobert P. J. Day1-1/+1
Fix the Makefile comment since bzip2 is now supported. Signed-off-by: Robert P. J. Day <[email protected]> Signed-off-by: Sam Ravnborg <[email protected]>
2009-03-31bzip2/lzma: quiet Kconfig warning for INITRAMFS_COMPRESSION_NONEH. Peter Anvin1-3/+0
Impact: quiet Kconfig warning It appears that Kconfig simply has no way to provide defaults for entries that exist inside a conditionalized choice block. Fortunately, it turns out we don't actually ever use CONFIG_INITRAMFS_COMPRESSION_NONE, so we can just drop it for everything outside the choice block. Signed-off-by: H. Peter Anvin <[email protected]>
2009-02-19bzip2/lzma: make internal initramfs compression configurableAlain Knaff1-12/+6
Impact: Avoids silent environment dependency Make builtin initramfs compression an explicit configurable. The previous version would pick a compression based on the binaries which were installed on the system, which could lead to unexpected results. It is now explicitly configured, and not having the appropriate binaries installed on the build host is simply an error. Signed-off-by: Alain Knaff <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2009-01-07bzip2/lzma: fix built-in initramfs vs CONFIG_RD_GZIPAlain Knaff1-12/+30
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 <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2007-02-11[PATCH] disable init/initramfs.cJean-Paul Saman1-1/+1
The file init/initramfs.c is always compiled and linked in the kernel vmlinux even when BLK_DEV_RAM and BLK_DEV_INITRD are disabled and the system isn't using any form of an initramfs or initrd. In this situation the code is only used to unpack a (static) default initial rootfilesystem. The current init/initramfs.c code. usr/initramfs_data.o compiles to a size of ~15 kbytes. Disabling BLK_DEV_RAM and BLK_DEV_INTRD shrinks the kernel code size with ~60 Kbytes. This patch avoids compiling in the code and data for initramfs support if CONFIG_BLK_DEV_INITRD is not defined. Instead of the initramfs code and data it uses a small routine in init/noinitramfs.c to setup an initial static default environment for mounting a rootfilesystem later on in the kernel initialisation process. The new code is: 164 bytes of size. The patch is separated in two parts: 1) doesn't compile initramfs code when CONFIG_BLK_DEV_INITRD is not set 2) changing all plaforms vmlinux.lds.S files to not reserve an area of PAGE_SIZE when CONFIG_BLK_DEV_INITRD is not set. [[email protected]: warning fix] Signed-off-by: Jean-Paul Saman <[email protected]> Cc: Al Viro <[email protected]> Cc: <[email protected]> Signed-off-by: Frederik Deweerdt <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-11-25[PATCH] initramfs: handle more than one source dir or file listThomas Chou1-1/+1
Fix bug 7401. Handle more than one source dir or file list to the initramfs gen scripts. The Kconfig help for INITRAMFS_SOURCE claims that you can specify multiple space-separated sources in order to allow unprivileged users to build an image. There are two bugs in the current implementation that prevent this from working. First, we pass "file1 dir2" to the gen_initramfs_list.sh script, which it obviously can't open. Second, gen_initramfs_list.sh -l outputs multiple definitions for deps_initramfs -- one for each argument. Signed-off-by: Thomas Chou <[email protected]> Cc: Sam Ravnborg <[email protected]> Acked-by: Matthew Wilcox <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-09-25kbuild: consistently decide when to rebuild a targetSam Ravnborg1-0/+2
Consistently decide when to rebuild a target across all of if_changed, if_changed_dep, if_changed_rule. PHONY targets are now treated alike (ignored) for all targets While add it make Kbuild.include almost readable by factoring out a few bits to some common variables and reuse this in Makefile.build. Signed-off-by: Sam Ravnborg <[email protected]>
2006-08-07kbuild: do not try to build content of initramfsSam Ravnborg1-0/+3
When a file supplied via CONFIG_INITRAMFS pointed to a file for which kbuild had a rule to compile it (foo.c => foo.o) then kbuild would compile the file before adding the file to the initramfs. Teach make that files included in initramfs shall not be updated by adding an 'empty command'. (See "Using Empty Commands" in info make). Signed-off-by: Sam Ravnborg <[email protected]>
2006-06-10kbuild: bugfix with initramfsNickolay1-2/+1
This patch fix double inclusion of ramfs-input. Signed-off-by: Nickolay Vinogradov <[email protected]> Signed-off-by: Sam Ravnborg <[email protected]>
2006-04-11kbuild: rebuild initramfs if content of initramfs changesSam Ravnborg1-54/+37
initramfs.cpio.gz being build in usr/ and included in the kernel was not rebuild when the included files changed. To fix this the following was done: - let gen_initramfs.sh generate a list of files and directories included in the initramfs - gen_initramfs generate the gzipped cpio archive so we could simplify the kbuild file (Makefile) - utilising the kbuild infrastructure so when uid/gid root mapping changes the initramfs will be rebuild With this change we have a much more robust initramfs generation. Signed-off-by: Sam Ravnborg <[email protected]>
2005-07-25kbuild: introduce Kbuild.includeSam Ravnborg1-1/+1
Kbuild.include is a placeholder for definitions originally present in both the top-level Makefile and scripts/Makefile.build. There were a slight difference in the filechk definition, so the most videly used version was kept and usr/Makefile was adopted for this syntax. Signed-off-by: Sam Ravnborg <[email protected]> ---
2005-04-16Linux-2.6.12-rc2Linus Torvalds1-0/+65
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!