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.
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
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
What's inside the BIOS ROM image
- Linux kernel version 22.214.171.124 with tiny patches and a custom config
- uClibc 0.9.28.3 with some patches applied (aio, fenv, long double math) and a custom config - only the .so files is included
- zlib 1.2.3 - only the .so file included
- ncurses 5.6 - the .so file and some other small necessary files are included
- kvm-72 with some small patches - the extra BIOSes, the nbd tool and the docs are missing
- busybox 1.1.3 with a custom config - NEEDS UPDATE
- 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.
- 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.
- keep the versions as up-to-date as possible but also compatible with each other
cristi.magherusan NO@SPAM net.utcluj.ro or alien on IRC