现在编译已经有很多种方法了

1.使用在线编译GitHub - wjz304/Redpill_CustomBuild: Redpill 定制化编译,自定义配置及驱动并通过 Github Action 编译 DSM redpill 引导的平台.

2.使用巴西大佬的自动编译GitHub - fbelavenuto/arpl: Automated Redpill Loader

中文汉化版GitHub - wjz304/arpl-i18n: Automated Redpill Loader(i18n)

3.自己手动编译

这次是自己手动编译,我们选择的是tossp大佬的

感谢各位大佬的开源

GitHub - RedPill-TTG/redpill-load: RedPill Loader Generator

GitHub - RedPill-TTG/redpill-lkm: Linux kernel module for RedPill

GitHub - tossp/redpill-tool-chain: 这是一个测试项目,可能会有不可预测的事情发生(比如:毁损数据、烧毁硬件等等),请谨慎使用。

GitHub - jumkey/redpill-load: RedPill Loader Generator

GitHub - pocopico/tinycore-redpill

GitHub - pocopico/redpill-load: RedPill Loader Generator

GitHub - pocopico/rp-ext

GitHub - fbelavenuto/arpl: Automated Redpill Loader

GitHub - wjz304/arpl-i18n: Automated Redpill Loader(i18n)

1、编译准备

Ubuntu TLS

科学

我们编译教程全部已918+为例

2、安装

安装tossp大佬的项目

1
2
3
4
5
6
7
8
9
10
11
sudo -i

apt-get update

apt-get install make gcc git jq wget bspatch git

git clone https://github.com/tossp/redpill-tool-chain.git

cd redpill-tool-china

cd redpill-tool-chain/

3、开始编译

查看tossp大佬默认支持的版本

1
./redpill_tool_chain.sh

生成修改SN和MAC

准备完成我们是修改配置文件如果有洗白码就直接,填入,没有的话我们生成一个即可(我们这里全都已918+为例)屏幕截图 2023-05-02 135726.png

1
./redpill_tool_chain.sh sn DS918+

屏幕截图 2023-05-02 135954.png

然后我们修改sample_user_config.json将sn和mac地址填入文件另存为ds918p_user_config.json

屏幕截图 2023-05-02 140313.png如图,或者直接使用命令行修改

1
2
3
4
5
6
7
8
9
10
11
echo '{
"extra_cmdline": {
"pid": "0x0001",
"vid": "0x46f4",
"sn": "1780PDN020897",
"mac1": "001132ECC85F"
},
"synoinfo": {},
"ramdisk_copy": {},
"extensions": []
}' > ds918p_user_config.jsonCopy

添加DS918+ 7.1.1版本

tossp大佬的版本是默认没有DS918+ 7.1.1-42962的

我们修改global_config.json文件在415行添加以下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{
"id": "ds918p-7.1.1-42962",
"platform_name": "DS918+",
"platform_version": "ds918p-7.1.1-42962",
"user_config_json": "ds918p_user_config.json",
"docker_base_image": "debian:10-slim",
"compile_with": "toolkit_dev",
"redpill_lkm_make_target": "test-v7",
"downloads": {
"kernel": {
"url": "https://sourceforge.net/projects/dsgpl/files/Synology%20NAS%20GPL%20Source/25426branch/apollolake-source/linux-4.4.x.txz/download",
"sha256": "af815ee065775d2e569fd7176e25c8ba7ee17a03361557975c8e5a4b64230c5b"
},
"toolkit_dev": {
"url": "https://sourceforge.net/projects/dsgpl/files/toolkit/DSM7.0/ds.apollolake-7.0.dev.txz/download",
"sha256": "d349fa644392d4cfab8191243ee38aaa32bd517208c144678e0c855cb5a619ea"
}
},
"redpill_lkm": {
"source_url": "https://github.com/pocopico/redpill-lkm.git",
"branch": "master"
},
"redpill_load": {
"source_url": "https://github.com/pocopico/redpill-load.git",
"branch": "develop"
}
},

屏幕截图 2023-05-02 142239.png添加驱动

我们开始添加一些自己所需要的驱动

用的是pocopico大佬的仓库

GitHub - pocopico/rp-ext

进入仓库,我们选择自己需要的驱动

然后进去打开rpext-index.json文件

然后点击Rwa

将链接复制最后添加即可

屏幕截图 2023-05-02 142933.png屏幕截图 2023-05-02 142941.png

屏幕截图 2023-05-02 142953.png)屏幕截图 2023-05-02 142959.png添加命令为

1
./redpill_tool_chain.sh add https://raw.githubusercontent.com/pocopico/rp-ext/main/e1000/rpext-index.jsonCopy

删除命令为

1
./redpill_tool_chain.sh del pocopico.e1000Copy

添加完成驱动后我们就可以,开始编译了

编译命令

1
2
./redpill_tool_chain.sh build ds918p-7.1.1-42962
./redpill_tool_chain.sh auto ds918p-7.1.1-42962Copy

编译好的镜像在images目录下

重新编译

重新编译我们需要删除redpill-boot-wait

1
rm -rf custom/extensions/redpill-boot-wait/Copy

然后重新选择自己需要的版本

额外内容

用TGG源代码编译内核

手动编译redpill-lkm

1
2
3
4
5
6
7
8
9
10
11
12
sudo -i
apt-get update
apt-get install make gcc git jq wget bspatch

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

wget https://phoenixnap.dl.sourceforge.net/project/dsgpl/toolkit/DSM7.0/ds.apollolake-7.0.dev.txz

tar -xvf ds.apollolake-7.0.dev.txz usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.0/build

make LINUX_SRC=usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.0/build test-v7Copy

或者使用pocopico大佬的内核

rp-ext/redpill/releases at main · pocopico/rp-ext · GitHub