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

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

#91

帖子 billbear » 2008-06-05 22:20

bean兄: 还是不行,可惜。
pt兄: 你的kexec方案 在我这时而能启动时而不能。我的人品飘忽。但是如果我启动到recovery mode下换内核总能成功。当然,花费的时间大概比你的方案长些。 Anyway, great work!
bean
帖子: 238
注册时间: 2008-06-03 12:25

#92

帖子 bean » 2008-06-05 22:40

是死机还是framebuffer不行?
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

#93

帖子 billbear » 2008-06-05 23:11

老样子,出来两行
Linux-EFI,setup=...,size=...
Initrd,addr=...,size=...
然后不动了,键盘也死了
bean
帖子: 238
注册时间: 2008-06-03 12:25

#94

帖子 bean » 2008-06-05 23:28

你试试elilo能否启动?
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

#95

帖子 billbear » 2008-06-05 23:47

最近可能没有工夫研究elilo,呵呵
不过elilo的成功案例好像不少
bean
帖子: 238
注册时间: 2008-06-03 12:25

#96

帖子 bean » 2008-06-05 23:57

elilo其实也很简单,先下载elilo.efi,放到u盘根目录里,然后建一个elilo.conf:

timeout=0
default=linux

image=/vmlinuz
label=linux
initrd=/initrd.img
append="root=/dev/sda3"

然后vmlinuz和initrd.img也抄到根目录就行了。
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

#97

帖子 billbear » 2008-06-06 0:29

initrd 加载完就死了
也许我下的elilo.efi不对?我用的是以前不知道哪里下载的ubuntu-base-20060326.iso里的e.efi
当时就试过
也许应该自己编译一个。改天再学习。
bean
帖子: 238
注册时间: 2008-06-03 12:25

#98

帖子 bean » 2008-06-06 0:56

估计还是framebuff的问题,你的显卡是什么?
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

#99

帖子 billbear » 2008-06-06 1:31

Intel GMA 950:

芯片组型号: GMA 950
类型: 显示器
总线: 内建
VRAM(总和): 64 MB 共享系统内存
厂商: Intel (0x8086)
设备 ID: 0x27a2
修正版 ID: 0x0003
显示器:
彩色 LCD:
显示器类型: LCD
分辨率: 1280 x 800
深度: 32 位彩色
内建: 是
Core Image: 硬件已加速
主显示器: 是
镜像: 关
联机: 是
Quartz Extreme: 支持
显示器接口:
状态: 没有连接显示器
bean
帖子: 238
注册时间: 2008-06-03 12:25

#100

帖子 bean » 2008-06-06 8:55

用官方的elilo试试,在这里下载:

http://sourceforge.net/project/showfile ... p_id=91879

根据你的显卡,应该用intelfb,在内核参数里加上:

append="video=intelfb root=/dev/sdaX"

还有,intelfb一般是外部模块。你需要在 /etc/modprobe.d/ 目录里建立一个新文件 video:

options intelfb

这样启动时就会自动装载了。有些系统使用单一文件 /etc/modprobe.conf 而不是目录的,不过debian用的是目录,估计ubuntu 也差不多。
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#101

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

billbear 写了:pt兄: 你的kexec方案 在我这时而能启动时而不能。我的人品飘忽。但是如果我启动到recovery mode下换内核总能成功。当然,花费的时间大概比你的方案长些。 Anyway, great work!
1 你在内置硬盘有没有装ubuntu ? 如果有,可以在那里面装一个 kexec ,来引导 U盘系统,看成功率如何?

2 不成功时,屏幕提示有没有识别到 U盘呢?
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#102

帖子 ptptptptptpt » 2008-06-06 11:25

又多做了几次试验,发现 kexec 启动 usb 系统确实有些问题

同一个硬盘,直接接IDE ,用 kexec 启动其中的ubuntu,成功

接上硬盘盒,则不成功

继续试验中
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

#103

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

ptptptptptpt 写了:
billbear 写了:pt兄: 你的kexec方案 在我这时而能启动时而不能。我的人品飘忽。但是如果我启动到recovery mode下换内核总能成功。当然,花费的时间大概比你的方案长些。 Anyway, great work!
1 你在内置硬盘有没有装ubuntu ? 如果有,可以在那里面装一个 kexec ,来引导 U盘系统,看成功率如何?

2 不成功时,屏幕提示有没有识别到 U盘呢?
1. 有。
在内置硬盘装kexec,进 内置硬盘 recovery mode 运行kexec,不能引导u盘,甚至不能引导内置硬盘本身。说的设备忙。不解。 内置硬盘是GPT分区表。从 GNU grub 引导的内置硬盘recovery mode.
但是从u盘的recovery mode 用kexec 换内核总能引导u盘自己。U盘是MBR分区表。从内置硬盘xp下grub4dos引导的u盘recovery mode. 不知道你简化的预引导系统和recovery mode差了什么东西。

2. u盘应该是识别的,u盘灯闪过。而且屏幕中曾经滚过sdb的字样,他还知道我sdb里有个reiserFS分区。最后我能看到的东西是

[55.744523] Process kexec (pid:3380,ti=f7438000 task=f7d01680 task.ti=f7438000)
[55.744581] Stack: 00001000 00001000 c01596c1 080752a8 c04cab80 00000002 c1f51140 b7ae6008
[55.744936] 000f5000 000f402c 1ff0a000 00000046 00000000 00000020 bfd28f58 00000046
[55.745289] f7db2e20 c0131dd1 f7db2e00 7e0ed498 00000000 00000000 f7438000 c0104442
[55.745641] Call Trace:
[55.745735] [<c01596c1>] sys_kexec_load+0x451/0x500
[55.745824] [<c0131dd1>] irq_exit+0x51/0x80
[55.745910] [<c0104442>] syscall_call+0x7/0xb
[55.745996] [<c0310000>] vcc_getsockopt+0x150/0x170
[55.746104] =======================
[55.746154] code: 90 90 90 90 90 90 83 ec 08 89 1c 24 89 c3 89 74 24 04 8b 40 04 89 d6 8b 10 85 d2 74 06 83 c0 04 89 43 04 39 43 08 74 22 8b 43 04 <89> 30 8b 53 04 8d 42 04 89 43 04 31 c0 c7 42 04 00 00 00 00 8b
[55.748293] EIP:[<c0158f05>] kimage_add_entry+0x25/0x90 SS:ESP 0068:f7439f58
[55.748428] ---[endtrace 269ae0c504b7a1cc]---

BusyBox v1.1.3 (Debian 1:1.1.3-5ubuntu12) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
(initramfs)
[/quote]
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#104

帖子 ptptptptptpt » 2008-06-06 12:57

我痛恨kack不遵循大众标准的产品 :evil:

进入busybox之后你看看 /cdrom 里面有没有东西——应该是U盘根分区

“从u盘的recovery mode 用kexec 换内核总能引导u盘自己” —— 这个有意思,但意味着什么呢??

预引导系统和recovery mode差了很多东西——几百兆呢 :(
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

#105

帖子 billbear » 2008-06-06 13:07

ptptptptptpt 写了:我痛恨kack不遵循大众标准的产品 :evil:

进入busybox之后你看看 /cdrom 里面有没有东西——应该是U盘根分区

“从u盘的recovery mode 用kexec 换内核总能引导u盘自己” —— 这个有意思,但意味着什么呢??

预引导系统和recovery mode差了很多东西——几百兆呢 :(
是这样的,busybox下的确可以看到u盘里的东西,到u盘的boot目录底下手动运行 kexec -l ...... 他马上就说设备忙
回复