您的位置:首页 > 大数据 > 人工智能

ubuntu10.10 上安装 RTAI

2012-12-19 19:58 218 查看
内核2.6.38.8

1.安装必须包

sudo apt-get install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge
sudo apt-get build-dep linux

sudo apt-get install git-core libncurses5 libncurses5-dev binutils-dev libelf-dev asciidoc xmlto

2. 编译内核

tar jxvf linux-2.6.38.8.tar.bz2
tar jxvf rtai-3.9.tar.bz2
cd /usr/src/linux-2.6.38.8/

patch -p1 < ../rtai-3.9/base/arch/x86/patches/hal-linux-2.6.38.8-x86-2.11-02.patch
make mrproper

make menuconfig

所有版本的配置综合:
(1).General setup --->Local version-append to kernel release = -rtai-3.9 本地版本-附加内核发行版本,此处填-rtai-3.9,表明我们已经给新内核配置了RTAI,这样会在新内核的启动向导中出现rtai-3.9的选项

(2). Generalsetup --->Create deprecated sysfsfiles (NEW) --->no

Support for paging of anonymous memory(swap)选

System V IPC选

BSD Process Accounting选

(3). Enableloadable module support --->(允许可装载的模块支持)-> Module versioningsupport(模块支持的版本)=no 不同的内核在使用同一模块时区别于塔原有的模块,此处不选。

Loadable Module Support ->选上Automatic kernel module loading

Enableloadable module support->Module unloading(模块卸载)这个选项可以卸载不再使用的模块,如果不选将不能卸载任何模块。

(4).Processortype and features --->(处理器的类型和特性)--->Symmetric multi-processing support(对称多处理器支持)=no 如果有多个CPU或者使用的是多核CPU就选上.此时"Enhanced
Real TimeClock Support"选项必须开启,"Advanced Power Management"选项必须关闭

Processortype and features ---> Interruptpipeline =yes

Processortype and features ---> Subarchitecture Type(子构架类型) =PC-compatible标准的PC或兼容机。

Processor type andfeatures ---> Processor family(处理器系列)=core 2/newer xeon 根据实际CPU选择

Processortype and features --->Generic x86 support(通用x86支持)=no CPU能在上述”Processorfamily”中找到就可不选

Processor type andfeatures --->Multi-core scheduler support(针对多核CPU进行调度策略优化) =yes

Processor type andfeatures --->Preemption Model(内核抢占模式)--->Preemptible Kernel (Low-LatencyDesktop)(适合运行实时程序的主动内核抢占)--->yes

(5). Powermanagement options (ACPI, APM) --->Power Management support(电源管理选项) =no 电源管理有APM何ACPI两种标准且不能同时使用,即使关闭该选项,X86上运行的Linux也会在空闲时发出HLT指令将CPU进入睡眠状态。

Powermanagement options (ACPI, APM) --->CPU Frequency scaling(CPU变频控制)---> CPUF requencyscaling Power management
options =no CPU变频控制允许在运行中改变CPU主频,达到省电和降温的目的,但是这个驱动不会自动改变CPU的时钟速度,选择no。

其他的设置可以保持默认,保存设置,也可备份一份配置文件,文件为/usr/src/linux-2.6.23/.config。若要更进一步精简内核,则需要对配置的各类信息和自己的计算机硬件有详细的了解。

编译内核时cpu选项有:

( ) 386

( ) 486

( ) 586/K5/5x86/6x86/6x86MX

( ) Pentium-Classic

( ) Pentium-MMX

( ) Pentium-Pro

( ) Pentium-II/Celeron(pre-Coppermine)

( ) Pentium-III/Celeron(Coppermine)/Pentium-III Xeon

( ) Pentium M

( ) Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon

( ) K6/K6-II/K6-III

( ) Athlon/Duron/K7

( ) Opteron/Athlon64/Hammer/K8

( ) Crusoe

( ) Efficeon

( ) Winchip-C6

( ) Winchip-2/Winchip-2A/Winchip-3

( ) GeodeGX1

( ) Geode GX/LX

( ) CyrixIII/VIA-C3

( ) VIA C3-2 (Nehemiah)

( ) VIA C7

( ) Core 2/newer Xeon

( ) Intel Atom

Processor type and features-->Processor family

这是一个单选条目,目的是为了指定CPU的具体型号以便进行优化,应该慎重选择,选错有可能造成内核无法正常工作。举个例子来说明这个选项的优化作用,比 如你选中了Athlon/Duron/K7,那么内核在进行memcpy()的时候就会使用经过3DNow!指令集优化过的版本。下面我大致把市面上常见 的CPU应该选哪项做一个粗糙地分类:

针对AMD的CPU:

a)Sempron(闪龙)/Duron(毒龙)/Athlon(速龙):选择Athlon/Duron/K7。

b)Sempron64/Athlon64/Athlon64 X 2/Opteron(皓龙):选择Opteron/Athlon64/Hammer/K8。

c)比上述CPU都古老的:选择K6/K6-II/K6-III。(当然如果你的CPU是K5的就得选586/K5/5x86/6x86/6x86MX了。)

针对INTEL的CPU:

a)奔腾2:选择Pentium-II/Celeron(pre-Coppermine)

b)奔腾3:选择Pentium-III/Celeron(Coppermine)/Pentium-III Xeon

c)奔腾4/奔腾D/赛扬D:选择Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon

d)酷睿2:选择Core 2/newer Xeon

注意:如果你的CPU是赛扬(赛扬D除外),你必须先确认它到底是基于P2,P3还是P4的,一般来讲主频高于1G的是基于P4的,高于500M但小于1G的是基于P3的,其它的是基于P2的。另外,志强处理器你也要区分是基于P3,P4或者是Core 2。

【******************我的注解:*********************************************************************

Intel 用 Core 取代了 Pentium 成为主要命名代号。Core Duo 是双核心处理器(Core Solo 为单核心)。Centrino Duo 全称为 Centrino Core Duo,其中 Centrino 是迅驰移动技术Intel Pentium M Yonah processor指的就是Centrino Core Duo********************************************】

我电脑处理器是 AMD Sempron(tm) X2 190 。。。

网上查了一下AMD Sempron是AMD公司 用来取代Duron处理器的,选择( ) Athlon/Duron/K7 这一项.

错误:

FATAL: Could not load /lib/modules/2.6.38.8rtai-1/modules.dep: No such file or directory

只要履行一条号令就可以了。

起首要切换到root用户,

su root

然后运行

mkdir /lib/modules/`uname -r` && depmod -a

题目解决。 (注意这里的 uname -r )

附:如何去掉grep产生的No such file or directory

很简单,用grep命令的-s选项。

-s:不显示文件不存在和文件不可读的错误信息

例如,在em*目录下的所有xml文件中查找字符串abc,命令如下:

find em* -name '*.xml' | xargs grep -s 'abc'

Debian编译升级内核(could not load /lib/modules/2.6.28/modules.dep问题)/article/7831693.html
不错的文章!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: