centos7 配置coreboot编译环境 以及编译问题解决

news2024/10/6 14:24:46

需要的配置 (有的资源在国外可能需要翻墙)
操作系统: centos7.9

参考文章

coreboot源码分析之编译和运行coreboot - 知乎

//coreboot编译总说明
https://www.coreboot.org/Build_HOWTO#Requirements

https://poe.com/ChatGPT

注意: 因为github不稳定 所以gitee为主

1. 下载coreboot源码

#切换下home目录
cd /home
#克隆下coreboot源码
git clone https://gitee.com/coreboot/coreboot.git


#下载完成后 查看状态 并切换到 coreboot4.6
cd coreboot
git status
git checkout 4.6

2. 使用corebot自带功能 配置菜单

#执行命令
make menuconfig
或者
make nconfig
提示 curses.h:No such file or directory 的话

查找资料得知,最小系统不支持图形显示造成的
解决: yum install ncurses-devel ncurses

提示下面这个的话 按照提示安装 对应的安装包即可

ERROR: Missing tool: Please install 'm4'. (eg sudo apt-get install m4)
ERROR: Missing tool: Please install 'bison'. (eg sudo apt-get install bison)
ERROR: Missing tool: Please install 'flex'. (eg sudo apt-get install flex)
ERROR: Missing tool: Please install 'zlib (zlib1g-dev or zlib-devel)'. (eg sudo apt-get install zlib1g-dev (zlib1g-dev or zlib-devel))

正常情况下 会显示 菜单界面 (键盘左右上下可以控制菜单)

直接save保存下 会生成 /home/coreboot/.config文件

3.编译 coreboot toolchain

虽然我们 host 上有安装 gcc, 但是 coreboot 官方强烈推荐使用 coreboot 自带的交叉编译工具。

make crossgcc-i386

#会自动执行下载资源
出现报错的话, 有的因为墙的 原因下载不了, 需要手动下载(google或者百度) 并保存到 固定目录中


这个网站里面可能有你需要的苦 https://ftp.jaist.ac.jp/pub/
https://sources.openwrt.org/libelf-0.8.13.tar.gz

下载的东西保存到这个目录 
/home/coreboot/util/crossgcc/tarballs/


4. 等待crossgcc编辑完成

因为要编译各种平台的,所以这个过程很漫长, 基本上要1个小时多, 特别是卡在 gcc 的编译 一定要耐心的等待

#出现下面这个话 说明安装编译工具成功  

You can now run i386-elf cross GCC from /home/coreboot/util/crossgcc/xgcc.
Welcome to the coreboot cross toolchain builder v1.50 (October 15th, 2017)

Building toolchain using 1 thread(s).

Downloading and verifing tarballs ... 
 * acpica-unix2-20161222.tar.gz (cached)... hash verified (73e57d4d558c9bc831165c71adbff577b526f256)
Downloaded tarballs ... ok
Unpacking and patching ... 
 * acpica-unix2-20161222.tar.gz
   o acpica-unix2-20161222_iasl.patch
Unpacked and patched ... ok
Building packages ... 
Building IASL v20161222 for host ... ok
Packages built ... ok
Copied EDK2 tools template ... ok
Cleaning up temporary files... ok

目录下文件如下


5. 导入第三方blobs (真机下可能需要, 这个步骤模拟或者虚拟机或许不用)

去coreboot官网 或者 git上获取需要的 blobs库

#切换目录
cd /home/coreboot/3rdparty/blobs/
#用git下载
git clone https://gitee.com/coreboot/blobs


#官网的话在这个网址瞎子
https://www.coreboot.org/downloads.html

6. make 出固件 coreboot.rom

#回到coreboot目录并make下
cd /home/coreboot
make

之后会执行各种东西, 最后的话出现如下文字 说明编译成功

It is possible to perform either the write action or the CBFS add/remove actions on every section listed above.
To see the image's read-only sections as well, rerun with the -w option.
    CBFSPRINT  coreboot.rom

