<QNX; Linux Host开发环境搭建
Posted 小贝也沉默
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了<QNX; Linux Host开发环境搭建相关的知识,希望对你有一定的参考价值。
写在最前面
不得不吐槽一句, 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
, 截图如下:
以上是关于<QNX; Linux Host开发环境搭建的主要内容,如果未能解决你的问题,请参考以下文章
QNX Hypervisor 2.2 用户手册4.2 支持的构建环境
QNX Hypervisor 2.2 用户手册4.2 支持的构建环境
QNX Hypervisor 2.2 用户手册4.4 构建Host
QNX Hypervisor 2.2 用户手册4.4 构建Host