吴先森的笔记
为退烧而生!
吴先森的笔记

如何快速为DSM6.2.4以及7编译redpill.ko

如何快速为DSM6.2.4以及7编译redpill.ko

根据参照RedPill的介绍,我们一共有两种方式来编译。第一种为通过群晖开放的Linux源代码编译,第二种为通过群晖的toolkit编译。不过按照此文档的介绍,RedPill的作者TTG推荐使用群晖开放的Linux源代码进行编译,但是目前群晖并未开放DSM7的源代码的情况下(截至2021/10/5号),我们可以使用toolkit进行编译

编译的系统推荐Ubuntu20.04(本人就是在此系统下编译的)。

本文编译过程参照redpill的readme.md的介绍、演示编译使用DS3615xs机型的源代码/toolkit.

并且不提供任何现成编译完成的redpill.ko文件(因为目前为测试版,存在不稳定因素。不放出现成文件是为了过滤一些半桶水的小白。当redpill的稳定版发布后,我将会在我的下载站提供现成的redpill.ko以及引导)

目前本人下载站已经提供编译完成的redpill.ko下载,请前往此处,并尽量选择最新版本!

0.安装各种需要的依赖

这里仅举例我在编译时缺少的依赖,如果你编译时报错,请自行通过报错查找依赖信息

apt update
apt install make gcc

1.通过Linux源代码编译

本编译方式可以用于DS918+/DS3615xs的DSM6.2.4版本的redpill.ko编译

1.1.克隆RedPill仓库

使用git clone命令克隆RedPill的最新仓库

git clone https://github.com/RedPill-TTG/redpill-lkm
https://www.wunote.cn/wp-content/uploads/2021/08/180058-1024x236.png

1.2.准备Linux源代码

编译所需的源代码可从SourceForge未知下载站下载。

我们下载你机型对应的源代码。DS918+下载apollolake架构的;DS3615xs下载bromolow架构的

并放入redpill-lkm目录下解压(解压可使用tar xvf xxx.txz命令解压)

1.3.下载工具链

由于Ubuntu系统自带的gcc好像版本过高,导致编译失败

https://www.wunote.cn/wp-content/uploads/2021/08/182905.png

我们需要下载官方提供的工具链进行编译,可以 从SourceForge未知下载站下载。

使用官方提供的工具链编译时,需在make参数后加入CROSS_COMPILE=[你工具链的路径]/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-

1.4.准备编译redpill.ko

首先,使用cd目录到你的Linux源码根目录

如果你是Linux v3 (bromolow),那么则执行

cp synoconfigs/bromolow .config

如果你是Linux v4 (apollolake),那么则执行

cp synoconfigs/apollolake .config
echo '+' > .scmversion

接着,输入命令

在最新lkm版本中,必须指定生成类型(dev-v6、dev-v7、test-v6、test-v7、prod-v6、prod-v7)

  – dev:会输出所有的debug信息,包括info、warning和error
  – test::还会输出warning和error,但不会输出info
  – prod:不会输出任何debug信息
看起来这些参数对lkm的功能没有任何影响

make oldconfig CROSS_COMPILE=[你工具链的路径]/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-
make modules_prepare CROSS_COMPILE=[你工具链的路径]/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- [生成类型]

完成上述命令后返回redpill-lkm的目录

1.5.开始编译redpill.ko

直接输入

make LINUX_SRC=<你Linux源代码的路径> CROSS_COMPILE=[你工具链的路径]/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-
https://www.wunote.cn/wp-content/uploads/2021/08/183314-1024x646.png

1.6.成功得到redpill.ko

最最后redpill-lkm的根目录中,会出现redpill.ko。

但是,我们需要输入一下命令来处理ko文件

strip -S *.ko

最后使用ttg提供的redpill-load即可制作出黑裙引导

https://www.wunote.cn/wp-content/uploads/2021/08/183500.png

2.使用toolkit编译

本编译方式可以用于DS918+/DS3615xs的DSM7版本及以上版本群晖未开放Linux源代码的redpill.ko编译

2.1.克隆RedPill仓库

使用git clone命令克隆RedPill的最新仓库

git clone https://github.com/RedPill-TTG/redpill-lkm

2.2.下载toolkit

编译所需的源代码可从SourceForge未知下载站下载。

我们下载你机型对应的toolkit。DS918+下载apollolake架构的;DS3615xs下载bromolow架构的(比如ds.bromolow-7.0.dev.txz)

并放入redpill-lkm目录下解压(解压可使用tar xvf xxx.txz命令解压)

2.3.下载工具链

由于Ubuntu系统自带的gcc好像版本过高,导致编译失败

https://www.wunote.cn/wp-content/uploads/2021/08/356542-1024x109.png

我们需要下载官方提供的工具链进行编译,可以 从SourceForge未知下载站下载。

使用官方提供的工具链编译时,需在make参数后加入CROSS_COMPILE=[你工具链的路径]/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-

2.4.开始编译redpill

输入

在最新lkm版本中,必须指定生成类型(dev-v6、dev-v7、test-v6、test-v7、prod-v6、prod-v7)

  – dev:会输出所有的debug信息,包括info、warning和error
  – test::还会输出warning和error,但不会输出info
  – prod:不会输出任何debug信息
看起来这些参数对lkm的功能没有任何影响

make LINUX_SRC=[你的toolkit位置]/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.0/build CROSS_COMPILE=[你的工具链位置]/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- [生成类型]

2.5.成功得到redpill.ko

最最后redpill-lkm的根目录中,会出现redpill.ko。

但是,我们需要输入一下命令来处理ko文件

strip -S *.ko

最后使用ttg提供的redpill-load即可制作出黑裙引导

吴先森

文章作者

为退烧而生!

发表评论

textsms
account_circle
email

吴先森的笔记

如何快速为DSM6.2.4以及7编译redpill.ko
根据参照RedPill的介绍,我们一共有两种方式来编译。第一种为通过群晖开放的Linux源代码编译,第二种为通过群晖的toolkit编译。不过按照此文档的介绍,RedPill的作者TTG推荐使用群晖开放…
扫描二维码继续阅读
2021-08-16
EA PLAYER &

历史记录 [ 注意:部分数据仅限于当前浏览器 ]清空

      00:00/00:00