FS#7331 - kvm as seperate package

Attached to Project: Arch Linux
Opened by Blaž Tomažič (billy) - Friday, 01 June 2007, 08:43 GMT
Last edited by Alexander Baldeck (kth5) - Wednesday, 01 August 2007, 22:15 GMT
Task Type Feature Request
Category Kernel
Status Closed
Assigned To Alexander Baldeck (kth5)
Architecture All
Severity Low
Priority Low
Reported Version 3.0.4
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Kvm is developing and including new features very fast and the built in kernel module gets old over time. For a new version of kvm you need to wait for a new kernel release which are not that very frequent. At the time of writing current kvm version (version 26) supports Windows Vista as a guest operating system and current built-in kernel kvm module (version 17) does not. Could kvm be maintained as a seperate package using an external module?

Also KVM webpage says that it is recommended to add kvm support in this way. http://kvm.qumranet.com/kvmwiki/Downloads
This task depends upon

Closed by  Alexander Baldeck (kth5)
Wednesday, 01 August 2007, 22:15 GMT
Reason for closing:  Won't implement
Additional comments about closing:  kvm enabled in kernel + qemu-kvm in qemu package
Comment by Alexander Baldeck (kth5) - Monday, 11 June 2007, 09:06 GMT
kvm-28 has been implemented in the following packages:

kvm-modules-28-1-x86_64
qemu-0.9.0-2-x86_64

qemu-system-x86_64 has been replaced with the Qemu/KVM that ships with kvm upstream.
Feel free to play with it on i686, I don't have hardware to test atm.
Comment by Roman Kyrylych (Romashka) - Monday, 11 June 2007, 10:02 GMT
why is it kvm-modules and not just kvm as all kernel modules are?
Comment by Alexander Baldeck (kth5) - Monday, 11 June 2007, 10:06 GMT
kvm upstream also includes qemu ours would not.
Comment by crc32 (crc64) - Tuesday, 12 June 2007, 07:33 GMT
> kvm-28 has been implemented in the following packages:
>
> kvm-modules-28-1-x86_64
> qemu-0.9.0-2-x86_6

Are these packages in the AUR? I can't seem to find them :(

> kvm upstream also includes qemu ours would not.

Err, but kvm comes with a modified qemu. The official qemu package does not make take advantage of the acceleration provided by kvm modules?
I think we need to provide both kvm and kvm-utils packages.
Comment by Alexander Baldeck (kth5) - Tuesday, 12 June 2007, 07:36 GMT
the packages are in testing for x86_64 ONLY as described above.

if you have a look at the TESTING-64 version of qemu, you'll see how it's been done.
Comment by crc32 (crc64) - Tuesday, 12 June 2007, 12:56 GMT
> if you have a look at the TESTING-64 version of qemu, you'll see how it's been done.

Ahh... right. I realize now from the PKGBUILD that the qemu sources have been patched with those from kvm.
Awesome :)

Sorry for the bugspam.
Comment by Blaž Tomažič (billy) - Wednesday, 13 June 2007, 21:51 GMT
will this be implemented for 32-bit version of arch too?
Comment by Alexander Baldeck (kth5) - Thursday, 14 June 2007, 01:15 GMT
The PKGBUILD is ready for it. Simply comment out the x86_64 switch and try. If I get positive feedback, I'll happily implment the change.
Comment by Blaž Tomažič (billy) - Thursday, 14 June 2007, 17:27 GMT
i can't compile qemu because of gcc3. i get the same error as this http://article.gmane.org/gmane.comp.emulators.kvm.devel/3701. as answered here http://article.gmane.org/gmane.comp.emulators.kvm.devel/3746, error happens because the gcc3 version is 3.3 and not 3.4. i flagged gcc3 package out-of-date.
Comment by Roman Kyrylych (Romashka) - Friday, 15 June 2007, 09:25 GMT Comment by Nicolas Doualot (slubman) - Friday, 15 June 2007, 21:23 GMT
The kvm api stability is planned for 2.6.22, so I really think kvm should be re-enabled (at least when this kernel is released).

Anyway, I send this message because I've successfully built the kvm-modules package on i686 but needed to change the PKGBUILD:
* To successfully build the kvm-qemu I need to upgrade to gcc 3.4.6 (so i change this in the PKGBUILD)
* The move at the end is only necessary for x86_64

For the qemu version needed to use kvm, I build it in a qemu-kvm package which replace (and provide) the qemu one.

Attached, there are the 3 PKGBUILDs ( gcc3, kvm-modules, kvm-utils)

P.S: i've only touch the x86 part, the x86_64 stay as it was.
Comment by Nicolas Doualot (slubman) - Saturday, 16 June 2007, 08:36 GMT
Attached a better PKGBUILD for kvm-module (it take into account the _kver variable)
Comment by Nicolas Doualot (slubman) - Saturday, 16 June 2007, 09:26 GMT
Last one (i hope)

* Do not depends on gcc3, cause it's only needed to build the qemu, not the module.
* Same configure for i686 and x86_64
* Do not call the qemu configure wch seems to make some weirds thinks in /tmp (qemu-noconfigue.patch)
Comment by Jonathan Frazier (wide-eye) - Sunday, 17 June 2007, 16:21 GMT
qemu's configure runs compiled tests from /tmp by default, exporting TEMPDIR='./' or some other path takes care of it. I guess you have to have /tmp mounted with noexec like i do to care about this.

qemu 0.9 builds ok with qemu-0.9.0-gcc4.patch, kvm side dies with errors in src/kvm-28/qemu/target-i386/ops_sse.h. the other patch doesn't apply cleanly to either qemu 0.9 or kvm-28.
Comment by Blaž Tomažič (billy) - Sunday, 24 June 2007, 14:42 GMT
why do we need to move modules from extra to misc dir? and wouldn't be better to name the package just kvm instead of qemu-kvm?

all PKGBUILDs from Nicolas (Slubman) work fine here on i686. i think qemu-kvm PKGBUILD should have gcc3>=3.4.0 instead of just gcc3 in makedepends.

Loading...