LinuxSir.cn,穿越时空的Linuxsir!

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

linux 通过手机上网(解决)编译好的内核怎么没有initrd文件(未解决)

[复制链接]
发表于 2010-7-31 20:57:31 | 显示全部楼层 |阅读模式
从 Redhat 系(CentOS)转过来的,觉得 Debian 不错,前段时想通过手机上网,却发现我的N81  Debian 不认识,可是老婆的 Ubuntu 却可以,上的还不错,20多k,看个网页够了。所以就想编译一个新的内核试试。
第一次在 Debian 上编译,也没想那么多,CentOS 上编译那么多次了,用传统的方法一步步走下去 :

make menuconfig ; make ; make modules_install install ;

失败告终。

问题:

1. 模块有 1.3G (我的天呀,以前都是400-500M)
2. 没有 initrd 文件 ( 我确信内核该选的都选了。 )

后用按网上说的使用 mkinitramfs :

1. 接上面编译过程,使用后得到的文件 50 多M,这可是压缩的,解压后 170多M 。

用Debian 的方式 编译: 还是没有 initrd 文件,不过生成的文件小多了,模块只有 70 多M ,使用 mkinitramfs 造成的 initrd 文件只有 6M ,但是还是不能用,引导失败。

现在没有什么办法了,想让大家看下。

另外我有个问题想问下,为什么 在 Debian 里,我的 Make 不能自动生成 initrd 文件。
发表于 2010-7-31 21:16:14 | 显示全部楼层
蓝牙吗?

n81不是有wifi支持吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-31 22:08:23 | 显示全部楼层
不是的,是电脑通过手机(N81)来上网,把手机当成调制解调器,做为移动时的临时解决方案。
回复 支持 反对

使用道具 举报

发表于 2010-7-31 22:40:33 | 显示全部楼层
Post by bluebear720;2106266
不是的,是电脑通过手机(N81)来上网,把手机当成调制解调器,做为移动时的临时解决方案。

那样的话,应该查一下连缆的类型,和modem的类型。N81应该是用usb连,那样的话对着这个: http://adamantsys.com/content/se ... e-modem-under-linux 一般就可以吧? 我觉得还是模块什么的没有选对。

你这个编译内核的方法其实跟发行版关系不大……

除非你用这个 http://www.howtoforge.com/kernel_compilation_fedora VS. 这个:http://newbiedoc.sourceforge.net/system/kernel-pkg.html

那倒是有些区别……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-31 23:15:54 | 显示全部楼层
谢谢,我现在就看一下!
回复 支持 反对

使用道具 举报

发表于 2010-8-1 05:09:55 | 显示全部楼层
偶编译内核无数次,从来不会make时自动生成initrd……
initrd跟编译内核有关系么?有么……
还有,你是啥内核?居然有500m,在我这里,全模块化的arch也就模块不到100m的样子……

其实nokia phone让它认出modem还是有一定难度的,模块依赖关系比较复杂,e71+联通wcdma,连笔记本上网,下东西速度200-300多k的路过
回复 支持 反对

使用道具 举报

发表于 2010-8-1 05:17:02 | 显示全部楼层
感觉lz编译内核糊里糊涂的……不像编译过n次内核的样子……
比如,initrd只是引导时的一个临时的根系统,它包含一部分启动时必要的驱动一般是sata filesystem drm等(如果相应的驱动选进内核,那initrd可以不要),initrd里边包含什么文件,需要自己指定的,必要时有时候要重新生成initrd,比如更换了splash,所以生成initrd本身就是个独立的过程……跟编译内核无关
lz的说法让我对centos起了强烈的好奇心,它居然make内核能自动生成initrd的!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-8-1 17:33:40 | 显示全部楼层
谢谢大家的热心!
原始问题(上网)已经解决,但次生问题(编译内核)还在继续。

上网是通过 networknanager 来完成的。嘿,我原来没有装这个,是按网上所说用的Gnome-ppp,结果到现在它还不认我的N81,一会就去删掉它。另外再试一下我的OPPO看行不行。(上网挺费电的,N81本来就费电,再加上上网! 我的OPPO有两块电池,可以换一下。)
另外,我暂时没有钱用 3G ,那个收费我没敢试,用的是 2G 的 GPRS ,啥时候 联通的 WCDMA 可以接受了再说。

下面是内核的问题,我原来是 Redhat 系的,编译时,都是传统步骤 ( 不是生成RPM的那种方法 ),直接就有 Initrd 的,这个 initrd 是做什么的,原理是什么我都知道,只是不晓得为什么 Debian 下不行,还是 Redhat 多做什么了。
望大侠们告知!
回复 支持 反对

使用道具 举报

发表于 2010-8-1 18:37:24 | 显示全部楼层
Debian系编译内核,请man make-kpkg,注意看initrd参数。它会生成你要的那个东东。
回复 支持 反对

使用道具 举报

发表于 2010-8-2 07:48:23 | 显示全部楼层
联通3g现在可以啊,比如偶用的套餐:
66a套餐,包300m流量,50分钟主叫,无长途漫游费,全国范围接打免费,超出包月电话0.2元每分,超出流量0.3元每兆
当然,如果你的gprs是不限流量,当我没说……
回复 支持 反对

使用道具 举报

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

本版积分规则

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