源码论坛公告:本站是一个交流学习建站资源的社区论坛,旨在交流学习源码脚本等资源技术,欢迎大家投稿发言! 【点击此处将锦尚放在桌面

源码论坛,商业源码下载,尽在锦尚中国商业源码论坛

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 882|回复: 2
打印 上一主题 下一主题

[原创] FreeBSD内核定制

[复制链接]

15

主题

58

帖子

12

金币

初级会员

Rank: 1

积分
119
跳转到指定楼层
1#
发表于 2011-6-26 12:58:48 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
FreeBSD内核定制 首先复制配置文件:
  #cd /usr/src/sys/amd64/conf
  #mkdir /root/kernel
  #cp GENERIC /root/kernel/MY_KERNEL_CONF
  #ln -s /root/kernel/MY_KERNEL_CONF
  这样作的好处是更新源代码之后如果像要重新编译内核,就不会需要重新弄一个配制文件了。
  第二步是准备硬件清单
  #dmesg > hardware
  #vi hardware
  就可以查看机器的硬件配制了
  接下来开始修改配置文件
  vi MY_KERNEL_CONF
  其中我的改动有:
  ident GENERIC => ident MY_KERNEL
  这个是内核的名字,以此来与之前的内核相区分
  接下来的大部分是操作系统核心相关的东东,如文件系统,进程调度等,大部分我都是直接保留,注释掉了ipv6 相关的选项以及与FreeBSD4兼容的选项,因为我在FreebSD.org上看到的amd64 架构是从FreeBSD5.3 开始的
  到后面就是根据硬件配制清单定制驱动,根据需求删减
  配制完毕后开始编译
  #cd /usr/src
  #make buildkernel KERNCONF=MY_KERNEL_CONF
  很不幸在链接时报错退出:
  linking kernel.debug
  umass.o(.text+0xcf): In function `umass_detach':
  /usr/src/sys/dev/usb/storage/umass.c:2825: undefined reference to `xpt_bus_deregister'
  umass.o(.text+0xf3):/usr/src/sys/dev/usb/storage/umass.c:2828: undefined reference to `cam_sim_free'
  umass.o(.text+0xd6c): In function `umass_std_transform':
  /usr/src/sys/dev/usb/storage/umass.c:3613: undefined reference to `xpt_done'
  u9):/usr/src/sys/dev/usb/storage/umass.c:2689: undefined reference to `cam_sim_alloc'
  umass.o(.text+0x2b54):/usr/src/sys/dev/usb/storage/umass.c:2711: undefined reference to `xpt_bus_register'
  umass.o(.text+0x2db0):/usr/src/sys/dev/usb/storage/umass.c:2770: undefined reference to `xpt_periph'
  umass.o(.text+0x2db5):/usr/src/sys/dev/usb/storage/umass.c:2770: undefined reference to `xpt_create_path'
  umass.o(.text+0x2ec9):/usr/src/sys/dev/usb/storage/umass.c:2702: undefined reference to `cam_simq_free'
  umass.o(.text+0x2f2d):/usr/src/sys/dev/usb/storage/umass.c:2779: undefined reference `xpt_free_path'
  umass.o(.text+0x308d): In function `umass_cam_action':
  /usr/src/sys/dev/usb/storage/umass.c:2849: undefined reference to `xpt_done'
  umass.o(.text+0x317b):/usr/src/sys/dev/usb/storage/umass.c:3131: undefined reference to `xpt_done'
  umass.o(.text+0x31ca):/usr/src/sys/dev/usb/storage/umass.c:2900: undefined reference to `xpt_done'
  umass.o(.text+0x329b):/usr/src/sys/dev/usb/storage/umass.c:3121: undefined reference to `xpt_done'
  umass.o(.text+0x3324):/usr/src/sys/dev/usb/storage/umass.c:2936: undefined reference to `xpt_done'
  umass.o(.text+0x33b2):/usr/src/sys/dev/usb/storage/umass.c:3095: more undefined references to `xpt_done' fo.o(.text+0x35be):/usr/src/sys/dev/usb/storage/umass.c:3073: undefined reference to `xpt_done'
  umass.o(.text+0x3819):/usr/src/sys/dev/usb/storage/umass.c:3004: undefined reference to `xpt_done'

umass.o(.text+0x39bf):/usr/src/sys/dev/usb/storage/umass.c:2994: undefined reference to `xpt_done'

  umass.o(.text+0x3a07):/usr/src/sys/dev/usb/storage/umass.c:2982: undefined reference to `xpt_done'

  umass.o(.text+0xdfa):/usr/src/sys/dev/usb/storage/umass.c:3325: more undefined references to `xpt_done' follow

  *** Error code 1

  Stop in /usr/

  GOOGLE找到答案,原来是我在配置文件里含入了

  device umass

  却没有按照后面的注释含入

  device scbus

  device da

  解决方法是直接将umass 也给它注释掉

  重新build,成功!

  # make installkernel KERNCONF=MY_KERNEL_CONF

  搞定,重启

  察看内核版本:

  uname -i

  $ uname -i

  MY_KERNEL

  然后上网、登录SSH、VNC、读光盘等等都没有问题
www.47tao.com
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享

26

主题

7641

帖子

2400

金币

中级会员

Rank: 3Rank: 3

积分
10529
3#
发表于 2011-7-22 00:35:14 | 只看该作者
为了不扰乱会员对源码的测试,有问题咨询右侧客服不要直接回复,否则视为非法信息屏蔽会员ID!
桐乡外卖网 http://www.txwaimai.com
嘉兴外卖网 http://www.jxwaimai.com   
嘉兴交友网 http://www.jxyuan.com
绵阳房产网 http://www.myfcw.cn  
禾城主机   http://www.cn0573.net
嘉兴QQ群   http://qqun.cn0573.net  
桐乡做网站 http://im.cn0573.net

26

主题

7641

帖子

2400

金币

中级会员

Rank: 3Rank: 3

积分
10529
2#
发表于 2011-7-20 13:15:40 | 只看该作者
为了不扰乱会员对源码的测试,有问题咨询右侧客服不要直接回复,否则视为非法信息屏蔽会员ID!
桐乡外卖网 http://www.txwaimai.com
嘉兴外卖网 http://www.jxwaimai.com   
嘉兴交友网 http://www.jxyuan.com
绵阳房产网 http://www.myfcw.cn  
禾城主机   http://www.cn0573.net
嘉兴QQ群   http://qqun.cn0573.net  
桐乡做网站 http://im.cn0573.net
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

锦尚中国源码论坛

聚合标签|锦尚中国,为中国网站设计添动力 ( 鲁ICP备09033200号 ) |网站地图

GMT+8, 2025-2-24 02:56 , Processed in 0.087547 second(s), 26 queries .

带宽由 锦尚数据 提供 专业的数据中心

© 锦尚中国源码论坛 52jscn Inc. 非法入侵必将受到法律制裁 法律顾问:IT法律网 & 褚福省律师 锦尚爱心 版权申诉 版权与免责声明