Files
linux-kernel-module-cheat/run
Ciro Santilli 9370512176 delay attempt 2
2017-05-15 08:22:39 +01:00

42 lines
921 B
Bash
Executable File

#!/usr/bin/env bash
set -e
# CLI handling.
nographic=false
while getopts n OPT; do
case "$OPT" in
n)
nographic=true
;;
esac
done
if $nographic; then
extra_append='console=ttyS0'
extra_flags='-nographic'
else
extra_append=''
extra_flags=''
fi
# Work.
cd buildroot
make BR2_EXTERNAL="$(pwd)/../kernel_module" qemu_x86_64_defconfig
echo '
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="../kernel_config_fragment"
BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="../busybox_config_fragment"
BR2_PACKAGE_KERNEL_MODULE=y
BR2_ROOTFS_OVERLAY="../rootfs_overlay"
' >> .config
env -u LD_LIBRARY_PATH make BR2_JLEVEL="$(($(nproc) - 2))" kernel_module-rebuild all
qemu-system-x86_64 \
-M pc \
-append "root=/dev/vda $extra_append" \
-drive file=output/images/rootfs.ext2,if=virtio,format=raw \
-kernel output/images/bzImage \
-m 128M \
-net nic,model=virtio \
-net user \
-smp 1 \
$extra_flags \
;