10

Debian 编译黑群晖 DSM 7.x 引导

 2 years ago
source link: https://itquan.net/12440.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

之前有写过一篇 DSM 7.0.1 黑裙引导编译的教程。这边使用的是同样的工具,工具的作者在 Github 上开源了此工具,编译有点小小的变化。再次新开一篇编译教程,以后使用这个工具编译 DSM 7.x 的引导看着一篇就够了。

整个过程使用编译工具比较简单,下载工具 → 添加驱动 → 构建镜像 → 编译引导 → 下载引导;难点在于 访问 Github 的网络够不够稳定。网络连接 Github 不稳定是造成编译失败的最大问题。如果你在编译过程报错可以去 redpill-tool-chain 工具项目的 Issues 上查看对应的解决方法,建议使用全局代理已防止在编译过程中因为网络问题编译失败。

在添加自定义驱动的时候不建议添加过多的驱动,尽量不要加载无关驱动,否则会因为扩展驱动太大导致打包失败。

需要使用的工具:Linux 系统(Debian、Ubuntu)redpill-tool-chain 引导编译工具 Github下载

0x01 更新系统



  1. apt update # 更新系统;
  2. apt upgrade # 更新系统;
Debian 编译黑群晖 DSM 7.x 引导-iT圈

0x03 相关软件

更新完系统,从 Github 下载的工具压缩格式为 zip 装下解压软件;



  1. apt install -y unzip curl wget screen # 安装解压下载软件;

Debian 编译黑群晖 DSM 7.x 引导-iT圈

安装 docker 编译工具依赖 docker;



  1. apt install docker.io # 安装 docker;
  2. docker version # 查看 docker 版本;
  3. gpasswd -a $USER docker # 将当前用户添加到 docker 用户组;
  4. newgrp docker # 刷新 docker 用户组;
  5. apt install jq # 安装jq;
Debian 编译黑群晖 DSM 7.x 引导-iT圈
Debian 编译黑群晖 DSM 7.x 引导-iT圈

Debian 编译黑群晖 DSM 7.x 引导-iT圈

Debian 编译黑群晖 DSM 7.x 引导-iT圈

0x04 下载工具

打开 redpill-tool-chain Github的地址后,点击 Code → Download ZIP 右键复制链接地址;



  1. wget https://github.com/tossp/redpill-tool-chain/archive/refs/heads/master.zip # 下载编译工具;
  2. unzip master.zip # 解压工具;
  3. mv redpill-tool-chain-master dsm7 # 重命名一个短一段的名字,非必须;
  4. cd dsm7 # 进入到工具目录;
Debian 编译黑群晖 DSM 7.x 引导-iT圈
Debian 编译黑群晖 DSM 7.x 引导-iT圈
Debian 编译黑群晖 DSM 7.x 引导-iT圈

Debian 编译黑群晖 DSM 7.x 引导-iT圈

0x05 使用方法

进入到工具目录后先给工具设置执行权限,然后查看工具的使用方法;



  1. chmod +x redpill_tool_chain.sh # 工具脚本添加权限;
  2. ./redpill_tool_chain.sh # 查看工具的使用方法;

下面是要用到的命令说明,其他的自行去 Github 作者的项目说明去了解;



  1. ./redpill_tool_chain.sh sn ds918p # 生成指定引导的序列号;
  2. ./redpill_tool_chain.sh add <URL> # 添加扩展驱动;
  3. ./redpill_tool_chain.sh del <ID> # 删除扩展驱动;
  4. ./redpill_tool_chain.sh build <platform_version> # 构建工具链镜像;
  5. ./redpill_tool_chain.sh auto <platform_version> # 制作 redpill 引导镜像;

Debian 编译黑群晖 DSM 7.x 引导-iT圈

Debian 编译黑群晖 DSM 7.x 引导-iT圈

0x06 配置文件

在 redpill-tool-chain 工具目录,先复制一份配置以平台名字命名,然后修改配置文件的一些参数。复制 sample_user_config.json 为 ds918p_user_config.json 然后编辑 ds918p_user_config.json 配置文件。配置文件中 extensions 字段保持为空,sn 和 mac 可以自己修改,如果有洗白的 sn 和 mac 也可以再次修改。如果是 U 盘引导则需要修改配置文件中的 pid 和 vid;



  1. cp sample_user_config.json ds918p_user_config.json # 复制配置文件;
  2. vim ds918p_user_config.json # 编辑配置文件;

0x07 添加驱动

redpill-tool-chain 工具可以自定义驱动,可以支持更多的硬件。如果要集成驱动可以访问 rp-ext 这个项目,从这里找到你想要的驱动添加到 DSM 的引导中;

举例本文添加 e1000 和 e1000e 这两个驱动,先打开 rp-ext 项目地址。找到 e1000 点击文件夹进入 → 点击 rpext-index.json 的文件 → 看到一堆代码然后点击 Raw → 弹出 raw 开头的网址,这个网址就是驱动地址,然后使用命令加参数添加驱动;

Debian 编译黑群晖 DSM 7.x 引导-iT圈
Debian 编译黑群晖 DSM 7.x 引导-iT圈
Debian 编译黑群晖 DSM 7.x 引导-iT圈
Debian 编译黑群晖 DSM 7.x 引导-iT圈

使用命令添加 e1000、e1000e、vmxnet3 这三个网卡驱动,这三个驱动为 VMware vSphere ESXi 的虚拟网卡驱动,如果使用 VMware vSphere ESXi 平台引导黑群晖就需要有虚拟网卡的驱动支持;



  1. ./redpill_tool_chain.sh add https://raw.githubusercontent.com/pocopico/rp-ext/main/e1000/rpext-index.json # 添加e1000网卡驱动;
  2. ./redpill_tool_chain.sh add https://raw.githubusercontent.com/pocopico/rp-ext/main/e1000e/rpext-index.json # 添加e10002网卡驱动;
  3. ./redpill_tool_chain.sh add https://raw.githubusercontent.com/pocopico/rp-ext/main/vmxnet3/rpext-index.json # 添加vmxnet3网卡驱动;
Debian 编译黑群晖 DSM 7.x 引导-iT圈

0x08 构建镜像

添加完自定义驱动后就开始先构建镜像;使用 ./redpill_tool_chain.sh 查看工具支持哪些镜像,选择自己需要的构建就可以了;



  1. ./redpill_tool_chain.sh build ds918p-7.1.0-42661 # 构建镜像;
Debian 编译黑群晖 DSM 7.x 引导-iT圈

0x09 编译引导

上一步构建完镜像后就可以开始编译引导了,注意工具这里需要连接 Github 拉取一些文件。编译失败的大部分原因都是网络问题;如果你碰到可以翻翻 redpill-tool-chain 项目的 Issues 查看解决方法;整个编译过程如下截图,



  1. ./redpill_tool_chain.sh auto ds918p-7.1.0-42661 # 编译引导;
Debian 编译黑群晖 DSM 7.x 引导-iT圈

0x10 获取引导

如果在上一步的编译过程中顺利编译完成,在 redpill-tool-chain 的工具目录 images 目录下则会有黑群晖的引导镜像 img 文件;然后使用 sftp 工具将黑群晖的引导镜像下载到本地;



  1. cd images # 进入images目录;
  2. ls # 列出当前目录文件;

Debian 编译黑群晖 DSM 7.x 引导-iT圈

Debian 编译黑群晖 DSM 7.x 引导-iT圈

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK