免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7030 | 回复: 6
打印 上一主题 下一主题

整合SLES10SP2安装光盘的initrd和SATA RAID驱动 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-23 13:43 |只看该作者 |倒序浏览
因为公司要安装大量的SLES10SP2到做了SATA RAID的服务器上,但SLES10并不支持机器主板集成的SATA HostRAID。
服务器厂商提供了如 sles10sp2.i586.img的Driver Update Disk。
但该驱动要用软盘在系统安装的时候按F6加载,再说了,都什么年代了,还用软驱啊。
扒了一天的openSUSE的auto-install的邮件列表,老外说可以把img整合到initrd(/boot/i386/loader/initrd)中,重新烧制光盘。
已经了解了initrd和mkisofs的具体做法,并成功把img驱动整合到initrd文件中。
然后给kernel(initrd中的linuxrc,即init程序)传递一些参数,指明驱动img文件的位置。
大概是传递参数:dud=file:/sles10sp2.i586.img或者dud=file:///sles10sp2.i586.img。
使用重新定制过和烧录的光盘启动,几种写法都尝试过,但还是无法让linuxrc得到驱动img文件,并自动加载SATA RAID驱动。
具体表现为,把做了RAID的两块硬盘,还是识别为独立的两块。


使用该方法曾成功定制过RHEL5.3的定制光盘,传递内核参数“dd=file:///dd.img”给anaconda。
但对SuSE使用同样的方法,定制initrd(INITIAL RAM DISK),启动时,通过GRUB传递Driver Update Disk的位置参数给linuxrc,却不行。
是传递的参数的格式不对,还是有其他的写法。究竟怎样才能让SLES安装盘自动识别并加载initrd中的img格式的驱动呢?

期待有SuSE高手指导一下,谢谢!

[ 本帖最后由 wileyoung 于 2009-10-23 13:46 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-10-23 21:48 |只看该作者
原帖由 wileyoung 于 2009-10-23 13:43 发表
因为公司要安装大量的SLES10SP2到做了SATA RAID的服务器上,但SLES10并不支持机器主板集成的SATA HostRAID。
服务器厂商提供了如 sles10sp2.i586.img的Driver Update Disk。
但该驱动要用软盘在系统安装的时候 ...


把你的driver.i586.img挂载

mount -o loop driver.i586.img   /mnt/dud
cd /mnt/dud
mkfs.cramfs  ./   /tmp/driverupdate

把生成的driverupdate拷贝到光盘的根目录
cp /tmp/driverupdate  /tmp/SLES10SP2_DVD/

然后重新生成ISO

刻录出来之后,加载安装程序时就会自动去读取那个driverupdate文件。

论坛徽章:
0
3 [报告]
发表于 2009-10-25 21:15 |只看该作者
U盘也可以加载驱动

论坛徽章:
0
4 [报告]
发表于 2009-10-26 11:53 |只看该作者
原帖由 spearRain 于 2009-10-23 21:48 发表


把你的driver.i586.img挂载

mount -o loop driver.i586.img   /mnt/dud
cd /mnt/dud
mkfs.cramfs  ./   /tmp/driverupdate

把生成的driverupdate拷贝到光盘的根目录
cp /tmp/driverupdate  /tmp/S ...



谢谢你的及时回复!
这种方式我也注意到了,但是我只想修改小小的initrd文件(杀鸡焉用牛刀,是不是)。
问题是我不能通过网络安装(我没有可用的网络环境),而且硬盘安装也不可行(不支持RAID硬盘)。
我的思路是从一张LIVE CD上(启动后,在内存中运行。这样就可以不依赖硬盘来安装),
(以kexec的方式)启动/boot/i386/loader/linux和(修改过的)initrd,
(仅需要将RAID驱动的img文件整合进去,无需修改和重刻DVD),
以启动SuSE系统安装光盘上的安装系统,在RAID盘上顺利安装系统。

但现在的问题是:
怎样将驱动dud整合到initrd中以后,还要让linuxrc知道在initrd的根下的驱动img文件(比如改名为/dd.img)的位置,
比如,在红帽中只需要将dd=file:///dd.img参数传递给光盘上的内核/isolinux/vmlinuz,
即可在系统安装程序anaconda启动前,自动从initrd(当前文件系统)中加载driver disk,并后续安装好RAID驱动。
那么SuSE中与此类似的做法是怎样的呢?
是修改/info、linuxrc.config、autoyast.xml还是传递怎样一个特殊格式的内核命令行参数(像红帽那样的)呢?
谢谢!

[ 本帖最后由 wileyoung 于 2009-10-26 11:55 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2009-10-28 22:49 |只看该作者

回复 #1 wileyoung 的帖子

只能使用厂商提高驱动信息的版本

论坛徽章:
0
6 [报告]
发表于 2009-10-29 11:39 |只看该作者
原帖由 wileyoung 于 2009-10-26 11:53 发表



谢谢你的及时回复!
这种方式我也注意到了,但是我只想修改小小的initrd文件(杀鸡焉用牛刀,是不是)。
问题是我不能通过网络安装(我没有可用的网络环境),而且硬盘安装也不可行(不支持RAID硬盘)。 ...


你怎么没看清楚呢,我说的是重新制作ISO和刻盘。
如果你的SP2是CD版本,只要重新制作CD1就够了。


你都能用光盘启动,还搞什么kexec。

论坛徽章:
0
7 [报告]
发表于 2010-01-08 13:27 |只看该作者
Here is my solution.
http://lists.opensuse.org/opensu ... 09-10/msg00043.html

Finally the developer from Novell answered my question.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP