无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4704|回复: 8
打印 上一主题 下一主题

[求助] 如何用grub4dos实现geexbox的光盘引导

[复制链接]
跳转到指定楼层
1#
发表于 2011-4-19 21:47:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是菜鸟,只用easyboot和时空淘气包做过简单的启动光盘。现在想在系统维护盘中集成geexbox1.2.4。查了许多资料都说不能直接通过easyboot实现,得用grub4dos或isolinux才行。看了坛子里的许多资料,试了许多次都没有成功。我用的geexbox1.2.4镜像是通过geexbox generator自己diy的中文版,在虚拟机和优盘中可以启动。用的UltraISO提取的镜像文件,合盘用的也是UltraISO,设置了joliet和允许小写字母。特来求助,希望哪位能写个完整的教程。
2#
发表于 2011-4-21 22:55:46 | 只看该作者
支持楼主!我也有同样的想法,不知道怎样做,等待高手解答
回复

使用道具 举报

3#
发表于 2011-4-22 00:12:15 | 只看该作者
回复

使用道具 举报

4#
发表于 2011-5-1 11:37:57 | 只看该作者
我觉得GRUB已经完全可以取代光盘了,光盘太麻烦了。
回复

使用道具 举报

5#
发表于 2011-5-2 03:04:23 | 只看该作者
title [06] GEEXBOX
kernel=/geexbox/vmlinuz root=/dev/ram0 rw rdinit=linuxrc boot=cdrom lang=zh_CN remote=atiusb receiver=atiusb keymap=qwerty splash=0 vga=0 video=vesafb:ywrap,mtrr quiet
initrd=/geexbox/initrd.gz
boot
回复

使用道具 举报

6#
发表于 2011-10-20 09:59:43 | 只看该作者
使用2.0版本更简单:
title 13. GeeXboX v2.0
map /BOOT/GEEXBOX.ISO (0xff) || map --mem /BOOT/GEEXBOX.ISO (0xff)
map --hook
rootnoverify (0xff)
chainloader (0xff)
回复

使用道具 举报

7#
发表于 2011-12-8 00:08:12 | 只看该作者
原帖由 rockrock99 于 2011-10-20 09:59 发表
使用2.0版本更简单:
title 13. GeeXboX v2.0
map /BOOT/GEEXBOX.ISO (0xff) || map --mem /BOOT/GEEXBOX.ISO (0xff)
map --hook
rootnoverify (0xff)
chainloader (0xff)


原版的不行,是你整合改过的?
不管iso是在NTFS还是FAT32,必须在U盘根目录有rootfs文件才能启动
回复

使用道具 举报

8#
发表于 2011-12-8 09:52:45 | 只看该作者
原帖由 我是神仙 于 2011-12-8 00:08 发表


原版的不行,是你整合改过的?
不管iso是在NTFS还是FAT32,必须在U盘根目录有rootfs文件才能启动

原帖由 我是神仙 于 2011-12-7 22:03 发表

那个CDLinux倒是把NTFS驱动也打包进initrd了,大得多。geexbox的initrd才500K,CDLinux的initrd是8M,一堆的驱动。
不知道能不能把CDLinux和GeexBox组合起来,用CDLinux的initrd 加上 GeexBox的 rootfs ? 这个完全搞不懂,只是猜想
      ...


本来只是猜想,没想到已经有人实现了,可以整体ISO启动了。可以在NTFS启动。下面转载一篇:

geexbox2.0硬盘启动

—- 支持NTFS和ISO
发表于 2011 年 11 月 23 日 由 tangfu

【目的】

1.使geexbox 2.0支持NTFS分区格式
2.使geexbox 2.0能够直接从ISO格式的文件启动
3.方便使用持久化

【分析】

Geexbox 2.0使用的是2.6.38.8内核和busybox 1.19.2
通过rootfs的config文件我们可以查处内核的编译选项:
1.内核支持initrd的xz压缩
2.内核不支持ntfs,但开启了ntfs-3g的支持

对init启动脚本的修改:
1.initrd处理

2.增加ntfs-3g命令
initrd镜像中没有包含ntfs-3g程序,因此必须将rootfs中的ntfs-3g移植进去,
从rootfs中拷贝这些库到initrd的 /lib中(注意不是软链接,而是其直接指向的库文件)
ld-linux.so.2 libdl.so.2 libgcc_s.so.1 librt.so.1 libc.so.6 libfuse.so.2 libpthread.so.0,
拷贝ntfs-3g到/bin

