Build a basic Linux kernel and ramdisk that can start in QEMU.

This commit is contained in:
Adam Wick
2020-12-30 10:50:16 -08:00
commit 1838e73db3
7 changed files with 1801 additions and 0 deletions

4
scripts/build-kernel.sh Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/sh
mkdir -p artifacts/kernel
docker run --rm -v "$(pwd)/artifacts/kernel:/build/artifacts" lam-kernel bash -c "make -j2 -C /build/kernel && cp /build/kernel/arch/x86/boot/bzImage /build/artifacts/"

4
scripts/build-ramfs.sh Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/sh
mkdir -p artifacts/ramdisk
docker run --rm -v "$(pwd)/artifacts/ramdisk:/build/artifacts" lam-kernel bash -c "cd /build/ramfs && ./buildramfs.sh && cp initramfs /build/artifacts/initramfs.cpio.gz"

9
scripts/run.sh Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/sh
qemu-system-x86_64 \
-kernel artifacts/kernel/bzImage \
-initrd artifacts/ramdisk/initramfs.cpio.gz \
-nographic \
-serial mon:stdio \
-no-reboot \
-append "console=ttyS0"