From fc92829f9914dcd5d7ae7dcfc8557338f76ecff6 Mon Sep 17 00:00:00 2001 From: Ing Date: Wed, 12 Apr 2023 14:18:36 +0800 Subject: [PATCH] update pack --- .github/workflows/main.yml | 241 +++++++---- README.md | 44 +++ files/board/arpl/overlayfs/opt/arpl/boot.sh | 12 +- files/board/arpl/overlayfs/opt/arpl/init.sh | 2 +- .../arpl/overlayfs/opt/arpl/lang/arpl.pot | 372 ++++++++--------- .../arpl/overlayfs/opt/arpl/lang/zh_CN.mo | Bin 12267 -> 12866 bytes .../arpl/overlayfs/opt/arpl/lang/zh_CN.po | 374 +++++++++--------- files/board/arpl/overlayfs/opt/arpl/menu.sh | 12 + update-list.yml | 1 + 9 files changed, 627 insertions(+), 431 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 346924c3..07b321e0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -7,12 +7,27 @@ on: tags: - v* workflow_dispatch: - + inputs: + version: + description: 'format %y.%-m.$i or auto' + required: false + type: string jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - name: Checkout + uses: actions/checkout@main + + # Install dependencies + - name: Install dependencies + run: | + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git config --global user.name "github-actions[bot]" + + sudo apt-get update + sudo apt-get install -y jq gettext libelf-dev qemu-utils + sudo cp -f files/board/arpl/overlayfs/usr/bin/yq /usr/bin/yq # Check dl cache - name: Cache downloads @@ -30,45 +45,6 @@ jobs: path: .buildroot key: ${{ runner.os }}-${{ hashFiles('files/configs/arpl_defconfig') }} - # Install dependencies - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y libelf-dev qemu-utils - sudo cp -f files/board/arpl/overlayfs/usr/bin/yq /usr/bin/yq - - # Get latests LKM, addons and modules - - name: Get latests LKM, addons and Modules - run: | - # Get latest LKMs - echo "Getting latest LKMs" - TAG=`curl -s https://api.github.com/repos/fbelavenuto/redpill-lkm/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'` - STATUS=`curl -w "%{http_code}" -L "https://github.com/fbelavenuto/redpill-lkm/releases/download/${TAG}/rp-lkms.zip" -o /tmp/rp-lkms.zip` - echo "Status=${STATUS}" - [ ${STATUS} -ne 200 ] && exit 1 - - # Get latest addons and install its - echo "Getting latest Addons" - TAG=`curl -s https://api.github.com/repos/fbelavenuto/arpl-addons/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'` - STATUS=`curl -w "%{http_code}" -L "https://github.com/fbelavenuto/arpl-addons/releases/download/${TAG}/addons.zip" -o /tmp/addons.zip` - echo "Status=${STATUS}" - [ ${STATUS} -ne 200 ] && exit 1 - - # Get latest modules - echo "Getting latest modules" - MODULES_DIR="files/board/arpl/p3/modules" - TAG=`curl -s https://api.github.com/repos/fbelavenuto/arpl-modules/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'` - while read PLATFORM KVER; do - FILE="${PLATFORM}-${KVER}" - STATUS=`curl -w "%{http_code}" -L "https://github.com/fbelavenuto/arpl-modules/releases/download/${TAG}/${FILE}.tgz" -o "${MODULES_DIR}/${FILE}.tgz"` - echo "Status=${STATUS}" - [ ${STATUS} -ne 200 ] && exit 1 - done < PLATFORMS - STATUS=`curl -w "%{http_code}" -L "https://github.com/fbelavenuto/arpl-modules/releases/download/${TAG}/firmware.tgz" -o "${MODULES_DIR}/firmware.tgz"` - echo "Status=${STATUS}" - [ ${STATUS} -ne 200 ] && exit 1 - echo OK - # Clone buildroot repository (if not cached) - name: Clone buildroot if: steps.br-cache.outputs.cache-hit != 'true' @@ -96,53 +72,180 @@ jobs: cd .buildroot make BR2_EXTERNAL=../external - # Build incremental from caches - - name: Build image - id: build + # calculates the version number and push + - name: Calculate version run: | - VERSION=`> $GITHUB_OUTPUT - # Remove old files - rm -rf .buildroot/output/target/opt/arpl - rm -rf .buildroot/board/arpl/overlayfs - rm -rf .buildroot/board/arpl/p1 - rm -rf .buildroot/board/arpl/p3 + # Calculate version + VERSION="" + if [ ${{ github.event_name }} == 'push' -a ${{ github.ref_type }} == 'tag' ]; then + VERSION="${{ github.ref_name }}" + elif [ -n "${{ inputs.version }}" ]; then + if [ "`echo ${{ inputs.version }} | cut -d '.' -f 1,2`" = "`date +'%y.%-m'`" ]; then + VERSION="${{ inputs.version }}" + else + LATEST_TAG="`curl -skL "https://api.github.com/repos/${{ github.repository }}/releases/latest" | jq -r ".[0].tag_name" 2>/dev/null`" + if [ -n "${LATEST_TAG}" -a "`echo ${LATEST_TAG} | cut -d '.' -f 1,2`" = "`date +'%y.%-m'`" ]; then # format %y.%-m.$i + VERSION="`echo ${LATEST_TAG} | awk -F '.' '{$3=$3+1}1' OFS='.'`" + else + VERSION="`date +'%y.%-m'`.0" + fi + fi + else + VERSION="" + fi + + echo "VERSION: ${VERSION}" + echo "VERSION=${VERSION}" >> $GITHUB_ENV + + if [ -n "${VERSION}" ]; then + # Modify Source File + echo "${VERSION}" > VERSION + echo "${VERSION}" > files/board/arpl/p1/ARPL-VERSION + sed 's/^ARPL_VERSION=.*/ARPL_VERSION="'${VERSION}'"/' -i files/board/arpl/overlayfs/opt/arpl/include/consts.sh + + git pull + status=$(git status -s | awk '{printf " %s", $2}') + if [ -n "${status}" ]; then + git add ${status} + git commit -m "update $(date +%Y-%m-%d" "%H:%M:%S)" + git push -f + fi + fi + + # Convert po2mo, Get extractor, LKM, addons and Modules + - name: Convert po2mo, Get extractor, LKM, addons and Modules + run: | + # Convert po2mo + echo "Convert po2mo" + if [ -d files/board/arpl/overlayfs/opt/arpl/lang ]; then + for P in "`ls files/board/arpl/overlayfs/opt/arpl/lang/*.po`" + do + # Use msgfmt command to compile the .po file into a binary .mo file + msgfmt ${P} -o ${P/.po/.mo} + done + fi + + + # Get extractor + echo "Getting syno extractor" + TOOL_PATH="files/board/arpl/p3/extractor" + CACHE_DIR="/tmp/pat" + + rm -rf "${TOOL_PATH}" + mkdir -p "${TOOL_PATH}" + rm -rf "${CACHE_DIR}" + mkdir -p "${CACHE_DIR}" + + OLDPAT_URL="https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3622xs%2B_42218.pat" + OLDPAT_FILE="DSM_DS3622xs+_42218.pat" + STATUS=`curl -# -w "%{http_code}" -L "${OLDPAT_URL}" -o "${CACHE_DIR}/${OLDPAT_FILE}"` + if [ $? -ne 0 -o ${STATUS} -ne 200 ]; then + echo "[E] DSM_DS3622xs%2B_42218.pat download error!" + rm -rf ${CACHE_DIR} + exit 1 + fi + + mkdir -p "${CACHE_DIR}/ramdisk" + tar -C "${CACHE_DIR}/ramdisk/" -xf "${CACHE_DIR}/${OLDPAT_FILE}" rd.gz 2>&1 + if [ $? -ne 0 ]; then + echo "[E] extractor rd.gz error!" + rm -rf ${CACHE_DIR} + exit 1 + fi + (cd "${CACHE_DIR}/ramdisk"; xz -dc < rd.gz | cpio -idm) >/dev/null 2>&1 || true + + # Copy only necessary files + for f in libcurl.so.4 libmbedcrypto.so.5 libmbedtls.so.13 libmbedx509.so.1 libmsgpackc.so.2 libsodium.so libsynocodesign-ng-virtual-junior-wins.so.7; do + cp "${CACHE_DIR}/ramdisk/usr/lib/${f}" "${TOOL_PATH}" + done + cp "${CACHE_DIR}/ramdisk/usr/syno/bin/scemd" "${TOOL_PATH}/syno_extract_system_patch" + rm -rf ${CACHE_DIR} + + + # Get latest LKMs + echo "Getting latest LKMs" + TAG=`curl -s https://api.github.com/repos/fbelavenuto/redpill-lkm/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'` + STATUS=`curl -w "%{http_code}" -L "https://github.com/fbelavenuto/redpill-lkm/releases/download/${TAG}/rp-lkms.zip" -o /tmp/rp-lkms.zip` + echo "Status=${STATUS}" + [ ${STATUS} -ne 200 ] && exit 1 # Unzip LKMs - rm -rf files/board/arpl/p3/lkms/* + rm -rf files/board/arpl/p3/lkms + mkdir -p files/board/arpl/p3/lkms unzip /tmp/rp-lkms.zip -d files/board/arpl/p3/lkms + + # Get latest addons and install its + echo "Getting latest Addons" + TAG=`curl -s https://api.github.com/repos/fbelavenuto/arpl-addons/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'` + STATUS=`curl -w "%{http_code}" -L "https://github.com/fbelavenuto/arpl-addons/releases/download/${TAG}/addons.zip" -o /tmp/addons.zip` + echo "Status=${STATUS}" + [ ${STATUS} -ne 200 ] && exit 1 # Install Addons mkdir -p /tmp/addons unzip /tmp/addons.zip -d /tmp/addons DEST_PATH="files/board/arpl/p3/addons" echo "Installing addons to ${DEST_PATH}" for PKG in `ls /tmp/addons/*.addon`; do - ADDON=`basename ${PKG} | sed 's|.addon||'` + ADDON=`basename "${PKG}" .addon` mkdir -p "${DEST_PATH}/${ADDON}" echo "Extracting ${PKG} to ${DEST_PATH}/${ADDON}" tar xaf "${PKG}" -C "${DEST_PATH}/${ADDON}" done + + + # Get latest modules + echo "Getting latest modules" + MODULES_DIR="files/board/arpl/p3/modules" + TAG=`curl -s https://api.github.com/repos/fbelavenuto/arpl-modules/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'` + while read PLATFORM KVER; do + FILE="${PLATFORM}-${KVER}" + STATUS=`curl -w "%{http_code}" -L "https://github.com/fbelavenuto/arpl-modules/releases/download/${TAG}/${FILE}.tgz" -o "${MODULES_DIR}/${FILE}.tgz"` + echo "Status=${STATUS}" + [ ${STATUS} -ne 200 ] && exit 1 + done < PLATFORMS + STATUS=`curl -w "%{http_code}" -L "https://github.com/fbelavenuto/arpl-modules/releases/download/${TAG}/firmware.tgz" -o "${MODULES_DIR}/firmware.tgz"` + echo "Status=${STATUS}" + [ ${STATUS} -ne 200 ] && exit 1 + echo OK + + # Build incremental from caches + - name: Build image + run: | + # Remove old files + rm -rf .buildroot/output/target/opt/arpl + rm -rf .buildroot/board/arpl/overlayfs + rm -rf .buildroot/board/arpl/p1 + rm -rf .buildroot/board/arpl/p3 + # Copy files echo "Copying files" - sed 's/^ARPL_VERSION=.*/ARPL_VERSION="'${VERSION}'"/' -i files/board/arpl/overlayfs/opt/arpl/include/consts.sh - echo "${VERSION}" > files/board/arpl/p1/ARPL-VERSION cp -Ru files/* .buildroot/ + cd .buildroot echo "Generating default config" make BR2_EXTERNAL=../external arpl_defconfig - echo "Version: ${VERSION}" echo "Building..." make BR2_EXTERNAL=../external cd - qemu-img convert -O vmdk arpl.img arpl-dyn.vmdk qemu-img convert -O vmdk -o adapter_type=lsilogic arpl.img -o subformat=monolithicFlat arpl.vmdk + # Upload artifact + - name: Upload + uses: actions/upload-artifact@v3 + with: + name: Images + path: | + arpl.img + arpl*.vmdk + retention-days: 5 + # Zip image and generate checksum - name: Pack - shell: bash + if: env.VERSION != '' run: | - zip -9 "arpl-i18n-${{ steps.build.outputs.VERSION }}.img.zip" arpl.img - zip -9 "arpl-i18n-${{ steps.build.outputs.VERSION }}.vmdk-dyn.zip" arpl-dyn.vmdk - zip -9 "arpl-i18n-${{ steps.build.outputs.VERSION }}.vmdk-flat.zip" arpl.vmdk arpl-flat.vmdk + zip -9 "arpl-i18n-${{ env.VERSION }}.img.zip" arpl.img + zip -9 "arpl-i18n-${{ env.VERSION }}.vmdk-dyn.zip" arpl-dyn.vmdk + zip -9 "arpl-i18n-${{ env.VERSION }}.vmdk-flat.zip" arpl.vmdk arpl-flat.vmdk sha256sum update-list.yml > sha256sum zip -9j update.zip update-list.yml while read F; do @@ -158,23 +261,15 @@ jobs: fi done < <(yq '.replace | explode(.) | to_entries | map([.key])[] | .[]' update-list.yml) zip -9j update.zip sha256sum - # Upload artifact - - name: Upload - uses: actions/upload-artifact@v3 - with: - name: Images - path: | - arpl.img - arpl*.vmdk - retention-days: 5 # Publish a release if is a tag - name: Release uses: softprops/action-gh-release@v1 - if: startsWith(github.ref, 'refs/tags/') + if: env.VERSION != '' with: + tag_name: ${{ env.VERSION }} files: | - arpl-i18n-${{ steps.build.outputs.VERSION }}.img.zip - arpl-i18n-${{ steps.build.outputs.VERSION }}.vmdk-dyn.zip - arpl-i18n-${{ steps.build.outputs.VERSION }}.vmdk-flat.zip + arpl-i18n-${{ env.VERSION }}.img.zip + arpl-i18n-${{ env.VERSION }}.vmdk-dyn.zip + arpl-i18n-${{ env.VERSION }}.vmdk-flat.zip update.zip diff --git a/README.md b/README.md index d4ec0221..05fa8849 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,50 @@ * 包含我的修改. +## 说明 +* ### [命令输入方法演示](https://www.bilibili.com/video/BV1T84y1P7Kq) https://www.bilibili.com/video/BV1T84y1P7Kq +* arpl各版本间切换(菜单更新, 增量): + ```shell + # shell 下输入以下命令修改更新 repo. + # 如果要切换原版修改第二条命令中的 wjz304/arpl-i18n 为 fbelavenuto/arpl + # 如果切换中文版修改第二条命令中的 wjz304/arpl-i18n 为 wjz304/arpl-zh_CN + CURREPO=`grep "github.com.*update" menu.sh | sed -r 's/.*com\/(.*)\/releases.*/\1/'` + sed -i "s|${CURREPO}|wjz304/arpl-i18n|g; s|ACTUALVERSION=\"v\${ARPL_VERSION}\"|ACTUALVERSION=\"v0.0\"|g" /opt/arpl/menu.sh + # 进入设置菜单执行更新arpl操作即可. + # 更新后请重启. + ``` +* arpl各版本间切换(手动方式, 全量): + ```shell + # shell 下下载需要的版本或者手动上传到/opt/arpl/下 + curl -kL https://github.com/fbelavenuto/arpl/releases/download/v1.1-beta2a/arpl-1.1-beta2a.img.zip -o /opt/arpl/arpl.zip + # 解压 + unzip /opt/arpl/arpl.zip + # 挂载 img + losetup /dev/loop0 /opt/arpl/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, /mnt/p2/* + rm -rf /mnt/p1/user-config.yml /mnt/p3/*-dsm /mnt/p2/* + # 重启 + reboot + ``` + + +## 翻译 +```shell +sudo apt install gettext +git clone https://github.com/wjz304/arpl-i18n.git +cd arpl-i18n/files/board/arpl/overlayfs/opt/arpl +xgettext -L Shell --keyword=TEXT *.sh -o lang/arpl.pot +sed -i 's/charset=CHARSET/charset=UTF-8/' lang/arpl.pot # The above process has been completed. +msginit -i lang/arpl.pot -l zh_CN.UTF-8 -o lang/zh_CN.po # Replace the language you need. +# translate the lang/zh_CN.po. +msgfmt lang/zh_CN.po -o lang/zh_CN.mo # This process will be automatically processed during packaging. +``` + ## 打赏一下 diff --git a/files/board/arpl/overlayfs/opt/arpl/boot.sh b/files/board/arpl/overlayfs/opt/arpl/boot.sh index a77b96a4..dea5d0f1 100755 --- a/files/board/arpl/overlayfs/opt/arpl/boot.sh +++ b/files/board/arpl/overlayfs/opt/arpl/boot.sh @@ -33,7 +33,7 @@ fi # Check if DSM ramdisk changed, patch it if necessary RAMDISK_HASH="`readConfigKey "ramdisk-hash" "${USER_CONFIG_FILE}"`" if [ "`sha256sum "${ORI_RDGZ_FILE}" | awk '{print$1}'`" != "${RAMDISK_HASH}" ]; then - echo -e "\033[1;43mDSM Ramdisk changed\033[0m" + echo -e "\033[1;43m$(TEXT "DSM Ramdisk changed")\033[0m" /opt/arpl/ramdisk-patch.sh if [ $? -ne 0 ]; then dialog --backtitle "`backtitle`" --title "$(TEXT "Error")" \ @@ -74,8 +74,8 @@ done < <(readConfigMap "cmdline" "${USER_CONFIG_FILE}") # Check if machine has EFI [ -d /sys/firmware/efi ] && EFI=1 || EFI=0 -# Read EFI bug value -[ "${MODEL}" = "DS3615" ] && EFI_BUG=1 || EFI_BUG=0 +# +KVER=`readModelKey "${MODEL}" "builds.${BUILD}.kver"` LOADER_DISK="`blkid | grep 'LABEL="ARPL3"' | cut -d3 -f1`" BUS=`udevadm info --query property --name ${LOADER_DISK} | grep ID_BUS | cut -d= -f2` @@ -144,12 +144,16 @@ fi echo -e "\033[1;37m$(TEXT "Loading DSM kernel...")\033[0m" # Executes DSM kernel via KEXEC -if [ "${EFI_BUG}" = "yes" -a ${EFI} -eq 1 ]; then +if [ "${KVER:0:1}" = "3" -a ${EFI} -eq 1 ]; then echo -e "\033[1;33m$(TEXT "Warning, running kexec with --noefi param, strange things will happen!!")\033[0m" kexec --noefi -l "${MOD_ZIMAGE_FILE}" --initrd "${MOD_RDGZ_FILE}" --command-line="${CMDLINE_LINE}" >"${LOG_FILE}" 2>&1 || dieLog else kexec -l "${MOD_ZIMAGE_FILE}" --initrd "${MOD_RDGZ_FILE}" --command-line="${CMDLINE_LINE}" >"${LOG_FILE}" 2>&1 || dieLog fi echo -e "\033[1;37m$(TEXT "Booting...")\033[0m" +for T in `w | grep -v "TTY"| awk -F' ' '{printf " "$2}'` +do + echo -e "\n\033[1;43m$(TEXT "[This interface will not be operational. Please use the http://find.synology.com/ find DSM and connect.]")\033[0m\n" > "/dev/${T}" 2>/dev/null +done poweroff exit 0 diff --git a/files/board/arpl/overlayfs/opt/arpl/init.sh b/files/board/arpl/overlayfs/opt/arpl/init.sh index 9d16f95c..147f0fff 100755 --- a/files/board/arpl/overlayfs/opt/arpl/init.sh +++ b/files/board/arpl/overlayfs/opt/arpl/init.sh @@ -98,7 +98,7 @@ fi writeConfigKey "original-mac" "${MACF}" "${USER_CONFIG_FILE}" # Set custom MAC if defined -MAC1=`readConfigKey "cmdline.mac1" "${USER_CONFIG_FILE}"` +MAC1="`readConfigKey "cmdline.mac1" "${USER_CONFIG_FILE}"`" if [ -n "${MAC1}" -a "${MAC1}" != "${MACF}" ]; then MAC="${MAC1:0:2}:${MAC1:2:2}:${MAC1:4:2}:${MAC1:6:2}:${MAC1:8:2}:${MAC1:10:2}" echo "`printf "$(TEXT "Setting MAC to %s")" "${MAC}"`" diff --git a/files/board/arpl/overlayfs/opt/arpl/lang/arpl.pot b/files/board/arpl/overlayfs/opt/arpl/lang/arpl.pot index 75ee3afe..d9e483a5 100644 --- a/files/board/arpl/overlayfs/opt/arpl/lang/arpl.pot +++ b/files/board/arpl/overlayfs/opt/arpl/lang/arpl.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-10 21:25+0800\n" +"POT-Creation-Date: 2023-04-12 12:13+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,11 +17,11 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: boot.sh:8 init.sh:156 +#: boot.sh:8 init.sh:159 msgid "Loader is not configured!" msgstr "" -#: boot.sh:13 init.sh:26 +#: boot.sh:13 init.sh:43 msgid "Welcome to %s" msgstr "" @@ -33,16 +33,20 @@ msgstr "" msgid "DSM zImage changed" msgstr "" -#: boot.sh:27 boot.sh:39 menu.sh:541 menu.sh:567 menu.sh:636 menu.sh:647 -#: menu.sh:676 menu.sh:686 menu.sh:693 +#: boot.sh:27 boot.sh:39 menu.sh:552 menu.sh:578 menu.sh:647 menu.sh:658 +#: menu.sh:687 menu.sh:697 menu.sh:704 msgid "Error" msgstr "" -#: boot.sh:28 menu.sh:687 +#: boot.sh:28 menu.sh:698 msgid "zImage not patched:\\n" msgstr "" -#: boot.sh:40 menu.sh:694 +#: boot.sh:36 +msgid "DSM Ramdisk changed" +msgstr "" + +#: boot.sh:40 menu.sh:705 msgid "Ramdisk not patched:\\n" msgstr "" @@ -82,675 +86,691 @@ msgstr "" msgid "Booting..." msgstr "" +#: boot.sh:156 +msgid "" +"[This interface will not be operational. Please use the http://find.synology." +"com/ find DSM and connect.]" +msgstr "" + #: init.sh:17 init.sh:21 msgid "Loader disk not found!" msgstr "" -#: init.sh:42 init.sh:43 init.sh:44 +#: init.sh:34 init.sh:35 init.sh:36 msgid "Can't mount %s" msgstr "" -#: init.sh:101 +#: init.sh:104 msgid "Setting MAC to %s" msgstr "" -#: init.sh:114 +#: init.sh:117 msgid "Loader disk neither USB or DoM" msgstr "" -#: init.sh:122 +#: init.sh:125 msgid "Loader disk:" msgstr "" -#: init.sh:135 +#: init.sh:138 msgid "Resizing %s" msgstr "" -#: init.sh:146 +#: init.sh:149 msgid "Loading keymap" msgstr "" -#: init.sh:159 +#: init.sh:162 msgid "User requested edit settings." msgstr "" -#: init.sh:170 +#: init.sh:173 msgid "Waiting IP." msgstr "" -#: init.sh:173 +#: init.sh:176 msgid "ERROR" msgstr "" -#: init.sh:179 +#: init.sh:182 msgid "" "OK\\nAccess \\033[1;34mhttp://%s:7681\\033[0m to configure the loader via " "web terminal" msgstr "" -#: init.sh:188 +#: init.sh:191 msgid "Call \\033[1;32mmenu.sh\\033[0m to configure loader" msgstr "" -#: init.sh:190 +#: init.sh:193 msgid "User config is on" msgstr "" -#: init.sh:191 +#: init.sh:194 msgid "Default SSH Root password is" msgstr "" -#: init.sh:197 +#: init.sh:200 msgid "" "You have less than 4GB of RAM, if errors occur in loader creation, please " "increase the amount of memory." msgstr "" -#: menu.sh:67 +#: menu.sh:72 msgid "Model" msgstr "" -#: menu.sh:68 +#: menu.sh:73 msgid "Reading models" msgstr "" -#: menu.sh:93 +#: menu.sh:98 msgid "Disable flags restriction" msgstr "" -#: menu.sh:94 +#: menu.sh:99 msgid "Show beta models" msgstr "" -#: menu.sh:95 +#: menu.sh:100 msgid "Choose the model" msgstr "" -#: menu.sh:133 +#: menu.sh:138 msgid "Choose a build number" msgstr "" -#: menu.sh:142 +#: menu.sh:149 menu.sh:153 msgid "Build Number" msgstr "" -#: menu.sh:143 +#: menu.sh:150 +msgid "" +"This version does not support UEFI startup, Please select another version or " +"switch the startup mode." +msgstr "" + +#: menu.sh:154 msgid "Reconfiguring Synoinfo, Addons and Modules" msgstr "" -#: menu.sh:176 menu.sh:225 menu.sh:344 menu.sh:443 menu.sh:833 menu.sh:978 +#: menu.sh:187 menu.sh:236 menu.sh:355 menu.sh:454 menu.sh:845 menu.sh:990 msgid "Choose a option" msgstr "" -#: menu.sh:177 +#: menu.sh:188 msgid "Generate a random serial number" msgstr "" -#: menu.sh:178 +#: menu.sh:189 msgid "Enter a serial number" msgstr "" -#: menu.sh:186 +#: menu.sh:197 msgid "Please enter a serial number " msgstr "" -#: menu.sh:195 menu.sh:926 +#: menu.sh:206 menu.sh:938 msgid "Alert" msgstr "" -#: menu.sh:196 +#: menu.sh:207 msgid "Invalid serial, continue?" msgstr "" -#: menu.sh:226 +#: menu.sh:237 msgid "Add an addon" msgstr "" -#: menu.sh:227 +#: menu.sh:238 msgid "Delete addon(s)" msgstr "" -#: menu.sh:228 +#: menu.sh:239 msgid "Show user addons" msgstr "" -#: menu.sh:229 +#: menu.sh:240 msgid "Show all available addons" msgstr "" -#: menu.sh:230 +#: menu.sh:241 msgid "Download a external addon" msgstr "" -#: menu.sh:231 menu.sh:341 menu.sh:439 menu.sh:723 menu.sh:838 menu.sh:983 -#: menu.sh:1195 +#: menu.sh:242 menu.sh:352 menu.sh:450 menu.sh:735 menu.sh:850 menu.sh:995 +#: menu.sh:1207 msgid "Exit" msgstr "" -#: menu.sh:242 +#: menu.sh:253 msgid "No available addons to add" msgstr "" -#: menu.sh:246 +#: menu.sh:257 msgid "Select an addon" msgstr "" -#: menu.sh:251 +#: menu.sh:262 msgid "Params" msgstr "" -#: menu.sh:252 +#: menu.sh:263 msgid "Type a opcional params to addon" msgstr "" -#: menu.sh:261 +#: menu.sh:272 msgid "No user addons to remove" msgstr "" -#: menu.sh:269 +#: menu.sh:280 msgid "Select addon to remove" msgstr "" -#: menu.sh:285 +#: menu.sh:296 msgid "User addons" msgstr "" -#: menu.sh:298 +#: menu.sh:309 msgid "Available addons" msgstr "" -#: menu.sh:302 +#: menu.sh:313 msgid "please enter the complete URL to download.\\n" msgstr "" -#: menu.sh:308 menu.sh:523 +#: menu.sh:319 menu.sh:534 msgid "Downloading %s" msgstr "" -#: menu.sh:311 menu.sh:533 menu.sh:596 +#: menu.sh:322 menu.sh:544 menu.sh:607 msgid "Error downloading" msgstr "" -#: menu.sh:312 +#: menu.sh:323 msgid "Check internet, URL or cache disk space" msgstr "" -#: menu.sh:317 +#: menu.sh:328 msgid "Success" msgstr "" -#: menu.sh:318 +#: menu.sh:329 msgid "Addon '%s' added to loader" msgstr "" -#: menu.sh:320 +#: menu.sh:331 msgid "Invalid addon" msgstr "" -#: menu.sh:321 +#: menu.sh:332 msgid "File format not recognized!" msgstr "" -#: menu.sh:336 +#: menu.sh:347 msgid "Add/edit a cmdline item" msgstr "" -#: menu.sh:337 +#: menu.sh:348 msgid "Delete cmdline item(s)" msgstr "" -#: menu.sh:338 +#: menu.sh:349 msgid "Define a custom MAC" msgstr "" -#: menu.sh:339 +#: menu.sh:350 msgid "Show user cmdline" msgstr "" -#: menu.sh:340 +#: menu.sh:351 msgid "Show model/build cmdline" msgstr "" -#: menu.sh:349 menu.sh:355 menu.sh:385 menu.sh:393 menu.sh:401 menu.sh:403 -#: menu.sh:411 +#: menu.sh:360 menu.sh:366 menu.sh:396 menu.sh:404 menu.sh:412 menu.sh:414 +#: menu.sh:422 msgid "User cmdline" msgstr "" -#: menu.sh:350 +#: menu.sh:361 msgid "Type a name of cmdline" msgstr "" -#: menu.sh:356 +#: menu.sh:367 msgid "Type a value of '%s' cmdline" msgstr "" -#: menu.sh:365 +#: menu.sh:376 msgid "No user cmdline to remove" msgstr "" -#: menu.sh:373 +#: menu.sh:384 msgid "Select cmdline to remove" msgstr "" -#: menu.sh:386 +#: menu.sh:397 msgid "Type a custom MAC address" msgstr "" -#: menu.sh:393 +#: menu.sh:404 msgid "Invalid MAC" msgstr "" -#: menu.sh:401 +#: menu.sh:412 msgid "Changing MAC" msgstr "" -#: menu.sh:403 +#: menu.sh:414 msgid "Renewing IP" msgstr "" -#: menu.sh:419 +#: menu.sh:430 msgid "Model/build cmdline" msgstr "" -#: menu.sh:436 +#: menu.sh:447 msgid "Add/edit a synoinfo item" msgstr "" -#: menu.sh:437 +#: menu.sh:448 msgid "Delete synoinfo item(s)" msgstr "" -#: menu.sh:438 +#: menu.sh:449 msgid "Show synoinfo entries" msgstr "" -#: menu.sh:448 menu.sh:454 menu.sh:489 +#: menu.sh:459 menu.sh:465 menu.sh:500 msgid "Synoinfo entries" msgstr "" -#: menu.sh:449 +#: menu.sh:460 msgid "Type a name of synoinfo entry" msgstr "" -#: menu.sh:455 +#: menu.sh:466 msgid "Type a value of '%s' synoinfo entry" msgstr "" -#: menu.sh:465 +#: menu.sh:476 msgid "No synoinfo entries to remove" msgstr "" -#: menu.sh:473 +#: menu.sh:484 msgid "Select synoinfo entry to remove" msgstr "" -#: menu.sh:514 +#: menu.sh:525 msgid "%s cached." msgstr "" -#: menu.sh:518 +#: menu.sh:529 msgid "Cleaning cache" msgstr "" -#: menu.sh:534 menu.sh:597 +#: menu.sh:545 menu.sh:608 msgid "Check internet or cache disk space" msgstr "" -#: menu.sh:539 +#: menu.sh:550 msgid "Checking hash of %s: " msgstr "" -#: menu.sh:542 +#: menu.sh:553 msgid "Hash of pat not match, try again!" msgstr "" -#: menu.sh:546 menu.sh:640 menu.sh:651 menu.sh:662 +#: menu.sh:557 menu.sh:651 menu.sh:662 menu.sh:673 msgid "OK" msgstr "" -#: menu.sh:550 +#: menu.sh:561 msgid "Disassembling %s: " msgstr "" -#: menu.sh:555 +#: menu.sh:566 msgid "Uncompressed tar" msgstr "" -#: menu.sh:559 +#: menu.sh:570 msgid "Compressed tar" msgstr "" -#: menu.sh:563 +#: menu.sh:574 msgid "Encrypted" msgstr "" -#: menu.sh:568 +#: menu.sh:579 msgid "" "Could not determine if pat file is encrypted or not, maybe corrupted, try " "again!" msgstr "" -#: menu.sh:579 +#: menu.sh:590 msgid "Extractor cached." msgstr "" -#: menu.sh:586 +#: menu.sh:597 msgid "Downloading old pat to extract synology .pat extractor..." msgstr "" -#: menu.sh:608 menu.sh:628 +#: menu.sh:619 menu.sh:639 msgid "Error extracting" msgstr "" -#: menu.sh:622 menu.sh:625 +#: menu.sh:633 menu.sh:636 msgid "Extracting..." msgstr "" -#: menu.sh:632 +#: menu.sh:643 msgid "Checking hash of zImage: " msgstr "" -#: menu.sh:637 +#: menu.sh:648 msgid "Hash of zImage not match, try again!" msgstr "" -#: menu.sh:643 +#: menu.sh:654 msgid "Checking hash of ramdisk: " msgstr "" -#: menu.sh:648 +#: menu.sh:659 msgid "Hash of ramdisk not match, try again!" msgstr "" -#: menu.sh:654 +#: menu.sh:665 msgid "Copying files: " msgstr "" -#: menu.sh:677 +#: menu.sh:688 msgid "Addon %s not found!" msgstr "" -#: menu.sh:698 menu.sh:1213 +#: menu.sh:709 menu.sh:1225 msgid "Cleaning" msgstr "" -#: menu.sh:701 +#: menu.sh:712 msgid "Ready!" msgstr "" -#: menu.sh:714 +#: menu.sh:725 msgid "Switch LKM version:" msgstr "" -#: menu.sh:715 menu.sh:823 menu.sh:849 menu.sh:860 menu.sh:873 menu.sh:879 +#: menu.sh:726 menu.sh:835 menu.sh:861 menu.sh:872 menu.sh:885 menu.sh:891 msgid "Modules" msgstr "" -#: menu.sh:718 +#: menu.sh:729 msgid "Switch direct boot:" msgstr "" -#: menu.sh:720 +#: menu.sh:731 msgid "Edit user config file manually" msgstr "" -#: menu.sh:721 +#: menu.sh:732 msgid "Try to recovery a DSM installed system" msgstr "" -#: menu.sh:722 +#: menu.sh:733 msgid "Show SATA(s) # ports and drives" msgstr "" -#: menu.sh:725 +#: menu.sh:734 +msgid "Custom dts location:/mnt/p1/model.dts # Need rebuild" +msgstr "" + +#: menu.sh:737 msgid "Advanced" msgstr "" -#: menu.sh:726 menu.sh:1198 +#: menu.sh:738 menu.sh:1210 msgid "Choose the option" msgstr "" -#: menu.sh:765 +#: menu.sh:777 msgid "\\nTotal of ports: %s\\n" msgstr "" -#: menu.sh:766 +#: menu.sh:778 msgid "" "\\nPorts with color \\Z1red\\Zn as DUMMY, color \\Z2\\Zbgreen\\Zn has drive " "connected." msgstr "" -#: menu.sh:778 menu.sh:806 menu.sh:813 +#: menu.sh:790 menu.sh:818 menu.sh:825 msgid "Try recovery DSM" msgstr "" -#: menu.sh:779 +#: menu.sh:791 msgid "Trying to recovery a DSM installed system" msgstr "" -#: menu.sh:800 +#: menu.sh:812 msgid "Found a installation:\\nModel: %s\\nBuildnumber: %s" msgstr "" -#: menu.sh:804 +#: menu.sh:816 msgid "\\nSerial: %s" msgstr "" -#: menu.sh:814 +#: menu.sh:826 msgid "Unfortunately I couldn't mount the DSM partition!" msgstr "" -#: menu.sh:824 +#: menu.sh:836 msgid "Reading modules" msgstr "" -#: menu.sh:834 +#: menu.sh:846 msgid "Show selected modules" msgstr "" -#: menu.sh:835 +#: menu.sh:847 msgid "Select all modules" msgstr "" -#: menu.sh:836 +#: menu.sh:848 msgid "Deselect all modules" msgstr "" -#: menu.sh:837 +#: menu.sh:849 msgid "Choose modules to include" msgstr "" -#: menu.sh:846 +#: menu.sh:858 msgid "User modules" msgstr "" -#: menu.sh:850 +#: menu.sh:862 msgid "Selecting all modules" msgstr "" -#: menu.sh:861 +#: menu.sh:873 msgid "Deselecting all modules" msgstr "" -#: menu.sh:874 +#: menu.sh:886 msgid "Select modules to include" msgstr "" -#: menu.sh:880 +#: menu.sh:892 msgid "Writing to user config" msgstr "" -#: menu.sh:901 +#: menu.sh:913 msgid "Edit with caution" msgstr "" -#: menu.sh:907 +#: menu.sh:919 msgid "Invalid YAML format" msgstr "" -#: menu.sh:927 +#: menu.sh:939 msgid "Config changed, would you like to rebuild the loader?" msgstr "" -#: menu.sh:939 menu.sh:1189 +#: menu.sh:951 menu.sh:1201 msgid "Choose a language" msgstr "" -#: menu.sh:952 +#: menu.sh:964 msgid "Choose a layout" msgstr "" -#: menu.sh:962 +#: menu.sh:974 msgid "Choice a keymap" msgstr "" -#: menu.sh:979 menu.sh:988 menu.sh:993 menu.sh:998 menu.sh:1002 menu.sh:1008 -#: menu.sh:1014 menu.sh:1021 menu.sh:1025 menu.sh:1042 +#: menu.sh:991 menu.sh:1000 menu.sh:1005 menu.sh:1010 menu.sh:1014 menu.sh:1020 +#: menu.sh:1026 menu.sh:1033 menu.sh:1037 menu.sh:1054 msgid "Update arpl" msgstr "" -#: menu.sh:980 menu.sh:1050 menu.sh:1054 menu.sh:1058 menu.sh:1062 menu.sh:1066 -#: menu.sh:1071 menu.sh:1081 +#: menu.sh:992 menu.sh:1062 menu.sh:1066 menu.sh:1070 menu.sh:1074 menu.sh:1078 +#: menu.sh:1083 menu.sh:1093 msgid "Update addons" msgstr "" -#: menu.sh:981 menu.sh:1086 menu.sh:1090 menu.sh:1094 menu.sh:1098 menu.sh:1102 -#: menu.sh:1107 +#: menu.sh:993 menu.sh:1098 menu.sh:1102 menu.sh:1106 menu.sh:1110 menu.sh:1114 +#: menu.sh:1119 msgid "Update LKMs" msgstr "" -#: menu.sh:982 +#: menu.sh:994 msgid "Update modules" msgstr "" -#: menu.sh:989 menu.sh:1051 menu.sh:1087 menu.sh:1124 +#: menu.sh:1001 menu.sh:1063 menu.sh:1099 menu.sh:1136 msgid "Checking last version" msgstr "" -#: menu.sh:994 menu.sh:1055 menu.sh:1091 menu.sh:1128 +#: menu.sh:1006 menu.sh:1067 menu.sh:1103 menu.sh:1140 msgid "Error checking new version" msgstr "" -#: menu.sh:999 +#: menu.sh:1011 msgid "No new version. Actual version is %s\\nForce update?" msgstr "" -#: menu.sh:1003 +#: menu.sh:1015 msgid "Downloading last version %s" msgstr "" -#: menu.sh:1009 +#: menu.sh:1021 msgid "Error downloading update file" msgstr "" -#: menu.sh:1015 +#: menu.sh:1027 msgid "Error extracting update file" msgstr "" -#: menu.sh:1022 +#: menu.sh:1034 msgid "Checksum do not match!" msgstr "" -#: menu.sh:1026 +#: menu.sh:1038 msgid "Installing new files" msgstr "" -#: menu.sh:1043 +#: menu.sh:1055 msgid "Arpl updated with success to %s!\\nReboot?" msgstr "" -#: menu.sh:1059 menu.sh:1095 +#: menu.sh:1071 menu.sh:1107 msgid "Downloading last version" msgstr "" -#: menu.sh:1063 +#: menu.sh:1075 msgid "Error downloading new version" msgstr "" -#: menu.sh:1067 menu.sh:1103 +#: menu.sh:1079 menu.sh:1115 msgid "Extracting last version" msgstr "" -#: menu.sh:1072 +#: menu.sh:1084 msgid "Installing new addons" msgstr "" -#: menu.sh:1082 +#: menu.sh:1094 msgid "Addons updated with success!" msgstr "" -#: menu.sh:1099 +#: menu.sh:1111 msgid "Error downloading last version" msgstr "" -#: menu.sh:1108 +#: menu.sh:1120 msgid "LKMs updated with success!" msgstr "" -#: menu.sh:1123 menu.sh:1127 menu.sh:1132 menu.sh:1136 menu.sh:1151 +#: menu.sh:1135 menu.sh:1139 menu.sh:1144 menu.sh:1148 menu.sh:1163 msgid "Update Modules" msgstr "" -#: menu.sh:1133 +#: menu.sh:1145 msgid "Downloading %s modules" msgstr "" -#: menu.sh:1137 +#: menu.sh:1149 msgid "Error downloading %s.tgz" msgstr "" -#: menu.sh:1152 +#: menu.sh:1164 msgid "Modules updated with success!" msgstr "" -#: menu.sh:1170 +#: menu.sh:1182 msgid "Choose a model" msgstr "" -#: menu.sh:1172 +#: menu.sh:1184 msgid "Choose a Build Number" msgstr "" -#: menu.sh:1173 +#: menu.sh:1185 msgid "Choose a serial number" msgstr "" -#: menu.sh:1175 +#: menu.sh:1187 msgid "Addons" msgstr "" -#: menu.sh:1176 +#: menu.sh:1188 msgid "Cmdline menu" msgstr "" -#: menu.sh:1177 +#: menu.sh:1189 msgid "Synoinfo menu" msgstr "" -#: menu.sh:1180 +#: menu.sh:1192 msgid "Advanced menu" msgstr "" -#: menu.sh:1183 +#: menu.sh:1195 msgid "Build the loader" msgstr "" -#: menu.sh:1187 +#: menu.sh:1199 msgid "Boot the loader" msgstr "" -#: menu.sh:1190 +#: menu.sh:1202 msgid "Choose a keymap" msgstr "" -#: menu.sh:1192 +#: menu.sh:1204 msgid "Clean disk cache" msgstr "" -#: menu.sh:1194 +#: menu.sh:1206 msgid "Update menu" msgstr "" -#: menu.sh:1220 +#: menu.sh:1232 msgid "Call \\033[1;32mmenu.sh\\033[0m to return to menu" msgstr "" diff --git a/files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.mo b/files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.mo index 38c392f06c2345304732209973c2ef0e0992ff5c..4f02a80fac7791a7e592b4410f602f02f55cd27e 100644 GIT binary patch delta 4645 zcmaKu3viUx8HNub-0uWYz=mH4Hwjq~Pzd)bR{AdnGIL7C}TJHiaL>cA+IEDQEFQ>SU6*go&>Nr%pKdM5AxoZJ6>-}%lt z|K_`wE_uQ?J0@;7lp6Fns%>J-eR!-D56X^q#YEE2NuFd;C`q;&%!SFH`naIA7Ez&5<12M=mPaZKg%(;e->n_ z@!IxsD91&%T?S?6AnXD!Kn4B<)O%6ez6YD*-?SosGSCSs@}5wc7-;)Pz@fCKKxJk% z%z#_q5cnq)@z<~g{3GPg)br51Hl4}8_96+ZnwSP6lzO9f|~bRD7#UpjQ$X& z5=#Z6GMof;y8FOpFbygLPeVD#go9zg_P+x$VLpQVnXhK;Pi=7*-@(sj$6f4`dfi4b-W>4vER!g*qE8NP|+|9;%%J z^?rZb9tO35F}8o9?SIAcRolP9w%7J#|7Bn!9r}^j37>)o;4pX{D&=jtoBDushYsuq zb#13W1)2wS=+;7=p}kOt^PJ_UP=0P&erNgjlyH2Y3Dz{Bqh)u?RH&5>hYD~kl!M83 ze32awKsj6n6=<;?FNI3=KB!On2|Hc`b-ONysp#C-$%$3U#I?*>)yWVBsZHw5J7jpcu+vIUE41U{m-l z)XJk!jvMujue1YHX1YPmOMwc!KUAROpcXLQ_PZ?$;|!b4R5Y;y%E2ipL!Ux9x@O03 zK?U|_s7y5F66+p2Je0vHkPBhvLXM3ogq&Nm8z#UHp)ztA%I@!AYyJL5s3-$}jdk#G zVPllaPEa45RLFTTqoG#jhAm+sl%Y3aY>S{4as+At)lh+6fX(3-w*MO_f45;W{>^7S>0FOX9_zRT7dMHPUsquC)RABvKOE?0`-UP_;GG3^F zHo&m1*ET9jeFapCF2dIEs_nmNS#Q~%gQ0o-pyrK)O7&zYJ3c$U7HUg&*#2`+nYwDn zBLm34BL4>+GL)1SzwZuIiUvXL?Rd*fIF+^=YAa4cK4#_$)D}gd0%+rkkN37536;qi zP~(2fA{Y6W<9&3REeQ4CKK?;&xiIurL zUqzMZ2rAO_0xCn0icF-U1rh9;D*X_ZvErB!0M4Xqc^0<;HBLWO8Q+KIRh z<^WRBv1}-bRCNAT=A%HYX3VePax~nwNonkN)iz^zm#0oz2T~UM!n+4-xRUnss>N=EzevHnb zhVmShOmrHRp=>l5skB8^s5{z#RDOcaBK^B_0xd=lmtqBwh0pN6wh33>}9AQj!YU!wQWTBI@-%|qjm2c1K^QFs84O=yW4sG-cF@-pg) zwxPGtB6Jja(IB)8%|XwipQDD-gvw0R81Xw`CZpHT7PJ~|MJg*BTn?j=hdQIaNF^5q zV>SLOgqzWH+ZLKWR9E$N+nxd+K`)^!+t&>)MLW=X_4Num?ksn<*He|=ZcO5&XA6R% zK(6Bn1sz|&ofXOn_|sjv{*WtgkSjOf@%qv<)YF;n^?ICq@1lYnpT|5mbDA?FE7y|~ zT1d5+H)3uKYk3FLY6V~fo4r8R_5Kp66p9SY^8yIhNN z{GPO6p+DdYEGbNL2XbAGy5xy4J&rrz_Y-p3LbJf1!McJt2xZglBj^S5236flZrQjh zrN_C1Inkn{btiV!))dF`8!0QQeZRW)Ldoq5C;n%S@072O9$a&$s3cN$^7i?%Xyw-b z%5>e?Q<1k%N4C{eeVy`ov#HU_irdBOBIUWM~;qlXTb&QJR!LzcI1 yytDfN9x-0GxiV5(QhTA?THO`>py>Z3E3&sDQhbqY)zwtrDZLokR8gAj`t09EHh)n7 delta 3982 zcmXxn2W(YU9LMoP2NVjng|bJ>DlMb5Aftekp~XrI2r??jD2PzDKr0|T_FknFkRdXv zVA&6qFl=fRH4GydP=f}Mhm1f{5{(0h-`{)xp7eh|=bU%n+4sKmi*XM|d48=PQs_vZ z5DkbgL!B$b$>Cf`NfFLf!DOt8-LN*MV;vlWHE=H0!}VAZ52D&ThGBRKtKl`I3wIk6 zob$N*WFo1E=Aw?8BULWR$~{mW_eK8PFfQs~A|~T>Y>RvGIlO|p|2J%ckFW(sMLAa! zQ&0o#k9Fza<=6*Hu@)a}M-AY()t8#rt^OhM=bl z-a;#H!Z7-G`^aeIhfpIwgIbAito|x?pnMC}K^@k60LCL#ZVqax*CK!JAQ#ENUoHcgl*>jv0C~u2xh1HMwxU+32sM)u)WCm6 z+I0V*wlI=e>Ar@jb~~X~G!y+RfoeC~Lq?}L7c1d>)Cw#^b+8ZHk zxM%{saS*1V+S`t5XAf#%C8z;hL!AvD>ORk(WHf^(*b?j0t7e{N4n#FD5_LvqqZ(L= z8pt-}tL`{zsV|^r`~bBj71$5e*FfFZ9<`;J$oD;NBpH1n&s=9W>_ath616htQA>8& zyoGA$FVxml;((}J6XP%rdBM0$RL6O!iR7bJ<^aa%`9DvFKX->qQw-))HPixih&rQI zBnP#Gxu_18S$%=I+deP0@@dprIFFjhRV(|DKlhkRIQ_dw*1r!nK#g!5PQZCM0B@rj z>cBec^Iq5mv#>R8My+5ewyNOVb<_ZZIr92m6tWwx5wch=1$D>=qldO#4jCPWRj4K2 zXyyH=28ykG3N`W)tN+F7@0(?)0sU>|=DdIP{nn`8fD~+py|6RRZo>L&sgF>h7e)!j z;h^ge2&k?f21usQ0`rJ@ewFmn>BqXp&~bDLRYo-j+yi%mU&ng2wEMtBp|!9BYn zh_{4RCIZ!AE!030P#v~MEp-pnE4!b4o`rgv#-h&5dhCw7P!qa=noyaCj2a4Oy8d@N zYLDZQcZo|ybv)F}G3TQWh3#9uZB{lSD=xr=w<; zg<6TRSP>_q4%bZ7Kv$t=u*K?&%~JC^>b{4l4*tc8ScBhS^-~Y^c}rwq9@mMCmZBf( zd7Xe-vQ5ZAc6*TBaHYs`a6Syeu=v2rgrgd6glaeuwE|tO+#j`)BT$dwEM(E$a@6mS zD<-48D@8SQ5&e6FYOoA7gJ-CLhBC@9j6v1MqdIJhdYXEpPI)%!X(_aNFY58Tf||f1 zOrw8SMn(;F=ESJOR8&V9RvwQU*i5W~OHduHN4C=)Mh)mH>S?-xTKb2mvs1BEpxwHt z`ZzNc_50(7k}%zLsHL8S88{0y^HS`KKUjTi+rWKOP%D&+ zNw@|zp|hy=uSAonK&B_5hQf&+1^HELd-Ri}q&N2_;sqj;C{H>$Y_Kb~iX%9|@-O0I z%X?AhU)?ID6U&K1#A;#=QJ&tk%sf4qy(kPL-X;3j2YL|u5!%&`gpQxmhXLGP98N4G zIuJ@J0sPlaT(=YN5Mv0v6U&pOEFhW@qX?a_{zL+yG>|w<%vOPRG|_<;C` zm`m&;%F{YBZ&+av@`Ck0a3ig*5T_E!R_5^ee~49VM?6pLAr5H&l`0WSiEJX2C{G*6 zq*-At&LlDj-p!6j!2is=gu%pkVk^;wPznm*rsE{bH^gd00TD|~QU9&T%p#Pg1@OOq z@+`js-zLUd`4vnhCRH{Te7`5$*js=ibAv#9Ogkwh%Lj5yTEc zX&iA}8E;`kMu@j%^sX>(n}(NzyyIeHgJa|G9xeK#aP7TadwrjsxLdNrx2(vwXvLkw qXZ~3I>79j(61+>Bo(l4Aj{B~X_gLcL3c> "${TMP_PATH}/menu" echo "t \"$(TEXT "Try to recovery a DSM installed system")\"" >> "${TMP_PATH}/menu" echo "s \"$(TEXT "Show SATA(s) # ports and drives")\"" >> "${TMP_PATH}/menu" + echo "d \"$(TEXT "Custom dts location:/mnt/p1/model.dts # Need rebuild")\"" >> "${TMP_PATH}/menu" echo "e \"$(TEXT "Exit")\"" >> "${TMP_PATH}/menu" dialog --default-item ${NEXT} --backtitle "`backtitle`" --title "$(TEXT "Advanced")" \ diff --git a/update-list.yml b/update-list.yml index cb699339..c4b41e25 100644 --- a/update-list.yml +++ b/update-list.yml @@ -4,3 +4,4 @@ replace: ".buildroot/output/images/rootfs.cpio.xz": "/mnt/p3/initrd-arpl" "files/board/arpl/p1/ARPL-VERSION" : "/mnt/p1/ARPL-VERSION" "files/board/arpl/p1/grub/": "/mnt/p1/grub/" + "files/board/arpl/p1/EFI/": "/mnt/p1/EFI/" \ No newline at end of file