内核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问题)http://blog.csdn.net/wonengxing/article/details/6012417 不错的文章!