我被退信了,是不是不能发附件? ---------------------------------
Update 2011/03/16 问题解决 在安装光盘中再添入一些内容:firmware文件、megaraid的驱动文件,在安装完成提示安装grub到mbr的时候,按ctrl+f2切 到另一终端,挂载硬盘,并将需要的文件拷贝到相应位置,chroot后利用initramfs-tools更新initrd文件(需要注意的 megaraid的initramfs-tools的hook文件需要手动编写)。这个过程我已经做好,直接到附件里下载就行(看不到的请移步 http://im0000.com/?p=1144 也有下载)。下载后将文件拷贝到iso根 目录,并重新生成md5,再打包成iso镜像(上面7.4节)。 至此,问题已经解决,暂时还不打算把上面的脚本过程放到标准安装的过程中去,那可太费劲了。 另,debian 6.0已经发布,可以直接识别x3650 m3的硬盘了,但是non-free的bnx2驱动仍然需要在安装时载入,所以上述过程依然有参考价值。 im0000.com 在 2011年3月16日 上午9:27,0000 <0...@mininews.info>写道: > Update 2011/03/16 问题解决 > > 在安装光盘中再添入一些内容:firmware文件、megaraid的驱动文件,在安装完成提示安装grub到mbr的时候,按ctrl+f2切 > 到另一终端,挂载硬盘,并将需要的文件拷贝到相应位置,chroot后利用initramfs-tools更新initrd文件(需要注意的 > megaraid的initramfs-tools的hook文件需要手动编写)。这个过程我已经做好,直接到附件里下载就行(看不到的请移步 > http://im0000.com/?p=1144 也有下载)。下载后将文件拷贝到iso根 > 目录,并重新生成md5,再打包成iso镜像(上面7.4节)。 > > 至此,问题已经解决,暂时还不打算把上面的脚本过程放到标准安装的过程中去,那可太费劲了。 > > 另,debian 6.0已经发布,可以直接识别x3650 > m3的硬盘了,但是non-free的bnx2驱动仍然需要在安装时载入,所以上述过程依然有参考价值。 > > im0000.com > > > > 在 2011年3月15日 下午8:59,0000 <0...@mininews.info>写道: > > 似乎成功了,在 mount dev proc sys 之后再次 update-initramfs 即可 >> >> 看来基础很重要,只明白要 chroot 不知道在这之前要做的工作,让我绕了一天的大弯 >> >> 感谢 Shell Xu,在你的指导下我才完成这么复杂的任务,谢谢 >> >> 剩下的事情就是想办法让这个过程更加自动化,目前只能在安装到最后的时候手工来执行一些操作 >> 不过我近期真不打算研究debian的安装过程了,掉头发呀…… >> >> >> im0000.com >> >> >> >> 在 2011年3月15日 下午8:22,0000 <0...@mininews.info>写道: >> >> 一个可能的原因是在安装系统后,自己添加的那几步,在 chroot 之前,没有加入 /dev 的映射,就算是 /proc/modules >>> 也是简单地从当前系统复制到了目标系统( >>> ( >>> 这个要怎么做才正确?似乎应该这样? >>> mount -o bind /dev /mnt/debian/dev >>> chroot /mnt/debian /bin/bash >>> mount -t proc proc /proc >>> mount -t sysfs sysfs /sys >>> ) >>> >>> 我刚才对比可以正常运行的 initrd 和我的 initrd,发现缺少以下几个文件 >>> etc/boottime.kmap.gz >>> etc/scsi_id.config >>> etc/udev/links.conf >>> >>> 在从可以正常运行的 initrd 中拷贝这些文件并重新打包后,再次引导出现了不一样的结果 >>> >>> 大致有 cannot mount none to /dev >>> 和 /lib/modules/2.6.26-2-amd64/modules.dep not exsits >>> (这个可能是因为没有成功挂载设备,所以仍然没有硬盘,没有硬盘,当然就没有 / 下的文件) >>> >>> im0000.com >>> >>> >>> >>> 在 2011年3月15日 下午5:29,Shell Xu <shell909...@gmail.com>写道: >>> >>> >>>> modprobe和设备的建立分属两个过程,前者是/etc/init.d/module-init-tools(当然,你打入了initrd,就不归这个管了),后者是udev。 >>>> 你的问题,看来是initrd中没有合适的nod >>>> file。默认的/dev/sda是8,0,不知道megaraid_sas有没有变化。或者udev有问题? >>>> 启动过程中initrd内/dev的文件建立,不知道有没有牛人对这个熟悉一些的。 >>>> >>>> 在 2011年3月15日 下午5:17,Feng Lu <0...@mininews.info>写道: >>>> >>>> modprobe megaraid_sas可以,但是在这之前,cat /proc/modules 里有 megaraid_sas >>>>> ,这是不是说明之前就已经加载了这个模块呢? >>>>> >>>>> 在启动时报错是 /dev/sda1 not found >>>>> >>>>> 在busybox中查看 /dev/ 下确实也没有类似于 sda 的设备 >>>>> >>>>> 这是什么原因?在这种情况下,有什么命令能做一些尝试然后让它继续启动吗? >>>>> >>>>> >>>>> >>>>> 在 2011年3月15日 下午1:24,Shell Xu <shell909...@gmail.com>写道: >>>>> >>>>> 那能否insmod或者modprobe呢? >>>>>> >>>>>> 在 2011年3月15日 下午1:17,Feng Lu <0...@mininews.info>写道: >>>>>> >>>>>> 好吧,事情再一次杯具了……这样做的仍然不行,还是找不到驱动。但是在出错的busybox中(initramfs),在 >>>>>>> /lib/modules/xxxx/kernel/drivers/scsi 下是有megaraid_sas.ko 文件了的 >>>>>>> >>>>>>> 另外发现,Debian 6.0 live光盘可以直接识别 IBM x3650的硬盘,安装光盘应该也行,但是仍然需要另外加载 >>>>>>> non-free 的 bnx2 驱动,这个难度要小一些。 >>>>>>> >>>>>>> 在 2011年3月14日 下午7:59,Shell Xu <shell909...@gmail.com>写道: >>>>>>> >>>>>>> 完整性上说,最好增加depmod计算。 >>>>>>>> >>>>>>>> 在 2011年3月14日 下午6:36,Feng Lu <0...@mininews.info>写道: >>>>>>>> >>>>>>>> 谢谢,经过试验 >>>>>>>>> 用你的办法,bnx2的驱动可以,但是 megaraid_sas 根本不在源中,所以不可行。 >>>>>>>>> >>>>>>>>> 后来我想了个办法自己加了个脚本,在安装完后不重启,进入 busybox执行,应该可行,在自己机器上测试成功,明天去单位了再试一次 >>>>>>>>> >>>>>>>>> install.sh >>>>>>>>> >>>>>>>>> #!/bin/sh >>>>>>>>> >>>>>>>>> cp megaraid_sas.ko /lib/modules/"`uname -r`"/kernel/drivers/scsi/ >>>>>>>>> echo megaraid_sas >> /etc/initramfs-tools/modules >>>>>>>>> cp megaraid_sas.initramfs-tools.hook >>>>>>>>> /usr/share/initramfs-tools/hooks/megaraid_sas >>>>>>>>> chmod +x /usr/share/initramfs-tools/hooks/megaraid_sas >>>>>>>>> update-initramfs -u -v > initrd.log >>>>>>>>> >>>>>>>>> 其中 megaraid_sas.initramfs-tools.hook 文件内容如下 >>>>>>>>> #!/bin/sh >>>>>>>>> >>>>>>>>> PREREQ="" >>>>>>>>> >>>>>>>>> prereqs() >>>>>>>>> { >>>>>>>>> echo "$PREREQ" >>>>>>>>> } >>>>>>>>> >>>>>>>>> case $1 in >>>>>>>>> prereqs) >>>>>>>>> prereqs >>>>>>>>> exit 0 >>>>>>>>> ;; >>>>>>>>> esac >>>>>>>>> >>>>>>>>> . /usr/share/initramfs-tools/hook-functions >>>>>>>>> >>>>>>>>> cp /lib/modules/"`uname -r`"/kernel/drivers/scsi/megaraid_sas.ko >>>>>>>>> $DESTDIR/lib/modules/"`uname -r`"/kernel/drivers/scsi/ >>>>>>>>> >>>>>>>>> manual_add_modules megaraid_sas >>>>>>>>> >>>>>>>>> 在本地机器上测试时能正确地把 megaraid_sas 打包进 initrd 中,希望明天也行 >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> 在 2011年3月14日 上午10:31,Shell Xu <shell909...@gmail.com>写道: >>>>>>>>> >>>>>>>>> >>>>>>>>>> 就我所知,光盘安装后产生的initrd是一个叫做mkinitrd的脚本打出来的,这个脚本属于initramfs-tools,利用/etc/initramfs-tools/modules来进行initrd的生成的。 >>>>>>>>>> >>>>>>>>>> 这个过程,是在安装目标机器并完成配置后进行的。当grub完成安装后,会自动更新。使用的/etc/initramfs-tools/modules是目标机的。 >>>>>>>>>> 自然整个过程中是不会理会你的initrd中的ko的。 >>>>>>>>>> >>>>>>>>>> 我的常规做法,是当系统安装完成后,不重启系统,而保持挂载状态进入busybox。chroot后直接apt-get,将需要的包安装上去。修改/etc/initramfs-tools/modules,然后再手工update-initramfs。然后再启动,问题就解决了。 >>>>>>>>>> 如果你要将这个过程自动化,就得看如何定制安装过程了。 >>>>>>>>>> >>>>>>>>>> 在 2011年3月14日 上午10:20,Feng Lu <0...@mininews.info>写道: >>>>>>>>>> >>>>>>>>>> 操作步骤简述如下,(为避免邮件太长影响阅读,详情请移步 http://im0000.com/?p=1144 ) >>>>>>>>>>> >>>>>>>>>>> 1、从安装光盘iso中取出 initrd.gz 并解压 >>>>>>>>>>> 2、向解压后的 initrd.gz 中灌入相应驱动 >>>>>>>>>>> 3、重新压制 initrd.gz 并放回iso中,重新生成md5码并生成ISO文件 >>>>>>>>>>> 4、刻录后顺利安装 >>>>>>>>>>> 5、安装后重启,不能进入系统,提示找不到(上面放入的)硬盘驱动 >>>>>>>>>>> >>>>>>>>>>> 推测原因: >>>>>>>>>>> 安装时的initrd和安装后系统的initrd并不一样,而是在安装过程中重新生成的,但是重新生成时,并不会把我们加的驱动一并打包到新的initrd中去。 >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> 目前的解决办法是,以光盘启动安装后的目标服务器,将硬盘里 /boot/ >>>>>>>>>>> 下的initrd文件拷贝出来,并参照上面的步骤将相应驱动再一次塞进initrd里,然后再拷贝回目标服务器的硬盘中,这样就能重新正常进行了。 >>>>>>>>>>> >>>>>>>>>>> 请问有什么办法让自己加入的驱动自动添进安装后的 initrd 文件中吗?在iso里有没有一个什么列表之类的? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> 0...@mininews.info >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> 无能者无所求,饱食而遨游,泛若不系之舟 >>>>>>>>>> blog: http://shell909090.com/blog/ >>>>>>>>>> twitter: http://twitter.com/shell909090 >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> 0...@mininews.info >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> 无能者无所求,饱食而遨游,泛若不系之舟 >>>>>>>> blog: http://shell909090.com/blog/ >>>>>>>> twitter: http://twitter.com/shell909090 >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> 0...@mininews.info >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> 无能者无所求,饱食而遨游,泛若不系之舟 >>>>>> blog: http://shell909090.com/blog/ >>>>>> twitter: http://twitter.com/shell909090 >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> 0...@mininews.info >>>>> >>>>> >>>> >>>> >>>> -- >>>> 无能者无所求,饱食而遨游,泛若不系之舟 >>>> blog: http://shell909090.com/blog/ >>>> twitter: http://twitter.com/shell909090 >>>> >>>> >>> >> >