xenomai是linux实时改造的重要方案之一,下面给出其具体的安装以及Ubuntu内核编译过程。
原理图如下
1. 下载ubuntu内核以及xenomai3.1软件包
#开局先换源
wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.38.tar.gz
wget https://xenomai.org/downloads/xenomai/stable/xenomai-3.1.tar.bz2
2. 压缩包解压,并复制到/usr/src
sudo tar xf linux-4.9.38.tar.gz
sudo tar xf xenomai-3.1.tar.bz2
sudo cp -r linux-4.9.38 /usr/src
sudo cp -r xenomai-3.1 /usr/src
3. 给ubuntu内核打上xenomai补丁,建立一个x86_64位内核
cd linux-4.9.38
sudo wget https://xenomai.org/downloads/ipipe/v4.x/x86/older/ipipe-core-4.9.38-x86-3.patch
../xenomai-3.1/scripts/prepare-kernel.sh --arch=x86_64 --ipipe=ipipe-core-4.9.38-x86-3.patch
#File arch/x86/Kconfig is read-only;trying to patch anyway
#checking file arch/x86/Kconfig
#...
#如出现上述报错,记得加sudo
4. 配置内核
sudo apt install gcc libc6-dev libncurses5-dev libssl-dev build-essential bison flex
#/bin/sh: 1: gcc: not found
#scripts/Makefile.host:107: recipe for target'scripts/basic/fixed' failed
#make[1]: *** [scripts/basic/fixed] Error 127
#Makefile:588: recipe for target 'menuconfig' failed
#make: *** [scripts_basic] Error 2
#如出现上述报错,在安装下面的关键库
#sudo apt install lib32stdc++6
#sudo apt install lib32z1
yes "" | make oldconfig
make menuconfig
#如还提示安装ncurses报错,加sudo
#进入menuconfig界面,会看影响xenomai实时性的警告信息: