安装RTAI5.2 +rtnet0.9.13基于Ubuntu16.04和4.4.176 内核

本文详细介绍了如何在Ubuntu16.04上安装RTAI5.2和rtnet0.9.13,包括操作系统和工具的安装、内核补丁、配置内核、安装RTAI以及安装rtnet的步骤。过程中提到了遇到的问题及解决方案,如内核配置、系统调用审计支持的禁用等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装RTAI5.2 +rtnet0.9.13基于Ubuntu16.04和4.4.176 内核

安装的主要步骤:
1、安装操作系统和工具;
2、给内核打补丁;
3、配置内核并安装;
4、安装RTAI并测试。
5、安装RTnet并测试

步骤一:安装操作系统和工具
1.1 安装操作系统
我选择的是Ubuntu16.04,RTAI5.2 支持的内核版本可以查看,分别为3.10.32;3.14.44;3.16.7;3.18.20;4.1.18;4.4.162;4.4.166;4.4.176;4.9.135;4.9.146;4.9.176;4.14.71;4.14.89;4.14.111,我选择的是4.4.176。
1.2 安装工具
这些工具是内核编译时需要的,下面命令可以保存为脚本执行
sudo apt install libncurses5-dev
sudo apt install libssl-dev
sudo apt install bison
sudo apt install flex
sudo apt install libssl-dev
sudo apt install libelf-dev
sudo apt install make gcc
sudo apt install patch
sudo apt install unzip
sudo apt install autoconf
注意:如果你使用的是不同的Linux 发布版(Redhat或openSUSE),有些包的名称是不同的,比如对于Redhat,libssl的安装包是libssl-devel。
注意:如果你采用的是Ubuntu16.04,那么可能因为包依赖的原因,你无法用apt install 命令安装libssl1.1,而这个包是在编译内核时必须的,所以建议你要么换更高版本OS,要么在Ubuntu 网站( https://packages.debian.org/stretch/amd64/libssl1.1/download )手动安装该包(sudo dpkg -i libssl1.1_1.1.0k-1~deb9u1_amd64.deb)。

步骤二:给内核补丁
2.1在内核网站 https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.176/下载内核安装包和相应的补丁
cd ~/Downloads
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.176/linux-image-4.4.176-0404176-generic_4.4.176-0404176.201902230445_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.176/0001-base-packaging.patch
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.176/0002-UBUNTU-SAUCE-add-vmlinux.strip-to-BOOT_TARGETS1-on-p.patch
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.176/0003-UBUNTU-SAUCE-tools-hv-lsvmbus-add-manual-page.patch
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.176/0004-adhoc-from-future-import-syncconfig.patch
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.176/ 0005-UBUNTU-SAUCE-no-up-disable-pie-when-gcc-has-it-enabl.patch
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.176/0006-debian-changelog.patch
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.176/0007-configs-based-on-Ubuntu-4.4.0-143.169.patch

2.2下载内核
在网站https://cdn.kernel.org/pub/linux/kernel/v4.x/寻找linux-4.4.176.tar.gz的内核包并下载,为之后编译和安装方便,将源码复制并解压到/usr/src 中,并创建一个软链接到该源码目录。
cd /usr/src
sudo cp ~/Downloads/linux-4.4.176.tar.gz /usr/src
sudo tar xvf linux-4.4.176.tar.gz

RTnet是Halmover大学开发的一个开源项目。该项目建立于2001年,它的目标是提供一个独立于硬件环境、灵活的通信平台。RTnet借鉴了Llnux的模块化设计方案,可以根据需要加载相应的模块。标准以太网中,网络节点之间的地位是平等的,为了保证数据的传输以确定的方式 进行。RTnet采用主从的方式实现以太网通信。由于TCP采用的三次握手协议会造成很大的开销,在传输层中RTnet仅使用了UDP协议来进行数据传输,在标准以太网中用 来进行动态地址转换的ARP协议,在RTnet中也改为使用静态的方式实现,在RTnet中MAC层使用时分多路访问仃DMA)策略访问媒体。在TDMA策略中网络的每一个成员只有在一个预先定义好的时间槽内才能发送实时数据。这样实时数据就能够以确定的方式发送。非实时数据可以在相对松散的时间槽内发送。在RTnet中有一个服务器节点一个或多个客户端节点。在每个时间帧的开始,服务器节点发送一个SOF。所有的客户端节点都知道节点发送数据的时间槽与SOF的偏移量。客户端节点只有在属于自己的时间槽内才能发送数据。在RTnet中需要传输的数据包包含在发送任务的任务堆栈中,而接收的数据包首先从实时以太网驱动程序中放到一个栈管理器中,栈管理器根据数据包的协议类型。把数据送到相应的处理函数中。为了避免优先级翻转,堆栈管理器的优先级应该比所有使用RTnet服务的应用程序都要高。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值