AVATT
The wiki is being retired!
Documentation is now handled by the same processes we use for code: Add something to the Documentation/ directory in the coreboot repo, and it will be rendered to https://doc.coreboot.org/. Contributions welcome!
This page is about the "All Virtual All The Time" GSoC 2008 project. This project aims to create a modified Linux-As-Bootloader coreboot payload that contains a Linux kernel modified to include KVM support, uClibc, a custom busybox image, and whatever is needed to get KVM-qemu up and running in the ROM image.
Needed tools
In order to build this, you need a modified version of buildrom, that can be cloned from my git repo like this:
git clone git://repo.or.cz/kvm-coreboot.git buildrom
In order for it to work, you need to have installed the prerequisites of buildrom.
You need a x86 version of Linux, since currently the build fails on x86-64.
How to build
Just type
make
If you wish to make some adjustments, you may do it by running one of these commands, at will:
make menuconfig (for buildrom) make kernel-config make uclibc-config make busybox-config
Then you must follow the QEMU Build Tutorial to see how you can use QEMU to run the resulted BIOS image.
Current status
- everything compiles fine on x86 but fails on x86-64. I have tested it on Ubuntu 8.04, Debian Lenny and Gentoo current, all on x86.
- kvm crashes due to Thread Local Store(TLS) issues in Clibc.
TODO
- fix the TLS issues or migrate to another version of uClibc which hopefully has a fixed implementation of TLS so that the kvm userspace tool doesn't crash anymore.
- user-friendly tool that can create and run virtual machines.
- automated startup of the virtual machines at boot.
- get the network to work.
- integrate the virt-manager daemon inside the ROM image, if it and its dependencies fit the remaining free space.
- fix compilation on x86_64 boxes by compiling everything in 64bit mode.
Contact
cristi.magherusan NO@SPAM net.utcluj.ro or alien on IRC