LinuxSir.cn,穿越时空的Linuxsir!

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

如何给内核升级?[原作:小凡兄]

[复制链接]
发表于 2002-8-17 11:48:29 | 显示全部楼层 |阅读模式
一、进入/usr/src目录下,查看是否有linux目录,如果有一个符号链接,那么删掉它,如果是个目录,那就改名,然后解开下载的内核压缩包。
[root@localhost /usr/src]# rm linux
[root@localhost /usr/src]# tar zxvf linux-2.4.18.tar.gz
二、一般情况下会解压缩到linux目录,改个名字
[root@localhost /usr/src]# mv linux linux-2.4.18
三、进入/usr/include目录下,将asm、scsi、linux三个目录改名
[root@localhost /usr/include]# mv asm asm.OFF
[root@localhost /usr/include]# mv scsi scsi.OFF
[root@localhost /usr/include]# mv linux linux.OFF
四、建立指向新内核的位置到第三步中被改名的原目录
[root@localhost /usr/include]# ln -s /usr/src/linux/include/asm-i386 asm
[root@localhost /usr/include]# ln -s /usr/src/linux/include/scsi scsi
[root@localhost /usr/include]# ln -s /usr/src/linux/include/linux linux
五、进入/usr/src/linux目录
[root@localhost /usr/include]# cd /usr/src/linux
六、配置内核,根据需要选中或取消各选项
[root@localhost /usr/src/linux]# make menuconfig
七、编译依赖库
[root@localhost /usr/src/linux]# make dep
八、编译内核
[root@localhost /usr/src/linux]# make bzImage
九、编译模块
[root@localhost /usr/src/linux]# make modules
十、安装模块
[root@localhost /usr/src/linux]# make modules_install
十一、拷贝内核文件到/boot目录
[root@localhost /usr/src/linux]# cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.18
十二、修改/etc/lilo.conf,把新内核加入启动文件。把以下几行加入/etc/lilo.conf文件中:
image=/boot/vmlinuz-2.4.18
    label="new"
    read-only
    root=/dev/hda1
十三、使新的配置文件生效
[root@localhost /usr/src/linux]# lilo
十四、重新启动系统,使用新内核,完成。
 楼主| 发表于 2002-8-17 11:49:18 | 显示全部楼层
发表于 2002-8-20 14:00:57 | 显示全部楼层
上面第四步不对呀?至少在我的Debian2.2v6上面不能这么做.
发表于 2002-8-20 14:03:37 | 显示全部楼层
其他的如meke dep我也做,不过后面的我只打个make zlilo就可以一步完成了,哪有这么烦?呵呵~~
发表于 2002-11-21 07:49:31 | 显示全部楼层

哪里有内核编译相关的完整文章?

比如说有关各个选项意义,编译过程及方法,还有注意事项等等的文章,谢谢
发表于 2002-11-25 17:26:19 | 显示全部楼层
我的到第四步不能通过啊
 楼主| 发表于 2002-11-25 23:19:01 | 显示全部楼层
请兄弟把错误信息发上来,让有经验的弟兄看一下。
多谢
发表于 2002-11-26 09:50:21 | 显示全部楼层
我做make xconfig总是error,但用make menuconfig和make config却可以,这是为什么?
 楼主| 发表于 2002-11-26 17:50:39 | 显示全部楼层
条条大路通罗马,用make menuconfig和make config一样能完成工作。另外是不是系统少安装了什么,比如默认安装等。我也一样不知道问题出在哪里。因为就是一个error,还不能说明什么。。。
有经验的弟兄指教。。多谢
发表于 2002-11-26 18:21:32 | 显示全部楼层
我只是想知道为什么xconfig就不行呢?
上面忘了附上错误信息了:[root@jcnet linux]# make xconfig
rm -f include/asm
( cd include ; ln -sf asm-i386 asm)
if [ -f .need_mrproper ]; then \
rm .need_mrproper; \
make mrproper; \
make preconfig; \
fi
make -C scripts kconfig.tk
make[1]: Entering directory `/usr/src/linux-2.4.19-16mdk/scripts'
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o tkparse.o tkparse.cgcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o tkcond.o tkcond.c
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o tkgen.o tkgen.c
gcc -o tkparse tkparse.o tkcond.o tkgen.o
cat header.tk >> ./kconfig.tk
./tkparse < ../arch/i386/config.in >> kconfig.tk
KVER=`sed -n 's/^.define UTS_RELEASE "\(.*mdk\).*"/\1/p' ../include/linux/version.h`; \
KTYPE=`sed -n 's/^.define __BOOT_KERNEL_\([^ ]*\) 1/\1/p' /boot/kernel.h|tr A-Z a-z`; \
[[ "$KTYPE" = "up" ]] && KTYPE="" ;\
KCONF=/boot/config-$KVER$KTYPE ; \
if [ -f "$KCONF" ]; then \
echo "set defaults \"$KCONF\"" >> kconfig.tk; \
else \
echo "set defaults \"arch/i386/defconfig\"" >> kconfig.tk; \
fi
echo "set ARCH \"i386\"" >> kconfig.tk
cat tail.tk >> kconfig.tk
chmod 755 kconfig.tk
make[1]: Leaving directory `/usr/src/linux-2.4.19-16mdk/scripts'
wish -f scripts/kconfig.tk
......(一堆乱码)
最后是make: *** [xconfig] Error 1
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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