Linux Host開發環境搭建

寫在最前面

不得不吐槽一句, baidu想搜索一點資料,真的好難啊.尤其是這種小衆的(或許在baidu看來是小衆)資料,難上加難. 原本以爲非常容易的事情,結果倒騰了一個下午.

Linux Host 系統安裝

關於QNX的介紹,中文資料非常多,最直接的,可以參看百度百科(原諒我又在推薦baidu了….).
我採用的是ubuntu14.04/16.04作爲Host PC,安裝WMware,將QNX安裝到虛擬機. 安裝Ubuntu和WMware的過程不表.

我使用的是上述網站對應版本的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 noPermitRootLogin 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, 截圖如下:


這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章