感谢付出劳动的人 为了大家能在首页看见,我无耻了。 下载LIUNX虚拟机镜像 https://drive.google.com/file/d/19XwxRTDcJwMPlJ7gLQIr9argi_jeSTtE/view user id : toolc / pass word : P@ssw0rd 进入LINUX后 raw.githubusercontent.com域名被DNS污染,用以下方法解決: sudo vi /etc/hosts 185.199.108.133 raw.githubusercontent.com 安裝bsdiff sudo apt install bsdiff 下载redpill-load git clone https://github.com/RedwinX/redpill-load.git 总觉得pocopico版的config.json的有问题,所以下载了RedwinX版 创建未加密的 ds918p_42621.pat并移到cache目录里 cd redpil-load/buildpat sudo ./buildpat-918p-7.1-42621.sh mv ds918p_42621.pat ../cache 使用SHA256HashGenerator计算出ds918p_42621.pat哈希值并把哈希值更换/redpill-load/config/DS918+/7.1-42621里的sha256 sudo vi config.json "os": { "id": "ds918p_42621", "pat_url": "https://global.download.synology.com/download/DSM/release/7.1/42621/DSM_DS918+_42621.pat", "sha256": "e7fa975757d5faa6a275b68b130e7fd552263157a39bc71507ea6f2f466bb359" 下载redpill-4.4.180plus.tgz解压后的文件更名为redpill-linux-v4.4.180+.ko并复制到/redpil-load/ext/rp-lkm目录里 https://github.com/pocopico/rp-ext/blob/main/redpill/releases/redpill-4.4.180plus.tgz redpill-linux-v4.4.180+.ko Copy to /redpil-load/ext/rp-lkm 在redpil-load里创建user_config.json,根据自己情况更改pid.vid.sn.mac1.SataPortMap.DiskIdxMap. sudo vi user_config.json { "extra_cmdline": { "pid": "0x3333", "vid": "0x3333", "sn": "123456", "mac1": "123456", "SataPortMap": "2", "DiskIdxMap": "00" }, "synoinfo": { "internalportcfg" : "0xffff", "maxdisks" : "16", "support_bde_internal_10g" : "no", "support_disk_compatibility" : "no", "support_memory_compatibility" : "no" }, "ramdisk_copy": { } chmod +x build-loader.sh sudo ./build-loader.sh DS918+ 7.1-42621 因為你編譯失敗過, 所以在環境裡出現了沒用的多餘檔案~ 把 custom/extensions 裡的 redpill-boot-wait 刪了, 跟 build 裡的全刪了 在重新跑流程 另一個方式是~ 整個目錄全刪, 做一個新的在重跑即可 那些補上去的庫不用在執行~ 編譯環境有裝過一次即可, 除非系統刪了,不然是一直可以用的 我沒用它~ 它裡面的文字我看不懂~~ 我是用 virtualBox+xubuntu-20.04.4 環境,, 自己做的編譯環境還是比較好用,最少權限都在手上 然後補上 redpill-tool-chain-master 要用的庫, 再加上 redpill-load-master 要用的庫 這樣一個環境就能兩種引導都能編譯 我沒能用的空間~ 所以只能文字提供訊息 總算找到 到底加了哪幾個庫 我當初也是在壇裡 這篇 得知要加哪幾個才能編譯的~ 這樣應該就全部完整了... 基本是按照xpenlogy论坛的步骤编译的 安装Ubuntu 20.04 sudo apt-get update sudo apt install docker.io sudo apt install jq sudo apt install curl git clone https://github.com/tossp/redpill-tool-chain cd redpill-tool-chain chmod +x redpill_tool_chain.sh ./redpill_tool_chain.sh add https://github.com/jumkey/redpill-load/raw/develop/redpill-dtb/rpext-index.json cp sample_user_config.json geminilake_user_config.json 修改geminilake_user_config.json为你自己的vid pid sn mac ./redpill_tool_chain.sh build geminilake-7.0.1-42218 ./redpill_tool_chain.sh auto geminilake-7.0.1-42218 修改dtb sudo apt install device-tree-compiler dtc -I dtb -O dts -o output.dts model_ds920p.dtb 我没有用lspci,因为我的电脑出来的结果和实际的不大一样,我用的是jumkey的方法,比较傻瓜式 这时候引导是可以用的,刷到U盘启动,但是大概率web界面会提示找不到硬盘 浏览器输入<群晖ip>:5000/webman/start_telnet.cgi 开启telnet,然后telnet上去,用户名是root,没有密码 使用这个命令 cat /sys/block/sataX/device/syno_block_info (sataX的X就是1,2,3,4,5,6之类的,可以用ls /sys/block/sata*确定) 输出大概是 pciepath=00:17.0 ata_port_no=0 driver=ahci 再用 cat /sys/block/sataX/device/syno_disk_serial 确认硬盘的序列号,这个是为了和真机对比是哪个硬盘,如果对硬盘顺序无所谓,这步可以不用 (我有强迫症,群晖里面的1,2,3,4号和我硬盘笼上到下顺序一致) 然后就是修改dtb文件 dtc -I dts -O dtb -o model_ds920p.dtb output.dts sudo cp -vf model_ds920p.dtb custom/extensions/jumkey.dtb/ds920p_42218/model_ds920p.dtb ./redpill_tool_chain.sh auto geminilake-7.0.1-42218 但注意~ 目前那些大佬對於它們的引導正在做超高速度的修改與更新 有的可能會發生, 原本正常, 被更新後反而不能用, 因為它們在修BUG 跟附上新功能 祝各位好運~ 你的環境少了一些庫 執行這個 apt-get install bsdiff 理論上我能用, 你們一定都能用~ 我的技能很低的~~ 現在唯一問題是.... 電源按鍵關機無效~ 補不上去, 有人會嗎? 在7.1版使用 喔喔 你缺了~ 你可能要把 jq 那個庫也補上 我這邊編譯環境是從 這裡 來的, 它要編譯要補好幾個庫, 我已經忘了當初我補了多少個 原始po文来源 (20220406修正) 注意! 网路下载部份可能要自行处理, 因为有可能会因为某些原因下载不到或是失败 以下是安装方法。 网路上说会无法识别 Realtek NIC 和 HBA 卡。应该只能继续使用 Intel NIC 和内部/外部 SATA。 目前实测 rtl8111 可以正常识别并使用 Intel 网卡也OK 1. 将 pocopico Redfill-Load GitHub 下载到单独的 Linux。 这里有一个韩文的系统 看得懂或不介意的可以下载使用 https://drive.google.com/file/d/19XwxRTDcJwMPlJ7gLQIr9argi_jeSTtE/view user id : toolc / pass word : P@ssw0rd (或准备自己要用的 Linux 系统~ 例如 Ubuntu) 下载 https://github.com/pocopico/redpill-load 解压 redpill-load-master.zip 到目录 2. 编译环境准备,以下这六项只需要执行一次, 会安装到系统里,日后除非整个系统重做, 不然都不需再执行 sudo apt-get update sudo apt install docker.io sudo apt install jq sudo apt install curl sudo apt install device-tree-compiler sudo apt-get install bsdiff 3. 为DS918+准备user_config.json (内容自己改写为符合参数,这部分请自由发挥,去复制别人的也行) 4. 调整 buildpat-918p-7.1-42621.sh 权限, cd redpil-load/buildpat chmod +x buildpat-918p-7.1-42621.sh ./buildpat-918p-7.1-42621.sh 以重新创建未加密的 ds918p_42621.pat。 5. 将重新生成的 ds918p_42621.pat 文件移动到cache文件夹中。 sha256sum ds918p_42621.pat (产生 ds918p_42621.pat 的 sha256sum数值, 那个数值就是要代换的值, 复制下来备用) mv ds918p_42621.pat ../cache cd .. 6. 修改 config.json 档里的 SHA256 值校准 (在 /redpill-load/config/DS918+/7.1-42621) vi config.json 在下列字串 修改sha256数值 "id": "ds918p_42621", "pat_url": "https://global.download.synology.com/download/DSM/release/7.1/42621/DSM_DS918+_42621.pat", "sha256": "e7fa975757d5faa6a275b68b130e7fd552263157a39bc71507ea6f2f466bb359" <--(用步骤5的数值代换掉原先的这串) }, 7. 加入 redfill-linux-v4.4.180+。 在以下路径下载文件后,将解压后的redpill.ko重命名为 redpill-linux-v4.4.180+.ko https://github.com/pocopico/rp-ext/blob/main/redpill/releases/redpill-4.4.180plus.tgz 复制到 /redpil-load/ext/rp-lkm 目录 8. 编译 DS918 开机引导 chmod +x build-loader.sh ./build-loader.sh DS918+ 7.1-42621 9. 检查构建的镜像,复制本地PC,并记录USB。 *.img 结果存在于 /redpil-load/images 目录中 以上! 祝各位好运!!