无忧启动论坛

标题: grub2安装在软盘中和关于memdisk.mod的用法 [打印本页]

作者: jneny    时间: 2012-2-28 00:30
标题: grub2安装在软盘中和关于memdisk.mod的用法
参考了这里http://bbs.znpc.net/viewthread.php?tid=4904  (时空论坛不能匿名发贴了)  得知 grub2中的memdisk.mod 模块可以把启动设置安装在内存中,启动后用(memdisk) 设备名访问。用这种方式可以压缩这是目的
我试了出现到了grub resuce界面,提示未知的文件系统。

我是用qemu + iso的方式启动的。
mkdir /tmp/grub2/boot/grub && mkdir /tmp/iso1 && cd /tmp/grub2
cp -r /boot/grub   /tmp/grub2/boot/grub
find . |cpio -ov -H ustar  > grub2.cpio
grub2-mkimage -C xz -o core.img -p "(memdisk)/boot/grub"  -m  grub2.cpio  -O i386-pc -d /boot/grub2/  memdisk cpio   biosdisk tar gzio xzio

-C xz是采用xz压缩。 xzio 是我猜的用xz解压的模块。

cat boot/grub/cdboot.img core.img > iso1/cdcore.bin

mkisofs -R -J -b cdcore.bin  -no-emul-boot  -boot-info-table  -o grub2.iso iso1/

qemu -m 128 -cdrom grub2.iso -boot d
启动后就到了grub2急救模式并提示未知的文件系统

请各位大侠帮忙看看哪里错了。

附件是 SystemRescueCd中能用的grub2disk软盘。
grub2 1.97.2 grub2.img.gz (277.49 KB, 下载次数: 42)
作者: 不点    时间: 2012-2-28 10:14
grub2 的问题,可以直接向 GNU grub2 的开发主站报告。

时空论坛经常可能遭到攻击,让 public 用户不能发帖。

你也可以给网站管理员写信,告知这一情况。
作者: jneny    时间: 2012-2-28 14:55
多谢不点指教,原本是想发到linux区的,怕没人关注。只能发到grub4dos区。
我不是报告bug,只是不会使用求使用方法。
作者: jneny    时间: 2013-3-29 17:26
终于找到解决方法了:

假设编译前配置为 perfix=/root/grub2
编译好后:
cd /root/grub2/lib/grub/i386-pc/

生成(memdisk) 内存盘以/boot/grub为目录的文件包
tar cvf /root/memdisk.tar normal.mod echo.mod ahci.mod video.mod ata.mod boot.mod cat.mod chain.mod configfile.mod crypto.mod elf.mod ext2.mod extcmd.mod help.mod linux.mod  memdisk.mod minicmd.mod multiboot2.mod pata.mod part_msdos.mod gettext.mod terminfo.mod terminal.mod vbe.mod vga.mod gfxterm.mod jpeg.mod font.mod sleep.mod search.mod video_fb.mod bitmap.mod  bitmap_scale.mod echo.mod --transform 's#^#/boot/grub/i386-pc/#'

添加配置文件和字体,事先把oem1.jpg font.pf2 grub.cfg放在/root目录中
cd /root
tar uvf memdisk.tar font.pf2 grub.cfg oem1.jpg  --transform 's#^#/boot/grub/#'

生成core.img文件
/root/grub2/bin/grub-mkimage -d  /root/grub2/lib/grub/i386-pc/ -O i386-pc -o /root/grub2.elf normal minicmd font sleep memdisk echo tar ehci uhci at_keyboard usb_keyboard -m memdisk.tar  

mkdir /root/mkiso_dir
cat    /root/grub2/lib/grub/i386-pc/cdboot.img /root/grub2.elf > /root/mkiso_dir/cdcore.bin
mkisofs -R -J -b cdcore.bin  -no-emul-boot  -boot-info-table  -boot-load-size 4  -o /root/grub2-mem.iso /root/mkiso_dir/

完成。


grub2-mem.7z (216.59 KB, 下载次数: 36)
作者: jneny    时间: 2013-3-29 17:34
标题: 回复 #4 jneny 的帖子
参考链接:http://www.coreboot.org/GRUB2#cr ... 28with_a_memdisk.29




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3