现在编译已经有很多种方法了
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大佬默认支持的版本
生成修改SN和MAC
准备完成我们是修改配置文件如果有洗白码就直接,填入,没有的话我们生成一个即可(我们这里全都已918+为例)
1
| ./redpill_tool_chain.sh sn DS918+
|
然后我们修改sample_user_config.json将sn和mac地址填入文件另存为ds918p_user_config.json
如图,或者直接使用命令行修改
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" } },
|
添加驱动
我们开始添加一些自己所需要的驱动
用的是pocopico大佬的仓库
GitHub - pocopico/rp-ext
进入仓库,我们选择自己需要的驱动
然后进去打开rpext-index.json文件
然后点击Rwa
将链接复制最后添加即可
)添加命令为
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