问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何学习编译内核

发布网友 发布时间:2022-05-12 18:36

我来回答

1个回答

热心网友 时间:2023-10-17 23:47

我用的是RedHat9.0, 根据第一贴 "2.4->2.6内核升级指南", 首先需要把必要的软件包都升级到要求的版本以上, 经过折腾, 有的是直接用rpm -Uvh 或 rpm -ivh, 有的是直接用源代码编译, 总算把大部分软件包都升级了. 有一个软件包oprofile死活装不上, 用rpm装的时候出来这样的错误:
error: Failed dependencies:
libc.so.6(GLIBC_2.3.4) is needed by oprofile-0.8-0.20040121.3
可是我的/lib目录里明明有
lrwxrwxrwx 1 root root 13 8月 2 10:45 libc.so.6 -> libc-2.3.2.so
(我已经经历过N次这样的错误了, 这是我非常痛恨rpm的主要原因.)
改用源代码编译的时候, make的时候出来这样的错误:
The present kernel configuration has moles disabled.
Type 'make config' and enable loadable mole support.
Then build a kernel with mole support enabled.

*, RedHat9缺省的内核编译居然是moles disabled!!!我折腾来折腾去就是想把2.4.20-8的内核升级到2.6.12.4去, 到头来还得让我先编译原来2.4.20-8的内核? 先把这事放一放, oprofile说不定不是很有用的模块.

接下来顺利地把mole-init-tools升上去了. 然而在升级mkinitrd的时候又碰到了致命的问题.
根据说明, 要想升级mkinitrd, 首先要升级lvm2和device-mapper, 用rpm -Uvh升级lvm2的时候出来一大堆的错误:
error: Failed dependencies:
libdevmapper.so.1.00 is needed by lvm2-2.00.15-2
libdevmapper.so.1.00(Base) is needed by lvm2-2.00.15-2
libselinux.so.1 is needed by lvm2-2.00.15-2
lvm < 1.0.3-19 conflicts with lvm2-2.00.15-2
看来要先装device-mapper再装lvm2, 另外lvm与lvm2冲突, 要先卸载lvm.
那就卸载lvm吧, NND, lvm is needed by (installed) mkinitrd-3.4.42-1
顾不得了, 用rpm -e -nodeps卸载. 不过现在还是先把device-mapper装好, 再收拾lvm2.

会过头来, 用rpm升级device-mapper, 结果出来
error: Failed dependencies:
libselinux.so.1 is needed by device-mapper-1.00.14-3
查了一下, 机器上却是没有libselinux.so.1, 在网上荡了一个rpm软件包, 结果又是这样一个错误,
error: Failed dependencies:
libc.so.6(GLIBC_2.3.4) is needed by libselinux-1.11.4-1

我不知道我机器里的libc.so.6发了什么猪瘟, 看来是因为我机器里的libc.so.6-->libc-2.3.2.so不是GLIBC_2.3.4.

只好再到网上去荡了一个glibc的软件包, 用rpm -Uvh升级的时候, 好了, 出来一大堆冲突

package glibc-32bit-9-200508050455 is intended for a x86_64 architecture file /lib/i686/libc.so.6 from install of glibc-32bit-9-200508050455 conflicts with file from package glibc-2.3.2-11.9
file /lib/i686/libm.so.6 from install of glibc-32bit-9-200508050455 conflicts with file from package glibc-2.3.2-11.9
file /lib/i686/libpthread.so.0 from install of glibc-32bit-9-200508050455 conflicts with file from package glibc-2.3.2-11.9
file /lib/ld-linux.so.2 from install of glibc-32bit-9-200508050455 conflicts with file from package glibc-2.3.2-11.9
file /lib/libBrokenLocale.so.1 from install of glibc-32bit-9-200508050455 conflicts with file from package glibc-2.3.2-11.9
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 用js动态创建元素一次可以创建多少个 微信密码忘了,怎么找回,现在用的手机号,和不是一个号? 兰州到青岛的飞机票 青岛飞兰州,为什么航空管制 青岛到甘肃飞机票多少钱 兰州到青岛的飞机票多少钱 LED贴片灯带怎么区分质量? 山东到兰州要多久? 深圳市曼嘉光电子科技有限公司怎么样? 青岛到兰州,怎么设计路线机票最便宜? 兰州到青岛崂山做飞机到哪个机场 青岛航qw9849在银川机场换飞机吗? 尿酸高能吃青豆子吗 尿酸高的人能吃黑豆吗? 尿酸高青豆可以吃吗 青岛到兰州平信几天能到达? 青岛到兰州的飞机是几点起飞。。能不能提供一下航班时间。。 青岛飞兰州的航线要经过哪几座山脉? 手机微信转到银行卡多久到账 从青岛到兰州中川机场,坐青岛航空飞机从胶东机场几号门进入 该不该放手? 喜欢一个人超过了三年特别累,到底该不该放手? 头灯电池能当太阳能电池用吗 爱的太痛苦,该不该放手? 爱一个人爱的痛苦,该不该放手? 新买一个头灯,充电时里面会发出许多小气泡似的声音,我不清楚里边什么电池,是否安全? 台风是怎样形成的?? 普通铅酸电池头灯可以改成9v锂电池吗 该不该放手。 有人问你要不要放手,你要怎么说? 爱一个人不一定拥有,对于爱而不得我们该不该放手? 到底该不该放手? 爱一个人要不要放手? 东台做百度推广需要投入多少费用 自动化办公包括OA不? 姜振宇策划创意东台工作室怎么样? 怎么样进行网络推广? 网络推广方法? JS创建元素 oppo售后可以回收手机吗