# Lightweight Linux Kernel Development with KVM

DevFeed: [Lightweight Linux Kernel Development with KVM](<https://devfeed.tech/articles/lightweight-linux-kernel-development-with-kvm-21933.md>)

Original publisher: [Read original article](<https://blog.nelhage.com/2013/12/lightweight-linux-kernel-development-with-kvm/>)

Author: Nelson Elhage

Published: 2013-12-30T02:11:45Z

Content type: tutorial

Language: en

Sources: [Nelson Elhage](<https://devfeed.tech/sources/nelson-elhage.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [kernels](<https://devfeed.tech/topics/kernels.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [Disk image](<https://devfeed.tech/topics/disk-image.md>), [Debian](<https://devfeed.tech/topics/debian.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>), [networking](<https://devfeed.tech/topics/networking.md>)

Tags: [debian](<https://devfeed.tech/tags/debian.md>), [development](<https://devfeed.tech/tags/development.md>), [features](<https://devfeed.tech/tags/features.md>), [image](<https://devfeed.tech/tags/image.md>), [kernels](<https://devfeed.tech/tags/kernels.md>), [kvm](<https://devfeed.tech/tags/kvm.md>), [linux](<https://devfeed.tech/tags/linux.md>), [linux-kernel](<https://devfeed.tech/tags/linux-kernel.md>), [networking](<https://devfeed.tech/tags/networking.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>), [virtio](<https://devfeed.tech/tags/virtio.md>)

## AI overview

A practical workflow for Linux kernel development using lightweight virtual machines with KVM. It covers minimal kernel configuration, building a Debian userspace disk image, booting the guest with virtio, and configuring networking, with notes for different architectures.

## Source excerpt

I don't do a ton of Linux kernel development these days, but I've done a fair bit in the past, and picked up a number of useful techniques for doing kernel development in a relatively painless fashion. This blog post is a writeup of the tools and techniques I use when developing for the Linux kernel. Nothing I write here is "the one way" to do it, but this is a workflow I've found to work for me, that I hope others may find useful.