Building the Linux kernelΒΆ
The Linux kernel is required to execute systems using haskus-system. Leaving
aside modules and firmwares, a compiled Linux kernel is a single binary file
that you can use with QEMU to execute your own systems.
To build Linux, you first need to download it from http://kernel.org and to unpack it:
wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.8.tar.xz
tar xf linux-4.9.8.tar.xz
Then you need to configure it. We recommend at least the following:
cd linux-4.9.8
# default configuration for the X86-64 target
make x86_64_defconfig
# enable some DRM (graphics) drivers
./scripts/config -e CONFIG_DRM_BOCHS
./scripts/config -e CONFIG_DRM_RADEON
./scripts/config -e CONFIG_DRM_NOUVEAU
./scripts/config -e CONFIG_DRM_VIRTIO_GPU
# fixup configuration (use default values)
make olddefconfig
If you know what you are doing, you can configure it further with:
make xconfig
Finally, build the kernel with:
make -j8
Copy the resulting kernel binary that you can use with QEMU for instance:
cp arch/x86/boot/bzImage linux-4.9.8.bin
You can also copy built modules and firmwares with:
make modules_install INSTALL_MOD_PATH=/path/where/to/copy/modules
make firmware_install INSTALL_FW_PATH=/path/where/to/copy/firmwares