LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3064|回复: 18

隆重推出升级SUSE Linux内核的完整步骤!

[复制链接]
发表于 2006-7-22 23:02:31 | 显示全部楼层 |阅读模式
安装完SLED 10后发现仍然有“热启动网络不通”的问题,原因是内核版本较低,于是升级到2.6.17版内核,成功解决此问题。为了造福广大菜鸟,分享一下我的经验,欢迎高手批评补充。

1。将下载的新内核(比如linux-2.6.17.tar.bz2)拷贝到 /usr/src, 然后在/usr/src本地解压,生成新目录linux-2.6.17;
2.#cd linux-2.6.17; 编辑Makefile 找到EXTRAVERSION:
  EXTRAVERSION = -xhawk(你自己给新内核取的名字) (注意前面的“-” 符号)
3。拷贝/boot/下的1个config文件到/usr/src/linux-2.6.17/(解压的新内核目录),更名为.config。
4。#make clean && make mrproper
5. #make xconfig
6. load 刚拷贝过来的/usr/src/linux-2.6.17/.config;

7. 在"rocessor type and features" 栏目,选择自己的CPU类型,我的CPU 是Athlon64 3000+,但我想用32位的SUSE Linux,这里仍然选择Athlon64;选择Preemptible Kernel(Low-Latency Desktop); Time Frequency 选择1000Hz;

8。在Networking 栏目,去掉IPv6 Protocol;save;退出;
9.编辑 .config file;找到:CONFIG_BLK_DEV_RAM_SIZE 把值改为 128000;

10。在命令行执行 #export CHOST="i686-pc-linux-gnu"

11。#export CFLAGS="-march=athlon64 -O2 -pipe -funroll-all-loops -funit-at-a-time -fpeel-loops -ftracer -funswitch-loops -fomit-frame-pointer -fweb -msse3"
说明:如果CPU 是新版的Athlon64("Venice" or "San Diego")/Athlon64-X2("Manchester" or "Toledo"),加上-msse3,以支持SSE3 功能;

12.#export CXXFLAGS="${CFLAGS}"
13.#export MAKEOPTS="-j6"
   说明:MAKEOPTS= will set number of concurrent threads. 我有 1GB 内存 所以我的 MAKEOPTS=”-j6”,如果内存小,选MAKEOPTS="-j2"。
------------------------------
   ***对于其它CPU的参数,请参考:
      http://gentoo-wiki.com/CFLAGS
      http://gentoo-wiki.com/Safe_Cflags#Intel_Processors
------------------------------

14。开始编译:
#make bzImage
#make modules
#make modules_install

15.#make install 自动copy新内核到/boot,自动修改Grub. (不用再mkinitrd)

16.启用新内核(这一步似乎可以不做,因为我忘记做这一步,仍然成功启动到新内核):
#rm /boot/vmlinuz
#rm /boot/initrd
#ln -s vmlinuz-2.6.17-xhawk-default vmlinuz (注意新生成的内核的名称,在/boot 下查一下)
#ln -s initrd-2.6.17-xhawk-default initrd

17。重起计算机,用#dmesg命令查看启动信息,第一行就是当前内核版本。或者用命令 #uname -r

18.如果内核去掉了IPv6, 最好修改一下 /etc/sysconfig/SuSEfirewall2,
   把 FW_IPv6="" 改为
   FW_IPv6="no"

   然后修改 /etc/modprobe.conf
   将alias net-pf-10       ipv6 修改为 alias net-pf-10     off
   添加 alias ipv6 off
   

(注:#号后是终端命令行命令)
发表于 2006-7-23 09:44:47 | 显示全部楼层
非常感谢。
可否给一些下载新内核的连接呀?谢谢。
回复 支持 反对

使用道具 举报

发表于 2006-7-23 10:17:37 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2006-7-23 10:26:48 | 显示全部楼层
后面的那些export有什么用?可以不用吧?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-23 11:09:24 | 显示全部楼层
Post by beta4
后面的那些export有什么用?可以不用吧?

可以不用,export 主要是针对你的CPU 进行优化编译设置。

但,既然你自己在编译内核了,何不针对你自己的CPU 进行优化?
回复 支持 反对

使用道具 举报

发表于 2006-7-23 11:27:43 | 显示全部楼层
楼主的export是对athlon64的吧,我的是amd mobile sempron 2800+,新手不知我的如何写,望指教,谢谢!
回复 支持 反对

使用道具 举报

发表于 2006-7-23 12:22:38 | 显示全部楼层
Post by xhawk
可以不用,export 主要是针对你的CPU 进行优化编译设置。

但,既然你自己在编译内核了,何不针对你自己的CPU 进行优化?


哪里有专门介绍这些export含义的文档?对intel的cpu呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-23 12:26:58 | 显示全部楼层
Post by beta4
哪里有专门介绍这些export含义的文档?对intel的cpu呢?

http://gentoo-wiki.com/CFLAGS
http://gentoo-wiki.com/Safe_Cflags#Intel_Processors
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-23 12:31:00 | 显示全部楼层
Post by hedaors
楼主的export是对athlon64的吧,我的是amd mobile sempron 2800+,新手不知我的如何写,望指教,谢谢!


请参考
http://gentoo-wiki.com/Safe_Cflags#Mobile_Sempron_.28AMD.29
回复 支持 反对

使用道具 举报

发表于 2006-7-23 22:14:25 | 显示全部楼层
我晕
这种还加精是
哎……
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表