( 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

最后检查一下编译是

RTlinux3.2安装的更多相关文章

  1. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  2. 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法

    如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...

  3. Sublime Text3安装JsHint

    介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...

  4. Fabio 安装和简单使用

    Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...

  5. gentoo 安装

    加载完光驱后 1进行ping命令查看网络是否通畅 2设置硬盘的标识为GPT(主要用于64位且启动模式为UEFI,还有一个是MBR,主要用于32位且启动模式为bois) parted -a optima ...

  6. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  7. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

  8. 【原】nodejs全局安装和本地安装的区别

    来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的 ...

  9. tLinux 2.2下安装Mono 4.8

    Tlinux2.2发行版基于CentOS 7.2.1511研发而成,内核版本与Tlinux2.0发行版保持完全一致,更加稳定,并保持对Tlinux2.0的完全兼容.Mono 4版本要求CentOS 7 ...

随机推荐

  1. VS 2017 发布:由于构建错误,发布失败

    用17写AspNetCore 也一年了,最近出现了这个问题 : 在点击发布的时候 报错了,构建失败的问题,刚开始还排查日子,删除以往的发布遗留痕迹,后来发现不行, 但是项目在本地运行的时候是好使的,生 ...

  2. .NET框架(转)

    三年前写的<.NET之美>的第六章,现在书名改为了<.NET专题解析>. 本书是一本讲解.NET技术的书籍,目标读者群也是在.NET框架(.NET Framework)下进行开 ...

  3. java 如何将 word,excel,ppt如何转pdf--jacob

    问题:java 如果将 word,excel,ppt如何转pdf 我个人的观点:windows server下用 jacob; linux server下 用openoffice.   PS:1.本文 ...

  4. JAVA设计模式---模板方法

    1.定义: 在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤. (为了防止子类改变模板方法中的算法,可以将模板方法声明为 ...

  5. Django的思维导图

    本人在学习Django的过程中整理的一些知识点 现在整理成思维导图,在以后查阅的时候可以方便自己.

  6. 安装phpredis-master步骤备忘

    下载软件包下载地址: http://pan.baidu.com/s/1i37R8TB 解包 tar -zxvf phpredis-master.tar.gz cd phpredis-master /o ...

  7. ABP官方文档翻译 3.4 领域服务

    领域服务 介绍 IDomainService接口和DomainService类 示例 创建接口 服务实现 使用应用服务 一些探讨 为什么只有应用服务? 如何强制使用领域服务? 介绍 领域服务(或者在D ...

  8. Go笔记-流程控制

    [if] if 是用于测试某个条件的语句,如果该条件(逻辑型或布尔型)成立,则会执行大括号内的代码,第一个大括号必须和if 或者else同行,否则非法 // 方式1 if condition { // ...

  9. ES6知识点大汇总

    1 //1.搭建ES6的开发环境: 2 let a=1; 3 console.log(a); 4 //2.var 声明的是全局变量 全局变量会污染外部的区块 5 //let 局部变量 6 //cons ...

  10. 洛谷 [P2766] 最长不下降子序列问题

    啊啊啊,再把MAXN和MAXM搞反我就退役 层次图求不相交路径数 第一问简单DP 第二问想办法把每一个不上升子序列转化成DAG上的一条路径,就转换成了求不相交路径数 因为每一个数只能用一次,所以要拆点 ...