Qemu+busybox for kernel development

Alexander Kapshuk alexander.kapshuk at gmail.com
Sun Jul 2 15:45:00 EDT 2017


On Wed, Jun 28, 2017 at 10:48 PM, Shahbaz khan <shazalive at gmail.com> wrote:
> Hi Alexander,
>
> On Wed, Jun 28, 2017 at 1: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.
>
>
> Did you check initramfs for rc.S script?
>
> The kernel configuration, busybox configuration and the layout of initramfs
> (which should be /home/sasha/linux/usr/initramfs_list) should be consistent.
> If the kernel is asking for it then it is not consistent.
>
>>
>> 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 at kernelnewbies.org
>> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>
>
>
> Thank you.
> Shahbaz Khan

Apologies for the delay in replying.

Thanks very much for all of your responses. I'll give them all a try.



More information about the Kernelnewbies mailing list