Live CD Kernel

From LFScript
Revision as of 22:13, 5 September 2014 by Marcel (talk | contribs) (Created page with "Compiles the Linux kernel with UnionFS and SquashFS support. <scriptname>kernel-live</scriptname> == Sources == * <sourcecode>https://www.kernel.org/pub/linux/kernel/v3.x/li...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Compiles the Linux kernel with UnionFS and SquashFS support.

LFScript can find this software under the name kernel-live.

Sources


MD5 Checksums:

e7a985a243b7941b6bc6240fcbc797fc  linux-3.16.1.tar.xz
f2c22645a7306720a8278acae72969cd  unionfs-2.6_for_3.16.1.diff.gz

Installation

# Add UnionFS to the kernel
cp -v ../$(readlink ../unionfs-2.6_for_3.16.1.diff.gz) .
gzip -d unionfs-2.6_for_3.16.1.diff.gz
patch -Np1 -i unionfs-2.6_for_3.16.1.diff
# Add UnionFS to the kernel configuration
echo "CONFIG_UNION_FS=y"                  >> .config
echo "# CONFIG_UNION_FS_XATTR is not set" >> .config
echo "# CONFIG_UNION_FS_DEBUG is not set" >> .config
# Ensure SquashFS is selected in the kernel configuration
if [ "$(cat .config | grep '# CONFIG_SQUASHFS is not set')" ]; then
    sed -i "s@# CONFIG_SQUASHFS is not set@@g" .config

    echo "CONFIG_SQUASHFS=y"                                >> .config
    echo "CONFIG_SQUASHFS_FILE_CACHE=y"                     >> .config
    echo "# CONFIG_SQUASHFS_FILE_DIRECT is not set"         >> .config
    echo "CONFIG_SQUASHFS_DECOMP_SINGLE=y"                  >> .config
    echo "# CONFIG_SQUASHFS_DECOMP_MULTI is not set"        >> .config
    echo "# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set" >> .config
    echo "# CONFIG_SQUASHFS_XATTR is not set"               >> .config
    echo "CONFIG_SQUASHFS_ZLIB=y"                           >> .config
    echo "CONFIG_SQUASHFS_LZO=y"                            >> .config
    echo "CONFIG_SQUASHFS_XZ=y"                             >> .config
    echo "# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set"      >> .config
    echo "# CONFIG_SQUASHFS_EMBEDDED is not set"            >> .config
    echo "CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3"            >> .config
fi
# Compile
make

As the root user:

# Install
cp -v arch/x86/boot/bzImage /boot/vmlinuz-3.16.1-live
cp -v .config /boot/config-3.16.1-live