I compiled the kernel by doing
make menuconfig and
make. I was trying to run the bzImage in qemu, by doing
qemu -kernel bzImage but it didn't work out:
How can I fix it? How can I run the bzImage in qemu?
It did work out. The kernel booted fine. The error is:
The kernel is looking for a root filesystem. You need to provide one. You can't interact with a kernel without running processes on it, and the initial process has to be loaded from somewhere: when the kernel starts, it mounts a filesystem (the root filesystem) on the directory
You must make sure that the kernel is able to mount the root filesystem. It must have drivers for the filesystem type and for all the layers involved in the block device (disk controller (SCSI/SATA/IDE/USB/… adapter), partition type, etc.).
Linux offers an additional possibility, which is to load an initial filesystem in RAM that's used during the boot process in order to locate and mount the root filesystem. This initial filesystem can contain modules that handle the device and filesystem type of the root filesystem. There are two slightly different mechanisms: initrd and initramfs.