寫在最前面
不得不吐槽一句, baidu想搜索一點資料,真的好難啊.尤其是這種小衆的(或許在baidu看來是小衆)資料,難上加難. 原本以爲非常容易的事情,結果倒騰了一個下午.
Linux Host 系統安裝
關於QNX的介紹,中文資料非常多,最直接的,可以參看百度百科(原諒我又在推薦baidu了….).
我採用的是ubuntu14.04/16.04作爲Host PC,安裝WMware,將QNX安裝到虛擬機. 安裝Ubuntu和WMware的過程不表.
- Ubuntu 下載地址
http://www.ubuntu.org.cn/download/desktop - WMware 下載地址:
https://my.vmware.com/cn/group/vmware/info/slug/desktop_end_user_computing/vmware_workstation_pro/12_0 - QNX 下載地址:
http://www.qnx.com/download/feature.html?programid=21188
我使用的是上述網站對應版本的QNX, 文件名: qnxsdp-6.5.0-201007091524-dvd.iso. 該文件可以免費下載,但是需要申請License Key,可以通過官網發郵件去申請(聽說需要用公司郵箱,否則會被拒絕,或者通過學校去搞教育版).
WMware安裝完成後,打開WMware,選擇創建虛擬機.
選擇Custom方式,以此下一步,在Install operating system from
界面中選擇第二項Use ISO image
,當然,如果你有光盤,可以選擇通過光盤安裝.選擇的鏡像文件就是從官網下載的qnxsdp-6.5.0-201007091524-dvd.iso文件.
在Guest Operating System
中選擇6.Other
, Version選擇Other
.如下圖所示:
其中有一項是選擇網卡的類型, 選擇如下所示:
其他的一路默認就OK了.在安裝的過程中,會要求輸入License Key. 安裝很快,安裝完成後可以直接進入系統.直接使用root
用戶登錄,密碼是空.
配置靜態IP
進去之後,可以配置靜態IP(看個人喜好,我喜歡使用固定IP,避免每次要使用時通過ifconfig
查看). 當然,靜態IP的配置可以通過命令行搞定,和linux非常類似.但有圖形界面可以很直觀的搞定靜態IP.如下圖所示
選擇Connection
方式爲Manual
,在下面直接輸入IP和Netmask,在上方Network選項卡中可以配置網關和DNS.
開啓ssh服務
vi /etc/ssh/sshd_config
修改文件內容,更改#PermitRootLogin no
爲PermitRootLogin yes
. 然後依次執行
slay sshd
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
mkdir -p /var/chroot/sshd/etc
chown -R root.root /var/chroot/sshd
chmod 744 /var/chroot/sshd
/usr/sbin/sshd
第一行的命令slay sshd
應該會輸出slay: Unable to find process sshd
的提示,應該本來就沒有ssh進程在運行.
上述命令僅僅是開啓ssh服務,但是在遠程ssh時,由於root用戶並沒有密碼,是不能完成登錄的.所以需要執行
passwd
給root用戶創建密碼.這個時候就可以使用遠程主機ssh登錄了.
QNX SDP 在Ubuntu14.04/16.04上的安裝
從官網可以直接下載得到qnxsdp-6.5.0-201007091524-dvd.iso文件,首先掛載鏡像:
sudo mkdir /tmp/QNX
sudo mount -o loop /path/to/qnxsdp-6.5.0-201007091524-dvd.iso /tmp/QNX
cd /tmp/QNX
sudo ./qnxsdp-6.5.0-201007091524-linux.bin
按照其他教程,這個時候應該會出現圖形引導界面,傻瓜式點擊完成IDE安裝.但我在嘗試的時候,出現的是如下結果:
PS: 上述結果截圖於Ubuntu16.04, 在Ubuntu14.04電腦上, 結果比較類似,但是沒有Aborted (core dumped)
錯誤提示.
上述錯誤是由於使用的是64-bit系統,需要安裝32-bit支持庫.最後在QNX官網上面找到下述需要安裝的內容.
sudo apt-get install ia32-libs
在官網教程中,只是提示輸入如上命令,安裝32-bit支持庫,而ia32-libs
在Ubuntu14.04的源中已經刪除了.直接執行上述命令會提示找不到ia32-libs
. 解決方案如下:
Ubuntu 14.04
依次執行如下指令即可
sudo -s
cd /etc/apt/sources.list.d
echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" > ia32-libs-raring.list
apt-get update
apt-get install ia32-libs
上述執行結束之後,就可以正常運行qnxsdp-6.5.0-201007091524-linux.bin
, 在Ubuntu14.04測試,可以正常啓動圖形化引導界面.
Ubuntu 16.04
在Ubuntu16.04中已經不支持ia32-libs了,使用下述方式進行替代.
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1
雖然不會出現錯誤,但是無法啓動圖形引導界面,很是奇怪.只能嘗試使用命令行安裝.執行下述命令
sudo -s
cd /tmp/QNX
./qnxsdp-6.5.0-201007091524-linux.bin -console
在Ubuntu16.04測試,執行結果如下圖所示:
類似於安裝系統,也需要輸入License Key. 然後按照提示一路回車就好.安裝也還是挺快的.最終結果如下所示:
完成後需要logout. 再次login. 打開命令行, 輸入qde
(心中萬隻XX馬奔騰而過), 出現了錯誤. 很有可能,之前圖形化界面不能正常出現,也是因爲同樣的原因.錯誤截圖如下:
解決辦法:
sudo apt-get install libgtk2.0-0:i386 libxtst6:i386 \
libcanberra-gtk-module:i386 gtk2-engines-murrine:i386 libdbus-glib-1-2:i386 \
libgail-common:i386 libatk-adaptor:i386
安裝完成之後, 再次在命令行中輸入qde
, 熟悉的界面彈出來了.截圖如下, 到此,大功告成.
PS: 寫到最後, 後經驗證, 在之前安裝過程中, 未能正常彈出引導界面,就是因爲最後的那幾個庫沒有正確安裝.再次嘗試運行qnxsdp-6.5.0-201007091524-linux.bin
, 截圖如下: