Skip to content

luchaoshuai/arpl-zh_CN

 
 

Repository files navigation

arpl-zh_CN

Automated Redpill Loader

本库为 arpl 同步汉化:
原版: https://github.com/fbelavenuto/arpl
汉化: https://github.com/wjz304/arpl-zh_CN
i18n: https://github.com/wjz304/arpl-i18n

说明:

  1. 本库的初衷为仅同步上游仓库进行汉化和CN处理. 并不想修改源库的代码.
    所以我修改的版本(++)并没有在本库进行合并并以 pre-release的方式发布, 主要是2点.
    a. 如果进行合并, 随着 fbelavenuto 的更新代码将变得难以合并.
    b. 我修改的版本为以 arpl.img 本地植入备份而来, 自动化处理并未完成.

  2. 根据 fbelavenuto 的发帖, 他由于个人原因可能近期不会更新. 但是我不想破坏本库的更新流程.
    所以原 plus plus(++) 版本将在 https://github.com/wjz304/arpl-i18n 进行更新,
    本库依然等待 fbelavenuto 的归来进行同步更新.
    a. 我已经提供了各个版本间切换的方法. 你们可以自由切换版本.

使用

  • 切换 arpl 任以版本:
    # 下载需要的版本
    curl -kL https://github.com/fbelavenuto/arpl/releases/download/v1.1-beta2a/arpl-1.1-beta2a.img.zip -o arpl.zip
    # 解压
    unzip arpl.zip
    # 挂载 img
    losetup /dev/loop0 arpl.img
    # 复制 p1 p3 分区
    mkdir -p /mnt/loop0p1; mount /dev/loop0p1 /mnt/loop0p1; cp -r /mnt/loop0p1/* /mnt/p1/; umount /mnt/loop0p1
    mkdir -p /mnt/loop0p3; mount /dev/loop0p3 /mnt/loop0p2; cp -r /mnt/loop0p3/* /mnt/p3/; umount /mnt/loop0p3
    # 卸载 img
    losetup -d /dev/loop0
    # 如果安装的版本中无你当前安装的DSM请删除 /mnt/p1/user-config.yml 和 /mnt/p3/*-dsm
    rm /mnt/p1/user-config.yml /mnt/p3/*-dsm
    # 重启
    reboot
  • arpl 备份:
    # 备份为 disk.img.gz, 自行导出.
    dd if=`blkid | grep 'LABEL="ARPL3"' | cut -d3 -f1` | gzip > disk.img.gz
    # 结合 transfer.sh 直接导出链接
    curl -skL --insecure -w '\n' --upload-file disk.img.gz https://transfer.sh
  • arpl 持久化 /opt/arpl 目录的修改:
    RDXZ_PATH=/tmp/rdxz_tmp
    mkdir -p "${RDXZ_PATH}"
    (cd "${RDXZ_PATH}"; xz -dc < "/mnt/p3/initrd-arpl" | cpio -idm) >/dev/null 2>&1 || true
    rm -rf "${RDXZ_PATH}/opt/arpl"
    cp -rf "/opt/arpl" "${RDXZ_PATH}/opt"
    (cd "${RDXZ_PATH}"; find . 2>/dev/null | cpio -o -H newc -R root:root | xz --check=crc32 > "/mnt/p3/initrd-arpl") || true
    rm -rf "${RDXZ_PATH}"
  • arpl 修改所有的pat下载源:
    sed -i 's/global.download.synology.com/cndl.synology.cn/g' /opt/arpl/menu.sh
    sed -i 's/global.download.synology.com/cndl.synology.cn/g' `find /opt/arpl/model-configs/ -type f -name '*.yml'`
  • arpl 更新慢的解决办法:
    sed -i 's|https://.*/https://|https://|g' /opt/arpl/menu.sh 
    sed -i 's|https://github.com|https://ghproxy.homeboyc.cn/&|g' /opt/arpl/menu.sh 
    sed -i 's|https://api.github.com|http:https://ghproxy.homeboyc.cn/&|g' /opt/arpl/menu.sh
  • arpl 去掉pat的hash校验:
    sed -i 's/HASH}" ]/& \&\& false/g' /opt/arpl/menu.sh
  • arpl 下获取网卡驱动:
    for i in `ls /sys/class/net | grep -v 'lo'`; do echo $i -- `ethtool -i $i | grep driver`; done
  • arpl 使用自定义的dts文件 (> v1.1-beta2a 版本):
    # 将dts文件放到/mnt/p1下,并重命名为model.dts. "/mnt/p1/model.dts"
    sed -i '/^.*\/addons\/disks.sh.*$/a [ -f "\/mnt\/p1\/model.dts" ] \&\& cp "\/mnt\/p1\/model.dts" "${RAMDISK_PATH}\/addons\/model.dts"' /opt/arpl/ramdisk-patch.sh
  • arpl 离线安装 (> ++-v1.3):
    1. arpl 下
    # arpl下获取型号版本的pat下载地址( 替换以下命令中的 版本号和型号部分)
    yq eval '.builds.42218.pat.url' "/opt/arpl/model-configs/DS3622xs+.yml"
    # 将pat重命名为<型号>-<版本>.pat, 放入 /mnt/p3/dl/ 下
    # 例: /mnt/p3/dl/DS3622xs+-42218.pat
    
    2. pc 下
    # 通过 DG等其他软件打开arpl.img, 将pat重命名为<型号>-<版本>.pat, 放入 第3个分区的 /dl/ 下.
  • arpl 增删驱动:
    # 1.首先你要有对应平台的驱动 比如 SA6400 7.1.1 增加 r8125
    #
    # 2.解包
    mkdir -p /mnt/p3/modules/epyc7002-5.10.55
    gzip -dc /mnt/p3/modules/epyc7002-5.10.55.tgz | tar xf - -C /mnt/p3/modules/epyc7002-5.10.55
    # 3.放入或删除驱动
    #
    # 4.打包
    tar -cf /mnt/p3/modules/epyc7002-5.10.55.tar -C /mnt/p3/modules/epyc7002-5.10.55 .
    gzip -c /mnt/p3/modules/epyc7002-5.10.55.tar > /mnt/p3/modules/epyc7002-5.10.55.tgz
    rm -rf /mnt/p3/modules/epyc7002-5.10.55.tar /mnt/p3/modules/epyc7002-5.10.55
  • dsm下重启到arpl(免键盘):
    sudo -i  # 输入密码
    echo 1 > /proc/sys/kernel/syno_install_flag
    [ -b "/dev/synoboot1" ] && (mkdir -p /tmp/synoboot1; mount /dev/synoboot1 /tmp/synoboot1)
    [ -f "/tmp/synoboot1/grub/grubenv" ] && grub-editenv /tmp/synoboot1/grub/grubenv set next_entry="config"
    reboot
  • dsm下修改sn (arpl):
    sudo -i  # 输入密码
    SN=VG845ZUP72CGW   # 输入你要设置的SN
    echo 1 > /proc/sys/kernel/syno_install_flag
    [ -b "/dev/synoboot1" ] && (mkdir -p /tmp/synoboot1; mount /dev/synoboot1 /tmp/synoboot1)
    [ -f "/tmp/synoboot1/user-config.yml" ] && OLD_SN=`grep '^sn:' /tmp/synoboot1/user-config.yml | sed -r 's/sn:(.*)/\1/; s/[\" ]//g'`
    [ -n "${OLD_SN}" ] && sed -i "s/${OLD_SN}/${SN}/g" /tmp/synoboot1/user-config.yml
    reboot

打赏一下

About

Automated Redpill Loader

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 88.3%
  • C 11.6%
  • Makefile 0.1%