Opis na dzień 17 listopada 2008r.
Jak zainstalować i uruchomić system QNX
Wprowadzenie
System QNX (obecnie w wersji
QNX 6.4.0) używany jest do uruchamiania podstawowych komponentów MRROC++. Podstawowe pytania to jak go zainstalować i jak z niego korzystać.
Instalacja natywna
System QNX można zainstalować natywnie. Wymagania:
- partycja podstawowa zalecana minimum 2GB.
Natywna instalacja może napotkać na różne problemy (aczkolwiek w wersji 6.4.0 rzadziej niż w 6.3.2). Generalnie im nowszy komputer tym gorzej - aktualną listę obsługiwanego sprzętu najlepiej sprawdzić przed instalacją na stronie
QNX. Poniżej przedstawiono listę niektórych rozpoznanych problemów:
- w przypadku problemów z wbudowaną kartą sieciową najprościej zdobyć jakąś opartą na chipsecie RealTek 8139
- obsługiwane tylko nieliczne modele kart WiFi
- brak dobrej obsługi nowych (tzn. nie starszych niż 3 lata
) kart graficznych. Jeżeli mamy nową kartę to domyślnie korzystamy ze sterownika vesa. Warto też przetestować sterownik vesa-tweak.
- w przypadku problemów z kontrolerem Serial ATA może pomóc zmiana ustawień BIOS tak, aby dysk był widziany jako PATA.
Powyższa lista może zniechęcać. Teraz przedstawię argumenty za i przeciw natywnej instalacji. Zacznę od argumentów przeciw:
- wymagana partycja podstawowa. Po instalacji trzeba odpowiednio skonfigurować bootloader (np. lilo, grub, NT Loader)
- praktycznie brak (poza nielicznymi wyjątkami) podstawowych aplikacji takich jak Skype, dobra przeglądarka internetowa, adobe pdf, pakiet biurowy
- brak akceleracji grafiki.
Pytanie - czy mimo wszystko warto instalować QNX natywnie? Odpowiedź brzmi TAK, czasami nie mamy wyboru:
- QNX zainstalowany natywnie jest systemem czasu rzeczywistego z szybkim szeregowaniem wątków, intuicyjną obsługą sieci, wysokim poziomem niezawodności,
- instalacja natywna działa szybciej od instalacji na wirtualnej maszynie.
Instalacja na wirtualnej maszynie
Korzystanie z wirtualnej maszyny ma kilka istotnych zalet:
- tak naprawdę ułatwia instalację QNX na komputerze, na którym jest już inny system operacyjny (Windows lub Linux)
- możemy równocześnie korzystać z aplikacji, których brakuje w QNX i tegoż QNX'a
- możemy korzystać z QNX na maszynach, na których natywnie nie można go zainstalować
- na jednej maszynie możemy logicznie korzystać z kilku komputerów i przykładowo uruchomić komponenty MRROC++ wymagające QNX i Linux
- plik z obrazem systemu dla konkretnej maszyny i systemu operacyjnego może być wykorzystany na wielu komputerach, dzięki czemu można zaoszczędzić dużo czasu na instalacji i konfiguracji.
Wady:
- QNX na wirtualnej maszynie to ABSOLUTNIE nie jest system czasu rzeczywistego,
- QNX na wirtualnej maszynie działa wolniej niż QNX natywny (przykładowo kompilacja działa kilka razy wolniej!).
Warto wiedzieć, że wirtualna maszyna na komputerze wyposażonym w nowoczesny procesor wielordzeniowy, działa relatywnie szybko.
Przygotowanie QNX do pracy z MRROC++
Aby uruchomić sieciowe dobrodziejstwa systemu QNX należy po zainstalowaniu systemu utworzyć specjalny plik poleceniem:
-
touch /etc/system/config/useqnet
Wówczas m.in. pojawi się katalog
/net oraz
/dev/name/global (ten drugi po uruchomieniu gns)
Kolejnym etapem jest zainstalowanie wszystkich potrzebnych pakietów
rsh
Aby uruchomić serwer
rsh należy odkomentować 3 kolejne linie poświęcone rsh (pierwsza z nich zawiera slowo
rsh) z pliku
a następnie dopisac
inetd do pliku
tak aby
inted a więc i serwer
rsh były uruchamiane przy każdym starcie systemu
System Windows
Skuteczną i darmową wirtualną maszyną jest
Microsoft Virtual PC. QNX instaluje się pod nią bezproblemowo. Podobnie
VMware server też jest darmowy i także pod nim QNX instaluje się bez większych kłopotów na domyślnych ustawieniach. VMware operacje dyskowe wykonuje szybciej niż Virtual PC, w QNX jest tez dedykowany sterownik graficzny dla tej maszyny. Nieco ciężej jest z QEMU i tego wariantu w przypadku systemu Windows bym nie polecał, szczególnie, że ta maszyna nie zachwyca szybkością działania. Należy pamiętać, że w celu skutecznej komunikacji system QNX na wirtualnej maszynie powinien mieć inny adres IP niż system matka (zwykle jest to domyślna sytuacja). Optymalna wielkość partycji to 2GB.
Pewnym problemem jest przesyłanie plików pomiędzy QNX a Windows. W tym celu uwspólniamy katalog, tzn. w Windowsach udostępniamy go do odczytu i zapisu a w QNX montujemy poleceniem (z przykładowymi argumentami):
-
fs-cifs -l //matok:192.168.0.10:/tmp /mnt/tmp
Pod windowsem można uruchomi także uruchomić serwer NFS
-
fs-nfs3 192.168.0.10:/c/qnx632/ide4-workspace /tmp
Systemem plików, który można w ten sposób udostępniać jest FAT32. W związku z tym musimy mieć takową partycję w komputerze i na niej należy zainstalować QNX Momentics.
Parametr
-l oznacza konieczość wprowadzenia użytkownika i hasła dla windowsa.
matok to nazwa komputera w widowsach,
192.168.0.10 to adres IP Windowsów,
/tmp to nazwa udziału udostępnianego w windowsach. Z kolei
/mnt/tmp to miejsce w którym podmontowany zostaje zasób w drzewie plików QNX.
Aby podlaczyc sie do qnx'a za pomocą konsoli graficznej phwindows nalezy na qnx uruchomic
phrelay -G&
Pozostałe systemy
Dla systemu Linux, podobnie najprostyszym rozwiązaniem będzie skorzystanie z darmowego programu
VMware Server. Instalacja zarówno wirtualnej maszyny jak i systemu QNX jako gościa przebiega bezproblemowo.
W przypadku pozostałych systemów, nie obsługiwanych przez VMware korzystamy z wirtualnej maszyny
QEMU. Program ten najłatwiej zainstalować z korzystając z gotowego pakietu dla danej platformy.
System QNX instalujemy w sposób opisany na
stronie producenta.
Najlepszym sposobem na wymianę plików między systemem "matką" a QNX na wirtualnej maszynie jest protokół NFS, którego obsługę należy dodać do systemu operacyjnego wg specyficznych dla każdej dystrubycji wskazówek (np.
strony dla Gentoo Linux).
W QNX montujemy zasób poleceniem (z przykładowymi argumentami):
-
fs-nfs3 segomo:/home/yoyek /home/yoyek
Kompilacja skrośna
Warto mieć świadomość, że aplikacje pod QNX można z powodzeniem kompilować poza QNX korzystając ze środowiska
MOMENTICS na inne systemy operacyjne (obecnie Windows i Linux). Kompilacja poza QNX może przebiegać szybciej niż na natywnym QNX dzięki chociażby lepszej obsłudze dysków SATA. W Linux i Windows dostępne są lepsze edytory i narzędzia wspierające prace nad kodem, niestety brakuje Aplication Buildera, który jest dostępny tylko w natywnym QNX, gdyż jest apliakacją środowiska graficznego Photon.
UWAGA: Należy korzystać z kompilatora QCC w wersji 4.2.4
Wnioski
Radząc jak zainstalować QNX trzeba rozgraniczyć dwa przypadki:
- do testów bez kontaktu komputera PC ze sprzętem (bez czasu rzeczywistego) i tworzenia oprogramowania. Na starszych jednordzeniowych komputerach można rozważyć natywną instalację QNX. Na nowych wielordzeniowych jak najbardziej warto zainstalować wirtualną maszynę - w systemie Windows ze wskazaniem na VMware.
- do kontroli procesów w czasie rzeczywistym. Tu generalnie nie mamy wyboru. Pozostaje tylko natywna instalacja.