[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: debian的kernel配置和u盘



2014-02-06 曾添 <tsengti@gmail.com>:
> 我重新整理了一下思路:
>
> 1. BIOS在最后阶段执行了MBR中的grub2
> 2. grub2运行到一定阶段后插入了ext2模块,用来识别ext2格式的/boot分区
>     (debian的grub.cfg可看到ext2模块的加入)
> 3 然后grub2依靠MBR的指引,找到储存vmlinuz的分区并执行内核
>   (看来我的问题在这一步,假设bios对硬盘和u盘的处理都是一样的,毕竟两者都是block
> device,同时也假设grub可通过底层对硬盘进行操作,因为我留意过debian的配置里面,相关的SATA,EHCI,AHCI等等,都是被配置为
> M)。
>
>   我这样考虑是否正确,或者少了什么步骤,求指教,谢谢你的恢复。
>
基本上可以这么理解,grub的引导过程,可参考wiki[1], 谢谢!

另外,回复邮件列表的邮件,请回复到邮件列表,如果只回复到单个作者,其他人就收不到了。

谢谢!

>
>
>
> 在 2014年2月6日 下午10:26,曾添 <tsengti@gmail.com>写道:
>
>> grub靠什么可以识别U盘(或者说硬盘)? init 13?
>>
>>
>> 在 2014年2月6日 下午10:25,曾添 <tsengti@gmail.com>写道:
>>>
>>> 抱歉手误:
>>>
>>>
>>> 在 2014年2月6日 下午10:25,曾添 <tsengti@gmail.com>写道:
>>>
>>>> 可能我的知识不是很多,对其中部分的顺序细节了解的不够。
>>>>
>>>> 当时我编译内核遇到的第一个问题就是无法找到实际的根文件系统(VFS Panic),如果没有 initrd 或 initramfs
>>>> 的支持,而且相关的硬件模块和文件系统模块没有 embed 到内核的话就会出现那个 VFS 错误。
>>>>
>>>> 看了你的恢复,想起当时 grub 1 的确可以把 u盘的内核启动,所以看来我的问题可以表述为:
>>>>
>>>>
>>>> 在 2014年2月6日 下午6:28,Liang Guo <bluestonechina@gmail.com>写道:
>>>>
>>>>> 2014-02-06 曾添 <tsengti@gmail.com>:
>>>>> > 各位好,debian一直可以安装到U盘之类的设备上,不过这两天突然发现个问题
>>>>> >
>>>>> > 拷贝 /boot 下的内核配置文件,发现debian的配置里面,关键的几个配置,例如 USB Mass Storage 只是配置为 M
>>>>> > ,如果按我的理解,必须是Build In 到内核里面,才可以识别U盘设备。
>>>>> >
>>>>> > 这和我的经验不符.请问下 debian 是如何做到可以用 U盘 来启动的?
>>>>> >
>>>>> > --
>>>>> > Tsang Tim
>>>>> kernel和initrd文件由grub或lilo加载到内存,启动usb等硬件设备的内核模块放在initrd文件中。
>>>>> initrd文件是一个gzip过的cpio文件或者ext文件系统,你可以自己解开来看里边包含了什么。
>>>>>
>>>>>
>>>>> --
>>>>> Liang Guo
>>>>> http://guoliang.me/
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Tsang Tim
>>>
>>>
>>>
>>>
>>> --
>>> Tsang Tim
>>
>>
>>
>>
>> --
>> Tsang Tim
>
>
>
>
> --
> Tsang Tim

[1] http://en.wikipedia.org/wiki/GNU_GRUB

-- 
Liang Guo
http://guoliang.me/

Reply to: