The way I do it is by compiling the kernel as I would normaly do for a real system. Then, after copying vmlinuz and generating my initramfs, I run Qemu: $ qemu-system-x86_64 -kernel vmlinuz -initrd initramfs.img -append param1=value1 For me, as I am mostly testing, there is no need for a full-feature root FS, since initramfs is perfect for containing small test application and loadable kernel modules. This might come in hand, though: https://lwn.net/Articles/660404/ On 06/28/2017 05:46 AM, Alexander Kapshuk wrote:
I am trying to setup a build environment where I can run the kernel and see how the changes I have made to the kernel source work. My understanding, based on googling, is that it is common practice in the kernel community to use a virtualised environment for that purpose. What I have done so far is create a ramfs that is built into the kernel, as described here [1] and here [2].
[1] https://landley.net/writing/rootfs-howto.html [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/plain/Doc...
a). I have generated a minimal initramfs_list file: scripts/gen_initramfs_list.sh -d >usr/initramfs_list Which looks like this: # This is a very simple, default initramfs
dir /dev 0755 0 0 nod /dev/console 0600 0 0 c 5 1 dir /root 0700 0 0 # file /kinit usr/kinit/kinit 0755 0 0 # slink /init kinit 0755 0 0 slink /bin/sh busybox 777 0 0 file /init /bin/busybox 755 0 0
b). Set CONFIG_INITRAMFS_SOURCE: CONFIG_INITRAMFS_SOURCE="/home/sasha/linux/usr/initramfs_list"
c). And had the kernel generate the initramfs image: make ... GEN usr/initramfs_data.cpio.gz CHK include/generated/compile.h AS usr/initramfs_data.o LD usr/built-in.o ...
When I run the kernel in qemu I get an error message which complains about /etc/init.d/rcS missing. The posts online seem to suggest that this has got to do with the busybox configuration. So far, I have not been able to get my head around this problem. Any points or suggestions would be much appreciated.
Alexander Kapshuk.
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-- - seds ~> https://seds.nl