QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1286|回复: 0

内核,bin,mod,lib

[复制链接]
发表于 2006-1-12 17:28:12 | 显示全部楼层 |阅读模式
升级内核后,好多程序用不了了,那不是内核的问题。

1。首先就是bin和sbin里面的工具,如ld,ps,cp等等linux常用的命令。这些软件不是和内核一起发布的,因此当内核升级后,有时候就用不成了。建议这些程序使用静态编译,不要和库再有任何联系。
2。其次就是模块了,内核提供对模块的支持,个人觉得不怎么好。内核允许模块动态加载,可没有提供任何模块工具如modprobe,insmod等。内核升级后,这些软件与内核的接口变了,必然要跟着升级。
3。就是lib的问题了。内核是不需要库支持的,而且所有静态编译的程序也是不要库支持的。然而许多应用程序采用动态编译,如果编译时采用的库版本比较低,后来升级内核后,库也升级,而应用程序没有升级,同样存在无法使用的问题。而且有些应用程序如果不提供新版本,在新库面前是无法编译通过的。
4。软件本身的与内核的不配套。

前2个问题解决比较容易,如果使用busybox,升级一次就搞定所有问题。
关于lib,应用程序只要重新编译一次即可。当然gcc的版本也要跟着更新。

软件本身的问题就要升级软件了。比如有些软件要求访问/dev目录下的设备。2.6内核和2.4内核相比,做了很大变动,应用程序根本就找不到设备了。最好的办法就是修改软件的源码,获取2.6内核版本的。通过对设备做链接虽然可以在2.6内核下继续运行2.4板的程序,也不好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-3-28 18:54 , Processed in 0.136161 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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