[问题]关于不支持从usb存储设备启动的机器

启动讨论 grub/grub2/syslinux/grub4dos/Lilo
回复
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

#61

帖子 billbear » 2008-06-04 11:32

总算有了初步成果
efi好像也只有一步之遥了
呵呵
bean
帖子: 238
注册时间: 2008-06-03 12:25

#62

帖子 bean » 2008-06-04 12:01

理论上应该差不多了,内核和initrd都装载了,会不会是内核里没有EFI支持?

其实,原来的代码是Okuji写的,现在他的人很难找到了,本来能否启动还是一个问题。可惜我的MacBook固件是64位的,测试比较难啊。不过,现在大部分的应该没问题的,就差最后启动一步了。

还有,你只用vmlinuz,不用initrd试试。当然,这样不能真正的启动,不过如果内核成功装载的话,有输出信息的。
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

#63

帖子 billbear » 2008-06-04 12:28

bean 写了:理论上应该差不多了,内核和initrd都装载了,会不会是内核里没有EFI支持?

其实,原来的代码是Okuji写的,现在他的人很难找到了,本来能否启动还是一个问题。可惜我的MacBook固件是64位的,测试比较难啊。不过,现在大部分的应该没问题的,就差最后启动一步了。

还有,你只用vmlinuz,不用initrd试试。当然,这样不能真正的启动,不过如果内核成功装载的话,有输出信息的。
这个我也试过了,我就是简单地把initrd 那一行删掉。不知道这样写对不对
结果内核没有加载,死了。没有更多信息。

问一个弱问题,32位的efi有没有可能通过固件更新变成64位。还有vista sp1好像支持64位efi,有没有听说有人在 mac 从 efi 方式启动 vista 的

还有,你对 refit 的代码有没有研究,能不能在启动时在refit 里运行一些命令。我的需求是让 refit在启动时调整时间,要不os x和 windows 老有时差。我的想法是让 refit 记住上一次启动的是那个系统,如果跟这一次的系统有时差就调过来,而不是等系统起来以后去网络同步。

谢谢
bean
帖子: 238
注册时间: 2008-06-03 12:25

#64

帖子 bean » 2008-06-04 12:29

刚才上网查了一下,MacBook上运行EFI要打内核补丁的,更多的信息在这里:

http://www.mactel-linux.org/wiki/HOWTO

关于时差,应该是UTC设置造成的,启动UTC时,会假定系统时钟是UTC,本地时间按时区调整,这样便会和不使用UTC的造成差别。不过这个设置应该可以调的。
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

#65

帖子 billbear » 2008-06-04 12:42

是不是说是linux没有做好efi的准备,而不是grub2。但是你的macbook为什么不要给内核打补丁呢
另,os x里没有看到什么地方可以调utc
windows可以通过注册表调,但是调了以后会时不时莫明其妙变回来
lin可以调,还是lin好

那么,grub2是否有这样的功能,在引导之前修改时间。如果没有,是不是考虑加一个。然后不要refit了,grub2接管一切
bean
帖子: 238
注册时间: 2008-06-03 12:25

#66

帖子 bean » 2008-06-04 13:51

我最近在写x86_64 EFI代码,其他功能基本正常了,就是没能启动Linux。估计也可能和内核有关。

至于时间的话,我这里是对的阿,时区设置没问题吧?

还有一个比较简单的解决方法,就是把时区都设为0时区,这样时间就是一样的了。
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

#67

帖子 billbear » 2008-06-04 14:08

bean:再次感谢&期待
y.volta
帖子: 3
注册时间: 2008-06-04 16:33

#68

帖子 y.volta » 2008-06-04 16:38

路过,关注一下。;)

不知道大家有没有考虑过尝试 PLoP 呢? 虽然有兼容性问题,不过还是可以多一个方法:

用 Grub/Grub4dos 加载它的 iso 镜像中的磁盘镜像文件即可。Windows 下可以考虑直接使用 Avlgomgr 加载。


http://www.plop.at/en/bootmanager.html
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

#69

帖子 billbear » 2008-06-04 17:16

y.volta 写了:路过,关注一下。;)

不知道大家有没有考虑过尝试 PLoP 呢? 虽然有兼容性问题,不过还是可以多一个方法:

