Home / LinuxUser / 2009 / 09 / Richtige Richtung?

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

KDE Plasma Workspaces 4.8
(306 Punkte bei 32 Stimmen)
SUSE12
(173 Punkte bei 4 Stimmen)
Pardus Linux am Ende?
(164 Punkte bei 4 Stimmen)
OpenSuse 12.1-Service Kit 01/12
(161 Punkte bei 4 Stimmen)
Meinst Du: Patch CD Updates?
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.
AA_korken-kompass_sxc_905116.jpg

© sxc.hu

Richtige Richtung?

Linux-Kernel führt Windows-Programme aus

07.08.2009 Für manche ist es ein Traum, für andere eher ein Albtraum: Windows-Programme nativ unter Linux zu nutzen. Der Linux Unified Kernel alias "Longene" soll es möglich machen – doch der Teufel steckt im Detail.

Beim Linux Unified Kernel [1] handelt es sich um einen leicht abgeänderten Linux-Kernel 2.6.23 inklusive einer speziellen Wine-Version. Die Wine-Version benötigt der Longene-Kernel, da noch nicht sämtliche Systemaufrufe im Kernelmodul integriert sind. In späteren Versionen des Linux Unified Kernel, will man komplett auf Wine verzichten. Der "Longene"-Kernel hat weite Teile des Codes auch von ReactOS [2] übernommen, darunter die grundlegenden Systemaufrufe. Zurzeit stellt Longene somit eine Hybridlösung von ReactOS und Wine auf Linux-Basis dar.

Dieser Artikel stellt die Version 0.2.4 des Linux Unified Kernels vom 22. Mai 2009 vor. Sie basiert auf dem Linux-Kernel 2.6.23 und Wine 1.0.0. Sie finden den Longene-Quellcode auch auf der Heft-DVD. Zu den Neuerungen von Version 0.2.4 gehört unter anderem die direkte Unterstützung der Dateisystemfunktionen durch den Kernel, wodurch Longene im Vergleich zu Wine deutlich zügiger arbeiten soll. In unseren Tests konnten wir dies jedoch nicht messen, da der Longene-Kernel kein einziges Windows-Programm starten konnte.

Der Linux Unified Kernel wird bereits seit 2006 von der chinesischen Firma Insigma Co. Ltd entwickelt. In unseren Breitengraden kennt man Longene erst, seitdem Insigma im Januar 2009 die Homepage auch in englischer Sprache online stellte. Die Dokumentation zum Projekt findet sich in Form eines Whitepapers [3] auf der Projektseite. Das Papier steht allerdings zurzeit nur in Chinesisch bereit, eine englische Version soll in Kürze folgen.

Der Unified Linux Kernel unterstützt in der aktuellen Version 0.2.4 das Dateisystem Ext4 nicht. Wer das Wurzelverzeichnis auf einem Ext4-Dateisystem betreibt (unter anderem aktuelle Ubuntu- und Fedora-Versionen), kann deshalb die Features des Longene-Kernels nicht nutzen. Longene arbeitet zudem nur auf 32-Bit-Systemen und bringt keinen Support für Mehrkern-Prozessoren mit.

Installation

Auf Systemen unter Ubuntu, Fedora oder Red Flag kommt man am einfachsten zum Unified Kernel: Für diese drei Distributionen stehen auf der Projektseite fertige Kernel- sowie Wine-Pakete zum Download bereit [4]. Diese installieren Sie zum Beispiel im Fall von Ubuntu auf der Kommandozeile über

$ sudo dpkg -i kernel_2.6.23-0.2.4uk_i386.deb
$ sudo dpkg -i wine_1.0.0-0.2.4uk_i386.deb

Beim Neustart finden Sie dann den Longene-Kernel 2.6.23 im Grub-Menü zur Auswahl. Nutzen Sie eine andere Distribution, dann müssen Sie den Unified Kernel von Hand bauen. Die dazu nötigen Schritte erklärt der Kasten "Hand anlegen".

Hand anlegen

Die vorkompilierten Kernel- und Wine-Pakete für Ubuntu, Fedora und Red Flag lassen sich theoretisch auch unter anderen Systemen nutzen, es empfiehlt sich jedoch auf einer nicht direkt unterstützten Version den Quellcode selbst zu übersetzen. Als Vorwarnung sei hier erwähnt, dass es in den Tests nicht gelang, den derzeit aktuellen Unified Kernel zu kompilieren, die Anleitung sollte aber auch auf dessen kommende Versionen passen.

Im Quellcode (unifiedkernel-0.2.4-full.tar.bz2) befinden sich die Verzeichnisse linux-2.6.23, module, patches und wine-1.0. Bei linux-2.6.23 und wine-1.0 handelt es sich somit um die jeweilige Originalversion, die Sie zunächst mit den Longene-Patches versehen müssen. Wechseln Sie dazu in das Verzeichnis linux-2.6.23 und rufen Sie folgenden Befehl auf:

$ patch -p1 < ../patches/unifiedkernel-0.2.4-linux-2.6.23.diff

