14 Jan, 2011

1 commit

  • This implements the API defined in 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
    Cc: "H. Peter Anvin"
    Cc: Alain Knaff
    Cc: Albin Tonnerre
    Cc: Phillip Lougher
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lasse Collin
     

29 Sep, 2010

1 commit

  • 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
    Cc: WANG Cong
    Acked-by: Michal Marek
    Acked-by: "H. Peter Anvin"
    Cc: Hendrik Brueckner
    Cc: Heiko Carstens
    Cc: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Michal Marek

    Hendrik Brueckner
     

28 May, 2010

1 commit


20 Sep, 2009

1 commit


01 Apr, 2009

1 commit


20 Feb, 2009

1 commit

  • 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
    Signed-off-by: H. Peter Anvin

    Alain Knaff
     

07 Jan, 2009

1 commit

  • 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
    Signed-off-by: H. Peter Anvin

    Alain Knaff
     

12 Feb, 2007

1 commit

  • 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
    Cc: Al Viro
    Cc:
    Signed-off-by: Frederik Deweerdt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean-Paul Saman
     

26 Nov, 2006

1 commit

  • 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
    Cc: Sam Ravnborg
    Acked-by: Matthew Wilcox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Chou
     

25 Sep, 2006

1 commit

  • 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
     

08 Aug, 2006

1 commit

  • 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
     

10 Jun, 2006

1 commit


11 Apr, 2006

1 commit

  • 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
     

26 Jul, 2005

1 commit

  • 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
     

17 Apr, 2005

1 commit

  • 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!

    Linus Torvalds