aboutsummaryrefslogblamecommitdiffhomepage
path: root/content/20191027-kernel-debugging-qemu/build_kernel.sh
blob: 7ae30141f16729b1ba43fea3f5a8f3a62df59526 (plain) (tree)
1
2
3
4
5



           
                  
































                                                               
#!/bin/bash

set -e

LINUX=linux-5.13.2
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/$LINUX.tar.xz
unxz $LINUX.tar.xz && tar xf $LINUX.tar

cd $LINUX

cat <<EOF > kernel_fragment.config
# 64bit kernel
CONFIG_64BIT=y
# enable support for compressed initrd (gzip)
CONFIG_BLK_DEV_INITRD=y
CONFIG_RD_GZIP=y
# support for ELF and #! binary format
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_SCRIPT=y
# /dev
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# tty & console
CONFIG_TTY=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
# pseudo fs
CONFIG_PROC_FS=y
CONFIG_SYSFS=y
# debugging
CONFIG_DEBUG_INFO=y
CONFIG_PRINTK=y
CONFIG_EARLY_PRINTK=y
EOF

make tinyconfig
./scripts/kconfig/merge_config.sh -n ./kernel_fragment.config
make -j4