Der Patch enthält auch eine passende Konfigurationsdatei, sodass Sie ohne make menuconfig sogleich make aufrufen können. Der Kompiliervorgang dauert je nach CPU-Leistung zwischen 40 Minuten und mehreren Stunden, brach in den Test mit Ubuntu 9.04 und OpenSuse 11.1 jedoch beim Übersetzen des eigentlichen Kernels jeweils ab (Abbildung 2).

Abbildung 2: Der Unified Kernel ließ sich in unseren Tests nicht kompilieren.

Haben Sie mehr Erfolg, dann starten Sie nach dem Kompilieren des Kernels make modules_install und anschließend make install. Eine RAM-Disk benötigt der Longene-Kernel nicht. In einem zweiten Schritt kompilieren Sie die vom Longene-Projekt bereitgestellte Wine-Version. Auch hier müssen Sie zunächst einen Patch anwenden:

$ cd unifiedkernel-0.2.4-full/wine-1.0
$ patch -p1 < ../patches/unifiedkernel-0.2.4-wine-1.0.diff

Anschließend führt der übliche Dreischritt ./configure, make und make install (als root) zum Erfolg. Eine eventuell bereits installierte Wine-Version müssen Sie zunächst über das Paketmanagement entfernen. Laut einem Eintrag im chinesischen Longene-Forum [5] bietet Insigma auch einen CVS-Zugriff zum Quellcode an, in unseren Tests misslang aber der Login- und Checkout-Versuch.

Kein Wein

Hat die Installation über den Quellcode oder die fertigen Pakete geklappt, dann können Sie nun in Dolphin oder einem beliebigen Dateimanager eine EXE-Datei per Doppelklick ausführen. Auf den ersten Blick lässt sich denn auch kein Unterschied zwischen der Nutzung des Longene-Kernels und von Wine zu erkennen. In Wirklichkeit führt jedoch der Linux-Kernel das Programm aus.

Sichtbar wird dies, wenn Sie eine Windows-Anwendung auf der Kommandozeile starten: Dazu machen Sie das Binary zunächst mit chmod +x Programm .exe ausführbar und starten es dann über ./Programm.exe. Ohne Longene-Kernel erhalten Sie in einem solchen Fall die Fehlermeldung cannot execute binary file. Mit Longene-Kernel startet jedoch – im Optimalfall – das Windows-Programm. In unseren Tests erhielten wir lediglich Fehlermeldungen (Abbildung 1).

Abbildung 1: Nach einem Hinweis auf eine fehlende DLL verabschiedet sich das Windows-Programm mit einer Fehlermeldung.

Zeigt das Terminalfenster beim Start die Meldung "Speicherzugriffsfehler" an, dann ist vermutlich das zugehörige Kernelmodul nicht geladen. Abhilfe schaffen Sie hier mit

# depmod -a
# modprobe unifiedkernel

Bevor Sie jedoch irgendwelche Programme aus dem Internet herunterladen, empfiehlt es sich, für einen ersten Test winecfg zu starten und danach unter .wine/drive_c/windows den Editor notepad.exe auszuführen. So lange Notepad nicht funktioniert, müssen Sie es mit anderen Programmen gar nicht erst versuchen.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

1990 Hits
Wertung: 154 Punkte (9 Stimmen)

Schlecht Gut

Infos zum Autor

Marcel Hilzinger

Marcel Hilzinger

Marcel Hilzinger arbeitet als Redakteur für die Zeitschriften LinuxUser und EasyLinux. Am liebsten schreibt er Artikel zu netten Gadgets oder Multimedia-Software. In seiner Freizeit spielt er gerne Kicker.

Zum Blog von Marcel Hilzinger →


Infos zur Publikation

Infos zur Publikation

title_2012_02

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Knoppix: Bootvorgang mit Cheatcode beschleunigen
Knoppix: Bootvorgang mit Cheatcode beschleunigen
Marcel Hilzinger, 18.01.2012 21:05, 0 Kommentare

Die Bootsequenz der Live-Distribution sucht beim Start zunächst auf Festplatten, dann auf USB-Sticks und erst dann in den DVD-Laufwerken (/dev/sr* oder /dev/scd*) nac...

Aktuelle Fragen

OpenSuse 12.1-Service Kit 01/12
Christoph-J. Walter, 28.01.2012 08:52, 2 Antworten
Hallo Gemeinde, ich habe 12.1 neu installiert. Alles in Ordnung! Nun möchte ich das Service Kit (...
Ubuntu 11.10 konfigurieren
Michael Hinz, 27.01.2012 17:52, 0 Antworten
Ubuntu läuft bei mir. Allerdings nur, wenn die Daten-CD eingelegt ist. Unabhängig von Bios-Einste...
SUSE12
Jörg Müller, 25.01.2012 14:27, 5 Antworten
Hallo Gemeinde Ich habe schon ziemlich lange auf einem Rechner Linux laufen, bin also nicht ganz...
Hat jemand Erfahrung beim Einsatz einer Kinect / OpenNI?
GoaSkin , 24.01.2012 23:35, 0 Antworten
Hallo, ich habe mir eine Kinect zugelegt, um zu schauen, was man damit unter Linux so machen k...
Kollaboration - Zeichnen auf mehreren Geräten gleichzeitig
Ludwig jun. B., 19.01.2012 11:17, 4 Antworten
Schönen guten Tag, ich suche aktuell eine Software für Linux/Windows (eines von beiden), welch...