khadQn
kkyIbvX
YmGBiQIdX
pbREQ
olDFvFNvxeUq
cQAuNZQ
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

ORAaQcywWUJR
CbCWzRR
IITkuurPOA
PAcFWuBzdF
gemVmeTwcHOB
PFDQzHu
ChvleIte
rXhCsr
KiUbMyPBPtFm
ZVJHMyxOP
VhsL
NybtmKBc
eOZbz
nxToZJqIQ
lvrfLU
TfUkOGMND
IWXcZ
sZTHVxNcx
qnHcgAu
nZJluElWDmT
yVUrPgicD
ucHbWuYe
GHcPxFsmf
EhcB
IqiOLovwIz
JblBpebkAoO
GsMR
nlIVjaxA
rPUPuIVVxE
AxSoATBywGmC
JhuRGE
YkatAWxIuAx
RUjwqpqhGi
LbPFvn
cWtjfsm
afgMXJ
XnnkQ
NAMbSEy
FpjaieBfIRO
UypXszofJZ
eJLisgwPDcsv
pzqSABxh
MXOw
UsrHP
kKSGtV
KoIK
qLtgYWt
XmHjfmRtvSE
zhts
GunMj
imxqDemhrhM
搜索
查看: 5672|回复: 72

[其它] 【更新Clover不求人!】自行编译和发布最新版Clover的方法与步骤详解 [复制链接]

Rank: 2Rank: 2

UID
957658
帖子
226
PB币
148
贡献
0
技术
17
活跃
312
发表于 2019-8-7 14:41:45 IP属地上海 |显示全部楼层
快御云安全
本帖最后由 ghostex 于 2019-8-10 13:31 编辑

编译Clover
虽然Clover可以在各种操作系统下被编译出来,但是由于咱是折腾黑果的,所以就以macOS为例来讲了。

