Count from April/03/2007 |
Japanese
The HP of VKnoppix moves to http://www.rcis.aist.go.jp/project/knoppix/vmknoppix/index-en.html.
Please go to New HP.
VMKnoppix
Introduction
VMKnoppix is a collection of Virtual Machine Software, Xen, KVM, VirtualBox, QEMU, KQEMU(QEMU with Accelerator) and UserModeLinux.
News
- Release: VMKNOPPIX for x86(20080213)
Guide PDF
- Special Features
- Xen3.2.0, KVM60, and QEMU091 are upgraded.
- Xen3.2 has a vTPM (TPM Emulator) and offers Trusted Computing environment. Physical TPM&TCG-BIOS aren't required. KNOPPIX for Trusted Computing Geeks(Trusted Boot + Remote Attestaion) boots on Xen3.2+vTPM.
- OS Circular enables to boot some Linux Distributions {CentOS5|Debian Etch|Ubuntu606|Ubuntu610|Ubuntu704} on a virtual machine {Xen|QEMU|KQEMU|KVM} with Internet Virtual Disk "Trusted HTTP-FUSE CLOOP".
- QEMU091(x86_64) offers ADM-V instruction set for virtual machine.
- KVM runs on it but Xen-HVM doesn't.
- Following figures show each functions. (Click to enlarge)
-
 |
 |
 |
