ReactOS
Dies soll eine kurze Anleitung sein, wie man die aktuellste Version von ReactOS unter Gentoo kompiliert und installiert.
Vorwort
Hier eine Schritt-für Schritt Anleitung, um ReactOS unter Gentoo Linux zu compilieren und installieren!
In dem HowTo wird davon ausgegangen, dass auf /dev/hdb1 eine FAT32 eingerichtet ist und diese unter /mnt/d gemountet ist.
Als Bootloader wird grub verwendet.
Ich habe dieses HowTo geschrieben, da es andscheinend keines in deutsch gibt, und auf der ReactOs-Homepage muss man sich auch erst alles auf einigen Webseiten zusammensuchen.
Achtung: ReactOs befindet sich noch im Entwicklungsstadium, am besten ist es ReactOs auf einem Test-Rechner zu installieren (wo auch mal was schiefgehen kann), ansonsten, ihr macht doch hoffentlich immer vor sowas Backups? :-)
Garantie das alles stimmt gibts natürlich keine.
Als ich den Versuch gemacht habe ReactOs zu Installieren war die Version "Revision 17092". (Wird nach jedem svn up / svn co ausgegeben, oder man gibt "svn info" in dem reactos svn-Verzeichnis ein)
Außerdem werden ~3GB Platz auf der Festplatte zum compilieren benötigt, der Quellcode schon an sich ist ziemlich gross. Im Moment compiliert ReactOS nur unter einer 32-bit Umgebung, AMD64 wird (noch) nicht unterstüzt. (siehe auch http://www.reactos.org/forum/viewtopic.php?t=1987 )
Für viele ist das selbstcompilieren unnötig, da es auch einen BuildBot gibt, der jede Version compiliert und Download anbietet.
Feedback bitte an matthias at abma.de
Und jetzt gehts schon los :-)
Vorbereitende Massnahmen
Quellcode runterladen
Um den aktuellen Quellcode runterzuladen braucht man einen Subversion client (siehe auch http://www.reactos.org/wiki/Subversion), unter Gentoo installiert man ihn mit
emerge dev-util/subversion
Dann kann man den Quellcode herunterladen:
mkdir ~/reactos
cd ~/reactos
svn co svn://svn.reactos.org/reactos/trunk/reactos
svn co svn://svn.reactos.org/reactos/trunk/rosapps
sollte der Download stehenbleiben, strg+c drücken und dann "svn cleanup" und dann nochmal svn co... eingeben. (kam bei mir mehrmals vor)
freeldr ist schon im modul reactos enthalten, dies ist (noch) fehlerhaft auf der homepage von reactos!
Hat man den Quellcode schon vorher runtergeladen, dann muss man nur in die beiden Verzeichnisse wechseln und jeweils svn up eingeben:
cd ~/reactos/reactos
svn up
cd ~/reactos/rosapps
svn up
Benötigte Programme installieren
als root und wenn noch nicht geschehen:
emerge xmingw-binutils xmingw-gcc xmingw-runtime xmingw-w32api
unter AMD64 sieht es etwas anders aus:
CFLAGS="-m32" emerge xmingw-binutils xmingw-gcc xmingw-runtime xmingw-w32api
und dann nocheinmal
emerge xmingw-binutils xmingw-gcc
damit g++ compiliert und installiert wird.
Umgebung Einrichten (Gentoo)
siehe auch http://www.reactos.org/wiki/Build_Environment
export PATH=$PATH:/opt/xmingw/bin/
export ROS_PREFIX='i386-mingw32msvc'
rosapps einbinden
symbolischen link in reactos/modules auf rosapps setzen
cd ~/reactos/reactos/modules
ln -s ../../rosapps/
cd ..
Konfigurieren
cp config.template.xml config.xml
und dann die datei config.xml editieren. In der Datei kann eingestellt werden, mit was für parametern compiliert wird. (Debugging/Prozessortyp/....)
rosapps einbinden und kompilieren
make depends
Kompilieren
und jetzt
make
im reactos Verzeichnis eingeben! Der Vorgang dauert recht lange (je nach Computer). Bei mir hat es ungefähr 30 Minuten gedauert (Athlon XP 1800+)
Sollte es Probleme geben, mit 'make clean' kann man nochmal von vorne anfangen!
Installieren
mkdir /mnt/d/reactos
export ROS_INSTALL=/mnt/d/reactos
make install
eingeben.
Und jetzt noch den Freeloader auf die Partition kopieren
cp output-i386/boot/freeldr/freeldr/freeldr.sys /mnt/d
cp boot/FREELDR.INI /mnt/d
Freeloader konfigurieren
In diesem Beispiel soll ReactOS auf /dev/hdb1 installiert werden. /dev/hdb1 ist unter /mnt/d gemountet.
Auszug aus /mnt/d/FREELDR.INI:
[Operating Systems]
ReactOSHDD="ReactOS (HardDriveD)"
[ReactOSHDD]
BootType=ReactOS
SystemPath=multi(0)disk(0)rdisk(1)partition(1)\reactos
Options=/DEBUGPORT=SCREEN
Kernel=\REACTOS\SYSTEM32\NTOSKRNL.EXE
Hal=\REACTOS\SYSTEM32\HAL.DLL
grub konfigurieren
Ich verwende grub als Bootloader auf /dev/hda, von diesem aus kann alles gestartet werden, auch ReactOS!
auszug aus /boot/grub/grub.conf
title ReactOS
root (hd1,0)
kernel /freeldr.sys DefaultOS=ReactOS TimeOut=4
Reactos starten
Zu beachten gibts da eigentlich (noch?) nichts... :-)
Fehlermeldungen
Kurze übersicht über bekannte Fehlermeldungen und was dann zu tun ist, falls alles nichts hilft einfach ein bisschen auf das nächste svn-update warten, leider geht dort öfters mal was kaputt :-)
mingw32-dlltool: Kommando nicht gefunden
siehe Umgebung Einrichten
make: i386-mingw32msvc-g++: Kommando nicht gefunden
Siehe Benötigte Programme installieren
make: *** Keine Regel vorhanden, um das Target "subsys/system/devmgr/devmgr.xml"
,benötigt von "makefile.auto", zu erstellen. Schluss.
Einfach makefile.auto mit
rm makefile.auto
löschen und dann nocheinmal
make
eingeben.
i386-mingw32msvc-windres: calc.rsrc.res.tmp: Not a valid WIN32 resource file
Es ist vermutlich eine zu alte Version der xmingw-binutils installiert. ReactOS benötigt zum compilieren den >=xmingw-gcc-3.4.4, dieser ist leider noch als unstable (z.B. für amd-64) im Portage makiert.
ein
ACCEPT_KEYWORDS="~x86" emerge xmingw-binutils xmingw-w32api xmingw-runtime xmingw-gcc
sollte wunder wirken ;-)
Fazit
Im vergleich zu meinem ersten Versuch ReactOS zu installieren gab es echt keine Probleme. Der erste Versuch war gescheitert, weil ich es nicht geschafft hatte den Freeloader so zu konfigurieren, dass er von der zweiten Festplatte startet, jedoch mit der aktuellen Version war das kein Problem!
ReactOS selber ist noch sehr Buggy, das merkt man auch, z.B. flimmert der Mouse-Cursor manchmal, Fenster werden teilweise nicht neugezeichnet, viele Anwendungen sind auch einfach noch nicht fertig, aber die Entwicklung schreitet finde ich sehr schnell voran, (hoffentlich) bald ist es wohl auch zu etwas zu gebrauchen!
Netzwerk habe ich noch nicht versucht einzurichten, aber ich glaube, das ist auch noch extrem Buggy, weswegen ich wohl noch etwas warten werde, aber sonst scheint es ganz gut zu funktionieren!
Links
- ReactOS
- Fanseite
- Wiki (englisch)
- installieren (englisch)
- einrichten (englisch)