LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 667|回复: 3

编译内核求助

[复制链接]
发表于 2006-6-9 12:24:11 | 显示全部楼层 |阅读模式
下了一个kernel source 2.6.16.20
放到/usr/src
解包,
安装 apt-get install libncurses-dev kernel-package fakeroot
    make mrproper
    make menuconfig
    就选择了 console frambuffer 支持,其他默认设置
    fakeroot make-kpkg --revision=custom.1.0 kernel_image
    编译生成一个deb包,安装deb ,安装时候会自动改动menu。list 添加新内核

    重启 进入新内核 但是kernel panic 什么 root fs partion错误了,具体我我也不清楚了

    我查看了 menu。lst 发现新安装的内核条目和原来的内核条目有区别
  1. title           Debian GNU/Linux, kernel 2.6.16.20
  2. root            (hd0,10)
  3. kernel          /boot/vmlinuz-2.6.16.20 root=/dev/hdc11 ro
  4. savedefault
  5. boot
复制代码

  1. title           Debian GNU/Linux, kernel 2.6.8-2-386
  2. root            (hd0,10)
  3. kernel          /boot/vmlinuz-2.6.8-2-386 root=/dev/hdc11 ro
  4. initrd          /boot/initrd.img-2.6.8-2-386
  5. savedefault
  6. boot

复制代码


新的内核少了一行:initrd          /boot/initrd.img-2.6.8-2-386

而且/boot/下没有initrd.img-2.6.16.-20-386之类的文件



我是不是少做了一步阿??
发表于 2006-6-9 12:30:26 | 显示全部楼层
initrd 并非必要的
title           Debian GNU/Linux, kernel 2.6.16.20
root            [color="Red"](hd0,10)
kernel          /boot/vmlinuz-2.6.16.20 [color="Red"]root=/dev/hdc11 ro
savedefault
boot
好像不对。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-9 14:04:25 | 显示全部楼层
title           Debian GNU/Linux, kernel 2.6.8-2-386
root            (hd0,10)
kernel          /boot/vmlinuz-2.6.8-2-386 root=/dev/hdc11 ro
initrd          /boot/initrd.img-2.6.8-2-386
savedefault
boot
这个可是能正常启动内核的 啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-9 17:45:49 | 显示全部楼层
呵呵 成功了 现在还在测试
过程如下:make-kpkg clean
               make mrproper
               第一次自己编的话,这两步可以免了


               make menuconfig
              高亮条移动到 load alternative  #¥@¥,选择一个已经配置好的config文件
               那就选择/boot/目录下一个config-X-Y 文件 x y是你当前内核的版本号
              load好后,再修改一下,我是选择了
  1. # USB support
  2. #
  3. CONFIG_USB_ARCH_HAS_HCD=y
  4. CONFIG_USB_ARCH_HAS_OHCI=y
  5. CONFIG_USB=y
复制代码

网友讲好像是usb移动硬盘支持,不过我现在u盘也能用了

  1. Device Drivers --->

  2. Block devices --->

  3. [*] Initial RAM disk (initrd) support

  4. File systems --->

  5. Miscellaneous filesystems --->

  6. <*> Compressed ROM file system support (cramfs)
复制代码


因为等一下用initrd 所以选上,后面那个也选吧

默认是REISERFS文件格式是作为模块,选为*,不是M
因为我的文件格式 REISERFS

看起来 什么framebuffer 已经选上了

最后把一些无用的模块支持去掉 比如红外 千兆网卡 bluetooth

退出时候 注意保存 保存的文件是 .config ,是个隐藏文件
可以做个备份,以后继续修改

第三步就是生成deb文件了
fakeroot make-kpkg --revision=ver.1.0 --initrd kernel_image

n分钟后,生成一个deb文件
大小是11m 比第一次我编译产生的小2m

第四步 安装这个deb ,重启 进去了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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