赞
踩
Ubuntu:Ubuntu16.04
Linux:4.14.134
Xenomai:Xenomai3.1
Linux-4.14.134下载地址:
https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/
下载:[Linux-4.14.134.tar.gz]
i-pipe-4.14.134下载地址:
https://ftp.denx.de/pub/xenomai/ipipe/v4.x/x86/
下载:[ipipe-core-4.14.134-x86-8.patch]
xenomai-3.1下载地址:
https://ftp.denx.de/pub/xenomai/xenomai/stable/
下载:[xenomai-3.1.tar.bz2]
sudo apt-get install build-essential libncurses5-dev bison flex libssl-dev
sudo apt-get install kernel-package
1、创建/xenomai文件夹,文件夹中包含/4.14.134文件夹和xenomai-3.1.tar.bz2
2、/xenomai/4.14.134文件夹中放入
Linux-4.14.134.tar.gz
ipipe-core-4.14.134-x86-8.patch
3、解压
①在/xenomai/4.14.134文件夹中
tar xvf Linux-4.14.134.tar.gz
②在/xenomai文件夹中
tar xvf xenomai-3.1.tar.bz2
4、Linux内核打ipipe补丁
/xenomai/4.14.134文件夹下有/linux-4.14.134文件夹和ipipe-core-4.14.134-x86-8.patch
在/xenomai/4.14.134/linux-4.14.134文件夹下打开终端打补丁:
../../xenomai-3.1/scripts/prepare-kernel.sh --ipipe=../ipipe-core-4.14.134-x86-8.patch --arch=x86_64
5、配置内核
在/xenomai/4.14.134/linux-4.14.134文件夹下打开终端:
make menuconfig
内核配置:
processor type and features ---> Linux guest support ---> N Processor family ---> Core2 Multi-core scheduler support ---> N transparent Hugepage Support ---> N Contiguous Memory Allocator ---> N Allow for memory compaction ---> N Page migration ---> N Power management and ACPI options ---> Suspend to RAM and standby ---> N Hibernation(aka ‘suspend to disk’) ---> N CPU Frequency scaling --->N ACPI ---> Processor --->N CPU Idle --->N Memory Management option ---> Xenomai/cobalt(New) ---> Sizes and static limits ---> Number of registry slots ---> 4096 Size of private heap(kb) ---> 4096 Size of shared heap(kb) ---> 4096 Maximum number of POSIX timers per process ---> 512 Drivers ---> RTnet ---> TCP/IP socket interface ---> Y Drivers ---> New intel® PRO/1000 PCIe ---> Y Realtek 8169 ---> Y Add-Ons ---> Real-Time Capturing Support ---> Y
6、编译内核打包:
sudo make-kpkg --initrd --revision 2.0 --append-to-version -xeno20240122 kernel_image kernel_headers
编译完成后/xenomai/4.14.134文件夹中出现文件:
linux-headers-4.14.134-xeno20240122_2.0_amd64.deb
linux-image-4.14.134-xeno20240122_2.0_amd64.deb
在本机Ubuntu16.04上安装刚刚编译好的内核,当然也可以将上述两个文件拿到其他平台安装
打开终端:
sudo dpkg -i linux-headers-4.14.134-xeno20240122_2.0_amd64.deb
sudo dpkg -i linux-image-4.14.134-xeno20240122_2.0_amd64.deb
在/xenomai/xenomai-3.1文件夹下打开终端:
./configure --with-core=cobalt --enable-smp --enable-pshared
make
sudo make install
xenomai-3.1安装完毕
更改启动项:
sudo gedit /etc/default/grub
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
#GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=80
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
更新:
sudo update-grub2
1、重启
sudo reboot
2、选择ubuntu高级选项
3、选择 ubuntu linux 4.14.134-xeno20240122
cortex-A8 am335x为例:
1、添加环境变量
$ sudo gedit /etc./profile
在文件末尾添加环境变量:export PATH=”/home/用户名/MY-I.MX6/03_tools/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin:$PATH”
2、环境变量生效
$ source /etc/profile
3、配置
cd xenomai-3.1
./configure CFLAGS="-march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=vfp3 -ffast-math" --host=arm-linux-gnueabihf --with-core=cobalt --enable-smp
–host=参数指定交叉编译工具链,CFLAGS=指定目标架构,是否使用硬浮点等。
4、编译
方法一
$ make clean
$ make
$ make install
系统默认安装:/user/xenomelia
方法二
创建一个临时安装目录
mkdir -p build-arm
编译安装到build-arm目录:
make -j$(nproc) DESTDIR=`pwd`/build-arm install
编译安装后,xenomai库等文件在$(pwd)/build/xenomai目录下,将xenomai文件夹拷贝到rootfs/usr中即可。
sudo cp -R build-arm/xenomai rootfs/usr/
或者将xenomai文件夹进行压缩,然后需要时直接解压到rootfs /usr中,这种方式便于后续安装。
cd build
sudo tar -czpvf xenomai-arm-3.1.1.tar.gz xenomai
解压到rootfs:
cd rootfs
sudo tar -xpvf xenomai-arm-3.1.1.tar.gz -C usr/
5、配置环境变量
在目录/etc/profile.d/下创建文件xenomai环境变量文件xenomai.sh
文件内容如下:
#fix paths for 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 #add some aliases convenient for xenomai alias xeno-stat="cat /proc/xenomai/sched/stat" alias xeno-threads="cat /proc/xenomai/sched/threads" alias xeno-rt-threads="cat /proc/xenomai/sched/rt/threads" alias xeno-interrupts="cat /proc/xenomai/irq" alias xeno-version=/usr/xenomai/sbin/version alias xeno-autotune=/usr/xenomai/sbin/autotune alias xeno-latency=/usr/xenomai/bin/latenc
也可将这些内容直接放到/etc/profile中。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。