summaryrefslogtreecommitdiff
path: root/usr/Makefile
AgeCommit message (Collapse)Author
2011-01-13decompressors: add boot-time XZ supportLasse Collin
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 <lasse.collin@tukaani.org> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Alain Knaff <alain@knaff.lu> Cc: Albin Tonnerre <albin.tonnerre@free-electrons.com> Cc: Phillip Lougher <phillip@lougher.demon.co.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-09-29initramfs: generalize initramfs_data.xxx.S variantsHendrik Brueckner
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 <brueckner@linux.vnet.ibm.com> Cc: WANG Cong <xiyou.wangcong@gmail.com> Acked-by: Michal Marek <mmarek@suse.cz> Acked-by: "H. Peter Anvin" <hpa@zytor.com> Cc: Hendrik Brueckner <brueckner@linux.vnet.ibm.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-05-27initramfs: add support for in-kernel initramfs compressed with LZOAlbin Tonnerre
Add the necessary parts to be enable the use of LZO-compressed initramfs build into the kernel. Signed-off-by: Albin Tonnerre <albin.tonnerre@free-electrons.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Michal Marek <mmarek@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-09-20kbuild: correct initramfs compression commentRobert P. J. Day
Fix the Makefile comment since bzip2 is now supported. Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2009-03-31bzip2/lzma: quiet Kconfig warning for INITRAMFS_COMPRESSION_NONEH. Peter Anvin
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 <hpa@zytor.com>
2009-02-19bzip2/lzma: make internal initramfs compression configurableAlain Knaff
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 <alain@knaff.lu> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2009-01-07bzip2/lzma: fix built-in initramfs vs CONFIG_RD_GZIPAlain Knaff
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>
2007-02-11[PATCH] disable init/initramfs.cJean-Paul Saman
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. [deweerdt@free.fr: warning fix] Signed-off-by: Jean-Paul Saman <jean-paul.saman@nxp.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Frederik Deweerdt <frederik.deweerdt@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2006-11-25[PATCH] initramfs: handle more than one source dir or file listThomas Chou
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 <thomas@wytron.com.tw> Cc: Sam Ravnborg <sam@ravnborg.org> Acked-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-25kbuild: consistently decide when to rebuild a targetSam Ravnborg
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 <sam@ravnborg.org>
2006-08-07kbuild: do not try to build content of initramfsSam Ravnborg
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 <sam@ravnborg.org>
2006-06-10kbuild: bugfix with initramfsNickolay
This patch fix double inclusion of ramfs-input. Signed-off-by: Nickolay Vinogradov <nickolay@protei.ru> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-04-11kbuild: rebuild initramfs if content of initramfs changesSam Ravnborg
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 <sam@ravnborg.org>
2005-07-25kbuild: introduce Kbuild.includeSam Ravnborg
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 <sam@ravnborg.org> ---
2005-01-07[PATCH] initramfs: unprivileged image creationThayne Harbaugh
This patch makes several tweaks so that an initramfs image can be completely created by an unprivileged user. It should maintain compatibility with previous initramfs early userspace cpio/image creation and it updates documentation. There are a few very important tweaks: CONFIG_INITRAMFS_SOURCE is now either a single cpio archive that is directly used or a list of directories and files for building a cpio archive for the initramfs image. Making the cpio archive listable in CONFIG_INITRAMFS_SOURCE makes the cpio step more official and automated so that it doesn't have to be copied by hand to usr/initramfs_data.cpio (I think this was broken anyway and would be overwritten). The alternative list of directories *and* files means that files can be install in a "root" directory and device-special files can be listed in a file list. CONFIG_ROOT_UID and CONFIG_ROOT_GID are now available for doing simple user/group ID translation. That means that user ID 500, group ID 500 can create all the files in the "root" directory, but that they can all be owned by user ID 0, group ID 0 in the cpio image. Various documentation updates to pull it all together. Removal of old cruft that was unused/misleading. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-10-27kbuild/usr: initramfs list fixed and simplifiedSam Ravnborg
Moving logic to scripts/gen_initramfs_list.sh make a nice cleanup in usr/Makefile. A new initramfs image will be generated if the initramfs_list file changes. This patch also fixes the bug with make O=.. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2004-10-19[PATCH] Select cpio_list or source directory for initramfs imageMartin Schlemmer
Attached is a patch that adds CONFIG_INITRAMFS_SOURCE, enabling you to either specify a file as cpio_list, or a directory to generate a list from. It depreciate the INITRAMFS_LIST environment variable introduced not long ago. There are some issues (suggestions/patches welcome) that I am not sure about: 1) I put the menu entry under block devices, but I am not sure if this is the correct location? 2) There might be a better (or more correct) way to do this with kbuild? 3) Variable names and especially help text needs some love. 4) I am not sure if I am duplicating work in progress? Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-10-19[PATCH] gen_init_cpio uses external file listThayne Harbaugh
This patch makes gen_init_cpio generate the initramfs_data.cpio from a file which contains a list of entries: file, dir, nod. I swapped the order of filename/location for the file arguments so that it would be more uniform with the dir and node tyes. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-08-11kbuild: Replace host-progs with hostprogs-ySam Ravnborg
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2003-07-25[PATCH] usr/: Updated .incbin supportSam Ravnborg
Update support for .incbin in /usr. No longer generate .S files from within the Makefile. Also deleted the assignment to LDFLAGS_BLOB for most architectures. I did not touch ARM and cris: arm: Russell told me they did not have a new as that could be used cris: Looked like it was used for more than just usr/
2003-07-16[PATCH] make clean should remove usr/initramfs_data.SMikael Pettersson
The kernel build leaves a temp file in linux/usr/ that make clean doesn't remove. Fixed in the patch below.
2003-07-09Fix mailer-induced corruption in initramfs build rulesLinus Torvalds
2003-07-09[PATCH] Use ".incbin" for initramfs image buildDavid Mosberger
This makes initramfs use ".incbin" to include a binary blob into the object file, instead of using LDFLAGS_BLOB, which isn't supported on all architectures. This will require reasonably modern binutils, but is portable. This is the last thing that keeps the standard tree from building directly for ia64.
2003-03-10kbuild: Use targets := to tell kbuild about additional targetsSam Ravnborg
EXTRA_TARGETS served several purposes before: 1) List targets to be build (built-in only) 2) Inform kbuild of targets within the makefile Mixing the above are causing confusion, so for now on targets := is used to inform kbuild about targets in a Makefile - that it otherwise did not know about. kbuild uses the "targets :=" information to: a) read the dependency file .target.cmd b) delete the target file during make clean
2003-03-07kbuild: handle any failures of the gen_init_cpio or initramfs image to stop ↵Greg Kroah-Hartman
the build. This also shows how to add files to the initramfs build, but is commented out. Patch originally done by Kai.
2002-11-04kbuild: Fix up initramfs, adapt arch/alphaKai Germaschewski
Grrh, don't do last minute changes without retesting. Adapt arch/alpha as well, other archs need to o add LDFLAGS_BLOB to arch/$(ARCH)/Makefile o add .init.ramfs to arch/$(ARCH)/vmlinux.lds.S See arch/i386/{Makefile,vmlinux.lds.S} for guidance ;)
2002-11-04kbuild: initramfs updatesKai Germaschewski
Use ld to link the cpio archive into the image, build was broken due to requiring a recent version of objcopy before, plus assorted cleanups: o Don't include arch/$(ARCH)/Makefile, export the needed arch-specific flags instead. o Name the generated section consistently .init.ramfs everywhere.
2002-11-01Minimal initramfs support (based on Al Viro's work).Jeff Garzik