( 1 ).前言

2003 年以后, fmslabs 的 RTLinux Free 版本为 3.2Pre ,和以前的 RTLinux 3.1 比较,不再需要必须从 2.4.4 的内核上安装。 RTLinux 3.2 支持的 Linux 内核为 2.4.19/2.4.20/2.4.21Pre5

( 2 ).准备

目前计算机上已经存在系统为 Vine Linux 2.5 ,内核为 2.4.18. 硬盘总共大小为 100G, 前 4G 为 dos 主分区,安装 windows 系统,使用 OSLoader 启动,后 96G 为 Extend 分区其中分配如下:

hda1      FAT32    Window 4G,

hda5      Ext3      /boot      500M

hda6      FAT32    Window 40G

hda7      Ext3      /root       40G

hda8      Ext3      /home    4G

其余给 linux swap

( 3 ).下载

首先,从下载 RTLinux 3.2 和 2.4.20 的内核

2.4.20 内核下载地址

ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.20.tar.bz2

RTLinux 3.2 的下载地址

http://www2.fsmlabs.com/3.2-free.html

填好注册表格后,即可下载

( 4 ).复制,解压缩和建立目录

以 root 身份登录,建立如下目录

cd /usr/src

mkdir rtlinux

将下载的文件复制到此,此时此目录下内容如下:

ls /usr/src/rtlinux

linux-2.4.20.tar.bz2

rtlinux-3[1].2-pre2.tar.bz2

现在解开压缩包

bunzip2 linux-2.4.20.tar.bz2 | tar –xvf –

bunzip2 rtlinux-3[1].2-pre2.tar.bz2 | tar –xvf –

此时目录结构如下

ls /usr/src/rtlinux

linux-2.4.20.tar.bz2          rtlinux-3[1].2-pre2.tar.bz2

linux-2.4.20                      rtlinux-3.2-pre2

现在建立必要的连接 :

ll /usr/src

会发现这样的一个连接

linux à /usr/src/linux-2.4.18

删除这个连接

cd /usr/src

rm linux

然后建立一个新的符号连接:

ln –s /usr/src/rtlinux/linux-2.4.20 linux

至此,已经将新内核连接到 /usr/src/linux 上了。

( 5 ).打补丁,配置内核

下面给内核打 Realtime 的补丁。注意到

/usr/src/rtlinux/rtlinux/rtlinux-3.2-pre2 下有一个目录名字叫 patches ,里面内容如下:

kernel_patch-2.4.19-rtl3.2-pre2     README

kernel_patch-2.4.20-rtl3.2-pre2

kernel_patch-2.4.21-pre5-rtl3.2-pre2

选择其中的 2.4.20 的补丁,运行 patch 命令:

cd /usr/src/linux

patch -p1 < /usr/src/rtlinux/rtlinux-3.2-pre2/patches/kernel_patch-2.4.20-rtl3.2-pre2

此时 realtime 的补丁已经打入新内核中

然后运行编译配置命令,

cd /usr/src/linux

如果在 xwindow 下运行

make xconfig &

如果没有安装 xwindows ,运行

make menuconfig

出现内核配置对话框,一般用缺省配置就可以,但是注意以下一些点 :

5.1. 如果目前的 linux 分区为 ext3 分区,内核缺省选项可能是不支持,在 FileSystem 中,选择支持 ext3 文件系统。

5.2. 如果硬盘中存在 dos 分区,并且这些分区在 /etc/fstab 中指定为启动后自动 mount ,则必须配置支持 dos 分区格式 fat16 和 fat32 ,在 FileSystem 中,选择支持 vfat 文件系统。如果需要,选择支持 ntfs 文件系统

5.3. 如果网卡特殊,注意配置特殊的网卡驱动程序,本计算机使用了 Realtek 8139 网卡。在 Network device support 中选择 Ethernet(10 or 100 Mbit) 然后选中 Realtek RTL-8139 PCI Fast Ethernet Adaptor support 。

有些选象有 3 个选象 y,m,n 分别对应

yes :该模块被直接编译进入内核,内核会因此变大

modular :该模块可以在内核启动时被装载,这样内核不会变大,但是可以得到相应的功能

no :不安装

全部配置完成后,选择存盘并且退出。下面可以开始编译内核了

make dep clean bzImage

开始编译,需要若干时间,因机器而异,可能长达数小时。如果编译成功,最后显示

Boot sector 512 bytes

Setup is xxxxx bytes.

System is xxxxx KB

一般会提示,内核过大,无法复制到一张软盘上。忽略这些提示

如果编译过程出现错误,必须重新配置内核编译选项

cd /usr/src/linux

make xconfig & 或者 make menuconfig

配置需要若干技巧和经验。具体可以参考相关的文章。

下面将相应的驱动程序模块,安装到指定位置( /lib/modules/2.4.20-rtl3.2-pre2 ),供新内核启动时装载这些模块。

make modules modules_install

最后检查一下编译是否完整,利用下面的命令

depmod –a

