QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: haulm

分区表错误导致 MI 安装长时间停在制做 initrd 上

[复制链接]
发表于 2010-7-19 15:27:44 | 显示全部楼层
原帖由 haulm 于 2010-7-19 13:27 发表
暂时没能搞懂MI的问题,很有可能旧版本的MI已经不能正常打包MGC2.5目前版本的ISO,从/var/log/magic-action.log的记录来看,除了一堆warning以外,还有一堆的error,包括缺少指令tail cat mkinitrd mktemp等,还有db4和db3版本之 ...

旧版本的mi早就不能用了啊。
回复

使用道具 举报

 楼主| 发表于 2010-7-20 01:27:49 | 显示全部楼层
原帖由 sejishikong 于 2010-7-19 15:27 发表

旧版本的mi早就不能用了啊。

这次重装机器在重启前调出log文件,和旧版不同的是MI没有丢失一些重要指令程序,所以可以成功制做initrd和grub。
但是一堆的error,主要有以下几个,我手工抄写出来:
error          can't /lib/modules/2.6.28.10/modules.dep.temp for writing     # 2.6.28.10 是MGC2.5 MI一直使用的内核版本
error           cp /etc/skel/*  no such files                                               # /etc/skel/* 是建立用户时自动会复制的配置文件
db4 error(22) dbenv->open  # 二十分的等待会不会是db4和db3的兼容问题,MI用db3,而MGC系统的RPM体系用了db4
can't open packages database in /var/lib/rpm
回复

使用道具 举报

 楼主| 发表于 2010-7-20 02:16:25 | 显示全部楼层
查了一下google,这个db的错误提示可能会是某个包在安装时发生了错误,但又会是哪个包存在问题?
回复

使用道具 举报

发表于 2010-7-20 06:38:42 | 显示全部楼层
MI2.5-rc2问题已经确定
问题在新版本MI内核与旧版本MI MagicBooter不搭配,如果要使用新版本内核MagicBooter的一些代码必须修改(包括硬件检测和文件/设备挂载)
1、我配置的那个新版本内核,没有太大问题,磁盘设备已经被内核识别,但是由于MagicBooter挂载设备的时候出现错误,/dev/hda1 /dev/sda1等设备地址错误,因此不能搜寻iso。
2、重写了一下scons配置直接提取MagicLinux2.5内核作为MI内核来测试,但是在挂载miinitrd出现错误(尝试以cramfs squashfs两种方式挂载均失败)。

总之,要用2.6.28.10以上内核必须要修改MagicBooter代码。因此现在急于解决这个问题的话我们只能降级MI内核到2.6.28.10,并且降级MI主文件系统的几个包。
MI内核是一定要升级的,但是需要深入修改MB了,目前没有太多精力做,等以后版本吧。

[ 本帖最后由 zy_sunshine 于 2010-7-20 06:44 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2010-7-20 07:03:21 | 显示全部楼层
原帖由 zy_sunshine 于 2010-7-20 06:38 发表
MI2.5-rc2问题已经确定
问题在新版本MI内核与旧版本MI MagicBooter不搭配,如果要使用新版本内核MagicBooter的一些代码必须修改(包括硬件检测和文件/设备挂载)
1、我配置的那个新版本内核,没有太大问题,磁盘设备已经被内 ...

昨天测试了一下ISO,就算是2010.4月的MI也不能正常工作,同样到了制做initrd和grub时挂掉了,缺少一些必要的指令,所以我至今没有搞懂se兄在服务器上打包的ISO为何能够工作,而在MGC2.5正式版环境下就不工作了,这里面肯定有一些包的问题存在。MGC更新了某个包导致和现有的MI不匹配了,问题很严重。
回复

使用道具 举报

 楼主| 发表于 2010-7-20 07:04:56 | 显示全部楼层
原帖由 zy_sunshine 于 2010-7-20 06:38 发表
MI2.5-rc2问题已经确定
问题在新版本MI内核与旧版本MI MagicBooter不搭配,如果要使用新版本内核MagicBooter的一些代码必须修改(包括硬件检测和文件/设备挂载)
1、我配置的那个新版本内核,没有太大问题,磁盘设备已经被内 ...

不如重写吧。。。
回复

使用道具 举报

发表于 2010-7-20 08:04:44 | 显示全部楼层
降级后又有问题...问题问题,我发现我块成问题超人了...
降级后所有正常,就是在硬盘安装时出现包信息找不到的问题。
不发布rc了。等全部解决问题后再说。
回复

使用道具 举报

 楼主| 发表于 2010-7-20 13:13:10 | 显示全部楼层
HOHO,安装python24,问题依旧,MI 好象突然变脸了一样,不能用了。
回复

使用道具 举报

发表于 2010-7-20 15:34:14 | 显示全部楼层

楼上几位有空重写 MI 吧……
回复

使用道具 举报

 楼主| 发表于 2010-7-20 19:55:19 | 显示全部楼层
问题是我连系统如何chroot都不是很清楚。。。,看来得努力学习一下python了。
回复

使用道具 举报

发表于 2010-7-21 16:16:09 | 显示全部楼层
jangtao...重写哪有那么简单,现在的问题是需要几个技术过硬的人来维护MI,MI可以拆分成n小块,然后大家一起维护。
俺也不是天天能玩linux的人...

我重新编译了2.6.28.10内核,修改了一些MagicInstaller。
现在网速太慢,等回学校,发布。
这个版本应该很稳定。
回复

使用道具 举报

 楼主| 发表于 2010-7-21 20:38:39 | 显示全部楼层
无语,zy_sunshine,RC1到准RC3没有一个能到开始安装。。。
回复

使用道具 举报

发表于 2010-7-26 19:52:55 | 显示全部楼层
出现的错误是不是
Copy miinitrd failed on 20971520 byte : Not a directory

这个需要在内核参数上增加ram大小
ramdisk_size=40960
回复

使用道具 举报

发表于 2010-7-26 21:00:24 | 显示全部楼层
传说initrd 用 cpio 打包不需要设置 ramdisk 大小……
MI 还在用 2.4 时代的文件镜像方式么?
回复

使用道具 举报

发表于 2010-7-26 21:24:46 | 显示全部楼层
mbinitrd是使用的cpio打包的 initrd
命令如下
(cd tmp/root.mbinitrd-hd && find . -print | cpio -o -H newc | gzip -9) > result/mbinitrd-hd.gz

ram是用来加载miinitrd的。

miinitrd是 MI的主文件系统。是MB检测到的。这里的处理是将miinitrd拷贝的内存中/dev/ram0 挂载/dev/ram0到一个目录,然后chroot
拷贝到内存中是必然的,因为提取miinitrd后要umount 所在盘符。
不知道还有什么其他方式将一个小型的系统拷贝到内存再chroot的方式?
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-2 10:15 , Processed in 0.040611 second(s), 12 queries .

© 2021 Powered by Discuz! X3.5.

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