|
发表于 2019-12-6 13:10:54| 字数 2,045| - 中国–广东–中山 联通
|
显示全部楼层
|阅读模式
本帖最后由 bwyciyv 于 2019-12-15 19:46 编辑
什么是coreboot?
其实就是能替代原厂BIOS的固件,就像刷手机ROM一样.
为什么折腾coreboot呢,有什么好处
1,没有白名单限制.
2,启动是真的快.
3,开源,网上有源代码可以自己编译.
基于阿甘方案已经完美使用coreboot.
要拆机外接芯片刷入,没有动手能力的小白就不要折腾了.只刷4M芯片不行,会出现待机电脑无法激活,,提供编译好的ROM文件,已经集成最新的英特尔微码.
有能力的小朋友可以折腾了.
发现如果原厂BIOS有加锁的话,就算忘记密码了,刷coreboot就不用理会原厂BIOS的限制了.测试以下系统都能正常使用,
1,win10
2,winPE U盘系统
3,linux类应该基本没问题的
4,ubuntu U盘启动盘
刷前请备份原厂BIOS,
刷前请备份原厂BIOS,
刷前请备份原厂BIOS.
coreboot启动时只有如图效果,
按Esc键可以选择硬盘或者U盘启动,
没有设置选项(其实设置什么的在编译时就设置好了)
进入系统时xrandr显示为eDP,外接VAG与HDMI也没有问题.按Fn+F8/F9出现提示调整亮度(事实亮度没有任何变化,还是得按开关键调亮度).
系统设置里面也显示正常了.
如果想自己编译的小朋友,从外网扒来的教程,请在linux类系统下编译,还是推荐ubuntu.
1,下载源代码
git clone https://review.coreboot.org/coreboot.git
2,进入coreboot目录
git fetch https://review.coreboot.org/coreboot refs/changes/50/28950/3 && git checkout FETCH_HEAD
3,查看分支
git rebase master FETCH_HEAD
4,获取子模块
git submodule update --init --checkout
5,构建编译环境
make crossgcc-i386 CPUS=4
这需要很长的时间.
6,把X230的屏幕LVDS模块(附件)复制到/coreboot/src/mainboard/lenovo/
如果提示覆盖合并就全部覆盖合并.
7,修改coreboot/src/northbridge/intel/sandybridge/gma.c
在第大概第560行处添加3段代码,如下/如图,主要解决休眠系统时开关键无法激活的问题.
/* Turn the panel power on using eDP VDD Override */
gtt_write(PCH_PP_CONTROL, gtt_read(PCH_PP_CONTROL) | PCH_PP_UNLOCK | EDP_FORCE_VDD);
udelay(125000); /* And wait until it powers up */
修改/coreboot/3rdparty/libgfxinit/configs/ironlake_edp 添加以下代码/如图,是为了U盘与系统启动时自动检测CPU为IVB,这样进入系统或者U盘安装界面
能启动核显显示到高清屏.
CONFIG_GFX_GMA_GENERATION = Ironlake
CONFIG_GFX_GMA_CPU = Ivybridge
CONFIG_GFX_GMA_CPU_VARIANT = Normal
CONFIG_GFX_GMA_INTERNAL_PORT = DP
CONFIG_GFX_GMA_ANALOG_I2C_PORT = PCH_DAC
CONFIG_GFX_GMA_DEFAULT_MMIO = 16\#e000_0000\#
如果内存支持DDR3 2133的话,可以修改/coreboot/src/mainboard/lenovo/x230/devicetree.cb
在第19行代码下面添加如下/如图代码, 如果内存体质不是很好的话,改到933就行,1066我发现我有一条内存开机跑不了,系统直接显示只有一条了.
# Override fuse bits that hard-code the value to 666 Mhz
register "max_mem_clock_mhz" = "1066"
8,开始配置coreboot (如何不会配置可以直接下载我的.config文件,放到coreboot目录下,直接make就行,不用make nconfig这一步了)
make nconfig
效果如图
我的具体配置如以下图
配置好了按F6保存为.config,
按F9退出,
9,编译
make
这需要点时间,完了在build目录下生成coreboot.rom文件.
10,分割rom为4m与8m.
cd到rom文件
生成8m文件
dd if=coreboot.rom of=8m.rom bs=1M count=8
生成4m文件
dd if=coreboot.rom of=4m.rom bs=1M skip=8
之后的操作就可以自行找论坛的拆机刷BIOS教程了.
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
|