Name                           Offset     Type           Size   Comp
cbfs master header             0x0        cbfs header        32 none
fallback/romstage              0x80       stage           82500 none
cpu_microcode_blob.bin         0x14340    microcode       25600 none
fallback/ramstage              0x1a7c0    stage           98822 none
config                         0x32a00    raw               338 none
revision                       0x32bc0    raw               559 none
cmos_layout.bin                0x32e40    cmos_layout      1228 none
pci8086,0102.rom               0x33380    optionrom       65536 none
fallback/dsdt.aml              0x43400    raw              9869 none
fallback/payload               0x45b00    simple_elf      68228 LZMA (130028 decompressed)
payload_config                 0x56600    raw              1593 none
payload_revision               0x56c80    raw               275 none
(empty)                        0x56e00    null           559576 none
bootblock                      0xdf800    bootblock        1968 none
    HOSTCC     cbfstool/ifwitool.o
    HOSTCC     cbfstool/ifwitool (link)

并在 /home/coreboot/build/ 目录下生成了 coreboot.rom 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1076502.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

yolov5训练加速

问题记录及解决 1、使用ddp训练,生成标签的cache报错,等待时间过长。 方法:先使用dp训练,生成标签的cache,停掉再使用ddp方式训练。 2、 [E ProcessGroupNCC L.cpp:828] [Rank 6] Watchdog caught collective operat…

VR全景技术打造“智慧亚运”,实现720度自由视角

亚运会已然闭幕,亚运盛会不仅仅是体育健儿的竞技舞台,也是新技术的展示窗口,通过5G技术打造“智慧亚运”,VR技术在亚运会上的呈现比比皆是。有人可能会觉得非常新奇,其实VR全景技术早在几年前开始融入我们的生活。 VR全…

暴力递归转动态规划(八)

棋盘问题 将棋盘最左下角当作是平面直角坐标系的原点(0,0)位置,那么这个棋盘横坐标上就是9条线,纵坐标就是10条线,给定三个参数a、b、k,返回“马”从(0,0)位置…

BUUCTF reverse3 1

先运行下 看来是输入正确的flag 使用DIE查看文件 看起来没有壳,直接IDA打开 shift F12查找字符串 一路跟踪 到汇编窗口后F5 这里对Destination和Str2进行比较,Str2有值那么Str2就是经过上面一系列处理之后得到的内容了 继续分析上面的代码 根据…

企业电子杂志如何制作与分享

企业电子杂志相比传统纸质杂志具有更多的多媒体展示方式。在制作过程中,可以添加视频、音频、动画等多媒体元素来丰富电子杂志的内容,给人以独特的阅读体验。 如何制作企业电子杂志并分享出去?推荐用FLBOOK,可以快速做出漂亮的翻…

软考报名全流程及注意事项

软考报名方式有两种:现场报名与网上报名 现场报名: 由本人提出申请,按照规定携带身份证明到当地考试管理机构报名,领取准考证。 凭准考证、身份证明在指定的时间、地点考试。 具体各个省份,请考生登录所在省的软考…

C#学习系列相关之多线程(四)----async和await的用法

