Jestli běží linux na každé architektuře, proč by mu měl stát v cestě jiný
operační systém?
22.3.2004 17:00 | Ondřej Čečák | read 6966×
DISCUSSION
Tato věta vás uvítá na
domovské stránce projektu CoLinux a trefně vystihuje, o co tady běží.
CoLinux je upravené linuxové jádro (v současné době verze 2.4.24) které běží
nativně na Windows jako jejich normální proces. Cooperative Linux o sobě také
tvrdí, že je první free open source cestou, jak rychle spustit linux na
windows. Použitelnost CoLinuxu dokazují
screenshoty, autorům projektu se dokonce povedlo spustit v CoLinuxu
Japonskou modifikaci Knoppixu.
Upozornění
Program se stále vyvíjí a ještě je třeba dodělat poměrně dost věcí (např.
grafickou podporu), ale i v poslední verze je docela použitelná
(testoval jsem verzi 0.5.4 z konce února 2004).
O co jde
Myslím, že z úvodu je docela jasné, jak vše funguje - podobně jako třeba UML se
spouští proces (tentokrát na windows), který má přístup k hostitelskému hardware,
získává informace o hostitelových přerušeních a podobně. Proto se také jmenuje
Cooperative Linux - kooperativně běží bez nějakého emulování přímo na hostitelské
platformě. Samotné jádro moc upravené není, jedná se o malé úpravy v kódu
architektury i386 (proto také jinde zatím neběží, ale uvažuje se o tom -
při psaní CoLinuxu se počítá(lo) s portováním).
Samotný program zatím funguje pouze v prostředí Microsoft Windows 2000 a XP. O
Windows 98 se sice také uvažuje, ale kvůli odlišné architektuře systému bude
třeba dost zapracovat (pokud to nakonec nebude pouze pro Win2k/XP).
Vlastnosti
Po spuštění programu přibude systému pár nových procesů (vlastní
colinux-deamon a deamon pro síťování a konzole), a
poté se spustí i linuxové jádro a po něm další programy.
Je opravdu skvělé, že autoři mysleli na přímou podporu síťování. To probíhá
přes TAP-Win32 Network Driver a jak je z názvu patrné, jde o ovladač přímo do
windows. Po instalaci vám tak vznikne nové síťové rozhraní, přes které se dá
komunikovat. Zatím je možné použít buď NAT (díky dynamickému překladu adres
poměrně bezpečný přístup k síti bez nutnosti mít víc IP adres) nebo přímé
spojení (přes windows si také můžete vytvořit bridge).
Jak to funguje
Asi nejzajímavější část - jak to funguje v praxi. Nejprve si stáhnete samotný
CoLinux (použil jsem binárku, ale k dispozici jsou i zdrojáky), nainstalujete
TAP Network Driver (ve windows jako nový hardware) a stáhnete si základní
image k vyzkoušení - jedná se o base systém Debian GNU/Linux 3.0r0 o velikosti
asi 17 MB, ale protože budete nejspíš také něco doinstalovávat, tak image po
rozbalení zabere 1 GB (image bude po celou dobu jako jeden soubor v rámci
filesystému, který používají windows a uvnitř se v tomto případě skrývá
filesystém ext3). Malá nevýhoda je, že soubor bude zabírat tolik, kolik mu
vyhradíte a ne tolik, kolik zabírají data uvnitř, ale je popsaná také
možnost případného zvětšovaní image.
A co teď? Nejprve CoLinux patřičně nakonfigurujete (konfigurační volby sice
ještě moc popsané nejsou, ale stačí upravit cestu - formát konfiguračního
souboru je navíc v XML) a spustíte colinux-deamon.exe. Ten se postará o
spuštění síťování, konzole programu a také o spuštění vlastního jádra.
Pokud vše funguje jak má, přímo v konzoli programu nabootuje linux a v
případě použití image Debianu vás uvítá přihlašovací dialog (účet root
je bez hesla). Na vás je zkonfigurovat síťové připojení a nainstalovat
si vše potřebné.
Pokud máte nastavený dualboot (a druhý OS je linux), můžete dokonce po malých
úpravách spustit druhý systém přímo z jeho diskového oddílu.
Grafika
Problém v CoLinuxu je zatím v tom, že nemá ovladač, přes který by přímo
fungovala grafika. Jediné co můžete použít, je přes virtuální síť spustit na
windows Cygwin XServer a spojit se s virtuálním linuxem. Právě přímou
nedostupnost grafického prostředí vidím jako největší nevýhodu pro nováčky -
většina by radši zkusila grafické prostředí. Nicméně doufám, že se povede
implementovat do CoLinuxu drivery pro XServer tak, aby bylo přímé spuštění
možné, protože pak by se Cooperative Linux stal snad nejrychlejší a
nejpohodlnější možností vyzkoušení linuxu na vlastním stroji.
Výkon
Překvapivě velmi dobrý je výkon, programy spuštěné ve virtuální linuxu běží
téměř stejně rychle, jako by byly spuštěny přímo. Právě výkon je podle mě
jedna z hlavních výhod CoLinuxu.
Stabilita a funkčnost
Aplikace se mi zdála poměrně stabilní, po dobu testování mi jenom jednou
spadlo síťové zařízení. Občas se také stalo, že se text konzole nemazal ale
přepisoval přes starý. Jinak fungovalo vše podle očekávání a docela rychle.
Shrnutí, závěr
Program se stále vyvíjí a také je na čem pracovat, nicméně už teď
funguje dobře. CoLinux se dá podle mého názoru použít především na
testovaní linuxu pro nováčky (i když zatím omezeně) a pak nativní spuštění
aplikací, které na windows neběží (právě díky síťování všemožné servery
apod.). Sice někdo tvrdí, že není dobré stavět na domečku z karet, ale to už
nechám na vás ... Mě se Cooperative Linux líbí právě pro rychlost a
jednoduchost instalace.