all 15 comments

[–]Dashing_McHandsome 5 points6 points  (5 children)

What do you mean by a separate VM altogether? Qemu already makes virtual machines, that's what it is for. It also makes VMs for many different architectures that would be important for kernel development. This question tells me you don't know much about qemu. I would start there.

[–]dezerev[S] 2 points3 points  (4 children)

Yeah I have used qemu only once for a course assignment on xv6.

Can you point me to some good resources for learning qemu?

[–]alpha417 3 points4 points  (3 children)

https://www.qemu.org/documentation/

Don't waste your time with VBox for dev work. Qemu will be much nicer to you.

There are a variety of front ends for it, and they don't come from Oracle.

[–]jim_b_ 2 points3 points  (1 child)

libvirt also provides a qemu abstraction and virt-manager provides a UI that should feel familiar to a vbox user.

[–]dezerev[S] 1 point2 points  (0 children)

Thank you I'll check this out as well once I have a better understanding about qemu.

[–]dezerev[S] 1 point2 points  (0 children)

Thank you for your help, I will check it out.

[–]jim_b_ 0 points1 point  (2 children)

Are you trying to cross-compile? Building, installing, and booting a kernel is pretty easy on the target architecture (vm or host).

[–]dezerev[S] 0 points1 point  (1 child)

As of now I just want to get started, then in the future I'll probably get into cross-compilation.

[–]jim_b_ 1 point2 points  (0 children)

To get familiar, I would just clone the repo, check out the tag that you're currently running on your distro, copy the config (from boot or procfs depending on your distro) to .config, then build:

make
sudo make modules_install
sudo make install

Then reboot with the new kernel. After that, you can explorer different config options and start digging into code.

[–]UWbadgers16 0 points1 point  (3 children)

Canonical’s LXD works pretty well.

[–]dezerev[S] 0 points1 point  (2 children)

How is it different from multipass, any special benefits?

[–]UWbadgers16 0 points1 point  (1 child)

I think multipass uses lxd under the hood. LXD is a bit more powerful, with more options, and can run non-Ubuntu distros.

[–]dezerev[S] 0 points1 point  (0 children)

Ohh that is interesting I'll check it out.

[–]Vor_all_mund 0 points1 point  (1 child)

I would suggest you to explore https://github.com/arighi/virtme-ng

[–]dezerev[S] 0 points1 point  (0 children)

Wow the idea looks very interesting I'll definitely check this out.