一、async、await用法的作用 async用法主要是用来作为修饰符将方法作为异步方法使用,await关键字只用作为在异步方法才能使用,也就是只有当方法有async修饰后,才能在方法中使用await,await后跟Task新的任务启动。(awai…

MySQL数据库技术笔记(5)

聚合函数: count(): 统计某种数据的数量 sum(): 统计某种数据的总和 max(): 某种数据的最大值 min(): 某种数据的最小值 avg(): 某种数据的平均值 排序的用法 : 关键字 order by 升序 : ASC (从小到大排序) 默认为升序 降序 : DESC…

基于拉丁超立方法的风光场景生成与削减

代码链接:基于拉丁超立方法的风光场景生成与削减 摘要:与蒙特卡洛法不同,拉丁超立方采样改进了采样策略能够做到较小采样规模中获得较高的采样精度,属于分层抽样技术,设定风光出力遵从正态分布normrnd,从而…

d3dcompiler_43.dll是什么文件?缺失d3dcompiler_43.dll文件修复与解决方法

今天我要和大家分享的是关于d3dcompiler_43.dll丢失的解决方法。我相信很多网友在使用电脑时都遇到过这个问题,那么接下来就让我们一起来探讨一下如何解决这个问题吧! 首先,让我们来了解一下d3dcompiler_43.dll文件的总体介绍。d3dcompiler_…

天津权威大数据培训机构 数据分析师的就业薪资多少?

中国大数据产业起步晚,发展速度快,物联网、移动互联网的迅速发展,使数据产生速度加快、规模加大,迫切需要运用大数据手段进行分析处理,提炼其中的有效信息。 学大数据可就业的行业 随着大数据技术的普及和应用&#…

推进高校学生党建工作数字化建设的思考

高校学生党建工作数字化建设是指利用现代信息技术手段,对高校学生党建工作进行全面、深入的改革和创新,以推进学生党员教育管理服务工作的现代化和精细化发展。 下面将从以下几个方面对高校学生党建工作数字化建设进行详细介绍。 一、背景分析 随着信…

“中式汉堡”塔斯汀圈粉受众的秘诀是什么?

在近几年的餐饮品牌中,塔斯汀堪称逆势扩张的典范,作为国人自己的汉堡品牌,它历经十一年的发展历程,为什么塔斯汀能在一众肯德基、麦当劳中异军突起,圈粉无数人?下面就让媒介盒子为你揭秘! 一、 …

使用vlc获取海康威视视频流

1.下载相关软件 1.1海康威视官网-服务支持-工具软件-设备网络搜索 下载地址: https://www.hikvision.com/cn/support/tools/hitools/注意:必须跟摄像头在同一个局域网下才可以使用设备网络搜索工具,才能使用vlc获取到视频流。 1.2下载VLC …

2023最新版Android逆向教程——第2天:dex反编译工具的安装和使用

目录 一、jadx的安装和使用1.1 jadx 的简介1.2 jadx 的安装1.3 jadx 的命令1.4 jadx-gui 的使用方法1.5 常见问题 二、gda的安装和使用三、JEB的安装和使用3.1 JEB的简介3.2 JEB的安装3.3 JEB实战 每个 Android App 都有对应的安装包,是以 apk 为名字后缀的文件&…

掌握 Git:代码版本控制的基本步骤(强力推荐的工具)

fairleevivobook:~/CLionProjects/SDL_SLAM$ git init提示:使用 master 作为初始分支的名称。这个默认分支名称可能会更改。要在新仓库中 提示:配置使用初始分支名,并消除这条警告,请执行: 提示: 提示&…

通过Node.js获取高德的省市区数据并插入数据库

通过Node.js获取高德的省市区数据并插入数据库 1 创建秘钥1.1 登录高德地图开放平台1.2 创建应用1.3 绑定服务创建秘钥 2 获取数据并插入2.1 创建数据库连接工具2.2 请求数据2.3 数据处理2.4 全部代码 3 还可以打印文件到本地 1 创建秘钥 1.1 登录高德地图开放平台 打开开放平…

使用Python采集京东商品评论并保存至本地

不知道各位网购的时候,是否会去留意商品评价,有些小伙伴是很在意评价的,看到差评就不想买了,而有些小伙伴则是会对差评进行理性分析,而还有一类人不在乎这个。京东作为中国最大的电商平台之一,拥有大量的商…

如何使用ChatGPT编写更好的代码

生成代码是ChatGPT和其他遵循指令运行的大型语言模型(LLM)一个功能强大的应用。如果得到正确的提示,大型语言模型(LLM)可以生成程序员可能需要数小时才能编写的代码。 然而,大型语言模型(LLM)并不能完成程序员的所有工作。他们无法分解复杂的问题&#x…

学生用RockyLinux9.2模板虚拟机说明

“RockyLinux9.2”模板虚拟机下载地址 链接:https://pan.baidu.com/s/1xcakszIQ7Kp9Nw_NA9Znlg?pwdqzmm 提取码:qzmm 1.模板机是基于“Rocky-9.2-x86_64-minimal.iso”安装 2.模板机是2023.10.10执行dnf update && dnf upgrade更新和升级软件…