Ubuntu18.04安装xenomai3.1.x实时系统笔记

1、安装必备工具包
1.1、安装gcc软件包
sudo apt install gcc
1.2、安装git软件包
sudo apt install git
1.3、安装界面编程库
sudo apt install libncurses5-dev
1.4、安装make工具包
sudo apt install make 
1.5、安装词法语法分析包
sudo apt-get install flex bison
1.6、安装SSL工具包
sudo apt install libssl-dev
1.7、安装ELF工具包
sudo apt install libelf-dev
1.8、安装自动化config工具包
sudo apt install automake

2、下载相应的软件
2.1、系统内核下载
https://mirrors.tuna.tsinghua.edu.cn/kernel/v5.x/
linux-5.4.105.tar.gz

2.2、ipipe软件补丁
https://xenomai.org/downloads/ipipe/v5.x/x86/
ipipe-core-5.4.105-x86-4.patch

2.3、xenomai3.1.x版本拷贝
https://source.denx.de/Xenomai/xenomai/-/tree/stable/v3.1.x
xenomai-stable-v3.1.x

3、压缩包解压
sudo tar -zvxf linux-5.4.105.tar.gz 
sudo tar -zvxf xenomai-stable-v3.1.x.tar.gz 

4、Ubuntu内核打补丁
sudo su
cd linux-5.4.105/
sudo cp -r ../ipipe-core-5.4.105-x86-4.patch ./
../xenomai-stable-v3.1.x/scripts/prepare-kernel.sh --arch=x86_64 --ipipe=ipipe-core-5.4.105-x86-4.patch

5、启动配置内核
sudo make menuconfig
5.1进入Processor type and features
5.1.1 Linux guest support(switch off)[*] to [] 禁用关闭
5.1.2 Processor family 选择core2/new xeon
5.1.3Multi-core scheduler support多核策略支持(switch off)[*] to [] 禁用关闭

5.2进入Power management and ACPI options
5.2.1suspend to RAM and standby(switch off)[*] to [] 禁用关闭
5.2.2Hibernation(aka 'suspend to disk')(switch off)[*] to [] 禁用关闭
5.2.3CPU Frequency scaling--->CPU Frequency scaling(switch off)[*] to [] 禁用关闭
5.2.4ACPI(Advanced Configuration and Power Interface) Support(switch off)[*] to [] 禁用关闭
5.2.5CPU Idle--->CPU idle PM support(switch off)[*] to [] 禁用关闭

5.3进入Memory Mangement options
5.3.1Transparment Hugepage Support(switch off)[*] to [] 禁用关闭
5.3.2Contiguous Memory Allocator(switch off)[*] to [] 禁用关闭
5.3.3Allow for memory compaction(switch off)[*] to [] 禁用关闭
5.3.4 Page migration(switch off)[*] to [] 禁用关闭

5.4进入General setup
5.4.1Timers subsystem--->High Resolution Timer Support(switch on)[*] 

5.5进入xenomai/cobalt
5.5.1进入Sizes and static limits --->
(4096)Number of registry slots
(4096)Size of system heap(kb)
(256)Size of private heap(kb)
(256)Size of shared heap(kb)
(512)Maxinum number of POSIX timers per process

5.5.2进入Drivers--->RTnet--->RTnet,TCP/IP socket interface(switch on)[] to [M] 启用驱动
5.5.2.1New Intel(R) PRO/1000(Gigabit)(new) (switch on)[] to [M] 启用驱动
5.5.2.2Realtek 8169(Gigabit)(new) (switch on)[] to [M] 启用驱动
5.5.2.2Loopback (switch on)[] to [M] 启用驱动

5.5.3进入Add-ons--->Real-Time Capturing Support(new)(switch on)[] to [M] 启用驱动

6、安装内核编译软件包
sudo apt install kernel-package

7、开始编译内核
7.1修改.config文件
CONFIG_SYSTEM_TRUSTED_KEYS=""
7.2开始编译
sudo CONCURRENCY_LEVEL=$(nproc) make-kpkg --rootcmd fakeroot --initrd kernel_image kernel_headers

8、安装编译后的内核
8.1更换名称
cp -r linux-headers-5.4.105_5.4.105-10.00.Custom_amd64.deb linux-headers-5.4.105_xenomai3.1.deb
cp linux-image-5.4.105_5.4.105-10.00.Custom_amd64.deb linux-image-5.4.105_xenomai3.1.deb
8.2修改权限
chmod 755 linux-image-5.4.105_xenomai3.1.deb
chmod 755 linux-headers-5.4.105_xenomai3.1.deb
8.3安装内核数据包
sudo dpkg -i linux-headers-5.4.105_xenomai3.1.deb linux-image-5.4.105_xenomai3.1.deb

9、追加xenomai root用户权限
sudo addgroup xenomai --gid 1234
sudo addgroup xenomai --gid 1234
sudo usermod -a -G xenomai $USER

10、配置开机启动内核
sudo gedit /etc/default/grub
10.1修改内容如下:
#GRUB_DEFAULT=0
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.4.105-xenomai-3.1.x"

#GRUB_TIMEOUT_STYLE=hidden
#GRUB_TIMEOUT=0
GRUB_TIMEOUT=3

GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`

#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash xenomai.allowed_group=1234"

GRUB_CMDLINE_LINUX=""

10.2更新内核并重启
sudo update-grub
sudo reboot

11、安装xenomai用户空间库程序
11.1、查询系统是否正确安装
uname -sr
Linux 5.4.105

dmesg | grep Xenomai
[    0.820102] [Xenomai] scheduling class idle registered.
[    0.820104] [Xenomai] scheduling class rt registered.
[    0.820104] disabling automatic C1E state promotion on Intel processo
[    0.820104] SMI-enabled chipset found, but SMI workaround disabled
[    0.820188] I-pipe: head domain Xenomai registered.
[    0.825381] [Xenomai] allowing access to group 1234
[    0.825477] [Xenomai] Cobalt v3.1 
               *** RTnet for Xenomai v3.1 ***

11.2安装FUSE文件系统
sudo apt install libfuse-dev
sudo apt install fuse-emulator-gtk
sudo apt install pkg-config
sudo apt install findutils
sudo apt install debhelper
sudo apt install libtool
sudo apt install libltdl-dev

11.3安装用户空间程序
cd xenomai-stable-v3.1.x/
sudo ./scripts/bootstrap
sudo ./configure --with-pic --with-core=cobalt --enable-smp --disable-tls --enable-dlopen-libs --disable-clock-monotonic-raw
make -j4
sudo make install

11.4更新bashrc
echo '
### Xenomai
export XENOMAI_ROOT_DIR=/usr/xenomai
export XENOMAI_PATH=/usr/xenomai
export PATH=$PATH:$XENOMAI_PATH/bin:$XENOMAI_PATH/sbin
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$XENOMAI_PATH/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$XENOMAI_PATH/lib
export OROCOS_TARGET=xenomai
' >> ~/.xenomai_rc

echo 'source ~/.xenomai_rc' >> ~/.bashrc
source ~/.bashrc

11.5追加权限
sudo chmod -R 777 /dev/rtdm/memdev-private
sudo chmod -R 777 /dev/rtdm/memdev-shared

11.6测试
sudo /usr/xenomai/bin/latency

  • 2
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值