redhat9安装RTLINUX-3.2,内核版本为Kernel-2.4.23
目标机:redhat9(内核版本为2.4.20-8),GCC编译器为3.2版本(可用GCC -v来查询版本号;)
注:如果编译器gcc版本是2.96,那么在多处理器电脑上安装RTLinux则需要修改/usr/src/RTLinux/Linux/Makefile中的代码
CC = $(CROSS_COMPILE)gcc
改变编译器为kgcc(gcc 2.91),改变后的代码为:
CC = kgcc
实际上,使用gcc2.91,2.95和3.x都没有问题。(由于本人GCC版本为3.2版本,直接使用,并未对其他GCC版本做测试)。
操作系统要求:实时操作系统为RTLinux3.2;内核版本为Kernel-2.4.23
安装步骤:
1.安装LINUX操作系统(如REDHAT9)
2.RTLINUX实时操作系统安装
1)将内核源码linux-2.4.23.tar.gz与实时操作系统RTLinux.rar复制到/usr/src目录下;并进行解压(由于RTLinux安装时并没有安装rar解压工具,下载rarlinux-3.5.1.tar.gz,并安装)
2)安装RTLinux实时补丁
将RTLINUX加压后文件夹下的rtlinux-3.2-rc1下patchs目录下的kernel_patch-2.4.23-rtl3.2-pre3复制到内核解压的linux-2.4.23目录下,并打包
cp /usr/src/root/rtlinux-3.2-rc1/patchs/kernel_patch-2.4.23-rtl3.2-pre3 /usr/src/linux-2.4.23
cd /usr/src/linux-2.4.23
patch -p1 < ./patchs/kernel_patch-2.4.23-rtl3.2-pre3
3)建立软连接,并配置编译内核
ln -s /usr/src/linux-2.4.23 /usr/src/root/rtlinux-3.2-rc1/linux
cd /usr/src/root/rtlinux-3.2-rc1/linux
cp /boot/config-2.3.20-8 .config
make menuconfig(注:此步骤尤其重要;最后启动失败;多半因为此处配置错误)
Loadable module support->
[*]Enable loadable module support,RTLinux使用模块功能来加载实时任务,此功能必须存在。
processer type and features--->
(****)processor family(空格进行选择,此处选择的是Pentium-4(本身CPU为酷睿双核))
General Setup--->
[ ]Advanced Power Management BIOS(此处一定不要选择,机器的APM功能一定要关闭,它会抢夺RTLinux对硬件的控制)File System--->
[ * ]Ext3 journalling file system support
[ * ]JBD(ext3)debugging support
make dep
make bzImage
make modules
make modules_install
make install
4)将重新安装的内核加入启动选项
cp arch/i386/boot/bzImage /boot/rtzImage
gedit /boot/grub/menu.lst(在打开的文件末尾加入如下内容)
title RTLinux,kernel 2.4.23-rtl3.2-pre3
root(hd0,0)(此处标注的是内核文件放置的分区即/boot分区,可用df -l 来查询,若/boot为/dev/hdc1,则此处)
Kernel /rtzImage ro root =/dev/hdc3
initrd/initrd-2.4.20-rtl3.2-pre3.img
5)重新启动 reboot
6)RTLinux的bug修正(注意此处若不修正bug,在之后的rtlinux内核配置编译则会产生关于“xargs不能大于20k”的error而使得编译无法继续)重启电脑,在启动界面下选择RTLinux进入
在rpmseek.com下载findutils-4.1.7-9.src.rpm,放于/usr/src下安装
rpm -ivh findutils-4.1.7-9.src.rpm //在rpm文件包所在文件夹下会生成redhat文件夹,其中有一些资源文件
cp /usr/src/redhat/SOURCES/findutils-4.1.20.tar.bz2 /usr/local
cd /usr/local
tar xjvf findutils-4.1.7.tar.bz2
cd findutils-4.1.7
./configure
注释掉xargs.c中的如下两行:gedit xargs/xargs.c
/*
if (arg_max > 20 * 1024)
arg_max = 20 * 1024;
*/
cd ..
make
make install
cp /usr/bin/xargs /usr/bin/xargsoldcp /usr/local/bin/xargs /usr/bin
7)RTLinux配置和编译
cd /usr/src/root/rtlinux-3.2-rc1
make clean
make menuconfig
POSIX
Support options--->
[
* ]POSIX Signals[ * ]POSIX Timers
编译RTLinux之前需要修改浮点路径,去掉/usr/src/rtlinux/examples/fp/Makefile和usr/src/rtlinux/examples/v1api/fp/Makefile中的第一个-lm
make
dep
make
modules
make
devices
make
install
7)重启
reboot
8)测试
make
regression
成功则显示为:Testing
multiple loads of rtl.o…[OK]Testing
…………
否则回到第3步重新配置内核
9)RTLinux简单操作
启动rtlinux:rtlinux start
查看rtlinux:rtlinux status
关闭rtlinux:rtlinux stop