haulm 发表于 2010-9-15 11:46:25

se 兄是否有空给 mgc 2.5 编译一个2.6.35.4 版本的内核

MI2 测试已经可用,但是无法挂载ext4的分区,shunshine坚持这个不是 MI2 的 Bug,但有一点可以肯定是MI2 的内核新于 mgc 2.5 的内核,2.6.30.10 的内核对ext4分区的支持还是外挂模块的,新内核对ext4分区的支持应该是内嵌的,所以MI2 安装ext3分区没问题,而安装到ext4分区时就出现找不到模块了,我在post_install.sh中复制或是链接ext4.ko也都是无效的。

zy_sunshine 发表于 2010-9-15 12:00:38

...我已经承认了...
ext4 模块要做在initrd中才管用。

sejishikong 发表于 2010-9-15 14:40:09

如果ext4分区是/boot分区,必须做在initrd才可以启动啊。其它的分区类型只要做成模块,都是这样的。

haulm 发表于 2010-9-16 11:16:59

原帖由 zy_sunshine 于 2010-9-15 12:00 发表 http://www.linuxfans.org/bbs/images/common/back.gif
...我已经承认了...
ext4 模块要做在initrd中才管用。
我在 post_install.sh 重新mkinitrd --with=ext4
但是结果还是无法挂载ext4分区。。。

jiangtao9999 发表于 2010-9-16 11:22:01

继续围观竟然不把ext4支持放入内核的。

huizige 发表于 2010-9-16 12:37:15

貌似MGC的INITRD文件只有一个文件系统的模块,把常用的文件系统模块编译到内核就省下了INITRD文件。

jiangtao9999 发表于 2010-9-16 15:43:42

有个问题:这个 ext4 模块还要看什么地方载入、怎么载入的问题吧?
如果到了安装程序阶段,自动载入 ext4 模块是不是需要 安装程序的那个/ 分区里面准备 /lib/modules 目录,内核在这里载入?

zy_sunshine 发表于 2010-9-16 17:00:39

是的,如果MI内核没有将ext4编译进去,就必须提供模块,而且只有提供模块才可以操作ext4盘符(即格式化并挂载安装新系统ext4)
而haulm说的,是在生成initrd时是否加入目标系统的ext4,不知道mkinitrd的判断模式是什么样的。
       --with=module
            Loadthemodulesmodule in the initial ramdisk image. The module gets loaded after any SCSI modules
            which are specified in /etc/modprobe.conf. This option may be used as many times as necessary.
这个选项是否起作用需要查看initrd中的init文件
init文件中会有相应挂载所需模块的语句。
----------------
我刚测试了一下,--with=ext4是成功的。
init中会出现
   49 echo "Loading ext4 module"
   50 modprobe -q ext4

但是需要让mkinitrd命令成功执行才行。
MI是不会保证post_install.sh一定成功执行的。
$ sudo mkinitrd /boot/tmp/initrd-2.6.30.10-smp.img 2.6.30.10-smp --with=ext4
get_netlink_msg returned Success
No module ahci found for kernel 2.6.30.10-smp, aborting.
这样会提示缺少ahci
$ sudo mkinitrd /boot/tmp/initrd-2.6.30.10-smp.img 2.6.30.10-smp --builtin=ahci --with=ext4
get_netlink_msg returned Success
get_netlink_msg returned Success
这样才ok

[ 本帖最后由 zy_sunshine 于 2010-9-17 13:27 编辑 ]

haulm 发表于 2010-9-16 22:56:16

原帖由 zy_sunshine 于 2010-9-16 17:00 发表 http://www.linuxfans.org/bbs/images/common/back.gif
是的,如果MI内核没有将ext4编译进去,就必须提供模块,而且如果提供模块才可以操作ext4盘符(即格式化并挂载安装新系统ext4)
而haulm说的,是在生成initrd时是否加入目标系统的ext4,不知道mkinitrd的判断模式是什么样的。
      ...
我在安装最后关头,切换控制台进入指令行,已经找不到mkinitrd这个指令,而且从日志上看,mkinitrd在post_install.sh中是无法执行的,原因是同样的,没有这个指令程序。
鼠标问题,似乎是第一次进入系统识别不到,重启系统后就正常了。

[ 本帖最后由 haulm 于 2010-9-17 06:51 编辑 ]

haulm 发表于 2010-9-17 06:43:55

昨晚用se兄重新打包内嵌ext4支持的2.6.30.10内核重新压制ISO,终于解决分区支持问题。

sejishikong 发表于 2010-9-19 16:27:35

2.6.35.4你测试没有,是否可以正常启动?

haulm 发表于 2010-9-26 15:24:32

可以正常启动,不过声驱模块还没提供下载,mxd普通用户就无法拔号了,经过一些资料测试,setuid是不可以的,seteuid好象没有必要了,最可能的做法一个是使用已存在的标准开源项目进行操作,我现在还没有这些资料,另外一个就是自己写一个用root权限运行的服务好了,以后有什么事直接往这个服务丢一个信号就可以了。。。 :idea:

haulm 发表于 2010-10-8 08:29:46

原帖由 sejishikong 于 2010-9-19 16:27 发表 http://www.linuxfans.org/bbs/images/common/back.gif
2.6.35.4你测试没有,是否可以正常启动?
那个内核在服务器都无法重新编译,se兄是如何编译出来的 ? :|

sejishikong 发表于 2010-10-8 10:19:05

啊,对了,2.6.32以上的内核需要更新glibc才可以编译。

haulm 发表于 2012-6-9 10:29:00

这帖又顶上来了 mkinitrd--builtin ahci --builtin ata_piix

[ 本帖最后由 haulm 于 2012-6-9 13:02 编辑 ]
页: [1]
查看完整版本: se 兄是否有空给 mgc 2.5 编译一个2.6.35.4 版本的内核