如果没有错误,即可进入下一步,每次重新 make dep clean bzImage 成功后,都要注意运行 make modules modules_install ,否则,重新启动新内核时,可能发生找不到驱动程序的情况

目标机: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/xargsold
cp /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

RTlinux3.2安装相关推荐

  1. linux内核版本2 3 20,redhat9装配RTLINUX-3.2,内核版本为Kernel-2.4.23

    redhat9安装RTLINUX-3.2,内核版本为Kernel-2.4.23 目标机:redhat9(内核版本为2.4.20-8),GCC编译器为3.2版本(可用GCC -v来查询版本号:) 注:如 ...

  2. linux环境下nacos的安装+启动,阿里云服务器安装nacos

    nacos安装+启动(linux环境): 基础:安装java环境 官网下载压缩包:如 nacos-server-1.2.1.tar.gz 放在自定义目录下 # 解压 tar -xvf nacos-se ...

  3. Alibaba Cloud Linux 2.1903 LTS 64位服务器yum源下载404,Alibaba Cloud Linux 2实例中使用docker-ce、epel等YUM源安装软件失败

    [Alibaba Cloud Linux 2.1903 LTS 64位]服务器yum源下载404 failure: repodata/repomd.xml from docker-ce-stable: ...

  4. Linux下docker安装配置oracle,oracle创建用户并远程连接,实测可用!

    最近在给同学弄毕业设计的数据库,因为oracle在个人电脑上极不稳定,所以他的电脑数据库崩溃了,这时候我就在docker上为他拉了一个oracle,解决了问题. docker的安装共有以下几步,实测没 ...

  5. 在docker上安装部署tomcat项目 超简单,拿来主义

    在docker中部署tomcat,非常简单,而且省去了手动安装jdk等步骤,只需要将war包复制在容器tomcat实例中的webapps下面即可.以下将详细讲解流程: 在windows中打好包以后用w ...

  6. docker一步安装mysql,docker的魅力就在于此

    正常来说,使用docker安装东西的步骤是serach它有没有,然后pull它 这里其实只要一步(如果你没有安装过.没有端口占用等问题的话!!) $ docker run -d -p 3306:330 ...

  7. Linux下tomcat的安装与卸载以及配置(超简单)

    无敌简单的几步 1.安装 //首先你需要下载好tomcat包 sudo tar -xvzf apache-tomcat-7.0.85.tar.gz(这里是包名) -C 你要放的位置 2.卸载 rm - ...

  8. Linux下安装Java8

    Linux(ubuntu)下Java8安装 1.下载jdk8 这个看大家了,linux版本的就可以 2.创建jvm文件夹 在根目录下创建名为jvm的文件夹(在哪里创建看个人) $ sudo mkdir ...

  9. Linux安装mysql,一步到位!

    今天在腾讯云上面买了一个服务器,想要把自己的项目部署一下,就要安装mysql,以下是我的安装步骤,在网上有很多人把install敲错了,还有的少-get,种种错误试完之后,我决定发一篇 sudo ap ...

最新文章

  1. window对象提供的功能之窗口最大化
  2. SAP PM 初级系列25 - 维修工单与采购单据之间LINK?
  3. Matlab Robotic Toolbox V9.10工具箱(二):正/逆运动学
  4. 8086实时时钟实验(二)——《x86汇编语言:从实模式到保护模式》读书笔记06
  5. Python3--自动化办公
  6. Filter_细节_过滤器拦截方式配置
  7. 亚马逊云科技中国线上峰会开幕,发力汽车产业链、少年人工智能等
  8. linux安装网卡驱动tgz,Linux安装网卡驱动
  9. c语言OBJECT数组,Objective-C中NSArray的基本用法示例
  10. “Talk is cheap, show me the code”你一行代码有多贵?
  11. paip.百度空间 JAVA程序发文总结
  12. 明月浩空播放器php源码,明月浩空音乐播放器
  13. MDK/KEIL4/KEIL5 安装教程
  14. 某验通杀js版,流程各个验证码那对应的js分析,你确定不进来看看(无感)?
  15. 二本大龄程序员居然拿到百度offer(百度面经)
  16. WPS如何并排放置两张图片_WPS表格:如何批量将所有图片大小修改成一致?
  17. 国内无代码开发平台功能对比
  18. xlwt对excel表的写入操作
  19. 【工作感悟】java初始化数组长度
  20. Android调用打印机

热门文章

  1. Java and Python: a perfect couple - Developer.com
  2. Apache简单配置(4)搭建Discuz 7.0.0论坛
  3. Exchange监控用户邮件
  4. 【更新指南】Aspose.CAD for Java更新至v19.5版本,实施导出的“警告”通知机制!...
  5. 无序列表属性 隐藏方式 JS简介
  6. Linux vmstat命令详细解读
  7. Linux基础知识——常用shell命令介绍(一)
  8. winform生命周期(备忘)
  9. 【裴蜀定理】BZOJ 1441 MIN
  10. 数组, 数组的初始化