QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3271|回复: 14

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

[复制链接]
发表于 2010-9-15 11:46:25 | 显示全部楼层 |阅读模式
MI2 测试已经可用,但是无法挂载ext4的分区,shunshine坚持这个不是 MI2 的 Bug,但有一点可以肯定是MI2 的内核新于 mgc 2.5 的内核,2.6.30.10 的内核对ext4分区的支持还是外挂模块的,新内核对ext4分区的支持应该是内嵌的,所以MI2 安装ext3分区没问题,而安装到ext4分区时就出现找不到模块了,我在post_install.sh中复制或是链接ext4.ko也都是无效的。
发表于 2010-9-15 12:00:38 | 显示全部楼层
...我已经承认了...
ext4 模块要做在initrd中才管用。
回复

使用道具 举报

发表于 2010-9-15 14:40:09 | 显示全部楼层
如果ext4分区是/boot分区,必须做在initrd才可以启动啊。其它的分区类型只要做成模块,都是这样的。
回复

使用道具 举报

 楼主| 发表于 2010-9-16 11:16:59 | 显示全部楼层
原帖由 zy_sunshine 于 2010-9-15 12:00 发表
...我已经承认了...
ext4 模块要做在initrd中才管用。

我在 post_install.sh 重新mkinitrd --with=ext4
但是结果还是无法挂载ext4分区。。。
回复

使用道具 举报

发表于 2010-9-16 11:22:01 | 显示全部楼层
继续围观竟然不把ext4支持放入内核的。
回复

使用道具 举报

发表于 2010-9-16 12:37:15 | 显示全部楼层
貌似MGC的INITRD文件只有一个文件系统的模块,把常用的文件系统模块编译到内核就省下了INITRD文件。
回复

使用道具 举报

发表于 2010-9-16 15:43:42 | 显示全部楼层
有个问题:这个 ext4 模块还要看什么地方载入、怎么载入的问题吧?
如果到了安装程序阶段,自动载入 ext4 模块是不是需要 安装程序的那个  / 分区里面准备 /lib/modules 目录,内核在这里载入?
回复

使用道具 举报

发表于 2010-9-16 17:00:39 | 显示全部楼层
是的,如果MI内核没有将ext4编译进去,就必须提供模块,而且只有提供模块才可以操作ext4盘符(即格式化并挂载安装新系统ext4)
而haulm说的,是在生成initrd时是否加入目标系统的ext4,不知道mkinitrd的判断模式是什么样的。
       --with=module
              Load  the  modules  module 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一定成功执行的。
[sunshine@MagicLinux ~]$ 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
[sunshine@MagicLinux ~]$ 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 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2010-9-16 22:56:16 | 显示全部楼层
原帖由 zy_sunshine 于 2010-9-16 17:00 发表
是的,如果MI内核没有将ext4编译进去,就必须提供模块,而且如果提供模块才可以操作ext4盘符(即格式化并挂载安装新系统ext4)
而haulm说的,是在生成initrd时是否加入目标系统的ext4,不知道mkinitrd的判断模式是什么样的。
      ...

我在安装最后关头,切换控制台进入指令行,已经找不到mkinitrd这个指令,而且从日志上看,mkinitrd在post_install.sh中是无法执行的,原因是同样的,没有这个指令程序。
鼠标问题,似乎是第一次进入系统识别不到,重启系统后就正常了。

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

使用道具 举报

 楼主| 发表于 2010-9-17 06:43:55 | 显示全部楼层
昨晚用se兄重新打包内嵌ext4支持的2.6.30.10内核重新压制ISO,终于解决分区支持问题。
回复

使用道具 举报

发表于 2010-9-19 16:27:35 | 显示全部楼层
2.6.35.4你测试没有,是否可以正常启动?
回复

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-10-8 08:29:46 | 显示全部楼层
原帖由 sejishikong 于 2010-9-19 16:27 发表
2.6.35.4你测试没有,是否可以正常启动?

那个内核在服务器都无法重新编译,se兄是如何编译出来的 ?
回复

使用道具 举报

发表于 2010-10-8 10:19:05 | 显示全部楼层
啊,对了,2.6.32以上的内核需要更新glibc才可以编译。
回复

使用道具 举报

 楼主| 发表于 2012-6-9 10:29:00 | 显示全部楼层
这帖又顶上来了 mkinitrd  --builtin ahci --builtin ata_piix

[ 本帖最后由 haulm 于 2012-6-9 13:02 编辑 ]
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-22 11:27 , Processed in 0.049646 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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