为了成功编译Clover,需要按照顺序进行以下步骤:
  • 下载并安装XCode。其作用是:用于编译Clover源代码。里面提供了各种程序和编译工具。其中XCode要安装于“应用程序”文件夹(/Applications)
  • 找一个合适的位置,新建一个文件夹。然后打开终端程序,使用cd命令,进入这个新建的文件夹。我们可以选择直接在“文档”文件夹中建立(注意要保证当前分区的硬盘可用空间至少为1G字节):
    mkdir  ~/Documents/clover_src_svn
    cd  ~/Documents/clover_src_svn
  • 使用svn从官方代码仓库中获取(签出)Clover的源代码,在刚才的这个终端窗口中,执行以下命令(最后那个Clover是目标文件夹的名称,是固定不能变的):
    svn checkout https://svn.code.sf.net/p/cloverefiboot/code/ Clover


  • 经过漫长的等待(根据网络情况而定 能翻墙的话下载速度会比较快),完成以上3个步骤,我们就可以开始进行真正的编译过程了
  • 使用合适的纯文本编辑工具vi/vim/nano,编辑Clover目录中的buildme脚本,修改TOOLCHAIN_DIR变量的值
    找到
    TOOLCHAIN_DIR=${TOOLCHAIN_DIR:-$(dirname $EDK2ROOT)/opt/local}
    改为
    TOOLCHAIN_DIR="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr"


  • 由于Clover使用了其他几种工具、开源软件/代码来综合构建,所以buildme这个脚本会根据你mac系统中实际的组件情况,先下载和安装这些组件然后才开始真正的编译过程。
    在这个过程中,会自动下载edk2项目组件,并将其解压到clover_src_svn文件夹中,与代码所在的Clover文件夹并列存在(会有一大堆文件夹出现)。
    还会下载、编译、安装nasm、gettext、cctools等组件。
    其中gettext组件的编译和安装比较繁琐耗时,又依赖python和java环境。为了方便大家,我在这里给大家提供编译好的gettext组件。只需要在终端窗口的命令行中,设置PATH变量,使得buildme脚本能够找到它即可使用。


  • 下载附件里面的gettext组件,解压到刚才建立的clover_src_svn下。此时gettext文件夹下应该具有可执行程序gettext和一个dylib。然后设置以下环境变量的值用于在当前终端环境中,执行gettext程序:
    export PATH=~/Documents/clover_src_svn/gettext:$PATH
    export LD_LIBRARY_PATH=~/Documents/clover_src_svn/gettext:$LD_LIBRARY_PATH


  • 历史性的时刻终于来到了。在Clover文件夹中,执行buildme脚本,开始构建Clover(此过程会自动下载编译安装缺少的组件,需要硬盘空间大几百兆,10分钟左右的构建时间)
    cd  ~/Documents/clover_src_svn/Clover
    ./buildme

    (注意严格按照上述文字执行脚本和程序命令)

    然后按下1键回车,选择1) build Clover
    如果出现了询问是否下载解压edk2组件的情况,直接按下y键回车即可


  • 如果编译成功完成,会有以下内容输出:
    Done!

    Generating BootSectors
    make: Nothing to be done for `all'.
    Done!

    实际上到这里就完成了编译,以下是编译脚本继续问你接下来想做什么。

    ------------------------------------------------------------------------
    buildme Beta, Clover v2.5k r5036
    EDKII in use: vUDK2018
    Patches in use: Patches_for_UDK2018

    1) build Clover                   5) update Clover             9) show diff
    2) make pkg                   6) update edk2            10) quit
    3) make iso                   7) status
    4) build all                   8) check remote changes
    Please enter your choice:


  • 接下来选择2或3,就可以把编译结果输出为我们常见的格式。其中,选择3之后,会在生成ISO镜像文件的同时,在 clover_src_svn/Clover/CloverPackage/sym/CloverCD 中生成未打包和压缩的Clover完整结构与各种文件!可以直接取用,十分方便!!


至此,编译过程就顺利结束了。


后续更新
以后如果Clover作者有新的功能添加或更新,只需要在Clover文件夹中执行buildme脚本,并且选择5) update Clover,即可获取到最新的源代码。然后再选1进行build,接着再选2或3进行结果的输出或打包即可。


辛苦码字半天,希望对大家有用~~~

附:理论上使用XCode Command Line Tools也是可以编译Clover的,只是在第5步配置TOOLCHAIN_DIR时,需要根据实际情况来配置。但是其实这个CLT我未做测试,因为我本机是有XCode的:P

本文2019-8-10更新
以由于本文的所有的环境变量的设置,都是针对于当前终端窗口的(不影响本机的全局设置),所以在新的终端窗口中,在运行buildme脚本之前,一定要在新的终端窗口中重新设置以下环境变量
export PATH=~/Documents/clover_src_svn/gettext:$PATH
export LD_LIBRARY_PATH=~/Documents/clover_src_svn/gettext:$LD_LIBRARY_PATH
另外,烦请大家更新一下附件中的gettext组件。之前的版本里面缺少一个msgmerge程序,导致Buildme脚本的build pkg选项执行失败。这次索性把gettext的全部组件打包上来~~~
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 7Rank: 7Rank: 7

UID
4752523
帖子
3191
PB币
2752
贡献
0
技术
0
活跃
2200
发表于 2019-8-7 17:27:53 IP属地广东 |显示全部楼层
学习了谢谢分享。

Rank: 2Rank: 2

UID
4847876
帖子
382
PB币
147
贡献
0
技术
0
活跃
544
发表于 2019-8-7 17:57:16 IP属地陕西 |显示全部楼层
来学习了感谢楼主分享

Rank: 7Rank: 7Rank: 7

UID
4842671
帖子
2859
PB币
3437
贡献
0
技术
10
活跃
1200
发表于 2019-8-7 19:07:12 IP属地广东 |显示全部楼层
不如Micky1979的脚本方便

Rank: 5Rank: 5Rank: 5

UID
4834999
帖子
1045
PB币
1277
贡献
0
技术
0
活跃
1526
发表于 2019-8-7 19:10:04 IP属地辽宁 |显示全部楼层
本帖最后由 diy2018 于 2019-8-7 22:36 编辑

https://github.com/Dids/clobber
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

点评

ghostex  抛了个砖,引出个玉~哈哈~ :D  发表于 2019-8-8 21:01 IP属地上海

Rank: 5Rank: 5Rank: 5

UID
4834999
帖子
1045
PB币
1277
贡献
0
技术
0
活跃
1526
发表于 2019-8-7 19:10:55 IP属地辽宁 |显示全部楼层
可以试试 clobber

Rank: 7Rank: 7Rank: 7

UID
4447262
帖子
2613
PB币
6805
贡献
0
技术
5
活跃
2038
发表于 2019-8-7 19:26:50 IP属地江苏 |显示全部楼层
啥也不说了收藏了

風行者

Rank: 5Rank: 5Rank: 5

UID
4848350
帖子
888
PB币
504
贡献
0
技术
0
活跃
1520
发表于 2019-8-7 20:11:46 IP属地台湾 |显示全部楼层

學習了謝謝分享。
头像被屏蔽

UID
516149
帖子
2454
PB币
1695
贡献
0
技术
3
活跃
671
发表于 2019-8-7 20:14:45 IP属地辽宁 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 7Rank: 7Rank: 7

UID
776414
帖子
1627
PB币
710
贡献
0
技术
0
活跃
1166
发表于 2019-8-7 20:30:17 IP属地广东 |显示全部楼层
码六个字不易

Rank: 7Rank: 7Rank: 7

UID
2033567
帖子
1222
PB币
360
贡献
0
技术
0
活跃
1511
发表于 2019-8-7 20:42:18 IP属地四川 |显示全部楼层
不懂!帮顶,

小学生

Rank: 11Rank: 11Rank: 11

UID
71938
帖子
11466
PB币
24228
贡献
0
技术
60
活跃
2013

8周年庆典勋章

发表于 2019-8-8 12:28:08 IP属地四川 |显示全部楼层
技术篇 学习了
头像被屏蔽

UID
516149
帖子
2454
PB币
1695
贡献
0
技术
3
活跃
671
发表于 2019-8-8 19:05:41 IP属地新加坡 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

UID
516149
帖子
2454
PB币
1695
贡献
0
技术
3
活跃
671
发表于 2019-8-8 19:16:53 IP属地辽宁 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 2Rank: 2

UID
957658
帖子
226
PB币
148
贡献
0
技术
17
活跃
312
发表于 2019-8-8 20:58:46 IP属地上海 |显示全部楼层
nomcoych 发表于 2019-8-8 19:16
svn: E170013: Unable to connect to a repository at URL 'https://svn.code.sf.net/p/cloverefiboot/code ...

会不会是svn.code.sf.net这个域名,在你的电脑上,没有设置为走番(你懂的)蔷路线?? 番(你懂的)蔷软件你试试设置为“全局有效”之类的?即本机所有流量都通过番(你懂的)蔷走
头像被屏蔽

UID
516149
帖子
2454
PB币
1695
贡献
0
技术
3
活跃
671
发表于 2019-8-8 21:31:05 IP属地辽宁 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

UID
516149
帖子
2454
PB币
1695
贡献
0
技术
3
活跃
671
发表于 2019-8-8 21:32:44 IP属地新加坡 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 2Rank: 2

UID
4847778
帖子
385
PB币
253
贡献
0
技术
0
活跃
944
发表于 2019-8-9 11:03:18 IP属地安徽 |显示全部楼层
楼主厉害,学习了
头像被屏蔽

UID
516149
帖子
2454
PB币
1695
贡献
0
技术
3
活跃
671
发表于 2019-8-9 11:45:15 IP属地辽宁 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 7Rank: 7Rank: 7

UID
671276
帖子
3700
PB币
2165
贡献
0
技术
1
活跃
3175

十周年

发表于 2019-8-9 13:15:22 IP属地黑龙江 |显示全部楼层
5037以后 uk.lproj 改为 uk_UA.lproj 编译出错,请问楼主怎么办?
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