3.关于数据保存
开启persistent,相当于使能数据持久化开启persistent与不开启persistent的主要区别(在不使用ro,rw等参数的情况下)
PERSISTENT_OPT=”-o loop -t ext2″挂载参数变成挂载件
ROOT_MODE_PART=rw 挂载选项不是只读挂载,而是读写挂载
默认情况下,开启persistent,持久化文件是/mnt/casper-rw

4.系统文件查找
a)指定ROOT之后,脚本会自动去挂载ROOT指定的设备,ROOTFS指定文件系统模式,官方发布的iso中他为rootfs文件,即非flat,指定为flat之后,脚本不会再去找rootfs,认定rootfs中的内容已经放入ROOT中,并非存在于一个squashfs文件中
b)未指定ROOT设备时,init脚本将扫描磁盘(scan the block devices for rootfs)

默认只探索光驱,单分区优盘,其他磁盘的第一个分区,修改探测时遍历所有设备,且识别ntfs分区。

5.添加选项from,支持从硬盘启动
该参数优先级最高,启用该参数后,不会使用ROOT设备来查找,也不会自动扫描硬盘

格式:</类型:设备:对应的文件或文件夹/>
类型可以是DIR:ISO,如果是其他直接退出
设备通常是dev下的硬盘,U盘或光盘

例子:
ISO:/dev/sda7:geexbox-i386-2.0.iso
DIR:/dev/sda6:GEEXBOX

DIR情况下
1)persistent默认是该目录下的casper-rw
2)ROOTFS不支持flat模式,ROOTFS默认是该目录下的rootfs

ISO情况下
1)persistent默认被禁用,即便设置也无效
2)ISO情况下ROOTFS肯定不是flat模式,因此不用考虑

另外由于需要持久化,必然会占据硬盘,持久化数据所在分区可能无法在geexbox的界面中显示,如果DIR下不使用持久化或者ISO情况下,不会出现某个硬盘分区不显示的状况

6.中文化
这一代不需要中文设置的原因是2.0的geexbox本身就相当于一个xmbc,而xmbc本身是支持中文,因此只需在xmbc界面下设置下即可



【使用方式】

1.启动菜单(grub4dos):

#直接从ISO启动,需要按照以下格式指名from参数
title GeeXboX 2.0 \n这是一个开源的影音播放工具界,2.0完全采用XBMC
map –mem (hd1,6)/SYSTEM/geexbox-2.0-i386.iso (0xff)
map –hook
root (0xff)
kernel /vmlinuz vga=789 quiet splash from=ISO:/dev/sda7:/SYSTEM/geexbox-2.0-i386.iso
initrd /initrd
boot

#从硬盘启动(目录),同样需要借助于from参数,这种方式下一般都使用persistent做持久化处理
title GeeXboX v2.0-disk-full \n做测试,不知道行不
root (hd1,4)
kernel /GEEXBOX/vmlinuz vga=789 quiet debug persistent splash from=DIR:/dev/sda5:GEEXBOX
initrd /GEEXBOX/initrd
boot

2.重新打包iso

a)下载修改过的initrd文件
http://115.com/file/e6ef8j86#initrd.zip
b)替换原版geexbox-2.0-i386.iso的initrd,像7z等解压工具都可以,然后重新打包,mkisofs -J -R -T -v -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../../geexbox-2.0-i386.iso .,这是linux下的参数,window下进行应该也可以

不足之处:
1)initrd没有压缩,体积稍大(有谁知道kernel-2.6.38.8对应的xz版本请告诉我,测试了4.999beta,5.0.0,5.0.1,5.0.2,5.0.3,5.1.1alpha都不行)
2)ISO启动方式没有提供数据持久化(主要是觉得没有必要)



原创文章,转载请注明: 转载自下雨天
http://rain.orgfree.com/2011/11/23/geexbox2-0%E7%A1%AC%E7%9B%98%E5%90%AF%E5%8A%A8%E6%94%AF%E6%8C%81ntfs%E5%92%8Ciso/
本文链接地址: geexbox2.0硬盘启动

此条目是由 tangfu 发表在 Linux、启动 分类目录的。

-------
这位完全是自己重新写了个GeexBox嘛,对linux太熟悉了
强!

另外 我把他那个4M的initrd用xz压缩了一下,只有1M了

无法加附件自己压缩吧
回复

使用道具 举报

9#
发表于 2011-12-8 10:42:19 | 只看该作者

标题

看介绍iso应该不能放ud的!
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-3 04:54

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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