booting kernel with kvm

Raghavendra arrao at cdac.in
Wed Oct 15 15:13:31 EDT 2014


On 15/10/2014 11:27 PM, harisha ja wrote:
> Hi Raghavendra,
>
> Thanks for your response.
>
> Yes that was an issue and I corrected it. But I see kvm is trying to 
> boot the kernel and I still see those tracebacks and it does not do 
> anything after that. It is not giving back the console.
>
That is because you are trying to boot a system without providing the 
root file system.
You could get a simple non-GUI based file systems if you just search for 
it, else you could build your own and then try launching QEMU.
>
>
> Some commands I executed
>
> linux/linux_ws$ sudo modprobe kvm-intel
> FATAL: Error inserting kvm_intel 
> (/lib/modules/3.11.0-15-generic/kernel/arch/x86/kvm/kvm-intel.ko): 
> Operation not supported
> rama at ubuntu:~/linux/linux_ws$
>
>
First of all, the underlying hardware, which in your case is VmWare box, 
has to support that!
>
> rama at ubuntu:~/linux/linux_ws$ egrep '^flags.*(vmx|svm)' /proc/cpuinfo
> rama at ubuntu:~/linux/linux_ws$
>
>
>
> The modified command
>
> qemu-system-x86_64 -kernel  ./arch/x86/boot/bzImage -append 
> "root=/dev/sda"
>
> This is my printf which I am expecting to see using dmsg after kernel 
> bootup. Am I missing something here?
>
> rama at ubuntu:~/linux/linux_ws$ git diff
> diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c 
> b/drivers/net/ethernet/intel/e1000/e1000_main.c
> index cbc330b..3063991 100644
> --- a/drivers/net/ethernet/intel/e1000/e1000_main.c
> +++ b/drivers/net/ethernet/intel/e1000/e1000_main.c
> @@ -937,7 +937,7 @@ static int e1000_probe(struct pci_dev *pdev, const 
> struct pci_device_id *ent)
>         struct net_device *netdev;
>         struct e1000_adapter *adapter;
>         struct e1000_hw *hw;
> -
> +
>         static int cards_found = 0;
>         static int global_quad_port_a = 0; /* global ksp3 port a 
> indication */
>         int i, err, pci_using_dac;
> @@ -945,7 +945,8 @@ static int e1000_probe(struct pci_dev *pdev, const 
> struct pci_device_id *ent)
>         u16 tmp = 0;
>         u16 eeprom_apme_mask = E1000_EEPROM_APME;
>         int bars, need_ioport;
> -
> +
> +       printk(KERN_DEBUG "I can modify the Linux kernel!\n");
>         /* do not allocate ioport bars when not needed */
>         need_ioport = e1000_is_need_ioport(pdev);
>         if (need_ioport) {
>
>
Ok, first of all, what Paul suggested is absolutely right. You can't get 
through the kernel log for a KERN_DEBUG(except for changing some make 
options and all). Try using dev_info().

The next thing I see is that, you are printing in the driver's probe 
function, which would not be called unless a matching hardware is found.
While launching kvm itself, you have you provide the hardware as well.

So, your complete setup should be something like this.
1) Download a file system image(or make your own). Lets call this 
"rootfs.img"
2) Compile the driver, e1000 as a part of linux(not as a module).
3) While launching QEMU, provide an option to "emulate" the e1000 device 
as well.
4) Launch qemu as :

$ qemu-system-x86 -hda rootfs.img -kernel bzImage -append 
"root=/dev/sda1" -net nic,model=e1000
>
>
>
>
> Thanks and Regards,
> Harisha
>
Hope this helps.

