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, 截图如下:


这里写图片描述

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