免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2624 | 回复: 2
打印 上一主题 下一主题

2.6.14.5内核编译自我小结 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-26 21:28 |只看该作者 |倒序浏览
近日对内核2.4.20-8升级到了2.6.14.5,搞得俺整整一个礼拜没睡好。编译时参考了论坛上的一些编译及配置,现对编译过程中遇到的几个问题小结一下,顺便请教两个问题
    1. 编译完成后重启新内核时出现“VFS:Cannot open root device 'LABEL=/', kernel panic...”的错误。google时,感觉第一次编译时此错误较普遍,此问题让我重编了3次,郁闷之极!解决方法参阅http://kerneltrap.org/node/970?from=0&comments_per_page=50 最后在把init ramdisk选项编进内核后,编译终于成功
   2. 在启动时总是提示usb filesystem 内核不支持,又郁闷了,明明把usb文件系统编进内核了的!   后来在一网友提示下在/etc/rc.sysinit里把usb文件类型由usbdevfs改为usbfs后正常.  NND,把文件类型也改了也不通知俺(实际是俺孤陋寡闻)!
   3. 把cdrom编成了module,insmod cdrom.ko后,mount时总提示not a avliad block device ,google后也没搞定,后来在看了Documentation/下的文档后,在insmod cdrom后insmod ide-cd.ko模块后cdrom正常使用
   4. 编译 ldd3 的hello模块时,使用make和直接使用gcc编译都提示“undefined reference to 'printk()'”错误. 几番google后,发现我的Makefile是在2.4下的,找了个2.6下的Makfile后可正常编译。不过对2.6下的Makefile编写不懂,我的资料好像都较旧,哪位师兄有这方面的资料,请发一份给俺:ydyyun@tom.com 万分感谢!!
  另有2个问题想请教一下各位
1. 在编译内核时,假设我忘了把ide disk编进内核,现在要把它编进内核而不是模块,不重新编译整个内核能否实现?
2. 哪位帮我解读下这个Makefile,主要是4-5行   
bj-m := hello.o
KERNELDIR := /lib/modules/2.6.14.5/build/
PWD := $(shell pwd)
hello:
        $(MAKE) -Wall -C  $(KERNELDIR) M=$(PWD)  modules
clean:
        rm -rf *.o

论坛徽章:
0
2 [报告]
发表于 2006-12-27 19:34 |只看该作者
555~~~不会都没有吧,我要make呀~~

论坛徽章:
0
3 [报告]
发表于 2007-01-12 15:33 |只看该作者
应该是在当前目录编译生成内核模块hello.o
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP