内核编译(二)
来源:互联网 发布:pony.ai 知乎 编辑:程序博客网 时间:2024/06/16 12:09
继昨天之后, 开始对内核中的硬件开始配置, 方法是, 根据发行版给出的硬件模块, 找出在内核中对应的的选项. 具体是
先执行脚本find_all_modules.sh -- 源自<linux内核技术手册>一书, 其代码:
#!/bin/sh#for i in `find /sys/ -name modalias -exec cat {} \;`; do /sbin/modprobe --config /dev/null --show-depends $i ;done | rev | cut -f 1 -d '/' | rev | sort -u
得到所有模块后, 一一在内核代码目录下执行 find -type f -name Makefile | xargs grep module_name, 查找到驱动名, (此可以再做个脚本, 但还不清楚此方法是否一定正确).
再menuconfig下, 搜索该驱动名, 若该驱动未选择, 即[=n], 那么, 首先按Location的逐一选择, 其次, 注意depends下的驱动, 也要安装, 不确定的还要搜索, 最下方的selects, 应该也是要安装的, 最后, Location只是给出目录, 而目录下要自行选择产口的驱动. 即可
然而, 完成配置后, 新内核依然卡死在loading initial ramdisk处, 后参考此文, 得出方法:
启动至grub2下时:
setroot = 'hd0,msdos2' // 参考grub.cfg
ls /
找出内核文件和引导文件
linux / vmlinuz-2.6.32root=/dev/sda1 ro
initrd /initramfs-2.6.32.img
boot
看内核报出什么错.
结果是内核报出fatal: kernel too old的错误
又根据该文, 得出是库文件要求内核至少为2.6.32版本以上导致出错, 只好放弃3.6.30, 重新编译32
今天时间不多 只是将32按默认配置编译, 就仓促安装运行起来, 可惜仍然卡死在原处, 但原因已不一样, 此时, 内核报错为:
dropping to debug shell
sh:can't access tty:control turned off
估计着是配置硬件的问题或者是grub又出了什么问题, 总之 先到这了
- 内核编译(二)
- linux内核学习之二:编译内核
- (二)cygwin下编译uclinux内核出错!
- 008.Vmware-Linux 内核编译二
- Gentoo安装详解(二)-- 编译内核
- 【内核】linux2.6版本内核编译配置选项(二)
- PXE系列之二:内核编译与配置
- Ubuntu9.10 中内核编译过程(二)
- Linux内核编译选项学习(二)(***General setup***)(综合整理)
- linux内核模块编译链接与加载剖析二
- 全面解析Linux 内核 3.10.x - 开始编译<二>
- 编译内核
- 编译内核
- 编译内核
- 编译内核
- 编译内核
- 编译内核
- 内核编译
- 虚拟机VirtualBox怎么添加新的虚拟硬盘
- 平面点对实验
- fzu 1402 中国剩余定理 http://acm.fzu.edu.cn/problem.php?pid=1402
- SQL中的几种简单数据类型
- 2012-12-07日 第一篇笔记
- 内核编译(二)
- POJ3249 工作难题(DAG有向无环图的单源最短路径)
- 策略模式
- Oracle expdp/impdp工具使用
- 设计模式一(简单工厂,采用python实现)
- 管理定律
- 哈希表 平方探测再散列
- 求数组中第k小的数,或者最小的k个数
- 利用二分搜索,查找一个给定的值所在区间