如何简单快速编译 基于Redpill的DSM6.2.4 & DSM7.0 引导
首先,感谢 @haydibe 提供简单工具链,使得编程如此简单快捷。
发帖之时 最新版本为: redpill-tool-chain_x86_64_v0.5.4.zip
目前支持的版本有:
bromolow-6.2.4-25556
bromolow-7.0-41222
apollolake-6.2.4-25556
apollolake-7.0-41890
由于个人比较习惯Debian,所以此教程使用的是 Debian10.
安装依赖
需要用到的一些东西,直接一波。
apt update && apt install curl jq wget unzip -y
安装Docker
安装方法多样,可以使用daocloud加速,也可以使用阿里云,下面提供两套方案。
方案一:
curl -sSL https://get.daocloud.io/docker | sh
方案二:
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh --mirror Aliyun
按需选择即可。
配置Docker镜像加速器
一般都会用个人的阿里云加速,但我觉得USTC和百度速度也可以了。
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.baidubce.com"
]
}
EOF
复制,在SSH 下粘贴运行即可。
然后重启 docker 既可以生效。
systemctl restart docker
下载编译所需
避免莫名其妙的问题,建议请自备梯子,这都是编译的常规操作了。
🍤 清理之前编译残留并切换当前工作目录
cd /root && rm -rf dsm && mkdir dsm && cd ./dsm
我这里 使用 /root/dsm 为编译目录。
🍤 下载user_config.json 和 redpill-tool-chain_x86_64_v0.5.4 到 /root/dsm 目录下,并解压。
wget -c https://raw.githubusercontent.com/hopolcn/redpill-tool-chain/master/redpill-tool-chain_x86_64_v0.5.4.zip && unzip redpill-tool-chain_x86_64_v0.5.4.zip && wget -c https://raw.githubusercontent.com/hopolcn/redpill-tool-chain/master/user_config.json
🍤 这里的 user_config.json 可以自定义修改。
{
"extra_cmdline": {
"vid": "0x46f4",
"pid": "0x0001",
"sn": "1780PDN123456",
"mac1": "E2C45CC9EEEE"
},
"synoinfo": {},
"ramdisk_copy": {}
}
开始编译
这里以编译 dsm7.0-41890 Ds918+ 演示:
chmod -R 777 ./* && ./redpill_tool_chain.sh build apollolake-7.0-41890 && ./redpill_tool_chain.sh auto apollolake-7.0-41890
redpill-DS918+_7.0-41890_b1629558316.img
编译其它版本
遇到更新或者需要编译其它版本的时候,可以按下面方法操作,一键入魂。
🥩 编译 dsm7.0-41890 Ds918+
cd /root && rm -rf dsm && mkdir dsm && cd ./dsm &&wget -c https://raw.githubusercontent.com/hopolcn/redpill-tool-chain/master/redpill-tool-chain_x86_64_v0.5.4.zip && unzip redpill-tool-chain_x86_64_v0.5.4.zip && wget -c https://raw.githubusercontent.com/hopolcn/redpill-tool-chain/master/user_config.json && chmod -R 777 ./* && ./redpill_tool_chain.sh build apollolake-7.0-41890 && ./redpill_tool_chain.sh auto apollolake-7.0-41890
🥩 编译 dsm6.2.4-25556 Ds918+
cd /root && rm -rf dsm && mkdir dsm && cd ./dsm &&wget -c https://raw.githubusercontent.com/hopolcn/redpill-tool-chain/master/redpill-tool-chain_x86_64_v0.5.4.zip && unzip redpill-tool-chain_x86_64_v0.5.4.zip && wget -c https://raw.githubusercontent.com/hopolcn/redpill-tool-chain/master/user_config.json && chmod -R 777 ./* && ./redpill_tool_chain.sh build apollolake-6.2.4-25556 && ./redpill_tool_chain.sh auto apollolake-6.2.4-25556
🥩 编译 dsm7.0-41222 Ds3615xs
cd /root && rm -rf dsm && mkdir dsm && cd ./dsm &&wget -c https://raw.githubusercontent.com/hopolcn/redpill-tool-chain/master/redpill-tool-chain_x86_64_v0.5.4.zip && unzip redpill-tool-chain_x86_64_v0.5.4.zip && wget -c https://raw.githubusercontent.com/hopolcn/redpill-tool-chain/master/user_config.json && chmod -R 777 ./* && ./redpill_tool_chain.sh build bromolow-7.0-41222 && ./redpill_tool_chain.sh auto bromolow-7.0-41222
🥩 编译 dsm6.2.4-25556 Ds3615xs
cd /root && rm -rf dsm && mkdir dsm && cd ./dsm &&wget -c https://raw.githubusercontent.com/hopolcn/redpill-tool-chain/master/redpill-tool-chain_x86_64_v0.5.4.zip && unzip redpill-tool-chain_x86_64_v0.5.4.zip && wget -c https://raw.githubusercontent.com/hopolcn/redpill-tool-chain/master/user_config.json && chmod -R 777 ./* && ./redpill_tool_chain.sh build bromolow-6.2.4-25556 && ./redpill_tool_chain.sh auto bromolow-6.2.4-25556
编译之后会留下很多 docker 镜像,可以批量删除即可。
docker rmi --force `docker images | grep redpill | awk '{print $3}'`
Build Cache 的磁盘占用
docker builder prune
后篇
如果感觉上面也复杂可以试试Debian10下一键编译
-End-
houreds
make[1]: Entering directory ‘/opt/redpill-lkm’
Makefile:78: *** You need to specify one of the following targets: dev-v6, dev-v7, test-v6, test-v7, prod-v6, prod-v7, clean. Stop.
make[1]: Leaving directory ‘/opt/redpill-lkm’
make: *** [Makefile:23: build_redpill_lkm] Error 2
大侠,我每次编译都停在这是为啥!?debian和ubuntu都试过,都在这出错!
雨帆@houreds
因为 redpill-lkm 修改了 Makefile。可以使用 https://github.com/tossp/redpill-tool-chain