用 Grub/Grub4dos 加载它的 iso 镜像中的磁盘镜像文件即可。Windows 下可以考虑直接使用 Avlgomgr 加载。


http://www.plop.at/en/bootmanager.html
以前没有听说过。看上去是个好东西。像是一个带usb驱动的bootloader。马上试一下。多谢。
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#70

帖子 ptptptptptpt » 2008-06-04 18:18

billbear 写了:不错
那天你说想从一个小型linux加载grub引导另一个linux,我就想可能不会成功,但是直接kexec另一个内核是有可能的
你预引导的那个linux微型化了吗,不会多花很长时间吧
你再试试linld或者loadlin从dos走,去找个dos usb驱动
如果从kexec可靠并且快速,我还是很愿意不从dos走。不过我对kexec一直提心吊胆的
试验成功了,难题都解决了,把 8.04 live cd 中的 initrd.gz 添加上 kexec 程序,作为预引导的 linux , 总共不到8M,够微型吧 :)

剩下的都是细节问题 ── 不过仍旧很烦琐, 这个引导过程有够BT :)

现在我觉得最好的路是 grub2,实在不行试试 PLoP ,都不行了再考虑我这个
头像
muzuiget
帖子: 1097
注册时间: 2007-12-31 14:57

#71

帖子 muzuiget » 2008-06-04 20:21

这个问题倒是折腾人啊哈。
干脆用CD-RW刻,或者多重轨道也行,用grub时修改一下参数就行。
头像
muzuiget
帖子: 1097
注册时间: 2007-12-31 14:57

#72

帖子 muzuiget » 2008-06-04 20:23

ptptptptptpt 写了:
billbear 写了:不错
那天你说想从一个小型linux加载grub引导另一个linux,我就想可能不会成功,但是直接kexec另一个内核是有可能的
你预引导的那个linux微型化了吗,不会多花很长时间吧
你再试试linld或者loadlin从dos走,去找个dos usb驱动
如果从kexec可靠并且快速,我还是很愿意不从dos走。不过我对kexec一直提心吊胆的
试验成功了,难题都解决了,把 8.04 live cd 中的 initrd.gz 添加上 kexec 程序,作为预引导的 linux , 总共不到8M,够微型吧 :)

剩下的都是细节问题 ── 不过仍旧很烦琐, 这个引导过程有够BT :)

现在我觉得最好的路是 grub2,实在不行试试 PLoP ,都不行了再考虑我这个
果然够BT,到时分享一下。
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

#73

帖子 billbear » 2008-06-04 20:43

试了下kexec,是可以滴,从2.6.24-16起来换内核 变成了 2.6.24-18
装了kexec后系统的重启方式都变了,不从bios开始走了,呵呵
pt做好的弄成iso上传哈

PLop目前看还有问题,出grub error。另外在macbook引导光盘会死机,看来有某些兼容性问题。可以关注未来版本。

当然,终极解决是grub2
y.volta
帖子: 3
注册时间: 2008-06-04 16:33

#74

帖子 y.volta » 2008-06-04 20:54

从楼主的应用场合考虑,pt 的 kexec 方案的确不错。加以提炼,写一个 rc 就可以做一个通用的加载器了 - 比如在启动的时候,出现一个动态菜单,条目包括了搜索到的 USB Storage 设备上的 kernel。不过,这个好像正是 不点 的目标来着;)

既然如此, LinuxBIOS 还有必要吗? 呵呵。
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

#75

帖子 billbear » 2008-06-04 20:58

muzuiget 写了:这个问题倒是折腾人啊哈。
干脆用CD-RW刻,或者多重轨道也行,用grub时修改一下参数就行。
本来是的。我这个需求也是最近买了个u盘并在上面装了linux才产生的。我现在是要把这个启动光盘量产进u盘,而不是真的刻盘。量产完剩下的部分装linux。经常要在一台只支持从usb-cdrom启动而不支持usb-hdd启动的机器上用。而量产是破坏性的,要把u盘的光盘区和硬盘区一并抹去。
所以,无法容忍需要经常改变光盘内容的解决方案,需要寻求通用和一劳永逸的。
回复