| "TC Geeks KNOPPIX" boots on Xen3.2+vTPM |
"OS Circular" boots CentOS and Ubuntu with Internet Virtual Disk. |
QEMU(x86_64) enables ADM-V instruction and runs KVM on it. |
- Included virtual machine software on KNOPPIX 5.1.1 (kernel 2.6.19)
- Guide PDF
- Download
- Release: VMKNOPPIX for x86(20071101) and VMKNOPPIX for x86_64(20071107)
- Special Feature
- Download
- x86 version
- x86_64 version
- VMKNOPPIX (with httpfs,ftpfs,http-fuse:OSCircular) for x86, x86_64 are released.
- Features:
- Guest OS boots form an ISO file on a HTTP/FTP server using httpfs&ftpfs.
It doesn't need to download the whole ISO file. The Guest OS boots on Xen-HVM,
KQEMU, QEMU and KVM.
- VM change log.
- Xen 3.1.0 (Both x86 and x86_64 are upgraded)
- "knoppixHVM", "knoppixU" commands are prepared for easy run.
- KVM16(x86), KVM 18(x86_64)
- KQEMU (x86)
- QMEU (x86 and x86_64)
- "knoppix-qemu.sh" command detects suitalbe one among KVM/KQEMU/QEMU.
- User Mode Linux (x86 and x86_64)
- VirtualBox (x86)
- OS Circular
- Xen-HVM and KVM/KQEMU/QEMU on x86
- "httpfuse-qemu.sh" and "httpfuse-hvm.sh" commands are prepared for easy run.
- Usage
- httpfs/ftpfs for virtual machine
- For KVM/KQEMU/QEMU
# qemu-knoppix.sh http://***.org//Live-CD.iso
# qemu-knoppix.sh ftp://***.org//Live-CD.iso
# qemu-knoppix.sh file://tmp//Live-CD.iso
"qemu-knoppix.sh" checks the machine and selects KVM/KQEMU/QEMU
automatically.
- For Xen-HVM
# knoppixHVM http://***.org//Live-CD.iso
# knoppixHVM ftp://***.org//Live-CD.iso
# knoppixHVM file://***.org//Live-CD.iso
CAUTION: Xen-HVM is available on IntelVT or ADMV CPU only.
CAUTION: Some ftp servers don't allow httpfs.
- Other than ISO file, qemu-knoppix.sh and knoppixHVM.sh accepts bootable
disk format. For example, OS Zoo project offers many QEMU Disk Images.
http://www.oszoo.org/wiki/index.php/Category:OS_images
- HTTP-FUSE:OS Circular (for x86 only)
- For KVM/KQEMU/QEMU
# httpfuse-qemu.sh
- For Xen-HVM
# httpfuse-hvm.sh
- Current bootable OS is Debian GNU/Linux.
- Download
- x86 version
- x86_64 version
- OS Circular on QEMU/KQEMU/KVM
- We release the script for OS Circular on QEMU/KQEMU/KVM. OS Circular is Internet Disk Image Distributor for
VM. The script is effective on VMKNOPPIX.
- OS Circular depended on Xen-HVM and required the CPU which includes virtualization extension(Intel-VT or AMD-SVM). The script enables to run OS Circular
on normal x86 CPU because it selects QEMU or KQEMU when the CPU doesn't
have virtualization extension.
- ISO of VMKNOPPIX file (FTP, Torrent)
- Script: qemu-httpfuse.sh
- Usage:
- Boot VMKNOPPIX. Select "normal kernel" at GRUB Menu.
- Download "qemu-httpfuse.sh". Change the permission.
- # chmod a+x qemu-httpfuse.sh
- After that run the script. It checks the CPU and select the best one among
KVM, KQEMU and QEMU for OS Circular.
- The Guest OS image is obtained by HTTP-FUSE CLOOP. Current available OS is Debian GNU/Linux.
- VMKNOPPIX (20070328) with Trusted Boot is released.
- Features:
- VM Collection: Xen3.0.4-1(DomainU & HVM Domain), KVM16, VirtualBox,QEMU, KQEMU(QEMU with Accelerator) and UserModeLinux.
- There are many techniques of Virtual Machine, para-virtualization, full-virtualization
with virtualization instruction(IntelVT or AMD-V), dynamic translation
etc. The VM softwares runs with OS images offered by some sites(For instance
OSZoo's QEMU images).Have fun with the techniques!
- Trusted Boot: with Trusted GRUB and IMA(Integrity Measured Architecture) on
TPM1.2 (Trusted Platform Module).
- Caution: The BIOS must deal with Trusted Boot to enable this function.
- Help us: If you have vTPM on your virtual machine, please boot with this
ISO image and report. If possible we want to integrate vTPM on our VMKnoppix
and OS Circular.
- OS Circular: VMKNOPPIX includes Internet Client "OS Circular" environment.
- OS Circular enables to boot OSes on Xen with a globalized virtual disk "HTTP-FUSE CLOOP".
- Benchmark: VMKNOPPIX includes benchmark softwares.
- OProfile: VMKNOPPIX includes xenoprifle to take profile of HVM Domain OS.
- Quick Boot: VMKNOPPIX is optimized by LCAT for fast CD boot.
- GRUB Menu: includes three items; Xen3.04-1(kernel 2.6.16.33), IMA(kerenel2.6.19.1)
and normal KNOPPIX (kernel 2.6.19).
- Virtual Machine Usage
- Xen
- Boot with the first option "KNOPPIX/Xen3.0.4-1" of GRUB.
- To run DomainU with KNOPPPIX.
# knoppixU
- To run HVM Domain with KNOPPPIX on IntelVT or AMD-V.
# knoppixHVM
- Caution) Add "nofirewire" kernel option at GRUB Menu for Intel MAC.
- OS Circular
- Boot with the first option "KNOPPIX/Xen3.0.4-1" of GRUB on IntelVT
or AMD-V.
# pump -i eth0
# /etc/inint.d/xend start
# httpfuse-hvm.sh
- Selection Menu will be appeared. Select a near site.
- Contents Menu will be appeared. Select your favorite image.
- The OS will be appeared. Current Debian Etch has accounts, "root/http-fuse"
or "http-fuse/http-fuse".
(Click to enlarge the figure.)
- Caution) Add "nofirewire" kernel option at GRUB Menu for Intel MAC.
- Caution) The console must be wider than 80x24to run httpfuse-hvm.sh, because "dialog" requires wide console. If the console is small, the message "httpstoraged is ready ..." will continue.
- The technical detail was presented Virtualization Miniconf at LinuxConfAu07.
- VirtualBox
- Boot with the third option "KNOPPIX(normal kernel)" on GRUB.
# modprobe vboxdrv
# VBoxSVC &
# VirtualBox
- After that, setup VM environment interactively. The CD-Drive is setup at
the main menu after Interactive setup.
- kqemu/KVM/QEMU
- Boot with the third option "KNOPPIX(normal kernel)" on GRUB.
- Script "qemu-knoppix.sh" prepares network environment, shared memory for KQEMU, and drivers
for KVM or KQEMU.
- The priority is as follows.
1) If kvm drivers effective, kvm runs.
2) If kqemu is effective, kqemu runs.
3) If kvm and kqemu aren't available, qemu runs.
- "qemu-knoppix.sh" also accepts the following options
-no-kvm : disable KVM kernel module usage
-no-kqemu : disable KQEMU kernel module usage
-no-module: disable all kernel module usage
- For examples, the following command runs kqemu.
# qemu-knoppix.sh -no-kvm
- UML: UserModeLinux (2.6.18)
- Boot with the third option "KNOPPIX(normal kernel)" on GRUB.
- Script "umlknx.sh" prepares the environment for UML.
# umlknx.sh -no-kvm
- Trusted Boot with Trusted GRUB and IMA(Integrity Measured Architecture) on
TPM1.2 (Trusted Platform Module).
- The devices, blocks and files, which are used at boot time, are measured
and registered at PCRs(Platform Configuration Register) of the secure chip
TPM (Trusted Platform Module).
- Boot with the second option "KNOPPIX(2.6.19.1+ima)" on GRUB.
- At GRUB, we can check the TPM. Enter command line with "c". We can check the status, the values of PCRs and the event log with following commands. Enter "Esc" to exit the command line.
- grub> tpm
- grub> tpm pcrs
- grub> tpm eventlog
- After the linux boots, we can check the measurement with the following
commands.
- Set up.
- # mount -t securityfs none /sys/kernel/security
- Show the event log of GRUB.
- # cat /sys/kernel/security/tpm0/ascii_bios_measurements
- Show the event log of IMA. The list is the opened ELF files. When you open
a new ELF file, the file name is logged.
- # cat /sys/kernel/security/ima/ascii_runtime_measurements
- Show the PCRs value. The values are changed when IMA extends a new value.
- # cat /sys/devlice/pnp0/00:0b/pcrs
- Benchmarks
- pi calculation
# time /opt/pi_quick_start/pi 3000000
- tbench
- On Host
# tbench_srv
- On Guest
# tbench -t 60 1 "HostIP. Example 10.0.2.2 on VirtualBox,KVM, KQEMU,
QEMU"
- xengine
# xengine
- Benchmark Results (OLD)
- Pi calculation
-
|
Time(sec) |
remarks |
| Native CPU |
14.67 |
Core2 Duo T7200 |
| kvm14 |
19.26 |
|
| kvm12 |
17.90 |
(Sample. CD doesn't include) |
| kqemu |
24.87 |
"-kernel-kqemu" is not used |
| qemu |
227.1 |
"-no-kqemu" is used |
| VirtualBox |
17.56 |
|
| Xen(DomU) |
14.68 |
|
| Xen(HVM) |
15.99 |
|
- dbench
-
|
Time(MB/s) |
remarks |
| Native CPU |
341.0 |
Core2 Duo T7200 |
| kvm14 |
206.1 |
|
| kqemu |
36.20 |
"-kernel-kqemu" is not used |
| qemu |
29.17 |
"-no-kqemu" is used |
| VirtualBox |
223.9 |
|
| Xen(DomU) |
283.1 |
|
| Xen(HVM) |
203.3 |
|
- tbench
-
|
C2D(MB/s) |
Athlon(MB/s) |
remarks |
| kvm14 |
0.50 |
1.05 |
|
| kvm12 |
1.05 |
1.15 |
(Sample. CD doesn't include) |
| kqemu |
1.46 |
- |
"-kernel-kqemu" is not used |
| qemu |
1.53 |
1.37 |
"-no-kqemu" is used |
| VirtualBox |
1.72 |
1.57 |
|
| Xen(DomU) |
67.8 |
74.7 |
|
| Xen(HVM) |
4.11 |
3.57 |
|
- C2D: Core2 Duo T7200 (IBM ThinkPAD T60)
- Athlon: Athlon64x2 4000+ Pi calculation
- Oprofile On Xen
- Run HVM Domain
# knoppixHVM
- Select the first option "KNOPPIX/Xen3.0.4-1" on GRUB.
- Run oprofile
# opcontrol --start-daemon --vmlinux=/boot/vmlinux-syms-2.6.16.33-xen --xen=/boot/xen-syms-3.0.4-1
--passive-domains=1 --passive-images=/boot/vmlinux-syms-2.6.16.33-xen
- Stopping profiling.
# opcontrol --stop
- Show the result.
# opreport -l
- The Result
- CPU: Core 2, speed 2327.56 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit
maskof 0x00 (Unhalted core cycles) count 100000
samples % app name symbol name
15904 61.6625 qemu-dm (no symbols)
1741 6.7502 libqt-mt.so.3.3.7 (no symbols)
1432 5.5521 libshadow.so (no symbols)
702 2.7218 domain1-modules (no symbols)
649 2.5163 libc-2.3.6.so (no symbols)
361 1.3997 bash (no symbols)
283 1.0972 xen-syms-3.0.4-1 handle_exception
216 0.8375 libfb.so (no symbols)
133 0.5157 xen-syms-3.0.4-1 hypercall
130 0.5040 ld-2.3.6.so (no symbols)
128 0.4963 vmlinux-syms-2.6.16.33-xen hypercall_page
124 0.4808 Xorg (no symbols)
122 0.4730 python2.4 (no symbols)
- Download
Detail of Implementation
- Sorry. Under construction.
Reference