Qemu+busybox for kernel development

Alice Ferrazzi alice.ferrazzi at gmail.com
Sun Jul 2 16:44:04 EDT 2017


On Wed, Jun 28, 2017 at 5:46 PM, Alexander Kapshuk
<alexander.kapshuk at gmail.com> 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/Documentation/early-userspace/README?h=v4.12-rc7
>
> 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.
>

We are using this in Gentoo for testing the kernel:
https://github.com/gentoo/Gentoo_kernelCI

This is how we are calling Qemu:
https://github.com/gentoo/Gentoo_kernelCI/blob/master/files/qemu_check.py#L50


-- 
Thanks,
Alice Ferrazzi

Gentoo Kernel Project Leader
Mail: Alice Ferrazzi <alice.ferrazzi at gmail.com>
PGP: 2E4E 0856 461C 0585 1336 F496 5621 A6B2 8638 781A



More information about the Kernelnewbies mailing list