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 38c392f0..4f02a80f 100644 Binary files a/files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.mo and b/files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.mo differ diff --git a/files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.po b/files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.po index f4f1802b..6586a642 100644 --- a/files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.po +++ b/files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.po @@ -16,11 +16,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 "" @@ -32,16 +32,20 @@ msgstr "引导" msgid "DSM zImage changed" msgstr "DSM zImage 已更改" -#: 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 "zImage打补丁失败:\\n" -#: boot.sh:40 menu.sh:694 +#: boot.sh:36 +msgid "DSM Ramdisk changed" +msgstr "DSM Ramdisk 已更改" + +#: boot.sh:40 menu.sh:705 msgid "Ramdisk not patched:\\n" msgstr "Ramdisk打补丁失败:\\n" @@ -79,677 +83,693 @@ msgstr "警告, 使用'--noefi'参数运行'kexec', 可能有不好的事情发 #: boot.sh:153 msgid "Booting..." -msgstr "引导中...(该界面已进入假死状态)" +msgstr "引导中..." + +#: boot.sh:156 +msgid "" +"[This interface will not be operational. Please use the http://find.synology." +"com/ find DSM and connect.]" +msgstr "该界面已不可操作, 请通过 http://find.synology.com/ 查找DSM并链接." #: 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 "挂载 %s 失败" -#: init.sh:101 +#: init.sh:104 msgid "Setting MAC to %s" msgstr "设置MAC为" -#: init.sh:114 +#: init.sh:117 msgid "Loader disk neither USB or DoM" msgstr "引导磁盘仅支持 USB 或者 DoM" -#: init.sh:122 +#: init.sh:125 msgid "Loader disk:" msgstr "引导盘:" -#: init.sh:135 +#: init.sh:138 msgid "Resizing %s" msgstr "重置 %s 大小" -#: init.sh:146 +#: init.sh:149 msgid "Loading keymap" msgstr "加载keymap" -#: init.sh:159 +#: init.sh:162 msgid "User requested edit settings." -msgstr "用户出发编辑设置" +msgstr "用户触发编辑设置" -#: init.sh:170 +#: init.sh:173 msgid "Waiting IP." msgstr "获取Ip" -#: 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 "OK\\n访问 \\033[1;34mhttp://%s:7681\\033[0m 进入WEB终端进行配置" -#: init.sh:188 +#: init.sh:191 msgid "Call \\033[1;32mmenu.sh\\033[0m to configure loader" msgstr "执行 \\033[1;32mmenu.sh\\033[0m 进入设置菜单" -#: 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 "默认SSH的root密码为" -#: 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 "您的RAM不足4GB, 如果在创建引导时出现错误,请增加内存." -#: 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 "该版本不支持UEFI启动, 请选择其他版本或者切换启动模式." + +#: menu.sh:154 msgid "Reconfiguring Synoinfo, Addons and Modules" msgstr "重新配置 Syninfo, 插件和模块" -#: 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 "生成随机SN" -#: menu.sh:178 +#: menu.sh:189 msgid "Enter a serial number" msgstr "输入SN" -#: menu.sh:186 +#: menu.sh:197 msgid "Please enter a serial number " msgstr "请输入SN " -#: 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 "SN无效, 是否继续?" -#: menu.sh:226 +#: menu.sh:237 msgid "Add an addon" msgstr "添加插件" -#: menu.sh:227 +#: menu.sh:238 msgid "Delete addon(s)" msgstr "删除插件(s)" -#: 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 "请输入下载URL.\\n" -#: menu.sh:308 menu.sh:523 +#: menu.sh:319 menu.sh:534 msgid "Downloading %s" msgstr "下载 %s 中" -#: 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 "请检查internet, URL或磁盘空间" -#: menu.sh:317 +#: menu.sh:328 msgid "Success" msgstr "下载成功" -#: menu.sh:318 +#: menu.sh:329 msgid "Addon '%s' added to loader" msgstr "插件 '%s' 添加到引导中" -#: 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 "添加/编辑cmdline参数" -#: menu.sh:337 +#: menu.sh:348 msgid "Delete cmdline item(s)" msgstr "删除cmdline参数(s)" -#: menu.sh:338 +#: menu.sh:349 msgid "Define a custom MAC" msgstr "自定义MAC" -#: menu.sh:339 +#: menu.sh:350 msgid "Show user cmdline" msgstr "显示用户cmdline参数" -#: menu.sh:340 +#: menu.sh:351 msgid "Show model/build cmdline" msgstr "显示型号默认cmdline参数" -#: 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 "用户cmdline参数" -#: 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 "输入 '%s' 参数的值" -#: 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 "输入自定义MAC地址" -#: menu.sh:393 +#: menu.sh:404 msgid "Invalid MAC" msgstr "无效的MAC" -#: menu.sh:401 +#: menu.sh:412 msgid "Changing MAC" msgstr "修改MAC" -#: menu.sh:403 +#: menu.sh:414 msgid "Renewing IP" msgstr "刷新IP" -#: menu.sh:419 +#: menu.sh:430 msgid "Model/build cmdline" msgstr "型号默认cmdline参数" -#: menu.sh:436 +#: menu.sh:447 msgid "Add/edit a synoinfo item" msgstr "添加/编辑Synoinfo参数" -#: menu.sh:437 +#: menu.sh:448 msgid "Delete synoinfo item(s)" msgstr "删除Synoinfo参数(s)" -#: menu.sh:438 +#: menu.sh:449 msgid "Show synoinfo entries" msgstr "显示Synoinfo参数" -#: menu.sh:448 menu.sh:454 menu.sh:489 +#: menu.sh:459 menu.sh:465 menu.sh:500 msgid "Synoinfo entries" msgstr "Synoinfo参数" -#: 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 "输入 '%s' 参数的值" -#: menu.sh:465 +#: menu.sh:476 msgid "No synoinfo entries to remove" msgstr "没有Synoinfo参数被删除" -#: menu.sh:473 +#: menu.sh:484 msgid "Select synoinfo entry to remove" msgstr "选择要删除的参数" -#: menu.sh:514 +#: menu.sh:525 msgid "%s cached." msgstr "%s 已缓存." -#: 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 "请检查internet或磁盘空间" -#: menu.sh:539 +#: menu.sh:550 msgid "Checking hash of %s: " msgstr "检查 %s 的 hash: " -#: menu.sh:542 +#: menu.sh:553 msgid "Hash of pat not match, try again!" msgstr "pat的Hash不匹配, 请重试!" -#: 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 "OK" -#: menu.sh:550 +#: menu.sh:561 msgid "Disassembling %s: " msgstr "解压 %s: " -#: menu.sh:555 +#: menu.sh:566 msgid "Uncompressed tar" msgstr "未压缩tar" -#: menu.sh:559 +#: menu.sh:570 msgid "Compressed tar" msgstr "压缩tar" -#: 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 "无法确定pat文件是否加密, 可能已损坏, 请重试!" -#: 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 "下载旧 pat, 提取 .pat 解密程序中..." -#: 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 "检查 zImage 的 hash: " -#: menu.sh:637 +#: menu.sh:648 msgid "Hash of zImage not match, try again!" msgstr "zImage的Hash不匹配, 请重试!" -#: menu.sh:643 +#: menu.sh:654 msgid "Checking hash of ramdisk: " msgstr "检查 ramdisk 的 hash: " -#: menu.sh:648 +#: menu.sh:659 msgid "Hash of ramdisk not match, try again!" msgstr "ramdisk的Hash不匹配, 请重试!" -#: menu.sh:654 +#: menu.sh:665 msgid "Copying files: " msgstr "拷贝文件: " -#: menu.sh:677 +#: menu.sh:688 msgid "Addon %s not found!" msgstr "插件 %s 未找到!" -#: 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 "选择LKM版本:" -#: 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 "尝试恢复已安装DSM的系统" -#: menu.sh:722 +#: menu.sh:733 msgid "Show SATA(s) # ports and drives" msgstr "显示SATA(s) # 端口和驱动器" -#: menu.sh:725 +#: menu.sh:734 +msgid "Custom dts location:/mnt/p1/model.dts # Need rebuild" +msgstr "自定义 dts 文件位置:/mnt/p1/model.dts # 需要重新编译" + +#: 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 "\\n端口总数: %s\\n" -#: menu.sh:766 +#: menu.sh:778 msgid "" "\\nPorts with color \\Z1red\\Zn as DUMMY, color \\Z2\\Zbgreen\\Zn has drive " "connected." msgstr "\\n\\Z1红色\\Zn 为模拟端口, \\Z2\\Zb绿色\\Zn 为已驱动的物理端口." -#: menu.sh:778 menu.sh:806 menu.sh:813 +#: menu.sh:790 menu.sh:818 menu.sh:825 msgid "Try recovery DSM" msgstr "尝试恢复DSM系统" -#: menu.sh:779 +#: menu.sh:791 msgid "Trying to recovery a DSM installed system" msgstr "尝试恢复已安装的DSM系统中" -#: menu.sh:800 +#: menu.sh:812 msgid "Found a installation:\\nModel: %s\\nBuildnumber: %s" msgstr "找到已安装:\\n型号: %s\\n版本: %s" -#: menu.sh:804 +#: menu.sh:816 msgid "\\nSerial: %s" msgstr "\\nSN: %s" -#: menu.sh:814 +#: menu.sh:826 msgid "Unfortunately I couldn't mount the DSM partition!" msgstr "很遗憾, 我无法挂载DSM分区!" -#: 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 "无效的YAML格式" -#: 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 "更新arpl" -#: 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 "更新LKMs" -#: 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 "没有新版本. 实际版本为 %s\\n强制更新?" -#: menu.sh:1003 +#: menu.sh:1015 msgid "Downloading last version %s" msgstr "下载新版本 %s 中" -#: 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 "Checksum不匹配!" -#: 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 "Arpl更新成功 %s!\\n重启?" -#: 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 "LKMs更新成功!" -#: 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 "下载 %s 模块中" -#: menu.sh:1137 +#: menu.sh:1149 msgid "Error downloading %s.tgz" msgstr "下载 %s.tgz 错误" -#: 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 "选择SN" -#: menu.sh:1175 +#: menu.sh:1187 msgid "Addons" msgstr "插件" -#: menu.sh:1176 +#: menu.sh:1188 msgid "Cmdline menu" msgstr "设置Cmdline" -#: menu.sh:1177 +#: menu.sh:1189 msgid "Synoinfo menu" msgstr "设置Synoinfo" -#: 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 "执行 \\033[1;32mmenu.sh\\033[0m 重新进入设置菜单" diff --git a/files/board/arpl/overlayfs/opt/arpl/menu.sh b/files/board/arpl/overlayfs/opt/arpl/menu.sh index 2e88e2a4..a50bf6eb 100755 --- a/files/board/arpl/overlayfs/opt/arpl/menu.sh +++ b/files/board/arpl/overlayfs/opt/arpl/menu.sh @@ -55,6 +55,11 @@ function backtitle() { else BACKTITLE+=" (qwerty/us)" fi + if [ -d "/sys/firmware/efi" ]; then + BACKTITLE+=" [UEFI]" + else + BACKTITLE+=" [BIOS]" + fi echo ${BACKTITLE} } @@ -139,6 +144,12 @@ function buildMenu() { resp="${1}" fi if [ "${BUILD}" != "${resp}" ]; then + local KVER=`readModelKey "${MODEL}" "builds.${resp}.kver"` + if [ -d "/sys/firmware/efi" -a "${KVER:0:1}" = "3" ]; then + dialog --backtitle "`backtitle`" --title "$(TEXT "Build Number")" --aspect 18 \ + --msgbox "$(TEXT "This version does not support UEFI startup, Please select another version or switch the startup mode.")" 0 0 + buildMenu + fi dialog --backtitle "`backtitle`" --title "$(TEXT "Build Number")" \ --infobox "$(TEXT "Reconfiguring Synoinfo, Addons and Modules")" 0 0 BUILD=${resp} @@ -720,6 +731,7 @@ function advancedMenu() { echo "u \"$(TEXT "Edit user config file manually")\"" >> "${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