• RTlinux3.2安装


    ( 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对硬件的控制
    F
    ile 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


  • 相关阅读:
    libevent学习总结
    C#结构体的使用
    函数常用类
    C#函数的基础应用
    数组的应用:冒泡排序,折半查找及二维数组的应用
    作业
    复习break、continue、while、do-while的运用
    编程常用英语单词
    作业:for循环,迭代法和穷举法
    循环语句
  • 原文地址:https://www.cnblogs.com/mao0504/p/5097758.html
Copyright © 2020-2023  润新知