Raghavendra
>
>
>
>
>
> On Wed, Oct 15, 2014 at 3:53 PM, Raghavendra <arrao at cdac.in 
> <mailto:arrao at cdac.in>> wrote:
>
>     Hello,
>     On Wednesday 15 October 2014 03:01 PM, harisha ja wrote:
>>
>>     Hi All,
>>
>>     I am interested in Linux kernel development. I have subscribed
>>     for newbies mail for a while and this is my first mail to the
>>     group. My intention and interest is to work on network( if
>>     possible mm) side of kernel. First of all thanks for all the
>>     kernel developers and the guys here for contribution to Linux
>>     community.
>>
>>     Here is my doubt.
>>
>>     1) I downloaded the linux source code and created the config
>>     using make defconfig and created image using make ( I did not do
>>     make install as I want test it with kvm)
>>
>>     I have windows 7 system and I have installed ubuntu using vmware.
>>     I have installed KVM on ubuntu and I am trying to boot the kernal
>>     image with KVM. But I am not sure what is the problem. I am stuck
>>     in this screen. Is something I am missing here?
>>
>>     The approach using kvm to put some logs and to see module
>>     initialization is wrong?.
>>
>>     The command I am using
>>     kvm  -kernel ./arch/x86/boot/bzImage  -append root=/root/
>     Along with the kernel, you must also specify the file system
>     image. A simple invoking of the command could be something like this :
>     $ kvm -hda file_system.img -kernel bzImage -append "root=/dev/sda1"
>>
>>
>>     I see the below message and then the qemu prompt does not boot
>>     and stops by displaying below traceback.
>>
>>     |Could not access KVM kernel module: No such file or directory
>>     failed to initialize KVM: No such file or directory|
>>
>     That's fine. QEMU uses something called as tcg accelerator to get
>     the job done.
>>
>>
>>     QEMU
>>     5.1654731 Stack: 5.1654731 c18ea844 claea9a0 00000000 fffffffa
>>     d?861efc 00008001 d?8611 a35f91 5.1654731 cl8ddba8 d?861efc
>>     d7861efc fffffffa 00000000 d7b6e000 cl8dd6 ff3dc0 5.1654731
>>     d7b6e000 6e6b6e75 2d6e??61 636f 6c62 2c30286b c1002930 d78611
>>     13c248 5.1654731
>>     Call Trace:
>>     5.1654731 l<c1a35f91>1 mount_block_root+Ox158/0x1de
>>     5.1654731 l<c1002930>1 ? do_general_protection+0x40/0x170
>>     5.1654731 l<c113c248>1 ? SyS_mknod+0x28/0x30
>>     5.1654731 l<cla3610a>1 mount_root+Oxf3/Oxfb
>>     5.1654731 l<c1a36235>1 prepare_namespace+0x123/0x167
>>     5.1654731 l<c112cf30>l ? SyS_access+0x20/0x30
>>     5.1654731 l<cla35cf7>1 kernel_init_freeable+Ox1b5/0x1c2
>>     5.1654731 l<c1a35545>1 ? do_early_param+0x74/0x74
>>     5.1654731 l<c174caab>1 kernel_init+Oxb/Oxe0
>>     5.1654731 l<c175a041>1 ret_from_kernel_thread+0x21/0x30
>>     5.1654731 l<c174caa0>1 ? rest_init+0x60/0x60
>>     5.1654731 Code: 00 00 00 00 31 ff 83 3d 8c a9 ae cl 00 74 05 e8
>>     Oe dO 9 c? 44 24 04 a0 a9 ae cl c7 04 24 44 a8 Be cl e8 b6 05 00
>>     00 fb 3116 <35>1 15 83 75 f0 01 8b 45 f0 ff 15 80 a9 ae cl 01 c6
>>     8d be 5.1654731 EIP: l<c174f2e9>1 panic+0x165/0x197 SS:ESP
>>     0068:d7861eb8 5.1654731 --I end trace a4Obaf277b417d8d 1--
>     This is probably because of the file system issue that I've
>     mentioned previously.
>>
>>
>>
>>
>>
>>
>>     Thanks
>>     Harish
>>
>>
>>
>>     _______________________________________________
>>     Kernelnewbies mailing list
>>     Kernelnewbies at kernelnewbies.org  <mailto:Kernelnewbies at kernelnewbies.org>
>>     http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
>     Raghavendra
>
>     -------------------------------------------------------------------------------------------------------------------------------
>
>     [ C-DAC is on Social-Media too. Kindly follow us at:
>     Facebook: https://www.facebook.com/CDACINDIA & Twitter: @cdacindia ]
>
>     This e-mail is for the sole use of the intended recipient(s) and may
>     contain confidential and privileged information. If you are not the
>     intended recipient, please contact the sender by reply e-mail and
>     destroy
>     all copies and the original message. Any unauthorized review, use,
>     disclosure, dissemination, forwarding, printing or copying of this
>     email
>     is strictly prohibited and appropriate legal action will be taken.
>     -------------------------------------------------------------------------------------------------------------------------------
>
>
>
>
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


-------------------------------------------------------------------------------------------------------------------------------
[ C-DAC is on Social-Media too. Kindly follow us at:
Facebook: https://www.facebook.com/CDACINDIA & Twitter: @cdacindia ]

This e-mail is for the sole use of the intended recipient(s) and may
contain confidential and privileged information. If you are not the
intended recipient, please contact the sender by reply e-mail and destroy
all copies and the original message. Any unauthorized review, use,
disclosure, dissemination, forwarding, printing or copying of this email
is strictly prohibited and appropriate legal action will be taken.
-------------------------------------------------------------------------------------------------------------------------------

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20141016/9f200e8a/attachment-0001.html 


More information about the Kernelnewbies mailing list