(转)coreboot & seabios
(2013-11-20 00:35:14)分类: Linux技术 |
转自: http://www.biosren.com/thread-6882-1-1.html
seabios现在是很多虚拟机的默认启动bios,这跟它的短小精干有很大关系,也跟它提供比较完备的legacy支持有关。
按照以下步骤把seabios制作成coreboot的payload,
1. 下载seabios代码,
http://code.coreboot.org/p/seabios/downloads/
最新的代码是seabios v1.7.3.1
http://code.coreboot.org/p/seabios/downloads/31/
建议先试用seabios v1.7.2,因为下面提供的参考.config文件基于seabios v1.7.2。
2. 解压后在Linux环境下运行“make menuconfig”
如果运行该命令时报错,一般可安装所需的library解决。
对于作为coreboot的payload,最重要的是选择是选择General Features->Build Target->Build from coreboot,并按照所需选择其他选项。
提醒:我曾经因为设置Debugging->Debug Level为9,seabios在运行中死机。如果你遇到类似现象,请试着降低Debug Level到3或者更小值。
提供一个seabios v1.7.2的.config文件作为参考,在这个configure文件里,只初始化了serial port,AHCI controller。该文件已经过实际硬件验证,能启动带Legacy boot支持的的Linux。
3. 编译,使用“make”命令
编译完成后,生成的文件在out/目录下,作为payload的文件是bios.bin.elf,而bios.bin是普通意义上的bios文件。
4. 把bios.bin.elf做为payload编译到coreboot中。
注意:在coreboot运行“make menuconfig”,payload中选择An ELF Executable payload(非seabios),然后指定bios.bin.elf的路径与文件名。
外部链接:
coreboot & seabios,
http://www.coreboot.org/SeaBIOS
seabios的wiki:
http://en.wikipedia.org/wiki/SeaBIOS
seabios:
http://www.seabios.org/SeaBIOS
按照以下步骤把seabios制作成coreboot的payload,
1. 下载seabios代码,
http://code.coreboot.org/p/seabios/downloads/
最新的代码是seabios v1.7.3.1
http://code.coreboot.org/p/seabios/downloads/31/
建议先试用seabios v1.7.2,因为下面提供的参考.config文件基于seabios v1.7.2。
2. 解压后在Linux环境下运行“make menuconfig”
如果运行该命令时报错,一般可安装所需的library解决。
对于作为coreboot的payload,最重要的是选择是选择General Features->Build Target->Build from coreboot,并按照所需选择其他选项。
提醒:我曾经因为设置Debugging->Debug Level为9,seabios在运行中死机。如果你遇到类似现象,请试着降低Debug Level到3或者更小值。
提供一个seabios v1.7.2的.config文件作为参考,在这个configure文件里,只初始化了serial port,AHCI controller。该文件已经过实际硬件验证,能启动带Legacy boot支持的的Linux。
3. 编译,使用“make”命令
编译完成后,生成的文件在out/目录下,作为payload的文件是bios.bin.elf,而bios.bin是普通意义上的bios文件。
4. 把bios.bin.elf做为payload编译到coreboot中。
注意:在coreboot运行“make menuconfig”,payload中选择An ELF Executable payload(非seabios),然后指定bios.bin.elf的路径与文件名。
外部链接:
coreboot & seabios,
http://www.coreboot.org/SeaBIOS
seabios的wiki:
http://en.wikipedia.org/wiki/SeaBIOS
seabios:
http://www.seabios.org/SeaBIOS