├── .dialogrc ├── .github └── workflows │ ├── FUNDING.yml.not │ ├── deploy.yml │ ├── deployxTCRP.yml │ ├── gen.mo.yml │ ├── grub.yml │ ├── issues.yml │ ├── make.my.sh.gz.yml │ └── vmdk.yml ├── Charset-header.h ├── LICENSE ├── README.md ├── RELEASE_NOTES.md ├── big.sh ├── cpapp.sh ├── custom_config.json ├── custom_config_72.json ├── custom_config_develop.json ├── custom_config_jun.json ├── edisk.sh ├── ediska.sh ├── extractor.gz ├── functions.sh ├── functions_t.sh ├── getlkm.sh ├── gitproc.sh ├── global_config.json ├── grub-2.12.tar.gz ├── grub ├── grub.cfg ├── grub.img.gz ├── grubbkg.cfg ├── grubbkg.png └── grubtiny.cfg ├── grub_bootseq_chg.sh ├── grubmenu.sh ├── hddcheck.sh ├── i18n.h ├── inject-tool.tgz ├── inject-tool ├── bc.tcz ├── bc.tcz.dep ├── bc.tcz.md5.txt ├── dosfstools.tcz ├── dosfstools.tcz.md5.txt ├── glibc_gconv.tcz ├── glibc_gconv.tcz.md5.txt ├── grub2-multi.tcz ├── grub2-multi.tcz.dep ├── grub2-multi.tcz.md5.txt ├── libburn.tcz ├── libburn.tcz.md5.txt ├── libisoburn.tcz ├── libisoburn.tcz.dep ├── libisoburn.tcz.md5.txt ├── libisofs.tcz ├── libisofs.tcz.md5.txt ├── liblvm2.tcz ├── liblvm2.tcz.dep ├── liblvm2.tcz.md5.txt ├── liblzma.tcz ├── liblzma.tcz.md5.txt ├── mtools.tcz ├── mtools.tcz.md5.txt ├── readline.tcz ├── readline.tcz.dep ├── readline.tcz.md5.txt ├── udev-lib.tcz └── udev-lib.tcz.md5.txt ├── jelly.sh ├── jellyfin-igpu.yaml ├── jellyfin-nvidia.yaml ├── kernel-bs-fb-patch-for-all └── files-chksum ├── lang.tgz ├── lang ├── am_ET │ └── LC_MESSAGES │ │ ├── tcrp.mo │ │ └── tcrp.po ├── ar_EG │ └── LC_MESSAGES │ │ ├── tcrp.mo │ │ └── tcrp.po ├── de_DE │ └── LC_MESSAGES │ │ ├── tcrp.mo │ │ └── tcrp.po ├── en_US │ └── LC_MESSAGES │ │ ├── tcrp.mo │ │ └── tcrp.po ├── es_ES │ └── LC_MESSAGES │ │ ├── tcrp.mo │ │ └── tcrp.po ├── fr_FR │ └── LC_MESSAGES │ │ ├── tcrp.mo │ │ └── tcrp.po ├── hi_IN │ └── LC_MESSAGES │ │ ├── tcrp.mo │ │ └── tcrp.po ├── hu_HU │ └── LC_MESSAGES │ │ ├── tcrp.mo │ │ └── tcrp.po ├── id_ID │ └── LC_MESSAGES │ │ ├── tcrp.mo │ │ └── tcrp.po ├── it_IT │ └── LC_MESSAGES │ │ ├── tcrp.mo │ │ └── tcrp.po ├── ja_JP │ └── LC_MESSAGES │ │ ├── tcrp.mo │ │ └── tcrp.po ├── ko_KR │ └── LC_MESSAGES │ │ ├── tcrp.mo │ │ └── tcrp.po ├── pt_BR │ └── LC_MESSAGES │ │ ├── tcrp.mo │ │ └── tcrp.po ├── ru_RU │ └── LC_MESSAGES │ │ ├── tcrp.mo │ │ └── tcrp.po ├── th_TH │ └── LC_MESSAGES │ │ ├── tcrp.mo │ │ └── tcrp.po ├── tr_TR │ └── LC_MESSAGES │ │ ├── tcrp.mo │ │ └── tcrp.po └── zh_CN │ └── LC_MESSAGES │ ├── tcrp.mo │ └── tcrp.po ├── lrz ├── lsz ├── macgen.sh ├── makeownpkg.sh ├── mdtest.sh ├── menu.sh ├── menu_m.sh ├── menud.sh ├── models ├── models.json ├── modules.alias.3.json ├── modules.alias.3.json.gz ├── modules.alias.4.json ├── modules.alias.4.json.gz ├── monitor.sh ├── mvapp.sh ├── my.sh.gz ├── my_t.sh.gz ├── mydata.tgz ├── myv ├── ntp.sh ├── opencl ├── libOpenCL.so.1 ├── libbluray.so.2 ├── libigdrcl.so ├── libmpg123.so.0 ├── libopenmpt.so.0 ├── libopus.so.0 ├── libtheoradec.so.1 ├── libtheoraenc.so.1 ├── libvorbis.so.0 ├── libvorbisenc.so.2 ├── libvorbisfile.so.3 ├── libvpx.so.7 ├── libx264.so.164 ├── libx265.so.199 └── libzvbi.so.0 ├── prepare-offline.bat ├── remote-upgrade.sh ├── rploader.sh ├── settime.sh ├── sngen.sh ├── sortnetif.sh ├── syno-hdd-db.sh ├── tc_recover.sh ├── tce ├── onboot.lst └── optional │ ├── db.tcz │ ├── db.tcz.dep │ ├── db.tcz.md5.txt │ ├── dialog.tcz │ ├── dialog.tcz.dep │ ├── dialog.tcz.md5.txt │ ├── ethtool.tcz │ ├── ethtool.tcz.md5.txt │ ├── firmware-broadcom_bnx2x.tcz │ ├── firmware-broadcom_bnx2x.tcz.md5.txt │ ├── getlocale.tcz │ ├── getlocale.tcz.dep │ ├── getlocale.tcz.md5.txt │ ├── gettext.tcz │ ├── gettext.tcz.dep │ ├── gettext.tcz.md5.txt │ ├── glibc_apps.tcz │ ├── glibc_apps.tcz.md5.txt │ ├── glibc_gconv.tcz │ ├── glibc_gconv.tcz.md5.txt │ ├── glibc_i18n_locale.tcz │ ├── glibc_i18n_locale.tcz.md5.txt │ ├── iproute2.tcz │ ├── iproute2.tcz.dep │ ├── iproute2.tcz.md5.txt │ ├── kmaps.tcz │ ├── kmaps.tcz.md5.txt │ ├── libdb.tcz │ ├── libdb.tcz.md5.txt │ ├── libzstd.tcz │ ├── libzstd.tcz.md5.txt │ ├── mylocale.tcz │ ├── mylocale.tcz.dep │ ├── mylocale.tcz.md5.txt │ ├── scsi-6.1.2-tinycore64.tcz │ ├── scsi-6.1.2-tinycore64.tcz.md5.txt │ ├── squashfs-tools.tcz │ ├── squashfs-tools.tcz.dep │ └── squashfs-tools.tcz.md5.txt ├── tinycore_14.0 ├── corepure64.gz ├── etc │ ├── motd │ └── shadow └── vmlinuz64 ├── tmp ├── default_model.dtb ├── disk_db.json ├── ds920+_host_v7.db ├── etc_model.dtb ├── libsynoproxy.so.7 ├── libsynosdk.so.7 └── rp-broadwellnk-4.4.302-prod.ko ├── tools ├── Realtek.MAC.AMD64.zip ├── bspatch ├── bzImage-template-v4.gz ├── bzImage-template-v5.gz ├── bzImage-to-vmlinux.sh ├── calc_run_size.sh ├── cpio ├── crc32 ├── dtc ├── eeupdate.zip ├── find ├── kexec ├── kpatch ├── modprobe ├── patch ├── pigz ├── ramdisk-patch.sh ├── rtnicpg.zip ├── tar ├── testyml.sh ├── vmlinux ├── vmlinux-to-bzImage.sh ├── xxd └── zimage-patch.sh ├── ttyd ├── update_ossha256.sh ├── user_config.json ├── writekey.sh ├── xt.sh └── xtcrp.tgz /.dialogrc: -------------------------------------------------------------------------------- 1 | # 2 | # Run-time configuration file for dialog 3 | # 4 | # Automatically generated by "dialog --create-rc " 5 | # 6 | # 7 | # Types of values: 8 | # 9 | # Number - 10 | # String - "string" 11 | # Boolean - 12 | # Attribute - (foreground,background,highlight?) 13 | 14 | # Set aspect-ration. 15 | aspect = 0 16 | 17 | # Set separator (for multiple widgets output). 18 | separate_widget = "" 19 | 20 | # Set tab-length (for textbox tab-conversion). 21 | tab_len = 0 22 | 23 | # Make tab-traversal for checklist, etc., include the list. 24 | visit_items = OFF 25 | 26 | # Shadow dialog boxes? This also turns on color. 27 | use_shadow = ON 28 | 29 | # Turn color support ON or OFF 30 | use_colors = ON 31 | 32 | # Screen color 33 | screen_color = (CYAN,GREEN,ON) 34 | 35 | # Shadow color 36 | shadow_color = (BLACK,BLACK,ON) 37 | 38 | # Dialog box color 39 | dialog_color = (BLACK,WHITE,OFF) 40 | 41 | # Dialog box title color 42 | title_color = (BLUE,WHITE,ON) 43 | 44 | # Dialog box border color 45 | border_color = (WHITE,WHITE,ON) 46 | 47 | # Active button color 48 | button_active_color = (WHITE,BLUE,ON) 49 | 50 | # Inactive button color 51 | button_inactive_color = (BLACK,WHITE,OFF) 52 | 53 | # Active button key color 54 | button_key_active_color = (WHITE,BLUE,ON) 55 | 56 | # Inactive button key color 57 | button_key_inactive_color = (RED,WHITE,OFF) 58 | 59 | # Active button label color 60 | button_label_active_color = (YELLOW,BLUE,ON) 61 | 62 | # Inactive button label color 63 | button_label_inactive_color = (BLACK,WHITE,ON) 64 | 65 | # Input box color 66 | inputbox_color = (BLACK,WHITE,OFF) 67 | 68 | # Input box border color 69 | inputbox_border_color = (BLACK,WHITE,OFF) 70 | 71 | # Search box color 72 | searchbox_color = (BLACK,WHITE,OFF) 73 | 74 | # Search box title color 75 | searchbox_title_color = (BLUE,WHITE,ON) 76 | 77 | # Search box border color 78 | searchbox_border_color = (WHITE,WHITE,ON) 79 | 80 | # File position indicator color 81 | position_indicator_color = (BLUE,WHITE,ON) 82 | 83 | # Menu box color 84 | menubox_color = (BLACK,WHITE,OFF) 85 | 86 | # Menu box border color 87 | menubox_border_color = (WHITE,WHITE,ON) 88 | 89 | # Item color 90 | item_color = (BLACK,WHITE,OFF) 91 | 92 | # Selected item color 93 | item_selected_color = (WHITE,BLUE,ON) 94 | 95 | # Tag color 96 | tag_color = (BLUE,WHITE,ON) 97 | 98 | # Selected tag color 99 | tag_selected_color = (YELLOW,BLUE,ON) 100 | 101 | # Tag key color 102 | tag_key_color = (RED,WHITE,OFF) 103 | 104 | # Selected tag key color 105 | tag_key_selected_color = (RED,BLUE,ON) 106 | 107 | # Check box color 108 | check_color = (BLACK,WHITE,OFF) 109 | 110 | # Selected check box color 111 | check_selected_color = (WHITE,BLUE,ON) 112 | 113 | # Up arrow color 114 | uarrow_color = (GREEN,WHITE,ON) 115 | 116 | # Down arrow color 117 | darrow_color = (GREEN,WHITE,ON) 118 | 119 | # Item help-text color 120 | itemhelp_color = (WHITE,BLACK,OFF) 121 | 122 | # Active form text color 123 | form_active_text_color = (WHITE,BLUE,ON) 124 | 125 | # Form text color 126 | form_text_color = (WHITE,CYAN,ON) 127 | 128 | # Readonly form item color 129 | form_item_readonly_color = (CYAN,WHITE,ON) 130 | -------------------------------------------------------------------------------- /.github/workflows/FUNDING.yml.not: -------------------------------------------------------------------------------- 1 | github: PeterSuh-Q3 2 | -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | name: release tags mshell 2 | 3 | on: 4 | release: 5 | types: [published] 6 | 7 | workflow_dispatch: 8 | 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v4 14 | - name: Bring last uploaded mydata.tgz files from tinycore-redpill & lastest img 15 | run: | 16 | sudo apt-get update 17 | sudo apt-get install -y build-essential bison flex libgmp3-dev xorriso qemu-utils libfreetype6-dev 18 | #sudo apt-get install grub2 qemu-utils grub-efi-amd64-bin 19 | curl -kLO# https://github.com/PeterSuh-Q3/tinycore-redpill/releases/download/v1.2.2.9/tinycore-redpill.v1.2.2.9.m-shell.img.gz 20 | gunzip tinycore-redpill.v1.2.2.9.m-shell.img.gz 21 | pwd 22 | ls -ltr 23 | 24 | - name: Download GRUB 2.12 source 25 | run: | 26 | #wget https://ftp.gnu.org/gnu/grub/grub-2.12.tar.gz 27 | tar xzf grub-2.12.tar.gz 28 | cd grub-2.12 29 | 30 | - name: Configure GRUB 31 | working-directory: grub-2.12 32 | run: | 33 | ./configure --prefix=/usr \ 34 | --sysconfdir=/etc \ 35 | --disable-efiemu \ 36 | --enable-grub-mkfont \ 37 | --with-platform=efi \ 38 | --target=x86_64 \ 39 | --disable-werror \ 40 | --with-freetype && 41 | unset TARGET_CC 42 | 43 | - name: Create extra_deps.lst 44 | working-directory: grub-2.12 45 | run: | 46 | echo "depends bli part_gpt" > grub-core/extra_deps.lst 47 | 48 | - name: Build GRUB 49 | working-directory: grub-2.12 50 | run: make -j4 51 | 52 | #- name: Run tests 53 | # working-directory: grub-2.12 54 | # run: make check 55 | 56 | - name: Install GRUB 57 | working-directory: grub-2.12 58 | run: sudo make install && sudo mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions 59 | 60 | - name: Return to workflow home directory 61 | run: cd $GITHUB_WORKSPACE 62 | 63 | - name: Mount source img and make target img 64 | id: get-version 65 | run: | 66 | VERSION=v`cat functions.sh | grep rploaderver= | cut -d\" -f2` 67 | echo "Version: ${VERSION}" 68 | echo "::set-output name=VERSION::${VERSION}" 69 | mkdir /opt/output 70 | 71 | LOOPX=$(sudo losetup -f) 72 | echo "LOOPX = ${LOOPX}" 73 | sudo losetup -P ${LOOPX} tinycore-redpill.v1.2.2.9.m-shell.img 74 | 75 | dd if=/dev/zero of=tinycore-redpill.${VERSION}.m-shell.img bs=1M seek=2048 count=0 76 | echo -e "n\np\n1\n\n+72M\nn\np\n2\n\n+75M\nn\np\n3\n\n+1853M\nw\nq\n" | sudo fdisk tinycore-redpill.${VERSION}.m-shell.img 77 | echo -e "a\n1\nw" | sudo fdisk tinycore-redpill.${VERSION}.m-shell.img 78 | #echo -e "t\n1\nuefi\nw" | sudo fdisk tinycore-redpill.${VERSION}.m-shell.img 79 | 80 | LOOPZ=$(sudo losetup -f) 81 | sudo losetup -P ${LOOPZ} tinycore-redpill.${VERSION}.m-shell.img 82 | echo "LOOPZ = ${LOOPZ}" 83 | sudo fdisk -l ${LOOPZ} 84 | 85 | ## Format 3rd partition with vfat ## 86 | #sudo mkfs.vfat -F16 ${LOOPZ}p1 87 | #sudo mkfs.vfat -F16 ${LOOPZ}p2 88 | sudo mkfs.vfat -i 6234C863 -F16 ${LOOPZ}p3 89 | 90 | ## Copy 1st,2nd,3rd partition from source to target (with grub 2.12 install) ## 91 | sudo dd if="${LOOPX}p1" of="${LOOPZ}p1" 92 | sudo mkdir -p /mnt/tarp1 93 | sudo mount ${LOOPZ}p1 /mnt/tarp1 94 | 95 | sudo rm -rf /mnt/tarp1/boot/grub/locale 96 | 97 | export GRUB_VERSION=2.12 98 | sudo grub-install --version 99 | sudo grub-install --target=i386-pc --boot-directory="/mnt/tarp1/boot" "${LOOPZ}" 100 | sudo grub-install --target=x86_64-efi --removable --efi-directory="/mnt/tarp1" --boot-directory="/mnt/tarp1/boot" --bootloader-id=GRUB 101 | 102 | sudo cp -vf ${GITHUB_WORKSPACE}/grub/grubtiny.cfg /mnt/tarp1/boot/grub/grub.cfg 103 | 104 | ls -ltr /mnt/tarp1/boot/grub/x86_64-efi/ 105 | echo "Copy and check EFI files" 106 | ls -ltr /mnt/tarp1/EFI/BOOT/ 107 | 108 | sudo cat /mnt/tarp1/EFI/BOOT/grub.cfg 109 | sudo blkid "${LOOPX}p1" 110 | sudo blkid "${LOOPZ}p1" 111 | 112 | ## Copy 2nd partition from source to target ## 113 | sudo dd if="${LOOPX}p2" of="${LOOPZ}p2" 114 | 115 | ## Copy 3rd partition from source to target ## 116 | sudo mkdir -p /mnt/p3 117 | sudo mount ${LOOPX}p3 /mnt/p3 118 | sudo mkdir -p /mnt/tarp3 119 | sudo mount ${LOOPZ}p3 /mnt/tarp3 120 | cd /mnt/p3 && sudo find . | sudo cpio -pdm "/mnt/tarp3" 121 | cd $GITHUB_WORKSPACE 122 | sudo cp -vf ${GITHUB_WORKSPACE}/mydata.tgz /mnt/tarp3 123 | sudo cp -vf ${GITHUB_WORKSPACE}/mydata.tgz /mnt/tarp3/mydatab.tgz 124 | ls -ltr /mnt/tarp3 125 | 126 | ## add tinycore packages 127 | sudo cp -vf ${GITHUB_WORKSPACE}/tce/optional/*.* /mnt/tarp3/cde/optional 128 | ls -ltr /mnt/tarp3/cde/optional 129 | sudo cp -vf ${GITHUB_WORKSPACE}/tce/onboot.lst /mnt/tarp3/cde/onboot.lst 130 | sudo cp -vf ${GITHUB_WORKSPACE}/grub/grubbkg.png /mnt/tarp3/grubbkg.png 131 | 132 | ## Finalize ## 133 | sudo umount /mnt/p3 134 | sudo umount /mnt/tarp1 135 | sudo umount /mnt/tarp3 136 | sudo losetup -d ${LOOPZ} 137 | sudo losetup -d ${LOOPX} 138 | gzip -c tinycore-redpill.${VERSION}.m-shell.img > /opt/output/tinycore-redpill.${VERSION}.m-shell.img.gz 139 | qemu-img convert -f raw -O vmdk tinycore-redpill.${VERSION}.m-shell.img tinycore-redpill.${VERSION}.m-shell.vmdk 140 | gzip -c tinycore-redpill.${VERSION}.m-shell.vmdk > /opt/output/tinycore-redpill.${VERSION}.m-shell.vmdk.gz 141 | ls -ltr /opt/output 142 | 143 | - name: Upload MshellImage-${{ steps.get-version.outputs.VERSION }} 144 | if: success() 145 | uses: actions/upload-artifact@v4 146 | with: 147 | name: MshellImage-${{ steps.get-version.outputs.VERSION }} 148 | path: /opt/output 149 | # Publish a release if is a tag 150 | - name: Release 151 | uses: softprops/action-gh-release@v1 152 | with: 153 | tag_name: ${{ inputs.version }} 154 | files: | 155 | /opt/output/*.gz 156 | body_path: RELEASE_NOTES.md 157 | -------------------------------------------------------------------------------- /.github/workflows/gen.mo.yml: -------------------------------------------------------------------------------- 1 | # This is a basic workflow 2 | 3 | name: Make .mo file 4 | 5 | on: 6 | workflow_dispatch: 7 | 8 | jobs: 9 | upload_and_commit: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout 13 | uses: actions/checkout@v4 14 | 15 | - name: Set up Git 16 | run: | 17 | git config --global user.name "PeterSuh-Q3" 18 | git config --global user.email dante9000@gmail.com 19 | 20 | - name: make local mo file 21 | run: | 22 | sudo apt-get update 23 | sudo apt-get install gettext 24 | ROOT_PATH=${{ github.workspace }} 25 | cd ${ROOT_PATH}/ 26 | echo "${ROOT_PATH}" 27 | 28 | #echo "make po begin" 29 | #. ./i18n.h 30 | #for L in `echo "en_US ko_KR ja_JP zh_CN ru_RU fr_FR de_DE es_ES it_IT pt_BR ar_EG hi_IN hu_HU id_ID tr_TR am_ET th_TH"`; do 31 | # [ ! -d "lang/${L}/LC_MESSAGES" ] && mkdir -p lang/${L}/LC_MESSAGES 32 | # lcode=$(echo ${L} | cut -c 4-) 33 | # llang=$(echo ${L} | cut -c 1-2) 34 | # cat Charset-header.h > lang/${L}/LC_MESSAGES/tcrp.po 35 | # sed -i "s#l_lang#${llang}#" lang/${L}/LC_MESSAGES/tcrp.po 36 | # sed -i "s#locale#${L}#" lang/${L}/LC_MESSAGES/tcrp.po 37 | # for ((i=0; i<=56; i++)); do 38 | # msg_us="MSGUS$(printf "%02d" $i)" 39 | # [ "${!msg_us}" == "" ] && continue 40 | # msg_ot="MSG${lcode}$(printf "%02d" $i)" 41 | # #echo "$msg_ot: ${!msg_ot}" 42 | # echo "#: $msg_ot " >> lang/${L}/LC_MESSAGES/tcrp.po 43 | # echo "msgid \"${!msg_us}\"" >> lang/${L}/LC_MESSAGES/tcrp.po 44 | # echo "msgstr \"${!msg_ot}\"" >> lang/${L}/LC_MESSAGES/tcrp.po 45 | # echo "" >> lang/${L}/LC_MESSAGES/tcrp.po 46 | # done 47 | # cat lang/${L}/LC_MESSAGES/tcrp.po 48 | #done 49 | #echo "make po end" 50 | 51 | echo "Convert po2mo begin" 52 | DEST_PATH="${ROOT_PATH}/lang" 53 | echo "${DEST_PATH}" 54 | for P in $(ls ${DEST_PATH}/*/LC_MESSAGES/tcrp.po 2>/dev/null); do 55 | # Use msgfmt command to compile the .po file into a binary .mo file 56 | echo "msgfmt ${P} to ${P/.po/.mo}" 57 | msgfmt ${P} -o ${P/.po/.mo} 58 | done 59 | echo "Convert po2mo end" 60 | 61 | ls -lrt ${DEST_PATH}/*/LC_MESSAGES/ 62 | tar -zcvf lang.tgz -C ${DEST_PATH} . 63 | - name: Commit and push changes 64 | run: | 65 | git add . 66 | git commit -a -m "upload .po .mo" 67 | git push 68 | -------------------------------------------------------------------------------- /.github/workflows/grub.yml: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2022 Ing 3 | # 4 | # This is free software, licensed under the MIT License. 5 | # See /LICENSE for more information. 6 | # 7 | 8 | name: Build grub 9 | 10 | on: 11 | workflow_dispatch: 12 | inputs: 13 | push: 14 | description: "push" 15 | default: false 16 | type: boolean 17 | grubver: 18 | description: "grub version" 19 | default: "grub-2.12" 20 | type: string 21 | bioslst: 22 | description: "bios list" 23 | default: "i386-pc i386-efi x86_64-efi" 24 | type: string 25 | namestr: 26 | description: "name string" 27 | default: "mshell" 28 | type: string 29 | 30 | jobs: 31 | grub: 32 | runs-on: ubuntu-latest 33 | steps: 34 | - name: Checkout 35 | uses: actions/checkout@main 36 | 37 | - name: Checkout 38 | uses: actions/checkout@main 39 | with: 40 | repository: PeterSuh-Q3/tinycore-redpill 41 | token: ${{ secrets.PeterSuh-Q3 }} 42 | path: grub 43 | 44 | - name: Initialization environment 45 | run: | 46 | git config --global user.email "github-actions[bot]@users.noreply.github.com" 47 | git config --global user.name "github-actions[bot]" 48 | sudo timedatectl set-timezone "Asia/Seoul" 49 | 50 | sudo apt update 51 | sudo apt install -y autoconf automake autopoint gettext build-essential bison flex libtool dosfstools e2fsprogs 52 | sudo apt install -y libfreetype6-dev unifont fonts-dejavu libfuse-dev liblzma-dev libzfslinux-dev 53 | 54 | - name: Make Grub 55 | run: | 56 | . buildroot/grub_rr.sh "${{ inputs.grubver}}" "${{ inputs.bioslst}}" "${{ inputs.namestr}}" 57 | 58 | - name: Upload artifact 59 | if: success() && inputs.push == false 60 | uses: actions/upload-artifact@v4 61 | with: 62 | name: grub 63 | path: | 64 | grub.img.gz 65 | retention-days: 5 66 | 67 | - name: Check and Push 68 | if: success() && inputs.push == true 69 | run: | 70 | if [ -f "grub.img.gz" ]; then 71 | echo "Copy img ..." 72 | mv -f grub.img.gz rr/files/initrd/opt/rr/grub.img.gz 73 | 74 | cd rr 75 | echo "Git push ..." 76 | git pull 77 | status=$(git status -s | grep -E 'grub.img.gz' | awk '{printf " %s", $2}') 78 | if [ -n "${status}" ]; then 79 | git add ${status} 80 | git commit -m "update $(date +%Y-%m-%d" "%H:%M:%S)" 81 | git push -f 82 | fi 83 | else 84 | echo "No change ..." 85 | fi 86 | -------------------------------------------------------------------------------- /.github/workflows/make.my.sh.gz.yml: -------------------------------------------------------------------------------- 1 | name: Tar my.sh.gz 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | board: 7 | description: 'board' 8 | required: true 9 | default: "1" 10 | jobs: 11 | tar_compress_and_commit: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - name: Checkout repository 15 | uses: actions/checkout@v2 16 | 17 | - name: Compress shell files 18 | id: remake-mydata-tgz 19 | run: | 20 | VERSION=v`cat functions.sh | grep rploaderver= | cut -d\" -f2` 21 | echo "Version: ${VERSION}" 22 | echo "::set-output name=VERSION::${VERSION}" 23 | 24 | vers=`cat functions.sh | grep rploaderver= | cut -d\" -f2` 25 | note=$(grep -m1 -A$((${{github.event.inputs.board}} - 1)) "${vers} " functions.sh | head -n ${{github.event.inputs.board}}) 26 | #note=`cat functions.sh | grep "${vers} " | head -n 1` 27 | echo " ""${note}" > RELEASE_NOTES.md 28 | echo "note: ${note}" 29 | echo "::set-output name=note::${note}" 30 | 31 | tar -zcvf my.sh.gz lang.tgz i18n.h functions.sh monitor.sh menu.sh menu_m.sh ntp.sh sngen.sh macgen.sh edisk.sh tc_recover.sh models.json custom_config.json modules.alias.4.json extractor.gz ttyd lrz lsz 32 | 33 | mkdir -p ./mydata/home/tc/ 34 | tar -zxvf mydata.tgz -C ./mydata/ 35 | cp -vf my.sh.gz lang.tgz i18n.h functions.sh monitor.sh menu.sh menu_m.sh ntp.sh sngen.sh macgen.sh edisk.sh tc_recover.sh models.json custom_config.json modules.alias.4.json extractor.gz ttyd lrz lsz user_config.json ./mydata/home/tc/ 36 | cp -vf ./tinycore_14.0/etc/motd ./mydata/etc/motd 37 | mkdir -p ./mydata/usr/bin 38 | rm -f ./mydata/usr/bin/menu.sh 39 | rm -f ./mydata/usr/bin/monitor.sh 40 | rm -f ./mydata/usr/bin/ntp.sh 41 | ln -sf /home/tc/menu.sh ./mydata/usr/bin/menu.sh 42 | ln -sf /home/tc/monitor.sh ./mydata/usr/bin/monitor.sh 43 | ln -sf /home/tc/ntp.sh ./mydata/usr/bin/ntp.sh 44 | if ! grep -q "ttyd" ./mydata/opt/bootlocal.sh; then 45 | echo "sudo /home/tc/ttyd login -f tc" >> ./mydata/opt/bootlocal.sh 46 | mkdir -p ./mydata/usr/sbin 47 | cp -f lsz ./mydata/usr/sbin/sz 48 | cp -f lrz ./mydata/usr/sbin/rz 49 | fi 50 | tar -zcvf mydata.tgz -C ./mydata/ . 51 | 52 | rm ./mydata/home/tc/custom-module 53 | cd ./mydata/home/tc 54 | tar -cf - ./ | pigz -p 2 > ${GITHUB_WORKSPACE}/xtcrp.tgz 55 | 56 | - name: Commit changes 57 | run: | 58 | git config --global user.name "PeterSuh-Q3" 59 | git config --global user.email dante9000@gmail.com 60 | git add my.sh.gz mydata.tgz xtcrp.tgz RELEASE_NOTES.md 61 | git commit -m "${{ steps.remake-mydata-tgz.outputs.note }}" 62 | git push 63 | -------------------------------------------------------------------------------- /.github/workflows/vmdk.yml: -------------------------------------------------------------------------------- 1 | name: convert vmdk 2 | 3 | on: 4 | workflow_dispatch: 5 | 6 | jobs: 7 | build: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v3 11 | - name: convert vmdk 12 | run: | 13 | sudo apt-get update 14 | sudo apt-get install qemu-utils 15 | curl -kLO# https://github.com/pocopico/tinycore-redpill/releases/download/v0.9.4.9c/tinycore-redpill-uefi.v0.9.4.9.img.gz 16 | gunzip tinycore-redpill-uefi.v0.9.4.9.img.gz 17 | ls -ltr 18 | 19 | qemu-img convert -f raw -O vmdk tinycore-redpill-uefi.v0.9.4.9.img tinycore-redpill-uefi.v0.9.4.9.vmdk 20 | mkdir -p /opt/output 21 | sudo cp -vf tinycore-redpill-uefi.v0.9.4.9.vmdk /opt/output/ 22 | ls -ltr /opt/output 23 | 24 | - name: Upload vmdk 25 | if: success() 26 | uses: actions/upload-artifact@v3 27 | with: 28 | name: vmdkImage 29 | path: /opt/output 30 | -------------------------------------------------------------------------------- /Charset-header.h: -------------------------------------------------------------------------------- 1 | # i18n translations for PACKAGE package. 2 | # Copyright (C) 2024 THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # Linux User , 2024. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: PACKAGE VERSION\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2024-04-08 13:16+0000\n" 11 | "PO-Revision-Date: 2024-04-08 14:17+0000\n" 12 | "Last-Translator: Peter Suh \n" 13 | "Language-Team: i18n \n" 15 | "Language: locale\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Plural-Forms: nplurals=1; plural=0;\n" 20 | "X-Generator: Weblate 5.5-dev\n" 21 | -------------------------------------------------------------------------------- /RELEASE_NOTES.md: -------------------------------------------------------------------------------- 1 | 1.2.5.0 Added SYNO RAID (LVM) volume mount menu (for data recovery) 2 | -------------------------------------------------------------------------------- /big.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #set -x 3 | # Shows you the largest objects in your repo's pack file. 4 | # Written for osx. 5 | # 6 | # @see https://stubbisms.wordpress.com/2009/07/10/git-script-to-show-largest-pack-objects-and-trim-your-waist-line/ 7 | # @author Antony Stubbs 8 | # set the internal field separator to line break, so that we can iterate easily over the verify-pack output 9 | IFS=$'\n'; 10 | # list all objects including their size, sort by size, take top 10 11 | objects=`git verify-pack -v .git/objects/pack/pack-*.idx | grep -v chain | sort -k3nr | head` 12 | echo "All sizes are in kB's. The pack column is the size of the object, compressed, inside the pack file." 13 | output="size,pack,SHA,location" 14 | allObjects=`git rev-list --all --objects` 15 | for y in $objects 16 | do 17 | # extract the size in bytes 18 | size=$((`echo $y | cut -f 5 -d ' '`/1024)) 19 | # extract the compressed size in bytes 20 | compressedSize=$((`echo $y | cut -f 6 -d ' '`/1024)) 21 | # extract the SHA 22 | sha=`echo $y | cut -f 1 -d ' '` 23 | # find the objects location in the repository tree 24 | other=`echo "${allObjects}" | grep $sha` 25 | #lineBreak=`echo -e "\n"` 26 | output="${output}\n${size},${compressedSize},${other}" 27 | done 28 | echo -e $output | column -t -s ', ' 29 | -------------------------------------------------------------------------------- /cpapp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Prepare Make Direcrtory for volume$2" 4 | 5 | [ ! -d /volume$2/\@appstore/ ] && mkdir /volume$2/\@appstore/ 6 | [ ! -d /volume$2/\@apphome/ ] && mkdir /volume$2/\@apphome/ 7 | [ ! -d /volume$2/\@apptemp/ ] && mkdir /volume$2/\@apptemp/ 8 | [ ! -d /volume$2/\@appdata/ ] && mkdir /volume$2/\@appdata/ 9 | [ ! -d /volume$2/\@appconf/ ] && mkdir /volume$2/\@appconf/ 10 | echo 11 | 12 | for app in $(ls /volume$1/\@appstore); do 13 | 14 | echo 15 | echo "Stopping Package $app" 16 | if [ $app = "Docker" ]; then 17 | for cont in $(docker ps -q); do 18 | echo "Stopping Docker Container $cont" 19 | docker stop $cont 20 | done 21 | fi 22 | synopkg stop $app 23 | sleep 3 24 | 25 | done 26 | 27 | for app in $(ls /volume$1/\@appstore); do 28 | 29 | # if [ $app = "Docker" ]; then 30 | # echo "=>coping docker folder..." 31 | # rsync -av /volume$1/\@docker /volume$2/\@docker 32 | # fi 33 | 34 | echo 35 | echo "Copying $app from volume$1 to volume$2" 36 | echo "=>copying appstore for $app" 37 | cp -r /volume$1/\@appstore/$app /volume$2/\@appstore/. 38 | echo "=>copying apphome for $app" 39 | cp -r /volume$1/\@apphome/$app /volume$2/\@apphome/. 40 | echo "=>copying apptemp for $app" 41 | cp -r /volume$1/\@apptemp/$app /volume$2/\@apptemp/. 42 | echo "=>copying appdata for $app" 43 | cp -r /volume$1/\@appdata/$app /volume$2/\@appdata/. 44 | echo "=>copying appconf for $app" 45 | cp -r /volume$1/\@appconf/$app /volume$2/\@appconf/. 46 | 47 | echo 48 | cd /var/packages/$app/ 49 | echo "=== Link Before ===" 50 | ls -list target home tmp var etc 51 | ln -s /volume$2/\@appconf/$app etc 52 | ln -s /volume$2/\@apphome/$app home 53 | ln -s /volume$2/\@appstore/$app target 54 | ln -s /volume$2/\@apptemp/$app tmp 55 | ln -s /volume$2/\@appdata/$app var 56 | 57 | echo 58 | echo "Starting Package $app" 59 | synopkg start $app 60 | sleep 3 61 | 62 | echo 63 | echo "=== Link After ===" 64 | ls -list target home tmp var etc 65 | 66 | echo 67 | echo "=== Left ===" 68 | ls /volume$1/\@appstore 69 | 70 | echo 71 | echo "=======================================================" 72 | 73 | done 74 | 75 | echo "=== DONE ===" 76 | -------------------------------------------------------------------------------- /edisk.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | for edisk in $(sudo fdisk -l | grep -e "Disk /dev/sd" -e "Disk /dev/nv" | awk '{print $2}' | sed 's/://' ); do 4 | model=$(lsblk -o PATH,MODEL | grep $edisk | head -1) 5 | echo 6 | echo 7 | if [ $(sudo fdisk -l | grep "83 Linux" | grep ${edisk} | wc -l ) -gt 0 ]; then 8 | echo "Skip this disk as it is a loader disk. $model" 9 | continue 10 | else 11 | echo "Erase Disk. $model" 12 | while true; do 13 | read -r -p "Can I really erase this disk $edisk? (yY/nN) : " answer 14 | case $answer in 15 | [Yy]* ) sudo dd if=/dev/zero of=${edisk} bs=1k count=1; sudo blockdev --rereadpt ${edisk}; echo "Disk Erase Complete. $edisk"; break;; 16 | [Nn]* ) echo "Cancel Erase Disk. $edisk"; break;; 17 | * ) echo "Please answer y or Y or n or N";; 18 | esac 19 | done 20 | fi 21 | done 22 | -------------------------------------------------------------------------------- /ediska.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | for edisk in $(fdisk -l | grep -e "Disk /dev/sd" -e "Disk /dev/nv" | awk '{print $2}' | sed 's/://' ); do 4 | model=$(lsblk -o PATH,MODEL | grep $edisk | head -1) 5 | echo 6 | echo 7 | if [ $(fdisk -l | grep "83 Linux" | grep ${edisk} | wc -l ) -gt 0 ]; then 8 | echo "Skip this disk as it is a loader disk. $model" 9 | continue 10 | else 11 | echo "Erase Disk. $model" 12 | while true; do 13 | read -r -p "Can I really erase this disk $edisk? (yY/nN) : " answer 14 | case $answer in 15 | [Yy]* ) dd if=/dev/zero of=${edisk} bs=1k count=1; blockdev --rereadpt ${edisk}; echo "Disk Erase Complete. $edisk"; break;; 16 | [Nn]* ) echo "Cancel Erase Disk. $edisk"; break;; 17 | * ) echo "Please answer y or Y or n or N";; 18 | esac 19 | done 20 | fi 21 | done 22 | -------------------------------------------------------------------------------- /extractor.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/extractor.gz -------------------------------------------------------------------------------- /getlkm.sh: -------------------------------------------------------------------------------- 1 | tcrppart="$(mount | grep -i optional | grep cde | awk -F / '{print $3}' | uniq | cut -c 1-3)3" 2 | local_cache="/mnt/${tcrppart}/auxfiles" 3 | 4 | curl -kL https://raw.githubusercontent.com/PeterSuh-Q3/redpill-lkm/master/rp-lkms.zip -o /tmp/rp-lkms.zip 5 | unzip /tmp/rp-lkms.zip rp-${1}-${2}-prod.ko.gz -d /tmp >/dev/null 2>&1 6 | gunzip -f /tmp/rp-${1}-${2}-prod.ko.gz >/dev/null 2>&1 7 | cp -vf /tmp/rp-${1}-${2}-prod.ko ${local_cache}/redpill.ko 8 | -------------------------------------------------------------------------------- /gitproc.sh: -------------------------------------------------------------------------------- 1 | git config --global user.email "dante9000@gmail.com" 2 | git config --global user.name PeterSuh-Q3 3 | git add $1 4 | git commit -m "$1" 5 | git push 6 | -------------------------------------------------------------------------------- /global_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "docker": { 3 | "use_buildkit": "true", 4 | "image_name": "redpill-tool-chain", 5 | "download_folder": "docker/downloads", 6 | "local_rp_lkm_use": "false", 7 | "local_rp_lkm_path": "./redpill-lkm", 8 | "local_rp_load_use": "false", 9 | "local_rp_load_path": "./redpill-load", 10 | "auto_clean": "false", 11 | "use_build_cache": "false", 12 | "clean_images": "all", 13 | "use_custom_bind_mounts": "true", 14 | "custom_bind_mounts": [ 15 | 16 | ] 17 | }, 18 | "build_configs": [ 19 | { 20 | "id": "bromolow-6.2.4-25556", 21 | "platform_version": "bromolow-6.2.4-25556", 22 | "user_config_json": "bromolow_user_config.json", 23 | "docker_base_image": "debian:8-slim", 24 | "compile_with": "kernel", 25 | "redpill_lkm_make_target": "dev-v6", 26 | "downloads": { 27 | "kernel": { 28 | "url": "https://sourceforge.net/projects/dsgpl/files/Synology%20NAS%20GPL%20Source/25426branch/bromolow-source/linux-3.10.x.txz/download", 29 | "sha256": "18aecead760526d652a731121d5b8eae5d6e45087efede0da057413af0b489ed" 30 | }, 31 | "toolkit_dev": { 32 | "url": "https://sourceforge.net/projects/dsgpl/files/toolkit/DSM6.2/ds.bromolow-6.2.dev.txz/download", 33 | "sha256": "7a0f0ec5919cd67b9972a21f234603c0e608d647baff067029bd46d8a5d660de" 34 | } 35 | }, 36 | "redpill_lkm": { 37 | "source_url": "https://github.com/RedPill-TTG/redpill-lkm.git", 38 | "branch": "master" 39 | }, 40 | "redpill_load": { 41 | "source_url": "https://github.com/RedPill-TTG/redpill-load.git", 42 | "branch": "master" 43 | } 44 | }, 45 | { 46 | "id": "bromolow-7.0-41222", 47 | "platform_version": "bromolow-7.0-41222", 48 | "user_config_json": "bromolow_user_config.json", 49 | "docker_base_image": "debian:8-slim", 50 | "compile_with": "toolkit_dev", 51 | "redpill_lkm_make_target": "dev-v7", 52 | "downloads": { 53 | "kernel": { 54 | "url": "https://sourceforge.net/projects/dsgpl/files/Synology%20NAS%20GPL%20Source/25426branch/bromolow-source/linux-3.10.x.txz/download", 55 | "sha256": "18aecead760526d652a731121d5b8eae5d6e45087efede0da057413af0b489ed" 56 | }, 57 | "toolkit_dev": { 58 | "url": "https://sourceforge.net/projects/dsgpl/files/toolkit/DSM7.0/ds.bromolow-7.0.dev.txz/download", 59 | "sha256": "a5fbc3019ae8787988c2e64191549bfc665a5a9a4cdddb5ee44c10a48ff96cdd" 60 | } 61 | }, 62 | "redpill_lkm": { 63 | "source_url": "https://github.com/RedPill-TTG/redpill-lkm.git", 64 | "branch": "master" 65 | }, 66 | "redpill_load": { 67 | "source_url": "https://github.com/RedPill-TTG/redpill-load.git", 68 | "branch": "master" 69 | } 70 | }, 71 | { 72 | "id": "apollolake-6.2.4-25556", 73 | "platform_version": "apollolake-6.2.4-25556", 74 | "user_config_json": "apollolake_user_config.json", 75 | "docker_base_image": "debian:8-slim", 76 | "compile_with": "kernel", 77 | "redpill_lkm_make_target": "dev-v6", 78 | "downloads": { 79 | "kernel": { 80 | "url": "https://sourceforge.net/projects/dsgpl/files/Synology%20NAS%20GPL%20Source/25426branch/apollolake-source/linux-4.4.x.txz/download", 81 | "sha256": "af815ee065775d2e569fd7176e25c8ba7ee17a03361557975c8e5a4b64230c5b" 82 | }, 83 | "toolkit_dev": { 84 | "url": "https://sourceforge.net/projects/dsgpl/files/toolkit/DSM6.2/ds.apollolake-6.2.dev.txz/download", 85 | "sha256": "4ed228ed21e4190f1ad77a565616409ea1bfb9d271dbf523c636c62c2e8dcf89" 86 | } 87 | }, 88 | "redpill_lkm": { 89 | "source_url": "https://github.com/RedPill-TTG/redpill-lkm.git", 90 | "branch": "master" 91 | }, 92 | "redpill_load": { 93 | "source_url": "https://github.com/RedPill-TTG/redpill-load.git", 94 | "branch": "master" 95 | } 96 | }, 97 | { 98 | "id": "apollolake-7.0-41890", 99 | "platform_version": "apollolake-7.0-41890", 100 | "user_config_json": "apollolake_user_config.json", 101 | "docker_base_image": "debian:10-slim", 102 | "compile_with": "toolkit_dev", 103 | "redpill_lkm_make_target": "dev-v7", 104 | "downloads": { 105 | "kernel": { 106 | "url": "https://sourceforge.net/projects/dsgpl/files/Synology%20NAS%20GPL%20Source/25426branch/apollolake-source/linux-4.4.x.txz/download", 107 | "sha256": "af815ee065775d2e569fd7176e25c8ba7ee17a03361557975c8e5a4b64230c5b" 108 | }, 109 | "toolkit_dev": { 110 | "url": "https://sourceforge.net/projects/dsgpl/files/toolkit/DSM7.0/ds.apollolake-7.0.dev.txz/download", 111 | "sha256": "d349fa644392d4cfab8191243ee38aaa32bd517208c144678e0c855cb5a619ea" 112 | } 113 | }, 114 | "redpill_lkm": { 115 | "source_url": "https://github.com/RedPill-TTG/redpill-lkm.git", 116 | "branch": "master" 117 | }, 118 | "redpill_load": { 119 | "source_url": "https://github.com/RedPill-TTG/redpill-load.git", 120 | "branch": "master" 121 | } 122 | } 123 | ] 124 | } 125 | -------------------------------------------------------------------------------- /grub-2.12.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/grub-2.12.tar.gz -------------------------------------------------------------------------------- /grub/grub.cfg: -------------------------------------------------------------------------------- 1 | # 2 | # ### !!! WARNING - READ ME !!! ### 3 | # 4 | # DO NOT edit this file. This file has been generated automatically by the loader generator. 5 | # If you were asked to use a pre-made image and asked by someone to edit this file DO NOT do it. The only 6 | # supported method of obtaining the loader image is generating it using the loader generator provided. 7 | # 8 | 9 | terminal_output console 10 | if serial --unit=0 --speed=115200; then 11 | terminal_input --append serial_com0 12 | terminal_output --append serial_com0 13 | fi 14 | 15 | set default="0" 16 | set timeout="5" 17 | set timeout_style="menu" 18 | 19 | if [ -s $prefix/grubenv ]; then 20 | load_env --file $prefix/grubenv --skip-sig 21 | set has_env="1" 22 | if [ -n "${saved_entry}" ]; then 23 | set default="${saved_entry}" 24 | fi 25 | else 26 | set has_env="0" 27 | echo "WARN: failed to load env. Default choice will NOT be saved!" 28 | fi 29 | 30 | 31 | function savedefault { 32 | saved_entry="${chosen}" 33 | save_env --file $prefix/grubenv saved_entry 34 | } 35 | 36 | 37 | insmod usb_keyboard 38 | insmod part_msdos 39 | insmod ext2 40 | insmod fat 41 | insmod linux 42 | insmod gzio 43 | 44 | # Distinguish between UEFI and Legacy BIOS 45 | if [ "${grub_platform}" = "efi" ]; then 46 | # UEFI mode 47 | insmod efi_gop 48 | insmod efi_uga 49 | set gfxmode=auto 50 | set gfxpayload=keep 51 | else 52 | # Legacy BIOS mode 53 | insmod vbe 54 | insmod vga 55 | insmod video_bochs 56 | insmod video_cirrus 57 | set gfxmode=1024x768 58 | set gfxpayload=text 59 | fi 60 | 61 | # Common section 62 | insmod font 63 | if loadfont ${prefix}/fonts/unicode.pf2; then 64 | insmod gfxterm 65 | terminal_output gfxterm 66 | fi 67 | 68 | # Load video modules 69 | function load_video { 70 | if [ x$feature_all_video_module = xy ]; then 71 | insmod all_video 72 | else 73 | if [ "${grub_platform}" = "efi" ]; then 74 | insmod efi_gop 75 | insmod efi_uga 76 | else 77 | insmod vbe 78 | insmod vga 79 | insmod video_bochs 80 | insmod video_cirrus 81 | fi 82 | fi 83 | } 84 | 85 | load_video 86 | 87 | # Search for root partition 88 | search --set=root --fs-uuid 6234-C863 --hint hd0,msdos3 89 | 90 | # Load PNG module 91 | insmod png 92 | 93 | # Set menu colors 94 | set menu_color_normal=yellow/black 95 | set menu_color_highlight=black/light-gray 96 | 97 | # Set background image 98 | if background_image /grubbkg.png; then 99 | true 100 | else 101 | set menu_color_normal=yellow/black 102 | set menu_color_highlight=black/light-gray 103 | fi 104 | 105 | menuentry 'xTCRP Configure Boot Loader (Loader Build)' { 106 | savedefault 107 | search --set=root --fs-uuid 6234-C863 --hint hd0,msdos3 108 | echo Loading Linux... 109 | linux /bzImage-friend loglevel=3 waitusb=5 vga=791 net.ifnames=0 biosdevname=0 console=ttyS0,115200n8 IWANTTOCONFIGURE 110 | echo Loading initramfs to configure loader... 111 | initrd /initrd-friend 112 | echo Loading RAMDISK to configure loader... 113 | set gfxpayload=1024x768x16,1024x768 114 | } 115 | -------------------------------------------------------------------------------- /grub/grub.img.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/grub/grub.img.gz -------------------------------------------------------------------------------- /grub/grubbkg.cfg: -------------------------------------------------------------------------------- 1 | # Distinguish between UEFI and Legacy BIOS 2 | if [ "${grub_platform}" = "efi" ]; then 3 | # UEFI mode 4 | insmod efi_gop 5 | insmod efi_uga 6 | set gfxmode=1024x768x32,auto 7 | set gfxpayload=keep 8 | else 9 | # Legacy BIOS mode 10 | insmod vbe 11 | insmod vga 12 | insmod video_bochs 13 | insmod video_cirrus 14 | set gfxmode=1024x768 15 | set gfxpayload=text 16 | fi 17 | 18 | # Common section 19 | insmod font 20 | if loadfont ${prefix}/fonts/unicode.pf2; then 21 | insmod gfxterm 22 | terminal_output gfxterm 23 | fi 24 | 25 | # Load video modules 26 | function load_video { 27 | if [ x$feature_all_video_module = xy ]; then 28 | insmod all_video 29 | else 30 | if [ "${grub_platform}" = "efi" ]; then 31 | insmod efi_gop 32 | insmod efi_uga 33 | else 34 | insmod vbe 35 | insmod vga 36 | insmod video_bochs 37 | insmod video_cirrus 38 | fi 39 | fi 40 | } 41 | 42 | load_video 43 | 44 | # Search for root partition 45 | search --set=root --fs-uuid 6234-C863 --hint hd0,msdos3 46 | 47 | # Load PNG module 48 | insmod png 49 | 50 | # Set menu colors 51 | set menu_color_normal=yellow/black 52 | set menu_color_highlight=black/light-gray 53 | 54 | # Set normal text colors 55 | set color_normal=light-magenta/black 56 | set color_highlight=light-magenta/black 57 | 58 | # Set background image 59 | if background_image /grubbkg.png; then 60 | true 61 | else 62 | set menu_color_normal=yellow/black 63 | set menu_color_highlight=black/light-gray 64 | fi 65 | -------------------------------------------------------------------------------- /grub/grubbkg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/grub/grubbkg.png -------------------------------------------------------------------------------- /grub/grubtiny.cfg: -------------------------------------------------------------------------------- 1 | # 2 | # ### !!! WARNING - READ ME !!! ### 3 | # 4 | # DO NOT edit this file. This file has been generated automatically by the loader generator. 5 | # If you were asked to use a pre-made image and asked by someone to edit this file DO NOT do it. The only 6 | # supported method of obtaining the loader image is generating it using the loader generator provided. 7 | # 8 | 9 | terminal_output console 10 | if serial --unit=0 --speed=115200; then 11 | terminal_input --append serial_com0 12 | terminal_output --append serial_com0 13 | fi 14 | 15 | set default="0" 16 | set timeout="5" 17 | set timeout_style="menu" 18 | 19 | if [ -s $prefix/grubenv ]; then 20 | load_env --file $prefix/grubenv --skip-sig 21 | set has_env="1" 22 | if [ -n "${saved_entry}" ]; then 23 | set default="${saved_entry}" 24 | fi 25 | else 26 | set has_env="0" 27 | echo "WARN: failed to load env. Default choice will NOT be saved!" 28 | fi 29 | 30 | 31 | function savedefault { 32 | saved_entry="${chosen}" 33 | save_env --file $prefix/grubenv saved_entry 34 | } 35 | 36 | 37 | insmod usb_keyboard 38 | insmod part_msdos 39 | insmod ext2 40 | insmod fat 41 | insmod linux 42 | insmod gzio 43 | 44 | # Distinguish between UEFI and Legacy BIOS 45 | if [ "${grub_platform}" = "efi" ]; then 46 | # UEFI mode 47 | insmod efi_gop 48 | insmod efi_uga 49 | set gfxmode=auto 50 | set gfxpayload=keep 51 | else 52 | # Legacy BIOS mode 53 | insmod vbe 54 | insmod vga 55 | insmod video_bochs 56 | insmod video_cirrus 57 | set gfxmode=1024x768 58 | set gfxpayload=text 59 | fi 60 | 61 | # Common section 62 | insmod font 63 | if loadfont ${prefix}/fonts/unicode.pf2; then 64 | insmod gfxterm 65 | terminal_output gfxterm 66 | fi 67 | 68 | # Load video modules 69 | function load_video { 70 | if [ x$feature_all_video_module = xy ]; then 71 | insmod all_video 72 | else 73 | if [ "${grub_platform}" = "efi" ]; then 74 | insmod efi_gop 75 | insmod efi_uga 76 | else 77 | insmod vbe 78 | insmod vga 79 | insmod video_bochs 80 | insmod video_cirrus 81 | fi 82 | fi 83 | } 84 | 85 | load_video 86 | 87 | # Search for root partition 88 | search --set=root --fs-uuid 6234-C863 --hint hd0,msdos3 89 | 90 | # Load PNG module 91 | insmod png 92 | 93 | # Set menu colors 94 | set menu_color_normal=yellow/black 95 | set menu_color_highlight=black/light-gray 96 | 97 | # Set background image 98 | if background_image /grubbkg.png; then 99 | true 100 | else 101 | set menu_color_normal=yellow/black 102 | set menu_color_highlight=black/light-gray 103 | fi 104 | 105 | menuentry 'Tiny Core Redpill Image Build' { 106 | savedefault 107 | search --set=root --fs-uuid 6234-C863 --hint hd0,msdos 108 | echo Loading Linux... 109 | linux /vmlinuz64 loglevel=3 cde waitusb=5 vga=791 110 | echo Loading initramfs... 111 | initrd /corepure64.gz 112 | echo Booting TinyCore for loader creation 113 | set gfxpayload=1024x768x16,1024x768 114 | } 115 | -------------------------------------------------------------------------------- /grub_bootseq_chg.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Please excute in junior root" 4 | 5 | mkdir -p /mnt/localdiskp1 6 | cd /dev 7 | mount synoboot1 /mnt/localdiskp1 8 | sed -i "/set default=/cset default=\"1\"" /mnt/localdiskp1/boot/grub/grub.cfg 9 | 10 | echo "Entries in Localdisk bootloader : " 11 | echo "=======================================================================" 12 | grep menuentry /mnt/localdiskp1/boot/grub/grub.cfg 13 | 14 | echo "Setting default boot entry to Tiny Core Image Build" 15 | cat /mnt/localdiskp1/boot/grub/grub.cfg | grep "set default" 16 | -------------------------------------------------------------------------------- /grubmenu.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | if [ $(uname -a | grep "synology" | wc -l) -gt 0 ]; then 5 | SYNO="Y" 6 | else 7 | SYNO="N" 8 | fi 9 | 10 | #echo "$SYNO" 11 | 12 | if [ "$SYNO" == "Y" ]; then 13 | loaderdisk="synoboot" 14 | else 15 | loaderdisk=$(mount | grep -i optional | grep cde | awk -F / '{print $3}' | uniq | cut -c 1-3) 16 | fi 17 | 18 | echo 19 | 20 | if [ ! -d /mnt/localdiskp1 ]; then 21 | mkdir -p /mnt/localdiskp1 22 | fi 23 | 24 | cd /dev 25 | sudo mount ${loaderdisk}1 /mnt/localdiskp1 26 | echo "Mounting /dev/${loaderdisk}1 to /mnt/localdiskp1 " 27 | 28 | echo 29 | 30 | if [ $(mount | grep -i /mnt/localdiskp1 | wc -l) -eq 1 ] ; then 31 | echo "grub boot partition mounted normally." 32 | else 33 | echo "ERROR: Failed to mount correctly all required partitions" 34 | exit 0 35 | fi 36 | 37 | echo 38 | 39 | echo "Entries in Localdisk bootloader : " 40 | echo "=======================================================================" 41 | grep menuentry /mnt/localdiskp1/boot/grub/grub.cfg 42 | 43 | #echo "$1" 44 | echo 45 | 46 | if [ "$1" = "1" ]; then 47 | echo "Setting default boot entry to USB" 48 | sudo sed -i "/set default=/cset default=\"0\"" /mnt/localdiskp1/boot/grub/grub.cfg 49 | elif [ "$1" = "2" ]; then 50 | echo "Setting default boot entry to SATA" 51 | sudo sed -i "/set default=/cset default=\"1\"" /mnt/localdiskp1/boot/grub/grub.cfg 52 | elif [ "$1" = "3" ]; then 53 | echo "Setting default boot entry to USB Re-Install DSM / Tiny Core Image Build" 54 | sudo sed -i "/set default=/cset default=\"2\"" /mnt/localdiskp1/boot/grub/grub.cfg 55 | elif [ "$1" = "4" ]; then 56 | echo "Setting default boot entry to SATA Re-Install DSM" 57 | sudo sed -i "/set default=/cset default=\"3\"" /mnt/localdiskp1/boot/grub/grub.cfg 58 | elif [ "$1" = "5" ]; then 59 | echo "Setting default boot entry to Tiny Core Image Build" 60 | sudo sed -i "/set default=/cset default=\"4\"" /mnt/localdiskp1/boot/grub/grub.cfg 61 | fi 62 | 63 | echo 64 | 65 | # cat localdiskp1/boot/grub/grub.cfg 66 | 67 | sudo umount /mnt/localdiskp1 68 | 69 | if [ "$SYNO" == "N" ]; then 70 | cd /home/tc 71 | fi 72 | 73 | exit 0 74 | -------------------------------------------------------------------------------- /hddcheck.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | os-detect() { 4 | os=$(uname -s) 5 | if [ "$os" == "Linux" ]; then 6 | distro=$(awk -F= '$1=="ID" { print $2 }' /etc/os-release) 7 | if [ "$distro" == "arch" ]; then 8 | echo "Arch Linux detected" 9 | pacman -S smartmontools 10 | elif [ "$distro" == "centos" ]; then 11 | echo "CentOS detected" 12 | yum install smartmontools 13 | elif [ "$distro" == "debian" ] || [ "$distro" == "ubuntu" ]; then 14 | echo "debian/ubuntu detected" 15 | apt install smartmontools 16 | elif [ "$distro" == "gentoo" ]; then 17 | echo "gentoo detected" 18 | emerge smartmontools 19 | elif [ "$distro" == "tinycore" ]; then 20 | echo "tinycore detected" 21 | tce-load -wi smartmontools 22 | else 23 | echo "Unknown Linux distribution detected" 24 | fi 25 | elif [ "$os" == "Darwin" ]; then 26 | echo "MacOS detected" 27 | brew install smartmontools 28 | else 29 | echo "Unsupported OS detected" 30 | fi 31 | } 32 | 33 | init() { 34 | for devtree in /dev/disk[0-9] 35 | do 36 | if [ "$(uname -s)" == "Darwin" ]; then 37 | diskutil list | grep -E '/dev/disk[0-9]' | grep physical | awk '{ print $1 }' | while read device; do 38 | smartctl --smart=on ${device} > /dev/null 2>&1 39 | done 40 | else 41 | smartctl --smart=on ${devtree} > /dev/null 2>&1 42 | fi 43 | done 44 | } 45 | 46 | run() { 47 | if [ "$(uname -s)" == "Darwin" ]; then 48 | diskutil list | grep -E '/dev/disk[0-9]' | grep physical | awk '{ print $1 }' | while read device; do 49 | protocol=$(diskutil info ${device} | grep "Protocol:" | awk '{ print $2 }') 50 | 51 | if [ "$protocol" == "PCI-Express" ]; then 52 | echo -e "\r\n${device} NVMe 디스크 S.M.A.R.T 정보" 53 | smartctl -a ${device} | grep "Model Number" | awk -F : '{ print "NVMe 모델 : "$2 }' 54 | smartctl -a ${device} | grep "Serial Number" | awk -F : '{ print "NVMe 시리얼넘버 : "$2}' 55 | smartctl -a ${device} | grep "Firmware Version:" | awk -F [ '{ print "NVMe 펌웨어 버전 : "$2}' 56 | smartctl -a ${device} | grep "Total NVM Capacity" | awk -F [ '{ print "NVMe 용량 : ["$2}' 57 | smartctl -a ${device} | grep "Temperature:" | awk '{ print "NVMe 온도 : ("$2" 도)"}' 58 | smartctl -a ${device} | grep "Power Cycles:" | awk -F : '{ print "NVMe 사용 횟수 : "$2" 회"}' 59 | smartctl -a ${device} | grep "Power On Hours:" | awk -F : '{ print "NVMe 사용 시간 : "$2" 시간"}' 60 | smartctl -a ${device} | grep "Unsafe Shutdowns:" | awk -F : '{ print "NVMe 불안정 종료횟수 : "$2" 회"}' 61 | elif [ "$protocol" == "SATA" ]; then 62 | echo -e "\r\n${device} SATA 디스크 S.M.A.R.T 정보" 63 | smartctl -a ${device} | grep "Device Model" | awk -F : '{ print "디스크 모델 : "$2 }' 64 | smartctl -a ${device} | grep "Serial Number" | awk -F : '{ print "디스크 시리얼넘버 : "$2}' 65 | smartctl -a ${device} | grep "User Capacity" | awk -F [ '{ print "디스크 용량 : ["$2}' 66 | smartctl -a ${device} | grep Reallocated_Sector_Ct | awk '{ print "디스크섹터 문제("$2") : "$10 }' 67 | smartctl -a ${device} | grep Current_Pending_Sector | awk '{ print "불안정한 색터 수("$2") : "$10 }' 68 | smartctl -a ${device} | grep "Power_Cycle_Count" | awk '{ print "사용 횟수("$2") : "$10 }' 69 | smartctl -a ${device} | grep "Power_On_Hours" | awk '{ print "사용 시간("$2") : "$10 }' 70 | smartctl -a ${device} | grep "174 Unsafe_Shutdown_Count" | awk '{ print "불안정 종료횟수("$2") : "$10 }' 71 | fi 72 | done 73 | else 74 | 75 | for device in /dev/nvme[0-9]n[0-9] 76 | do 77 | echo -e "\r\n${device} NVMe 디스크 S.M.A.R.T 정보" 78 | smartctl -a ${device} | grep "Model Number" | awk -F : '{ print "NVMe 모델 : "$2 }' 79 | smartctl -a ${device} | grep "Serial Number" | awk -F : '{ print "NVMe 시리얼넘버 : "$2}' 80 | smartctl -a ${device} | grep "Firmware Version:" | awk -F [ '{ print "NVMe 펌웨어 버전 : "$2}' 81 | smartctl -a ${device} | grep "Total NVM Capacity" | awk -F [ '{ print "NVMe 용량 : ["$2}' 82 | smartctl -a ${device} | grep "Temperature:" | awk '{ print "NVMe 온도 : ("$2" 도)"}' 83 | smartctl -a ${device} | grep "Power Cycles:" | awk -F : '{ print "NVMe 사용 횟수 : "$2" 회"}' 84 | smartctl -a ${device} | grep "Power On Hours:" | awk -F : '{ print "NVMe 사용 시간 : "$2" 시간"}' 85 | smartctl -a ${device} | grep "Unsafe Shutdowns:" | awk -F : '{ print "NVMe 불안정 종료횟수 : "$2" 회"}' 86 | done 87 | 88 | for device in /dev/sd[a-z] 89 | do 90 | echo -e "\r\n${device} 하드디스크 S.M.A.R.T 정보" 91 | smartctl -a ${device} | grep "Device Model" | awk -F : '{ print "하드디스크 모델 : "$2 }' 92 | smartctl -a ${device} | grep "Serial Number" | awk -F : '{ print "하드디스크 시리얼넘버 : "$2}' 93 | smartctl -a ${device} | grep "User Capacity" | awk -F [ '{ print "하드디스크 용량 : ["$2}' 94 | smartctl -a ${device} | grep Temperature_Celsius | awk '{ print "하드디스크 온도("$2") : "$10 }' 95 | smartctl -a ${device} | grep Raw_Read_Error_Rate | awk '{ print "물리적인 충격 수("$2") : "$10 }' 96 | smartctl -a ${device} | grep Reallocated_Sector_Ct | awk '{ print "섹터 문제("$2") : "$10 }' 97 | smartctl -a ${device} | grep Seek_Error_Rate | awk '{ print "탐색 오류("$2") : "$10 }' 98 | smartctl -a ${device} | grep Spin_Retry_Count | awk '{ print "최대 RPM까지 회전 시도 수("$2") : "$10 }' 99 | smartctl -a ${device} | grep Current_Pending_Sector | awk '{ print "불안정한 색터 수("$2") : "$10 }' 100 | smartctl -a ${device} | grep Offline_Uncorrectable | awk '{ print "배드섹터 수("$2") : "$10 }' 101 | smartctl -a ${device} | grep UDMA_CRC_Error_Count | awk '{ print "전송과정 문제, 케이블, 포트 문제 등 ("$2") : "$10 }' 102 | done 103 | fi 104 | } 105 | 106 | if [ "$(whereis smartctl | awk '{ print $2}')" == "" ] 107 | then 108 | os-detect 109 | else 110 | init 111 | run 112 | fi 113 | -------------------------------------------------------------------------------- /i18n.h: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ### Messages Contents 4 | 5 | ## ZZ gettext "tcrp" 6 | function load_zz() { 7 | MSGZZ00=$(gettext "tcrp" "Device-Tree[DT] Base Models & HBAs do not require SataPortMap,DiskIdxMap. DT models do not support HBAs") 8 | MSGZZ01=$(gettext "tcrp" "Choose a Dev Mod handling method, DDSML/EUDEV") 9 | MSGZZ02=$(gettext "tcrp" "Choose a Synology Model") 10 | MSGZZ03=$(gettext "tcrp" "Choose a Synology Serial Number") 11 | MSGZZ04=$(gettext "tcrp" "Choose a mac address") 12 | MSGZZ05=$(gettext "tcrp" "Choose a DSM VERSION, Current") 13 | MSGZZ06=$(gettext "tcrp" "Choose a loader Mode, Current") 14 | MSGZZ10=$(gettext "tcrp" "Edit user config file manually") 15 | MSGZZ11=$(gettext "tcrp" "Choose a keymap") 16 | MSGZZ12=$(gettext "tcrp" "Format Disk(s) # Excluding Loader Disk") 17 | MSGZZ13=$(gettext "tcrp" "Backup TCRP") 18 | MSGZZ14=$(gettext "tcrp" "Reboot") 19 | MSGZZ15=$(gettext "tcrp" "Power Off") 20 | MSGZZ16=$(gettext "tcrp" "Max 24 Threads, any x86-64") 21 | MSGZZ17=$(gettext "tcrp" "Max 8 Threads, Haswell or later,iGPU Transcoding") 22 | MSGZZ18=$(gettext "tcrp" "Build the loader") 23 | MSGZZ20=$(gettext "tcrp" "Max ? Threads, any x86-64") 24 | MSGZZ21=$(gettext "tcrp" "Have a camera license") 25 | MSGZZ22=$(gettext "tcrp" "Max 16 Threads, any x86-64") 26 | MSGZZ23=$(gettext "tcrp" "Max 16 Threads, Haswell or later") 27 | MSGZZ24=$(gettext "tcrp" "Nvidia GTX1650") 28 | MSGZZ25=$(gettext "tcrp" "Nvidia GTX1050Ti") 29 | MSGZZ26=$(gettext "tcrp" "EUDEV (enhanced user-space device)") 30 | MSGZZ27=$(gettext "tcrp" "DDSML (Detected Device Static Module Loading)") 31 | MSGZZ28=$(gettext "tcrp" "FRIEND (most recently stabilized)") 32 | MSGZZ29=$(gettext "tcrp" "JOT (The old way before friend)") 33 | MSGZZ30=$(gettext "tcrp" "Generate a random serial number") 34 | MSGZZ31=$(gettext "tcrp" "Enter a serial number") 35 | MSGZZ32=$(gettext "tcrp" "Get a real mac address") 36 | MSGZZ33=$(gettext "tcrp" "Generate a random mac address") 37 | MSGZZ34=$(gettext "tcrp" "Enter a mac address") 38 | MSGZZ35=$(gettext "tcrp" "press any key to continue...") 39 | MSGZZ36=$(gettext "tcrp" "Synology serial number not set. Check user_config.json again. Abort the loader build !!!") 40 | MSGZZ37=$(gettext "tcrp" "The first MAC address is not set. Check user_config.json again. Abort the loader build !!!") 41 | MSGZZ38=$(gettext "tcrp" "The netif_num and the number of mac addresses do not match. Check user_config.json again. Abort the loader build !!!") 42 | MSGZZ39=$(gettext "tcrp" "Choose a language") 43 | MSGZZ40=$(gettext "tcrp" "DDSML+EUDEV") 44 | MSGZZ41=$(gettext "tcrp" "Choose a Storage Panel Size") 45 | MSGZZ50=$(gettext "tcrp" "Mac-spoof Addon") 46 | MSGZZ51=$(gettext "tcrp" "Prevent SataPortMap,DiskIdxMap initialization") 47 | MSGZZ52=$(gettext "tcrp" "Show SATA(s) ports and drives for SataPortMap") 48 | MSGZZ53=$(gettext "tcrp" "Show error log of running loader") 49 | MSGZZ54=$(gettext "tcrp" "Burn TCRP Bootloader Img to USB or SSD") 50 | MSGZZ55=$(gettext "tcrp" "Clone Current TCRP Bootloader to USB or SSD") 51 | MSGZZ56=$(gettext "tcrp" "sata_remap processing for SataPort reordering") 52 | MSGZZ57=$(gettext "tcrp" "nvmesystem Addon(NVMe single volume use)") 53 | MSGZZ58=$(gettext "tcrp" "Boot the loader") 54 | MSGZZ59=$(gettext "tcrp" "Additional Functions") 55 | MSGZZ60=$(gettext "tcrp" "Change GRUB boot entry default value") 56 | MSGZZ61=$(gettext "tcrp" "Inject Bootloader to Syno DISK") 57 | MSGZZ62=$(gettext "tcrp" "Remove the injected bootloader partition") 58 | MSGZZ63=$(gettext "tcrp" "Packing loader file for remote update") 59 | MSGZZ07="" 60 | MSGZZ08="" 61 | MSGZZ09="" 62 | MSGZZ19="" 63 | #MSX=$(gettext "tcrp" "No NIC found! - Loader does not work without Network connection.") 64 | } 65 | -------------------------------------------------------------------------------- /inject-tool.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/inject-tool.tgz -------------------------------------------------------------------------------- /inject-tool/bc.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/inject-tool/bc.tcz -------------------------------------------------------------------------------- /inject-tool/bc.tcz.dep: -------------------------------------------------------------------------------- 1 | readline.tcz 2 | -------------------------------------------------------------------------------- /inject-tool/bc.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | 87f8396076b47d90cdf0d567f8b8bbac bc.tcz 2 | -------------------------------------------------------------------------------- /inject-tool/dosfstools.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/inject-tool/dosfstools.tcz -------------------------------------------------------------------------------- /inject-tool/dosfstools.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | 7972335ce1ffd4267b464cebe824953d dosfstools.tcz 2 | -------------------------------------------------------------------------------- /inject-tool/glibc_gconv.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/inject-tool/glibc_gconv.tcz -------------------------------------------------------------------------------- /inject-tool/glibc_gconv.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | 534288071d0a5509b791d98d8a825f33 glibc_gconv.tcz 2 | -------------------------------------------------------------------------------- /inject-tool/grub2-multi.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/inject-tool/grub2-multi.tcz -------------------------------------------------------------------------------- /inject-tool/grub2-multi.tcz.dep: -------------------------------------------------------------------------------- 1 | libisoburn.tcz 2 | mtools.tcz 3 | glibc_gconv.tcz 4 | liblzma.tcz 5 | liblvm2.tcz 6 | -------------------------------------------------------------------------------- /inject-tool/grub2-multi.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | bd3646a3a4e6ebf97bd4ababfec727cd grub2-multi.tcz 2 | -------------------------------------------------------------------------------- /inject-tool/libburn.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/inject-tool/libburn.tcz -------------------------------------------------------------------------------- /inject-tool/libburn.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | 1aeaa7b3fbc25d43867d571d59fa109e libburn.tcz 2 | -------------------------------------------------------------------------------- /inject-tool/libisoburn.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/inject-tool/libisoburn.tcz -------------------------------------------------------------------------------- /inject-tool/libisoburn.tcz.dep: -------------------------------------------------------------------------------- 1 | libburn.tcz 2 | libisofs.tcz 3 | readline.tcz 4 | -------------------------------------------------------------------------------- /inject-tool/libisoburn.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | 69a463c15d221312b8a0f148e50d2aba libisoburn.tcz 2 | -------------------------------------------------------------------------------- /inject-tool/libisofs.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/inject-tool/libisofs.tcz -------------------------------------------------------------------------------- /inject-tool/libisofs.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | 32a11e00db9b236d96f14567623d48d2 libisofs.tcz 2 | -------------------------------------------------------------------------------- /inject-tool/liblvm2.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/inject-tool/liblvm2.tcz -------------------------------------------------------------------------------- /inject-tool/liblvm2.tcz.dep: -------------------------------------------------------------------------------- 1 | udev-lib.tcz 2 | -------------------------------------------------------------------------------- /inject-tool/liblvm2.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | 2cb278ef278a6b8819df52ec2e6bedc3 liblvm2.tcz 2 | -------------------------------------------------------------------------------- /inject-tool/liblzma.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/inject-tool/liblzma.tcz -------------------------------------------------------------------------------- /inject-tool/liblzma.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | d447d125601cb0729b9919ea80ca0e59 liblzma.tcz 2 | -------------------------------------------------------------------------------- /inject-tool/mtools.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/inject-tool/mtools.tcz -------------------------------------------------------------------------------- /inject-tool/mtools.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | 01fa03918d401dd16bd36808300bcb10 mtools.tcz 2 | -------------------------------------------------------------------------------- /inject-tool/readline.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/inject-tool/readline.tcz -------------------------------------------------------------------------------- /inject-tool/readline.tcz.dep: -------------------------------------------------------------------------------- 1 | ncursesw.tcz 2 | -------------------------------------------------------------------------------- /inject-tool/readline.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | 65a0e7885b2502704c2397b0b2a7de4b readline.tcz 2 | -------------------------------------------------------------------------------- /inject-tool/udev-lib.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/inject-tool/udev-lib.tcz -------------------------------------------------------------------------------- /inject-tool/udev-lib.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | dff3775dea468c31e517f5ec5f403ce0 udev-lib.tcz 2 | -------------------------------------------------------------------------------- /jelly.sh: -------------------------------------------------------------------------------- 1 | 2 | mkdir -p /volume1/docker/jellyfin/config 3 | mkdir -p /volume1/docker/jellyfin/cache 4 | 5 | curl -kLO# https://repo.jellyfin.org/files/ffmpeg/debian/latest-7.x/amd64/jellyfin-ffmpeg7_7.0.2-9-bookworm_amd64.deb 6 | dpkg-deb -x jellyfin-ffmpeg*.deb temp_dir 7 | mkdir -p /usr/lib/jellyfin-ffmpeg 8 | rsync -av temp_dir/usr/lib/jellyfin-ffmpeg/ /usr/lib/jellyfin-ffmpeg/ 9 | cd /usr/lib/jellyfin-ffmpeg 10 | ./ffmpeg 11 | -------------------------------------------------------------------------------- /jellyfin-igpu.yaml: -------------------------------------------------------------------------------- 1 | version: '3.x' 2 | services: 3 | jellyfin: 4 | image: jellyfin/jellyfin:latest 5 | container_name: jellyfin-igpu 6 | environment: 7 | - UID=1026 8 | - GID=100 9 | - TZ=Asia/Seoul 10 | - DOCKER_MODS=linuxserver/mods:jellyfin-opencl-intel 11 | network_mode: 'host' 12 | ports: 13 | - 8096:8096 14 | volumes: 15 | - ./config:/config 16 | - ./cache:/cache 17 | - /volume1/_DRAMA:/volume1/_DRAMA 18 | - /usr/lib/jellyfin-ffmpeg:/ffmpeg 19 | devices: 20 | - "/dev/dri/card0:/dev/dri/card0" 21 | - "/dev/dri/renderD128:/dev/dri/renderD128" 22 | privileged: true 23 | restart: always 24 | -------------------------------------------------------------------------------- /jellyfin-nvidia.yaml: -------------------------------------------------------------------------------- 1 | version: '3.x' 2 | services: 3 | jellyfin: 4 | image: jellyfin/jellyfin:latest 5 | container_name: jellyfin-nvidia 6 | runtime: nvidia 7 | environment: 8 | - UID=1026 9 | - GID=100 10 | - GIDLIST=100 11 | - TZ=Asia/Seoul 12 | - NVIDIA_VISIBLE_DEVICES=all 13 | - NVIDIA_DRIVER_CAPABILITIES=all 14 | network_mode: 'host' 15 | ports: 16 | - 8096:8096 17 | volumes: 18 | - ./config:/config 19 | - ./cache:/cache 20 | - ./video:/media 21 | - /usr/lib/jellyfin-ffmpeg:/ffmpeg 22 | -------------------------------------------------------------------------------- /lang.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lang.tgz -------------------------------------------------------------------------------- /lang/am_ET/LC_MESSAGES/tcrp.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lang/am_ET/LC_MESSAGES/tcrp.mo -------------------------------------------------------------------------------- /lang/am_ET/LC_MESSAGES/tcrp.po: -------------------------------------------------------------------------------- 1 | # i18n translations for PACKAGE package. 2 | # Copyright (C) 2024 THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # Linux User , 2024. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: PACKAGE VERSION\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2024-04-08 13:16+0000\n" 11 | "PO-Revision-Date: 2024-04-08 14:17+0000\n" 12 | "Last-Translator: Peter Suh \n" 13 | "Language-Team: i18n \n" 15 | "Language: am_ET\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Plural-Forms: nplurals=1; plural=0;\n" 20 | "X-Generator: Weblate 5.5-dev\n" 21 | #: MSGET00 22 | msgid "Device-Tree[DT] Base Models & HBAs do not require SataPortMap,DiskIdxMap. DT models do not support HBAs" 23 | msgstr "Device-Tree[DT] Base Models እና HBAs SataPortMap፣DiskIdxMap አያስፈልጋቸውም።የዲቲ ሞዴሎች HBAsን አይደግፉም።" 24 | 25 | #: MSGET01 26 | msgid "Choose a Dev Mod handling method, DDSML/EUDEV" 27 | msgstr "የዴቭ ሞድ አያያዝ ዘዴን ይምረጡ፣DDSML/EUDEV" 28 | 29 | #: MSGET02 30 | msgid "Choose a Synology Model" 31 | msgstr "የሲኖሎጂ ሞዴል ምረጥ" 32 | 33 | #: MSGET03 34 | msgid "Choose a Synology Serial Number" 35 | msgstr "የሲኖሎጂ መለያ ቁጥር ምረጥ" 36 | 37 | #: MSGET04 38 | msgid "Choose a mac address" 39 | msgstr "ማክ አድራሻ ምረጥ" 40 | 41 | #: MSGET05 42 | msgid "Choose a DSM VERSION, Current" 43 | msgstr "DSM VERSION፣ Current ምረጥ" 44 | 45 | #: MSGET06 46 | msgid "Choose a loader Mode, Current" 47 | msgstr "የጫኚ ሁነታ ምረጥ፣ የአሁኑ" 48 | 49 | #: MSGET10 50 | msgid "Edit user config file manually" 51 | msgstr "የተጠቃሚ ውቅር ፋይልን በእጅ አርትዕ" 52 | 53 | #: MSGET11 54 | msgid "Choose a keymap" 55 | msgstr "የቁልፍ ካርታ ምረጥ" 56 | 57 | #: MSGET12 58 | msgid "Format Disk(s) # Excluding Loader Disk" 59 | msgstr "ቅርጸት ዲስክ(ዎች # ጫኚ ዲስክን ሳይጨምር)" 60 | 61 | #: MSGET13 62 | msgid "Backup TCRP" 63 | msgstr "ምትኬ TCRP" 64 | 65 | #: MSGET14 66 | msgid "Reboot" 67 | msgstr "ዳግም አስነሳ" 68 | 69 | #: MSGET15 70 | msgid "Power Off" 71 | msgstr "ኃይል ጠፍቷል" 72 | 73 | #: MSGET16 74 | msgid "Max 24 Threads, any x86-64" 75 | msgstr "ከፍተኛ 24 ክሮች፣ ማንኛውም x86-64" 76 | 77 | #: MSGET17 78 | msgid "Max 8 Threads, Haswell or later,iGPU Transcoding" 79 | msgstr "ከፍተኛ 8 ክሮች፣ሃስዌል ወይም ከዚያ በኋላ፣iGPU ትራንስኮዲንግ" 80 | 81 | #: MSGET18 82 | msgid "Build the loader" 83 | msgstr "ጫኚውን ይገንቡ" 84 | 85 | #: MSGET20 86 | msgid "Max ? Threads, any x86-64" 87 | msgstr "ከፍተኛ? ክሮች፣ ማንኛውም x86-64" 88 | 89 | #: MSGET21 90 | msgid "Have a camera license" 91 | msgstr "የካሜራ ፍቃድ ይኑርዎት" 92 | 93 | #: MSGET22 94 | msgid "Max 16 Threads, any x86-64" 95 | msgstr "ከፍተኛ 16 ክሮች፣ ማንኛውም x86-64" 96 | 97 | #: MSGET23 98 | msgid "Max 16 Threads, Haswell or later" 99 | msgstr "ከፍተኛ 16 ክሮች፣ ሃስዌል ወይም ከዚያ በኋላ" 100 | 101 | #: MSGET24 102 | msgid "Nvidia GTX1650" 103 | msgstr "Nvidia GTX1650" 104 | 105 | #: MSGET25 106 | msgid "Nvidia GTX1050Ti" 107 | msgstr "Nvidia GTX1050Ti" 108 | 109 | #: MSGET26 110 | msgid "EUDEV (enhanced user-space device)" 111 | msgstr "EUDEV (የተሻሻለ የተጠቃሚ ቦታ መሣሪያ)" 112 | 113 | #: MSGET27 114 | msgid "DDSML (Detected Device Static Module Loading)" 115 | msgstr "DDSML (የተገኘ መሳሪያ የማይለዋወጥ ሞዱል ጭነት)" 116 | 117 | #: MSGET28 118 | msgid "FRIEND (most recently stabilized)" 119 | msgstr "ጓደኛ (በጣም በቅርብ ጊዜ የተረጋጋ)" 120 | 121 | #: MSGET29 122 | msgid "JOT (The old way before friend)" 123 | msgstr "JOT (የቀድሞው መንገድ ከጓደኛ በፊት)" 124 | 125 | #: MSGET30 126 | msgid "Generate a random serial number" 127 | msgstr "የዘፈቀደ ተከታታይ ቁጥር ፍጠር" 128 | 129 | #: MSGET31 130 | msgid "Enter a serial number" 131 | msgstr "መለያ ቁጥር አስገባ" 132 | 133 | #: MSGET32 134 | msgid "Get a real mac address" 135 | msgstr "እውነተኛ የማክ አድራሻ ያግኙ" 136 | 137 | #: MSGET33 138 | msgid "Generate a random mac address" 139 | msgstr "የዘፈቀደ የማክ አድራሻ ፍጠር" 140 | 141 | #: MSGET34 142 | msgid "Enter a mac address" 143 | msgstr "የማክ አድራሻ አስገባ" 144 | 145 | #: MSGET35 146 | msgid "press any key to continue..." 147 | msgstr "ለመቀጠል ማንኛውንም ቁልፍ ይጫኑ..." 148 | 149 | #: MSGET36 150 | msgid "Synology serial number not set. Check user_config.json again. Abort the loader build !!!" 151 | msgstr "Synology መለያ ቁጥር አልተዘጋጀም። የተጠቃሚ_config.jsonን እንደገና ያረጋግጡ። ጫኚውን አቋርጥ!!!" 152 | 153 | #: MSGET37 154 | msgid "The first MAC address is not set. Check user_config.json again. Abort the loader build !!!" 155 | msgstr "የመጀመሪያው የማክ አድራሻ አልተዘጋጀም። የተጠቃሚ_config.jsonን እንደገና አረጋግጥ። ጫኚውን አቋርጥ!!!" 156 | 157 | #: MSGET38 158 | msgid "The netif_num and the number of mac addresses do not match. Check user_config.json again. Abort the loader build !!!" 159 | msgstr "netif_num እና የማክ አድራሻዎች ብዛት አይዛመድም።በድጋሚ user_config.jsonን አረጋግጥ።የጫኚውን ግንባታ አቋርጥ!!!" 160 | 161 | #: MSGET39 162 | msgid "Choose a language" 163 | msgstr "ቋንቋ ምረጥ" 164 | 165 | #: MSGET40 166 | msgid "DDSML+EUDEV" 167 | msgstr "DDSML+EUDEV" 168 | 169 | #: MSGET41 170 | msgid "Choose a Storage Panel Size" 171 | msgstr "የማከማቻ ፓነል መጠን ምረጥ" 172 | 173 | #: MSGET50 174 | msgid "Mac-spoof Addon" 175 | msgstr "ማክ-ስፖፍ አዶን" 176 | 177 | #: MSGET51 178 | msgid "Prevent SataPortMap,DiskIdxMap initialization" 179 | msgstr "SataPortMap፣DiskIdxMap ማስጀመርን አግድ" 180 | 181 | #: MSGET52 182 | msgid "Show SATA(s) ports and drives for SataPortMap" 183 | msgstr "SATA(sports and drives for SataPortMap) አሳይ" 184 | 185 | #: MSGET53 186 | msgid "Show error log of running loader" 187 | msgstr "የአሂድ ጫኚውን የስህተት ምዝግብ ማስታወሻ አሳይ" 188 | 189 | #: MSGET54 190 | msgid "Burn TCRP Bootloader Img to USB or SSD" 191 | msgstr "TCRP Bootloader Img ወደ USB ወይም SSD ያቃጥሉ" 192 | 193 | #: MSGET55 194 | msgid "Clone Current TCRP Bootloader to USB or SSD" 195 | msgstr "Clone Current TCRP Bootloader ወደ USB ወይም SSD" 196 | 197 | #: MSGET56 198 | msgid "sata_remap processing for SataPort reordering" 199 | msgstr "sata_remap processing for SataPort reordering" 200 | 201 | #: MSGET57 202 | msgid "nvmesystem Addon(NVMe single volume use)" 203 | msgstr "nvmesystem አድስ (አንድ ንፊል NVMe አጠቃቀም)" 204 | 205 | #: MSGET58 206 | msgid "Boot the loader" 207 | msgstr "ሎደርን አስኪድ" 208 | 209 | #: MSGET59 210 | msgid "Additional Functions" 211 | msgstr "ተጨማሪ አቅራቦቶች" 212 | 213 | #: MSGET60 214 | msgid "Change GRUB boot entry default value" 215 | msgstr "GRUB አስኪድ ገጽታ የተሰጠ እሴት ለውጥ" 216 | 217 | #: MSGET61 218 | msgid "Inject Bootloader to Syno DISK" 219 | msgstr "ቡትሎደርን ስኖ ዲስክ ላይ አስገባ" 220 | 221 | #: MSGET62 222 | msgid "Remove the injected bootloader partition" 223 | msgstr "አስገባው ቡትሎደር ክፍል አስወግድ" 224 | 225 | #: MSGET63 226 | msgid "Packing loader file for remote update" 227 | msgstr "ርሞት አስተካክል ለሎደር ፋይል አስተካክል" 228 | -------------------------------------------------------------------------------- /lang/ar_EG/LC_MESSAGES/tcrp.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lang/ar_EG/LC_MESSAGES/tcrp.mo -------------------------------------------------------------------------------- /lang/ar_EG/LC_MESSAGES/tcrp.po: -------------------------------------------------------------------------------- 1 | # i18n translations for PACKAGE package. 2 | # Copyright (C) 2024 THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # Linux User , 2024. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: PACKAGE VERSION\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2024-04-08 13:16+0000\n" 11 | "PO-Revision-Date: 2024-04-08 14:17+0000\n" 12 | "Last-Translator: Peter Suh \n" 13 | "Language-Team: i18n \n" 15 | "Language: ar_EG\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Plural-Forms: nplurals=1; plural=0;\n" 20 | "X-Generator: Weblate 5.5-dev\n" 21 | #: MSGEG00 22 | msgid "Device-Tree[DT] Base Models & HBAs do not require SataPortMap,DiskIdxMap. DT models do not support HBAs" 23 | msgstr "النماذج الأساسية لشجرة الأجهزة [DT] وHBAs لا تتطلب SataPortMap، وDiskIdxMap. ونماذج DT لا تدعم HBAs" 24 | 25 | #: MSGEG01 26 | msgid "Choose a Dev Mod handling method, DDSML/EUDEV" 27 | msgstr "اختر طريقة التعامل مع Dev Mod، DDSML/EUDEV" 28 | 29 | #: MSGEG02 30 | msgid "Choose a Synology Model" 31 | msgstr "اختر نموذج Synology" 32 | 33 | #: MSGEG03 34 | msgid "Choose a Synology Serial Number" 35 | msgstr "اختر الرقم التسلسلي لـ Synology" 36 | 37 | #: MSGEG04 38 | msgid "Choose a mac address" 39 | msgstr "اختر عنوان ماك" 40 | 41 | #: MSGEG05 42 | msgid "Choose a DSM VERSION, Current" 43 | msgstr "اختر إصدار DSM، الحالي" 44 | 45 | #: MSGEG06 46 | msgid "Choose a loader Mode, Current" 47 | msgstr "اختر وضع المُحمل، الحالي" 48 | 49 | #: MSGEG10 50 | msgid "Edit user config file manually" 51 | msgstr "تحرير ملف تكوين المستخدم يدويًا" 52 | 53 | #: MSGEG11 54 | msgid "Choose a keymap" 55 | msgstr "اختر خريطة مفاتيح" 56 | 57 | #: MSGEG12 58 | msgid "Format Disk(s) # Excluding Loader Disk" 59 | msgstr "تنسيق القرص (الأقراص # باستثناء قرص التحميل" 60 | 61 | #: MSGEG13 62 | msgid "Backup TCRP" 63 | msgstr "النسخ الاحتياطي لـ TCRP" 64 | 65 | #: MSGEG14 66 | msgid "Reboot" 67 | msgstr "إعادة التشغيل" 68 | 69 | #: MSGEG15 70 | msgid "Power Off" 71 | msgstr "إيقاف التشغيل" 72 | 73 | #: MSGEG16 74 | msgid "Max 24 Threads, any x86-64" 75 | msgstr "24 خيط كحد أقصى، أي x86-64" 76 | 77 | #: MSGEG17 78 | msgid "Max 8 Threads, Haswell or later,iGPU Transcoding" 79 | msgstr "8 خيوط بحد أقصى، Haswell أو إصدار أحدث، تحويل ترميز iGPU" 80 | 81 | #: MSGEG18 82 | msgid "Build the loader" 83 | msgstr "إنشاء المحمل" 84 | 85 | #: MSGEG20 86 | msgid "Max ? Threads, any x86-64" 87 | msgstr "الحد الأقصى؟ المواضيع، أي x86-64" 88 | 89 | #: MSGEG21 90 | msgid "Have a camera license" 91 | msgstr "لديك رخصة كاميرا" 92 | 93 | #: MSGEG22 94 | msgid "Max 16 Threads, any x86-64" 95 | msgstr "16 خيط كحد أقصى، أي x86-64" 96 | 97 | #: MSGEG23 98 | msgid "Max 16 Threads, Haswell or later" 99 | msgstr "16 خيط كحد أقصى، Haswell أو الأحدث" 100 | 101 | #: MSGEG24 102 | msgid "Nvidia GTX1650" 103 | msgstr "إنفيديا جي تي إكس 1650" 104 | 105 | #: MSGEG25 106 | msgid "Nvidia GTX1050Ti" 107 | msgstr "إنفيديا جي تي إكس 1050 تي آي" 108 | 109 | #: MSGEG26 110 | msgid "EUDEV (enhanced user-space device)" 111 | msgstr "EUDEV (جهاز مساحة المستخدم المحسّن)" 112 | 113 | #: MSGEG27 114 | msgid "DDSML (Detected Device Static Module Loading)" 115 | msgstr "DDSML (تحميل الوحدة الثابتة للجهاز الذي تم اكتشافه)" 116 | 117 | #: MSGEG28 118 | msgid "FRIEND (most recently stabilized)" 119 | msgstr "الصديق (الصديق (المستقر مؤخرًا)" 120 | 121 | #: MSGEG29 122 | msgid "JOT (The old way before friend)" 123 | msgstr "JOT (الطريقة القديمة قبل الصديق)" 124 | 125 | #: MSGEG30 126 | msgid "Generate a random serial number" 127 | msgstr "إنشاء رقم تسلسلي عشوائي" 128 | 129 | #: MSGEG31 130 | msgid "Enter a serial number" 131 | msgstr "أدخل الرقم التسلسلي" 132 | 133 | #: MSGEG32 134 | msgid "Get a real mac address" 135 | msgstr "الحصول على عنوان Mac حقيقي" 136 | 137 | #: MSGEG33 138 | msgid "Generate a random mac address" 139 | msgstr "إنشاء عنوان Mac عشوائي" 140 | 141 | #: MSGEG34 142 | msgid "Enter a mac address" 143 | msgstr "أدخل عنوان ماك" 144 | 145 | #: MSGEG35 146 | msgid "press any key to continue..." 147 | msgstr "اضغط على أي مفتاح للمتابعة..." 148 | 149 | #: MSGEG36 150 | msgid "Synology serial number not set. Check user_config.json again. Abort the loader build !!!" 151 | msgstr "لم يتم تعيين الرقم التسلسلي لـ Synology. تحقق من user_config.json مرة أخرى. قم بإحباط بناء أداة التحميل !!!" 152 | 153 | #: MSGEG37 154 | msgid "The first MAC address is not set. Check user_config.json again. Abort the loader build !!!" 155 | msgstr "لم يتم تعيين عنوان MAC الأول. تحقق من user_config.json مرة أخرى. قم بإحباط إنشاء أداة التحميل !!!" 156 | 157 | #: MSGEG38 158 | msgid "The netif_num and the number of mac addresses do not match. Check user_config.json again. Abort the loader build !!!" 159 | msgstr "netif_num وعدد عناوين mac غير متطابقين. تحقق من user_config.json مرة أخرى. قم بإلغاء إنشاء أداة التحميل !!!" 160 | 161 | #: MSGEG39 162 | msgid "Choose a language" 163 | msgstr "اختر لغة" 164 | 165 | #: MSGEG40 166 | msgid "DDSML+EUDEV" 167 | msgstr "DDSML+EUDEV" 168 | 169 | #: MSGEG41 170 | msgid "Choose a Storage Panel Size" 171 | msgstr "اختر حجم لوحة التخزين" 172 | 173 | #: MSGEG50 174 | msgid "Mac-spoof Addon" 175 | msgstr "ملحق Mac-spoof" 176 | 177 | #: MSGEG51 178 | msgid "Prevent SataPortMap,DiskIdxMap initialization" 179 | msgstr "منع تهيئة SataPortMap وDiskIdxMap" 180 | 181 | #: MSGEG52 182 | msgid "Show SATA(s) ports and drives for SataPortMap" 183 | msgstr "إظهار منافذ ومحركات أقراص SATA لـSataPortMap" 184 | 185 | #: MSGEG53 186 | msgid "Show error log of running loader" 187 | msgstr "إظهار سجل أخطاء أداة التحميل قيد التشغيل" 188 | 189 | #: MSGEG54 190 | msgid "Burn TCRP Bootloader Img to USB or SSD" 191 | msgstr "نسخ صورة أداة تحميل التشغيل TCRP على USB أو SSD" 192 | 193 | #: MSGEG55 194 | msgid "Clone Current TCRP Bootloader to USB or SSD" 195 | msgstr "استنساخ أداة تحميل التشغيل TCRP الحالية إلى USB أو SSD" 196 | 197 | #: MSGEG56 198 | msgid "sata_remap processing for SataPort reordering" 199 | msgstr "معالجة sata_remap لإعادة ترتيب SATAPort" 200 | 201 | #: MSGEG57 202 | msgid "nvmesystem Addon(NVMe single volume use)" 203 | msgstr "إضافة nvmesystem (استخدام مجلد NVMe واحد)" 204 | 205 | #: MSGEG58 206 | msgid "Boot the loader" 207 | msgstr "تشغيل المُحمل" 208 | 209 | #: MSGEG59 210 | msgid "Additional Functions" 211 | msgstr "وظائف إضافية" 212 | 213 | #: MSGEG60 214 | msgid "Change GRUB boot entry default value" 215 | msgstr "تغيير قيمة الإدخال الافتراضي لتشغيل GRUB" 216 | 217 | #: MSGEG61 218 | msgid "Inject Bootloader to Syno DISK" 219 | msgstr "حقن برنامج الإقلاع في قرص Syno" 220 | 221 | #: MSGEG62 222 | msgid "Remove the injected bootloader partition" 223 | msgstr "إزالة قسم برنامج الإقلاع المحقون" 224 | 225 | #: MSGEG63 226 | msgid "Packing loader file for remote update" 227 | msgstr "تحزيم ملف المُحمل لتحديث عن بعد" 228 | -------------------------------------------------------------------------------- /lang/de_DE/LC_MESSAGES/tcrp.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lang/de_DE/LC_MESSAGES/tcrp.mo -------------------------------------------------------------------------------- /lang/en_US/LC_MESSAGES/tcrp.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lang/en_US/LC_MESSAGES/tcrp.mo -------------------------------------------------------------------------------- /lang/en_US/LC_MESSAGES/tcrp.po: -------------------------------------------------------------------------------- 1 | # i18n translations for PACKAGE package. 2 | # Copyright (C) 2024 THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # Linux User , 2024. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: PACKAGE VERSION\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2024-04-08 13:16+0000\n" 11 | "PO-Revision-Date: 2024-04-08 14:17+0000\n" 12 | "Last-Translator: Peter Suh \n" 13 | "Language-Team: i18n \n" 15 | "Language: en_US\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Plural-Forms: nplurals=1; plural=0;\n" 20 | "X-Generator: Weblate 5.5-dev\n" 21 | #: MSGUS00 22 | msgid "Device-Tree[DT] Base Models & HBAs do not require SataPortMap,DiskIdxMap. DT models do not support HBAs" 23 | msgstr "Device-Tree[DT] Base Models & HBAs do not require SataPortMap,DiskIdxMap. DT models do not support HBAs" 24 | 25 | #: MSGUS01 26 | msgid "Choose a Dev Mod handling method, DDSML/EUDEV" 27 | msgstr "Choose a Dev Mod handling method, DDSML/EUDEV" 28 | 29 | #: MSGUS02 30 | msgid "Choose a Synology Model" 31 | msgstr "Choose a Synology Model" 32 | 33 | #: MSGUS03 34 | msgid "Choose a Synology Serial Number" 35 | msgstr "Choose a Synology Serial Number" 36 | 37 | #: MSGUS04 38 | msgid "Choose a mac address" 39 | msgstr "Choose a mac address" 40 | 41 | #: MSGUS05 42 | msgid "Choose a DSM VERSION, Current" 43 | msgstr "Choose a DSM VERSION, Current" 44 | 45 | #: MSGUS06 46 | msgid "Choose a loader Mode, Current" 47 | msgstr "Choose a loader Mode, Current" 48 | 49 | #: MSGUS10 50 | msgid "Edit user config file manually" 51 | msgstr "Edit user config file manually" 52 | 53 | #: MSGUS11 54 | msgid "Choose a keymap" 55 | msgstr "Choose a keymap" 56 | 57 | #: MSGUS12 58 | msgid "Format Disk(s) # Excluding Loader Disk" 59 | msgstr "Format Disk(s) # Excluding Loader Disk" 60 | 61 | #: MSGUS13 62 | msgid "Backup TCRP" 63 | msgstr "Backup TCRP" 64 | 65 | #: MSGUS14 66 | msgid "Reboot" 67 | msgstr "Reboot" 68 | 69 | #: MSGUS15 70 | msgid "Power Off" 71 | msgstr "Power Off" 72 | 73 | #: MSGUS16 74 | msgid "Max 24 Threads, any x86-64" 75 | msgstr "Max 24 Threads, any x86-64" 76 | 77 | #: MSGUS17 78 | msgid "Max 8 Threads, Haswell or later,iGPU Transcoding" 79 | msgstr "Max 8 Threads, Haswell or later,iGPU Transcoding" 80 | 81 | #: MSGUS18 82 | msgid "Build the loader" 83 | msgstr "Build the loader" 84 | 85 | #: MSGUS20 86 | msgid "Max ? Threads, any x86-64" 87 | msgstr "Max ? Threads, any x86-64" 88 | 89 | #: MSGUS21 90 | msgid "Have a camera license" 91 | msgstr "Have a camera license" 92 | 93 | #: MSGUS22 94 | msgid "Max 16 Threads, any x86-64" 95 | msgstr "Max 16 Threads, any x86-64" 96 | 97 | #: MSGUS23 98 | msgid "Max 16 Threads, Haswell or later" 99 | msgstr "Max 16 Threads, Haswell or later" 100 | 101 | #: MSGUS24 102 | msgid "Nvidia GTX1650" 103 | msgstr "Nvidia GTX1650" 104 | 105 | #: MSGUS25 106 | msgid "Nvidia GTX1050Ti" 107 | msgstr "Nvidia GTX1050Ti" 108 | 109 | #: MSGUS26 110 | msgid "EUDEV (enhanced user-space device)" 111 | msgstr "EUDEV (enhanced user-space device)" 112 | 113 | #: MSGUS27 114 | msgid "DDSML (Detected Device Static Module Loading)" 115 | msgstr "DDSML (Detected Device Static Module Loading)" 116 | 117 | #: MSGUS28 118 | msgid "FRIEND (most recently stabilized)" 119 | msgstr "FRIEND (most recently stabilized)" 120 | 121 | #: MSGUS29 122 | msgid "JOT (The old way before friend)" 123 | msgstr "JOT (The old way before friend)" 124 | 125 | #: MSGUS30 126 | msgid "Generate a random serial number" 127 | msgstr "Generate a random serial number" 128 | 129 | #: MSGUS31 130 | msgid "Enter a serial number" 131 | msgstr "Enter a serial number" 132 | 133 | #: MSGUS32 134 | msgid "Get a real mac address" 135 | msgstr "Get a real mac address" 136 | 137 | #: MSGUS33 138 | msgid "Generate a random mac address" 139 | msgstr "Generate a random mac address" 140 | 141 | #: MSGUS34 142 | msgid "Enter a mac address" 143 | msgstr "Enter a mac address" 144 | 145 | #: MSGUS35 146 | msgid "press any key to continue..." 147 | msgstr "press any key to continue..." 148 | 149 | #: MSGUS36 150 | msgid "Synology serial number not set. Check user_config.json again. Abort the loader build !!!" 151 | msgstr "Synology serial number not set. Check user_config.json again. Abort the loader build !!!" 152 | 153 | #: MSGUS37 154 | msgid "The first MAC address is not set. Check user_config.json again. Abort the loader build !!!" 155 | msgstr "The first MAC address is not set. Check user_config.json again. Abort the loader build !!!" 156 | 157 | #: MSGUS38 158 | msgid "The netif_num and the number of mac addresses do not match. Check user_config.json again. Abort the loader build !!!" 159 | msgstr "The netif_num and the number of mac addresses do not match. Check user_config.json again. Abort the loader build !!!" 160 | 161 | #: MSGUS39 162 | msgid "Choose a language" 163 | msgstr "Choose a language" 164 | 165 | #: MSGUS40 166 | msgid "DDSML+EUDEV" 167 | msgstr "DDSML+EUDEV" 168 | 169 | #: MSGUS41 170 | msgid "Choose a Storage Panel Size" 171 | msgstr "Choose a Storage Panel Size" 172 | 173 | #: MSGUS50 174 | msgid "Mac-spoof Addon" 175 | msgstr "Mac-spoof Addon" 176 | 177 | #: MSGUS51 178 | msgid "Prevent SataPortMap,DiskIdxMap initialization" 179 | msgstr "Prevent SataPortMap,DiskIdxMap initialization" 180 | 181 | #: MSGUS52 182 | msgid "Show SATA(s) ports and drives for SataPortMap" 183 | msgstr "Show SATA(s) ports and drives for SataPortMap" 184 | 185 | #: MSGUS53 186 | msgid "Show error log of running loader" 187 | msgstr "Show error log of running loader" 188 | 189 | #: MSGUS54 190 | msgid "Burn TCRP Bootloader Img to USB or SSD" 191 | msgstr "Burn TCRP Bootloader Img to USB or SSD" 192 | 193 | #: MSGUS55 194 | msgid "Clone Current TCRP Bootloader to USB or SSD" 195 | msgstr "Clone Current TCRP Bootloader to USB or SSD" 196 | 197 | #: MSGUS56 198 | msgid "sata_remap processing for SataPort reordering" 199 | msgstr "sata_remap processing for SataPort reordering" 200 | 201 | #: MSGUS57 202 | msgid "nvmesystem Addon(NVMe single volume use)" 203 | msgstr "nvmesystem Addon(NVMe single volume use)" 204 | 205 | #: MSGUS58 206 | msgid "Boot the loader" 207 | msgstr "Boot the loader" 208 | 209 | #: MSGUS59 210 | msgid "Additional Functions" 211 | msgstr "Additional Functions" 212 | 213 | #: MSGUS60 214 | msgid "Change GRUB boot entry default value" 215 | msgstr "Change GRUB boot entry default value" 216 | 217 | #: MSGUS61 218 | msgid "Inject Bootloader to Syno DISK" 219 | msgstr "Inject Bootloader to Syno DISK" 220 | 221 | #: MSGUS62 222 | msgid "Remove the injected bootloader partition" 223 | msgstr "Remove the injected bootloader partition" 224 | 225 | #: MSGUS63 226 | msgid "Packing loader file for remote update" 227 | msgstr "Packing loader file for remote update" 228 | -------------------------------------------------------------------------------- /lang/es_ES/LC_MESSAGES/tcrp.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lang/es_ES/LC_MESSAGES/tcrp.mo -------------------------------------------------------------------------------- /lang/fr_FR/LC_MESSAGES/tcrp.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lang/fr_FR/LC_MESSAGES/tcrp.mo -------------------------------------------------------------------------------- /lang/hi_IN/LC_MESSAGES/tcrp.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lang/hi_IN/LC_MESSAGES/tcrp.mo -------------------------------------------------------------------------------- /lang/hi_IN/LC_MESSAGES/tcrp.po: -------------------------------------------------------------------------------- 1 | # i18n translations for PACKAGE package. 2 | # Copyright (C) 2024 THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # Linux User , 2024. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: PACKAGE VERSION\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2024-04-08 13:16+0000\n" 11 | "PO-Revision-Date: 2024-04-08 14:17+0000\n" 12 | "Last-Translator: Peter Suh \n" 13 | "Language-Team: i18n \n" 15 | "Language: hi_IN\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Plural-Forms: nplurals=1; plural=0;\n" 20 | "X-Generator: Weblate 5.5-dev\n" 21 | #: MSGIN00 22 | msgid "Device-Tree[DT] Base Models & HBAs do not require SataPortMap,DiskIdxMap. DT models do not support HBAs" 23 | msgstr "डिवाइस-ट्री[DT] बेस मॉडल और HBA को SataPortMap, DiskIdxMap की आवश्यकता नहीं है। DT मॉडल HBA का समर्थन नहीं करते हैं" 24 | 25 | #: MSGIN01 26 | msgid "Choose a Dev Mod handling method, DDSML/EUDEV" 27 | msgstr "एक डेव मॉड हैंडलिंग विधि चुनें, DDSML/EUDEV" 28 | 29 | #: MSGIN02 30 | msgid "Choose a Synology Model" 31 | msgstr "एक Synology मॉडल चुनें" 32 | 33 | #: MSGIN03 34 | msgid "Choose a Synology Serial Number" 35 | msgstr "एक Synology सीरियल नंबर चुनें" 36 | 37 | #: MSGIN04 38 | msgid "Choose a mac address" 39 | msgstr "एक मैक पता चुनें" 40 | 41 | #: MSGIN05 42 | msgid "Choose a DSM VERSION, Current" 43 | msgstr "वर्तमान DSM संस्करण चुनें" 44 | 45 | #: MSGIN06 46 | msgid "Choose a loader Mode, Current" 47 | msgstr "एक लोडर मोड चुनें, वर्तमान" 48 | 49 | #: MSGIN10 50 | msgid "Edit user config file manually" 51 | msgstr "उपयोगकर्ता कॉन्फिग फ़ाइल को मैन्युअल रूप से संपादित करें" 52 | 53 | #: MSGIN11 54 | msgid "Choose a keymap" 55 | msgstr "एक कीमैप चुनें" 56 | 57 | #: MSGIN12 58 | msgid "Format Disk(s) # Excluding Loader Disk" 59 | msgstr "प्रारूपित डिस्क # लोडर डिस्क को छोड़कर" 60 | 61 | #: MSGIN13 62 | msgid "Backup TCRP" 63 | msgstr "बैकअप टीसीआरपी" 64 | 65 | #: MSGIN14 66 | msgid "Reboot" 67 | msgstr "रीबूट" 68 | 69 | #: MSGIN15 70 | msgid "Power Off" 71 | msgstr "पावर बंद" 72 | 73 | #: MSGIN16 74 | msgid "Max 24 Threads, any x86-64" 75 | msgstr "अधिकतम 24 धागे, कोई भी x86-64" 76 | 77 | #: MSGIN17 78 | msgid "Max 8 Threads, Haswell or later,iGPU Transcoding" 79 | msgstr "अधिकतम 8 थ्रेड, हैसवेल या बाद का संस्करण, iGPU ट्रांसकोडिंग" 80 | 81 | #: MSGIN18 82 | msgid "Build the loader" 83 | msgstr "लोडर बनाएँ एमएसजीआईएन19=" 84 | 85 | #: MSGIN20 86 | msgid "Max ? Threads, any x86-64" 87 | msgstr "अधिकतम ? धागे, कोई भी x86-64" 88 | 89 | #: MSGIN21 90 | msgid "Have a camera license" 91 | msgstr "कैमरा लाइसेंस लें" 92 | 93 | #: MSGIN22 94 | msgid "Max 16 Threads, any x86-64" 95 | msgstr "अधिकतम 16 धागे, कोई भी x86-64" 96 | 97 | #: MSGIN23 98 | msgid "Max 16 Threads, Haswell or later" 99 | msgstr "अधिकतम 16 धागे, हैसवेल या बाद का संस्करण" 100 | 101 | #: MSGIN24 102 | msgid "Nvidia GTX1650" 103 | msgstr "एनवीडिया GTX1650" 104 | 105 | #: MSGIN25 106 | msgid "Nvidia GTX1050Ti" 107 | msgstr "एनवीडिया GTX1050Ti" 108 | 109 | #: MSGIN26 110 | msgid "EUDEV (enhanced user-space device)" 111 | msgstr "EUDEV (उन्नत उपयोगकर्ता-स्थान उपकरण)" 112 | 113 | #: MSGIN27 114 | msgid "DDSML (Detected Device Static Module Loading)" 115 | msgstr "DDSML (पता लगाया गया डिवाइस स्टेटिक मॉड्यूल लोड हो रहा है)" 116 | 117 | #: MSGIN28 118 | msgid "FRIEND (most recently stabilized)" 119 | msgstr "मित्र (हाल ही में स्थिर)" 120 | 121 | #: MSGIN29 122 | msgid "JOT (The old way before friend)" 123 | msgstr "JOT (दोस्त से पहले का पुराना तरीका)" 124 | 125 | #: MSGIN30 126 | msgid "Generate a random serial number" 127 | msgstr "एक यादृच्छिक क्रमांक उत्पन्न करें" 128 | 129 | #: MSGIN31 130 | msgid "Enter a serial number" 131 | msgstr "क्रम संख्या दर्ज करें" 132 | 133 | #: MSGIN32 134 | msgid "Get a real mac address" 135 | msgstr "वास्तविक मैक पता प्राप्त करें" 136 | 137 | #: MSGIN33 138 | msgid "Generate a random mac address" 139 | msgstr "एक यादृच्छिक मैक पता जनरेट करें" 140 | 141 | #: MSGIN34 142 | msgid "Enter a mac address" 143 | msgstr "एक मैक पता दर्ज करें" 144 | 145 | #: MSGIN35 146 | msgid "press any key to continue..." 147 | msgstr "जारी रखने के लिए कोई भी कुंजी दबाएँ..." 148 | 149 | #: MSGIN36 150 | msgid "Synology serial number not set. Check user_config.json again. Abort the loader build !!!" 151 | msgstr "Synology सीरियल नंबर सेट नहीं है। user_config.json को दोबारा जांचें। लोडर बिल्ड को निरस्त करें!!!" 152 | 153 | #: MSGIN37 154 | msgid "The first MAC address is not set. Check user_config.json again. Abort the loader build !!!" 155 | msgstr "पहला MAC पता सेट नहीं है। user_config.json को दोबारा जांचें। लोडर बिल्ड को निरस्त करें!!!" 156 | 157 | #: MSGIN38 158 | msgid "The netif_num and the number of mac addresses do not match. Check user_config.json again. Abort the loader build !!!" 159 | msgstr "netif_num और मैक पतों की संख्या मेल नहीं खाती। user_config.json को दोबारा जांचें। लोडर बिल्ड को निरस्त करें!!!" 160 | 161 | #: MSGIN39 162 | msgid "Choose a language" 163 | msgstr "एक भाषा चुनें" 164 | 165 | #: MSGIN40 166 | msgid "DDSML+EUDEV" 167 | msgstr "DDSML+EUDEV" 168 | 169 | #: MSGIN41 170 | msgid "Choose a Storage Panel Size" 171 | msgstr "स्टोरेज पैनल का आकार चुनें" 172 | 173 | #: MSGIN50 174 | msgid "Mac-spoof Addon" 175 | msgstr "मैक-स्पूफ ऐडऑन" 176 | 177 | #: MSGIN51 178 | msgid "Prevent SataPortMap,DiskIdxMap initialization" 179 | msgstr "SataPortMap,DiskIdxMap आरंभीकरण को रोकें" 180 | 181 | #: MSGIN52 182 | msgid "Show SATA(s) ports and drives for SataPortMap" 183 | msgstr "SataPortMap के लिए SATA(s पोर्ट और ड्राइव दिखाएं)" 184 | 185 | #: MSGIN53 186 | msgid "Show error log of running loader" 187 | msgstr "चल रहे लोडर का त्रुटि लॉग दिखाएँ" 188 | 189 | #: MSGIN54 190 | msgid "Burn TCRP Bootloader Img to USB or SSD" 191 | msgstr "TCRP बूटलोडर Img को USB या SSD में बर्न करें" 192 | 193 | #: MSGIN55 194 | msgid "Clone Current TCRP Bootloader to USB or SSD" 195 | msgstr "वर्तमान TCRP बूटलोडर को USB या SSD पर क्लोन करें" 196 | 197 | #: MSGIN56 198 | msgid "sata_remap processing for SataPort reordering" 199 | msgstr "SataPort पुनर्व्यवस्था के लिए sata_remap प्रसंस्करण" 200 | 201 | #: MSGIN57 202 | msgid "nvmesystem Addon(NVMe single volume use)" 203 | msgstr "nvmesystem ऐड-ऑन (NVMe एकल वॉल्यूम उपयोग)" 204 | 205 | #: MSGIN58 206 | msgid "Boot the loader" 207 | msgstr "लोडर को बूट करें" 208 | 209 | #: MSGIN59 210 | msgid "Additional Functions" 211 | msgstr "अतिरिक्त कार्य" 212 | 213 | #: MSGIN60 214 | msgid "Change GRUB boot entry default value" 215 | msgstr "GRUB बूट एंट्री का डिफ़ॉल्ट मान बदलें" 216 | 217 | #: MSGIN61 218 | msgid "Inject Bootloader to Syno DISK" 219 | msgstr "Syno डिस्क में बूटलोडर इंजेक्ट करें" 220 | 221 | #: MSGIN62 222 | msgid "Remove the injected bootloader partition" 223 | msgstr "इंजेक्ट किए गए बूटलोडर पार्टीशन को हटाएं" 224 | 225 | #: MSGIN63 226 | msgid "Packing loader file for remote update" 227 | msgstr "दूरस्थ अद्यतन के लिए लोडर फ़ाइल पैक करना" 228 | -------------------------------------------------------------------------------- /lang/hu_HU/LC_MESSAGES/tcrp.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lang/hu_HU/LC_MESSAGES/tcrp.mo -------------------------------------------------------------------------------- /lang/id_ID/LC_MESSAGES/tcrp.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lang/id_ID/LC_MESSAGES/tcrp.mo -------------------------------------------------------------------------------- /lang/id_ID/LC_MESSAGES/tcrp.po: -------------------------------------------------------------------------------- 1 | # i18n translations for PACKAGE package. 2 | # Copyright (C) 2024 THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # Linux User , 2024. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: PACKAGE VERSION\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2024-04-08 13:16+0000\n" 11 | "PO-Revision-Date: 2024-04-08 14:17+0000\n" 12 | "Last-Translator: Peter Suh \n" 13 | "Language-Team: i18n \n" 15 | "Language: id_ID\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Plural-Forms: nplurals=1; plural=0;\n" 20 | "X-Generator: Weblate 5.5-dev\n" 21 | #: MSGID00 22 | msgid "Device-Tree[DT] Base Models & HBAs do not require SataPortMap,DiskIdxMap. DT models do not support HBAs" 23 | msgstr "Device-Tree[DT] Model Dasar & HBA tidak memerlukan SataPortMap,DiskIdxMap. Model DT tidak mendukung HBA" 24 | 25 | #: MSGID01 26 | msgid "Choose a Dev Mod handling method, DDSML/EUDEV" 27 | msgstr "Pilih metode penanganan Dev Mod, DDSML/EUDEV" 28 | 29 | #: MSGID02 30 | msgid "Choose a Synology Model" 31 | msgstr "Pilih Model Sinologi" 32 | 33 | #: MSGID03 34 | msgid "Choose a Synology Serial Number" 35 | msgstr "Pilih Nomor Seri Synology" 36 | 37 | #: MSGID04 38 | msgid "Choose a mac address" 39 | msgstr "Pilih alamat mac" 40 | 41 | #: MSGID05 42 | msgid "Choose a DSM VERSION, Current" 43 | msgstr "Pilih VERSI DSM, Saat Ini" 44 | 45 | #: MSGID06 46 | msgid "Choose a loader Mode, Current" 47 | msgstr "Pilih Mode Loader, Saat Ini" 48 | 49 | #: MSGID10 50 | msgid "Edit user config file manually" 51 | msgstr "Edit berkas konfigurasi pengguna secara manual" 52 | 53 | #: MSGID11 54 | msgid "Choose a keymap" 55 | msgstr "Pilih peta kunci" 56 | 57 | #: MSGID12 58 | msgid "Format Disk(s) # Excluding Loader Disk" 59 | msgstr "Format Disk # Tidak Termasuk Disk Pemuat" 60 | 61 | #: MSGID13 62 | msgid "Backup TCRP" 63 | msgstr "Cadangan TCRP" 64 | 65 | #: MSGID14 66 | msgid "Reboot" 67 | msgstr "Mulai ulang" 68 | 69 | #: MSGID15 70 | msgid "Power Off" 71 | msgstr "Matikan" 72 | 73 | #: MSGID16 74 | msgid "Max 24 Threads, any x86-64" 75 | msgstr "Maks 24 Thread, x86-64 apa saja" 76 | 77 | #: MSGID17 78 | msgid "Max 8 Threads, Haswell or later,iGPU Transcoding" 79 | msgstr "Maks 8 Thread, Haswell atau lebih baru, Transcoding iGPU" 80 | 81 | #: MSGID18 82 | msgid "Build the loader" 83 | msgstr "Bangun pemuat" 84 | 85 | #: MSGID20 86 | msgid "Max ? Threads, any x86-64" 87 | msgstr "Maks? Thread, x86-64 apa saja" 88 | 89 | #: MSGID21 90 | msgid "Have a camera license" 91 | msgstr "Memiliki lisensi kamera" 92 | 93 | #: MSGID22 94 | msgid "Max 16 Threads, any x86-64" 95 | msgstr "Maks 16 Thread, x86-64 apa pun" 96 | 97 | #: MSGID23 98 | msgid "Max 16 Threads, Haswell or later" 99 | msgstr "Maks 16 Thread, Haswell atau lebih baru" 100 | 101 | #: MSGID24 102 | msgid "Nvidia GTX1650" 103 | msgstr "Nvidia GTX1650" 104 | 105 | #: MSGID25 106 | msgid "Nvidia GTX1050Ti" 107 | msgstr "Nvidia GTX1050Ti" 108 | 109 | #: MSGID26 110 | msgid "EUDEV (enhanced user-space device)" 111 | msgstr "EUDEV (perangkat ruang pengguna yang ditingkatkan)" 112 | 113 | #: MSGID27 114 | msgid "DDSML (Detected Device Static Module Loading)" 115 | msgstr "DDSML (Pemuatan Modul Statis Perangkat Terdeteksi)" 116 | 117 | #: MSGID28 118 | msgid "FRIEND (most recently stabilized)" 119 | msgstr "FRIEND (baru-baru ini stabil)" 120 | 121 | #: MSGID29 122 | msgid "JOT (The old way before friend)" 123 | msgstr "JOT (Cara lama sebelum teman)" 124 | 125 | #: MSGID30 126 | msgid "Generate a random serial number" 127 | msgstr "Buat nomor seri acak" 128 | 129 | #: MSGID31 130 | msgid "Enter a serial number" 131 | msgstr "Masukkan nomor seri" 132 | 133 | #: MSGID32 134 | msgid "Get a real mac address" 135 | msgstr "Dapatkan alamat mac asli" 136 | 137 | #: MSGID33 138 | msgid "Generate a random mac address" 139 | msgstr "Buat alamat mac acak" 140 | 141 | #: MSGID34 142 | msgid "Enter a mac address" 143 | msgstr "Masukkan alamat Mac" 144 | 145 | #: MSGID35 146 | msgid "press any key to continue..." 147 | msgstr "tekan sembarang tombol untuk melanjutkan..." 148 | 149 | #: MSGID36 150 | msgid "Synology serial number not set. Check user_config.json again. Abort the loader build !!!" 151 | msgstr "Nomor seri Synology tidak disetel. Periksa kembali user_config.json. Batalkan pembuatan loader!!!" 152 | 153 | #: MSGID37 154 | msgid "The first MAC address is not set. Check user_config.json again. Abort the loader build !!!" 155 | msgstr "Alamat MAC pertama tidak disetel. Periksa kembali user_config.json. Batalkan pembuatan loader!!!" 156 | 157 | #: MSGID38 158 | msgid "The netif_num and the number of mac addresses do not match. Check user_config.json again. Abort the loader build !!!" 159 | msgstr "Netif_num dan jumlah alamat mac tidak cocok. Periksa kembali user_config.json. Batalkan pembuatan loader!!!" 160 | 161 | #: MSGID39 162 | msgid "Choose a language" 163 | msgstr "Pilih bahasa" 164 | 165 | #: MSGID40 166 | msgid "DDSML+EUDEV" 167 | msgstr "DDSML+EUDEV" 168 | 169 | #: MSGID41 170 | msgid "Choose a Storage Panel Size" 171 | msgstr "Pilih Ukuran Panel Penyimpanan" 172 | 173 | #: MSGID50 174 | msgid "Mac-spoof Addon" 175 | msgstr "Addon palsu Mac" 176 | 177 | #: MSGID51 178 | msgid "Prevent SataPortMap,DiskIdxMap initialization" 179 | msgstr "Mencegah inisialisasi SataPortMap,DiskIdxMap" 180 | 181 | #: MSGID52 182 | msgid "Show SATA(s) ports and drives for SataPortMap" 183 | msgstr "Tampilkan port dan drive SATA untuk SataPortMap" 184 | 185 | #: MSGID53 186 | msgid "Show error log of running loader" 187 | msgstr "Tampilkan log kesalahan saat menjalankan loader" 188 | 189 | #: MSGID54 190 | msgid "Burn TCRP Bootloader Img to USB or SSD" 191 | msgstr "Bakar Gambar Bootloader TCRP ke USB atau SSD" 192 | 193 | #: MSGID55 194 | msgid "Clone Current TCRP Bootloader to USB or SSD" 195 | msgstr "Kloning Bootloader TCRP Saat Ini ke USB atau SSD" 196 | 197 | #: MSGID56 198 | msgid "sata_remap processing for SataPort reordering" 199 | msgstr "pemrosesan sata_remap untuk penataan ulang SataPort" 200 | 201 | #: MSGID57 202 | msgid "nvmesystem Addon(NVMe single volume use)" 203 | msgstr "Ekstensi nvmesystem (menggunakan satu volume NVMe)" 204 | 205 | #: MSGID58 206 | msgid "Boot the loader" 207 | msgstr "Mulai loader" 208 | 209 | #: MSGID59 210 | msgid "Additional Functions" 211 | msgstr "Fungsi tambahan" 212 | 213 | #: MSGID60 214 | msgid "Change GRUB boot entry default value" 215 | msgstr "Ubah nilai default entri boot GRUB" 216 | 217 | #: MSGID61 218 | msgid "Inject Bootloader to Syno DISK" 219 | msgstr "Suntikkan bootloader ke disk Syno" 220 | 221 | #: MSGID62 222 | msgid "Remove the injected bootloader partition" 223 | msgstr "Hapus partisi bootloader yang disuntikkan" 224 | 225 | #: MSGID63 226 | msgid "Packing loader file for remote update" 227 | msgstr "Mengemas file loader untuk pembaruan jarak jauh" 228 | -------------------------------------------------------------------------------- /lang/it_IT/LC_MESSAGES/tcrp.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lang/it_IT/LC_MESSAGES/tcrp.mo -------------------------------------------------------------------------------- /lang/ja_JP/LC_MESSAGES/tcrp.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lang/ja_JP/LC_MESSAGES/tcrp.mo -------------------------------------------------------------------------------- /lang/ja_JP/LC_MESSAGES/tcrp.po: -------------------------------------------------------------------------------- 1 | # i18n translations for PACKAGE package. 2 | # Copyright (C) 2024 THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # Linux User , 2024. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: PACKAGE VERSION\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2024-04-08 13:16+0000\n" 11 | "PO-Revision-Date: 2024-04-08 14:17+0000\n" 12 | "Last-Translator: Peter Suh \n" 13 | "Language-Team: i18n \n" 15 | "Language: ja_JP\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Plural-Forms: nplurals=1; plural=0;\n" 20 | "X-Generator: Weblate 5.5-dev\n" 21 | #: MSGJP00 22 | msgid "Device-Tree[DT] Base Models & HBAs do not require SataPortMap,DiskIdxMap. DT models do not support HBAs" 23 | msgstr "Device-Tree[DT]ベースモデルとHBAsは、SataPortMap、DiskIdxMapが必要ありません. DTモデルはHBAsをサポートしていません" 24 | 25 | #: MSGJP01 26 | msgid "Choose a Dev Mod handling method, DDSML/EUDEV" 27 | msgstr "Dev Mod処理方法を選択してください、EUDEV / DDSML" 28 | 29 | #: MSGJP02 30 | msgid "Choose a Synology Model" 31 | msgstr "Synologyモデルを選択してください" 32 | 33 | #: MSGJP03 34 | msgid "Choose a Synology Serial Number" 35 | msgstr "Synologyシリアル番号を選択してください" 36 | 37 | #: MSGJP04 38 | msgid "Choose a mac address" 39 | msgstr "MACアドレスを選択してください" 40 | 41 | #: MSGJP05 42 | msgid "Choose a DSM VERSION, Current" 43 | msgstr "DSM VERSION 選択、現在" 44 | 45 | #: MSGJP06 46 | msgid "Choose a loader Mode, Current" 47 | msgstr "のローダーモードを選択してください、現在" 48 | 49 | #: MSGJP10 50 | msgid "Edit user config file manually" 51 | msgstr "ユーザー設定ファイルを手動で編集する" 52 | 53 | #: MSGJP11 54 | msgid "Choose a keymap" 55 | msgstr "キーマップを選択してください" 56 | 57 | #: MSGJP12 58 | msgid "Format Disk(s) # Excluding Loader Disk" 59 | msgstr "ディスクフォーマット#ローダーディスクを除く" 60 | 61 | #: MSGJP13 62 | msgid "Backup TCRP" 63 | msgstr "TCRPをバックアップする" 64 | 65 | #: MSGJP14 66 | msgid "Reboot" 67 | msgstr "再起動" 68 | 69 | #: MSGJP15 70 | msgid "Power Off" 71 | msgstr "電源を切る" 72 | 73 | #: MSGJP16 74 | msgid "Max 24 Threads, any x86-64" 75 | msgstr "最大24スレッド、任意のx86-64" 76 | 77 | #: MSGJP17 78 | msgid "Max 8 Threads, Haswell or later,iGPU Transcoding" 79 | msgstr "Haswell以降、iGPUトランスコーディングを備えた最大8スレッド" 80 | 81 | #: MSGJP18 82 | msgid "Build the loader" 83 | msgstr "ローダーをビルドする" 84 | 85 | #: MSGJP20 86 | msgid "Max ? Threads, any x86-64" 87 | msgstr "最大?スレッド、任意のx86-64" 88 | 89 | #: MSGJP21 90 | msgid "Have a camera license" 91 | msgstr "カメラライセンスを持っています" 92 | 93 | #: MSGJP22 94 | msgid "Max 16 Threads, any x86-64" 95 | msgstr "最大16スレッド、任意のx86-64" 96 | 97 | #: MSGJP23 98 | msgid "Max 16 Threads, Haswell or later" 99 | msgstr "Haswell以降、最大16スレッド" 100 | 101 | #: MSGJP24 102 | msgid "Nvidia GTX1650" 103 | msgstr "Nvidia GTX1650" 104 | 105 | #: MSGJP25 106 | msgid "Nvidia GTX1050Ti" 107 | msgstr "Nvidia GTX1050Ti" 108 | 109 | #: MSGJP26 110 | msgid "EUDEV (enhanced user-space device)" 111 | msgstr "EUDEV(拡張ユーザースペースデバイス)" 112 | 113 | #: MSGJP27 114 | msgid "DDSML (Detected Device Static Module Loading)" 115 | msgstr "DDSML(検出されたデバイス静的モジュールローディング)" 116 | 117 | #: MSGJP28 118 | msgid "FRIEND (most recently stabilized)" 119 | msgstr "FRIEND(最近安定化されました)" 120 | 121 | #: MSGJP29 122 | msgid "JOT (The old way before friend)" 123 | msgstr "JOT(フレンドよりも古い方法)" 124 | 125 | #: MSGJP30 126 | msgid "Generate a random serial number" 127 | msgstr "ランダムなシリアル番号を生成する" 128 | 129 | #: MSGJP31 130 | msgid "Enter a serial number" 131 | msgstr "シリアル番号を入力してください" 132 | 133 | #: MSGJP32 134 | msgid "Get a real mac address" 135 | msgstr "実際のMACアドレスを取得する" 136 | 137 | #: MSGJP33 138 | msgid "Generate a random mac address" 139 | msgstr "ランダムなMACアドレスを生成する" 140 | 141 | #: MSGJP34 142 | msgid "Enter a mac address" 143 | msgstr "MACアドレスを入力してください" 144 | 145 | #: MSGJP35 146 | msgid "press any key to continue..." 147 | msgstr "続行するには任意のキーを押してください..." 148 | 149 | #: MSGJP36 150 | msgid "Synology serial number not set. Check user_config.json again. Abort the loader build !!!" 151 | msgstr "Synologyのシリアル番号が設定されていません。user_config.jsonを再度確認してください。ローダービルドを中止します!!!!" 152 | 153 | #: MSGJP37 154 | msgid "The first MAC address is not set. Check user_config.json again. Abort the loader build !!!" 155 | msgstr "最初のMACアドレスが設定されていません。user_config.jsonを再度確認してください。ローダービルドを中止します!!!!" 156 | 157 | #: MSGJP38 158 | msgid "The netif_num and the number of mac addresses do not match. Check user_config.json again. Abort the loader build !!!" 159 | msgstr "netif_numとMACアドレスの数が一致しません。user_config.jsonを再度確認してください。ローダービルドを中止します!!!!" 160 | 161 | #: MSGJP39 162 | msgid "Choose a language" 163 | msgstr "言語を選択してください" 164 | 165 | #: MSGJP40 166 | msgid "DDSML+EUDEV" 167 | msgstr "DDSML+EUDEV" 168 | 169 | #: MSGJP41 170 | msgid "Choose a Storage Panel Size" 171 | msgstr "ストレージパネルのサイズを選択してください" 172 | 173 | #: MSGJP50 174 | msgid "Mac-spoof Addon" 175 | msgstr "Mac なりすましアドオン" 176 | 177 | #: MSGJP51 178 | msgid "Prevent SataPortMap,DiskIdxMap initialization" 179 | msgstr "SataPortMap、DiskIdxMap の初期化を防止します" 180 | 181 | #: MSGJP52 182 | msgid "Show SATA(s) ports and drives for SataPortMap" 183 | msgstr "SataPortMap の SATA ポートとドライブを表示" 184 | 185 | #: MSGJP53 186 | msgid "Show error log of running loader" 187 | msgstr "実行中のローダーのエラー ログを表示" 188 | 189 | #: MSGJP54 190 | msgid "Burn TCRP Bootloader Img to USB or SSD" 191 | msgstr "別の TCRP ブートローダーを USB または SSD に書き込む" 192 | 193 | #: MSGJP55 194 | msgid "Clone Current TCRP Bootloader to USB or SSD" 195 | msgstr "TCRP ブートローダーのクローンを USB または SSD に作成" 196 | 197 | #: MSGJP56 198 | msgid "sata_remap processing for SataPort reordering" 199 | msgstr "SataPort の並べ替えのための sata_remap 処理" 200 | 201 | #: MSGJP57 202 | msgid "nvmesystem Addon(NVMe single volume use)" 203 | msgstr "nvmesystem アドオン(NVMe 単一ボリューム使用)" 204 | 205 | #: MSGJP58 206 | msgid "Boot the loader" 207 | msgstr "ローダーを起動" 208 | 209 | #: MSGJP59 210 | msgid "Additional Functions" 211 | msgstr "追加機能" 212 | 213 | #: MSGJP60 214 | msgid "Change GRUB boot entry default value" 215 | msgstr "GRUBのブートエントリのデフォルト値を変更" 216 | 217 | #: MSGJP61 218 | msgid "Inject Bootloader to Syno DISK" 219 | msgstr "Synoディスクにブートローダーを注入" 220 | 221 | #: MSGJP62 222 | msgid "Remove the injected bootloader partition" 223 | msgstr "注入されたブートローダーパーティションを削除" 224 | 225 | #: MSGJP63 226 | msgid "Packing loader file for remote update" 227 | msgstr "リモートアップデート用のローダーファイルをパッキング" 228 | -------------------------------------------------------------------------------- /lang/ko_KR/LC_MESSAGES/tcrp.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lang/ko_KR/LC_MESSAGES/tcrp.mo -------------------------------------------------------------------------------- /lang/ko_KR/LC_MESSAGES/tcrp.po: -------------------------------------------------------------------------------- 1 | # i18n translations for PACKAGE package. 2 | # Copyright (C) 2024 THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # Linux User , 2024. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: PACKAGE VERSION\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2024-04-08 13:16+0000\n" 11 | "PO-Revision-Date: 2024-04-08 14:17+0000\n" 12 | "Last-Translator: Peter Suh \n" 13 | "Language-Team: i18n \n" 15 | "Language: ko_KR\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Plural-Forms: nplurals=1; plural=0;\n" 20 | "X-Generator: Weblate 5.5-dev\n" 21 | #: MSGKR00 22 | msgid "Device-Tree[DT] Base Models & HBAs do not require SataPortMap,DiskIdxMap. DT models do not support HBAs" 23 | msgstr "Device-Tree[DT]모델과 HBA는 SataPortMap,DiskIdxMap 설정이 필요없습니다. DT모델은 HBA를 지원하지 않습니다." 24 | 25 | #: MSGKR01 26 | msgid "Choose a Dev Mod handling method, DDSML/EUDEV" 27 | msgstr "커널모듈 처리방법 선택 DDSML/EUDEV" 28 | 29 | #: MSGKR02 30 | msgid "Choose a Synology Model" 31 | msgstr "Synology 모델 선택" 32 | 33 | #: MSGKR03 34 | msgid "Choose a Synology Serial Number" 35 | msgstr "Synology S/N 선택" 36 | 37 | #: MSGKR04 38 | msgid "Choose a mac address" 39 | msgstr "선택 Mac 주소" 40 | 41 | #: MSGKR05 42 | msgid "Choose a DSM VERSION, Current" 43 | msgstr "DSM VERSION 선택, 현재" 44 | 45 | #: MSGKR06 46 | msgid "Choose a loader Mode, Current" 47 | msgstr "로더모드 선택, 현재" 48 | 49 | #: MSGKR10 50 | msgid "Edit user config file manually" 51 | msgstr "user_config.json 파일 편집" 52 | 53 | #: MSGKR11 54 | msgid "Choose a keymap" 55 | msgstr "다국어 자판 지원용 키맵 선택" 56 | 57 | #: MSGKR12 58 | msgid "Format Disk(s) # Excluding Loader Disk" 59 | msgstr "디스크(들) 포맷 # 로더 디스크 제외" 60 | 61 | #: MSGKR13 62 | msgid "Backup TCRP" 63 | msgstr "TCRP 백업" 64 | 65 | #: MSGKR14 66 | msgid "Reboot" 67 | msgstr "재부팅" 68 | 69 | #: MSGKR15 70 | msgid "Power Off" 71 | msgstr "전원종료" 72 | 73 | #: MSGKR16 74 | msgid "Max 24 Threads, any x86-64" 75 | msgstr "최대 24 스레드 지원, 인텔 x86-64" 76 | 77 | #: MSGKR17 78 | msgid "Max 8 Threads, Haswell or later,iGPU Transcoding" 79 | msgstr "최대 8 스레드 지원, 인텔 4세대 하스웰 이후부터 지원,iGPU H/W 트랜스코딩" 80 | 81 | #: MSGKR18 82 | msgid "Build the loader" 83 | msgstr "로더 빌드" 84 | 85 | #: MSGKR20 86 | msgid "Max ? Threads, any x86-64" 87 | msgstr "최대 ? 스레드 지원, 인텔 x86-64" 88 | 89 | #: MSGKR21 90 | msgid "Have a camera license" 91 | msgstr "카메라 라이센스 있음" 92 | 93 | #: MSGKR22 94 | msgid "Max 16 Threads, any x86-64" 95 | msgstr "최대 16 스레드 지원, 인텔 x86-64" 96 | 97 | #: MSGKR23 98 | msgid "Max 16 Threads, Haswell or later" 99 | msgstr "최대 16 스레드 지원, 인텔 4세대 하스웰 이후부터 지원" 100 | 101 | #: MSGKR24 102 | msgid "Nvidia GTX1650" 103 | msgstr "Nvidia GTX1650 H/W 가속지원" 104 | 105 | #: MSGKR25 106 | msgid "Nvidia GTX1050Ti" 107 | msgstr "Nvidia GTX1050Ti H/W 가속지원" 108 | 109 | #: MSGKR26 110 | msgid "EUDEV (enhanced user-space device)" 111 | msgstr "EUDEV (향상된 사용자 공간 장치)" 112 | 113 | #: MSGKR27 114 | msgid "DDSML (Detected Device Static Module Loading)" 115 | msgstr "DDSML (감지된 장치 정적 모듈 로드)" 116 | 117 | #: MSGKR28 118 | msgid "FRIEND (most recently stabilized)" 119 | msgstr "FRIEND (가장 최근에 안정화된 로더모드)" 120 | 121 | #: MSGKR29 122 | msgid "JOT (The old way before friend)" 123 | msgstr "JOT (FRIEND 보다 옛날 로더모드)" 124 | 125 | #: MSGKR30 126 | msgid "Generate a random serial number" 127 | msgstr "시놀로지 랜덤 S/N 생성" 128 | 129 | #: MSGKR31 130 | msgid "Enter a serial number" 131 | msgstr "시놀로지 S/N을 입력하세요" 132 | 133 | #: MSGKR32 134 | msgid "Get a real mac address" 135 | msgstr "실제 MAC 주소 가져오기" 136 | 137 | #: MSGKR33 138 | msgid "Generate a random mac address" 139 | msgstr "랜덤 MAC 주소 생성" 140 | 141 | #: MSGKR34 142 | msgid "Enter a mac address" 143 | msgstr "시놀로지 MAC 주소를 입력하세요" 144 | 145 | #: MSGKR35 146 | msgid "press any key to continue..." 147 | msgstr "계속하려면 아무 키나 누르십시오..." 148 | 149 | #: MSGKR36 150 | msgid "Synology serial number not set. Check user_config.json again. Abort the loader build !!!" 151 | msgstr "Synology 일련 번호가 설정되지 않았습니다. user_config.json을 다시 확인하십시오. 로더 빌드를 중단합니다!!!!!!" 152 | 153 | #: MSGKR37 154 | msgid "The first MAC address is not set. Check user_config.json again. Abort the loader build !!!" 155 | msgstr "첫 번째 MAC 주소가 설정되지 않았습니다. user_config.json을 다시 확인하십시오. 로더 빌드를 중단합니다!!!!!!" 156 | 157 | #: MSGKR38 158 | msgid "The netif_num and the number of mac addresses do not match. Check user_config.json again. Abort the loader build !!!" 159 | msgstr "netif_num과 mac 주소 갯수가 일치하지 않습니다. user_config.json을 다시 확인하십시오. 로더 빌드를 중단합니다!!!!!!" 160 | 161 | #: MSGKR39 162 | msgid "Choose a language" 163 | msgstr "언어를 선택하세요(Choose a lageuage)" 164 | 165 | #: MSGKR40 166 | msgid "DDSML+EUDEV" 167 | msgstr "DDSML+EUDEV" 168 | 169 | #: MSGKR41 170 | msgid "Choose a Storage Panel Size" 171 | msgstr "저장소 패널 크기를 선택하세요" 172 | 173 | #: MSGKR50 174 | msgid "Mac-spoof Addon" 175 | msgstr "Mac 스푸핑 애드온" 176 | 177 | #: MSGKR51 178 | msgid "Prevent SataPortMap,DiskIdxMap initialization" 179 | msgstr "SataPortMap,DiskIdxMap 초기화 방지" 180 | 181 | #: MSGKR52 182 | msgid "Show SATA(s) ports and drives for SataPortMap" 183 | msgstr "SataPortMap용 SATA 포트 및 드라이브 표시" 184 | 185 | #: MSGKR53 186 | msgid "Show error log of running loader" 187 | msgstr "실행 중인 로더의 오류 로그 표시" 188 | 189 | #: MSGKR54 190 | msgid "Burn TCRP Bootloader Img to USB or SSD" 191 | msgstr "TCRP 부트로더 Img를 USB 또는 SSD에 굽기" 192 | 193 | #: MSGKR55 194 | msgid "Clone Current TCRP Bootloader to USB or SSD" 195 | msgstr "현재의 TCRP 부트로더를 USB 또는 SSD에 복제" 196 | 197 | #: MSGKR56 198 | msgid "sata_remap processing for SataPort reordering" 199 | msgstr "SataPort 순서재정렬을 위한 sata_remap 처리" 200 | 201 | #: MSGKR57 202 | msgid "nvmesystem Addon(NVMe single volume use)" 203 | msgstr "nvmesystem 애드온(NVMe 단일 볼륨 사용)" 204 | 205 | #: MSGKR58 206 | msgid "Boot the loader" 207 | msgstr "로더 부팅" 208 | 209 | #: MSGKR59 210 | msgid "Additional Functions" 211 | msgstr "추가 기능" 212 | 213 | #: MSGKR60 214 | msgid "Change GRUB boot entry default value" 215 | msgstr "GRUB 부팅 항목 기본값 변경" 216 | 217 | #: MSGKR61 218 | msgid "Inject Bootloader to Syno DISK" 219 | msgstr "Syno 디스크에 부트로더 주입" 220 | 221 | #: MSGKR62 222 | msgid "Remove the injected bootloader partition" 223 | msgstr "주입된 부트로더 파티션 제거" 224 | 225 | #: MSGKR63 226 | msgid "Packing loader file for remote update" 227 | msgstr "원격 업데이트용 로더 파일 패키징" 228 | -------------------------------------------------------------------------------- /lang/pt_BR/LC_MESSAGES/tcrp.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lang/pt_BR/LC_MESSAGES/tcrp.mo -------------------------------------------------------------------------------- /lang/ru_RU/LC_MESSAGES/tcrp.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lang/ru_RU/LC_MESSAGES/tcrp.mo -------------------------------------------------------------------------------- /lang/ru_RU/LC_MESSAGES/tcrp.po: -------------------------------------------------------------------------------- 1 | # i18n translations for PACKAGE package. 2 | # Copyright (C) 2024 THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # Linux User , 2024. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: PACKAGE VERSION\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2024-04-08 13:16+0000\n" 11 | "PO-Revision-Date: 2024-04-08 14:17+0000\n" 12 | "Last-Translator: Peter Suh \n" 13 | "Language-Team: i18n \n" 15 | "Language: ru_RU\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Plural-Forms: nplurals=1; plural=0;\n" 20 | "X-Generator: Weblate 5.5-dev\n" 21 | #: MSGRU00 22 | msgid "Device-Tree[DT] Base Models & HBAs do not require SataPortMap,DiskIdxMap. DT models do not support HBAs" 23 | msgstr "Базовые модели и HBAs Device-Tree [DT] не требуют SataPortMap, DiskIdxMap. DT модели не поддерживают HBAs" 24 | 25 | #: MSGRU01 26 | msgid "Choose a Dev Mod handling method, DDSML/EUDEV" 27 | msgstr "Выберите метод обработки Dev Mod, DDSML/EUDEV" 28 | 29 | #: MSGRU02 30 | msgid "Choose a Synology Model" 31 | msgstr "Выберите модель Synology" 32 | 33 | #: MSGRU03 34 | msgid "Choose a Synology Serial Number" 35 | msgstr "Выберите серийный номер Synology" 36 | 37 | #: MSGRU04 38 | msgid "Choose a mac address" 39 | msgstr "Выберите MAC-адрес" 40 | 41 | #: MSGRU05 42 | msgid "Choose a DSM VERSION, Current" 43 | msgstr "Выберите ВЕРСИЮ DSM, Текущий" 44 | 45 | #: MSGRU06 46 | msgid "Choose a loader Mode, Current" 47 | msgstr "Выберите текущий режим загрузчика, Текущий" 48 | 49 | #: MSGRU10 50 | msgid "Edit user config file manually" 51 | msgstr "Отредактируйте файл конфигурации пользователя вручную" 52 | 53 | #: MSGRU11 54 | msgid "Choose a keymap" 55 | msgstr "Выберите раскладку клавиатуры" 56 | 57 | #: MSGRU12 58 | msgid "Format Disk(s) # Excluding Loader Disk" 59 | msgstr "Форматировать диск(и) # Без загрузочного диска" 60 | 61 | #: MSGRU13 62 | msgid "Backup TCRP" 63 | msgstr "Резервное копирование TCRP" 64 | 65 | #: MSGRU14 66 | msgid "Reboot" 67 | msgstr "Перезагрузить" 68 | 69 | #: MSGRU15 70 | msgid "Power Off" 71 | msgstr "выключение" 72 | 73 | #: MSGRU16 74 | msgid "Max 24 Threads, any x86-64" 75 | msgstr "Максимум 24 потока, любой x86-64" 76 | 77 | #: MSGRU17 78 | msgid "Max 8 Threads, Haswell or later,iGPU Transcoding" 79 | msgstr "Максимум 8 потоков, Haswell или более поздний, iGPU транскодирование" 80 | 81 | #: MSGRU18 82 | msgid "Build the loader" 83 | msgstr "Соберите загрузчик" 84 | 85 | #: MSGRU20 86 | msgid "Max ? Threads, any x86-64" 87 | msgstr "Максимум ? Потоки, любой x86-64" 88 | 89 | #: MSGRU21 90 | msgid "Have a camera license" 91 | msgstr "Есть ли лицензия на камеру" 92 | 93 | #: MSGRU22 94 | msgid "Max 16 Threads, any x86-64" 95 | msgstr "Максимум 16 потоков, любой x86-64" 96 | 97 | #: MSGRU23 98 | msgid "Max 16 Threads, Haswell or later" 99 | msgstr "Максимум 16 потоков, Haswell или более поздний" 100 | 101 | #: MSGRU24 102 | msgid "Nvidia GTX1650" 103 | msgstr "Nvidia GTX1650" 104 | 105 | #: MSGRU25 106 | msgid "Nvidia GTX1050Ti" 107 | msgstr "Nvidia GTX1050Ti" 108 | 109 | #: MSGRU26 110 | msgid "EUDEV (enhanced user-space device)" 111 | msgstr "EUDEV (усовершенствованное устройство пользовательского пространства)" 112 | 113 | #: MSGRU27 114 | msgid "DDSML (Detected Device Static Module Loading)" 115 | msgstr "DDSML (Загрузка статического модуля обнаруженного устройства)" 116 | 117 | #: MSGRU28 118 | msgid "FRIEND (most recently stabilized)" 119 | msgstr "FRIEND (недавно стабилизированный)" 120 | 121 | #: MSGRU29 122 | msgid "JOT (The old way before friend)" 123 | msgstr "JOT (Старый способ до friend)" 124 | 125 | #: MSGRU30 126 | msgid "Generate a random serial number" 127 | msgstr "Сгенерировать случайный серийный номер" 128 | 129 | #: MSGRU31 130 | msgid "Enter a serial number" 131 | msgstr "Введите серийный номер" 132 | 133 | #: MSGRU32 134 | msgid "Get a real mac address" 135 | msgstr "Получить реальный MAC-адрес" 136 | 137 | #: MSGRU33 138 | msgid "Generate a random mac address" 139 | msgstr "Сгенерировать случайный MAC-адрес" 140 | 141 | #: MSGRU34 142 | msgid "Enter a mac address" 143 | msgstr "Введите MAC-адрес" 144 | 145 | #: MSGRU35 146 | msgid "press any key to continue..." 147 | msgstr "нажмите любую клавишу для продолжения ..." 148 | 149 | #: MSGRU36 150 | msgid "Synology serial number not set. Check user_config.json again. Abort the loader build !!!" 151 | msgstr "Серийный номер Synology не задан. Проверьте файл user_config.json еще раз. Остановка построения загрузчика !!!!" 152 | 153 | #: MSGRU37 154 | msgid "The first MAC address is not set. Check user_config.json again. Abort the loader build !!!" 155 | msgstr "Первый MAC-адрес не задан. Проверьте файл user_config.json еще раз. Остановка построения загрузчика !!!!!!" 156 | 157 | #: MSGRU38 158 | msgid "The netif_num and the number of mac addresses do not match. Check user_config.json again. Abort the loader build !!!" 159 | msgstr "Количество интерфейсов (netif_num) и количество MAC-адресов не совпадают. Проверьте файл user_config.json еще раз. Остановка построения загрузчика !!!!!!" 160 | 161 | #: MSGRU39 162 | msgid "Choose a language" 163 | msgstr "Выберите язык" 164 | 165 | #: MSGRU40 166 | msgid "DDSML+EUDEV" 167 | msgstr "DDSML+EUDEV" 168 | 169 | #: MSGRU41 170 | msgid "Choose a Storage Panel Size" 171 | msgstr "Выберите размер панели хранения" 172 | 173 | #: MSGRU50 174 | msgid "Mac-spoof Addon" 175 | msgstr "Дополнение Mac-spoof" 176 | 177 | #: MSGRU51 178 | msgid "Prevent SataPortMap,DiskIdxMap initialization" 179 | msgstr "Запретить инициализацию SataPortMap,DiskIdxMap" 180 | 181 | #: MSGRU52 182 | msgid "Show SATA(s) ports and drives for SataPortMap" 183 | msgstr "Показать порты и диски SATA для SataPortMap" 184 | 185 | #: MSGRU53 186 | msgid "Show error log of running loader" 187 | msgstr "Показать журнал ошибок работающего загрузчика" 188 | 189 | #: MSGRU54 190 | msgid "Burn TCRP Bootloader Img to USB or SSD" 191 | msgstr "Записать еще один загрузчик TCRP на USB или SSD" 192 | 193 | #: MSGRU55 194 | msgid "Clone Current TCRP Bootloader to USB or SSD" 195 | msgstr "Клонировать загрузчик TCRP на USB или SSD" 196 | 197 | #: MSGRU56 198 | msgid "sata_remap processing for SataPort reordering" 199 | msgstr "Обработка sata_remap для изменения порядка SataPort" 200 | 201 | #: MSGRU57 202 | msgid "nvmesystem Addon(NVMe single volume use)" 203 | msgstr "дополнение nvmesystem (использование одного тома NVMe)" 204 | 205 | #: MSGRU58 206 | msgid "Boot the loader" 207 | msgstr "Загрузить загрузчик" 208 | 209 | #: MSGRU59 210 | msgid "Additional Functions" 211 | msgstr "Дополнительные функции" 212 | 213 | #: MSGRU60 214 | msgid "Change GRUB boot entry default value" 215 | msgstr "Изменить значение по умолчанию записи загрузки GRUB" 216 | 217 | #: MSGRU61 218 | msgid "Inject Bootloader to Syno DISK" 219 | msgstr "Внедрить загрузчик в диск Syno" 220 | 221 | #: MSGRU62 222 | msgid "Remove the injected bootloader partition" 223 | msgstr "Удалить внедренную загрузочную секцию" 224 | 225 | #: MSGRU63 226 | msgid "Packing loader file for remote update" 227 | msgstr "Упаковка файла загрузчика для удаленного обновления" 228 | -------------------------------------------------------------------------------- /lang/th_TH/LC_MESSAGES/tcrp.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lang/th_TH/LC_MESSAGES/tcrp.mo -------------------------------------------------------------------------------- /lang/th_TH/LC_MESSAGES/tcrp.po: -------------------------------------------------------------------------------- 1 | # i18n translations for PACKAGE package. 2 | # Copyright (C) 2024 THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # Linux User , 2024. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: PACKAGE VERSION\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2024-04-08 13:16+0000\n" 11 | "PO-Revision-Date: 2024-04-08 14:17+0000\n" 12 | "Last-Translator: Peter Suh \n" 13 | "Language-Team: i18n \n" 15 | "Language: th_TH\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Plural-Forms: nplurals=1; plural=0;\n" 20 | "X-Generator: Weblate 5.5-dev\n" 21 | #: MSGTH00 22 | msgid "Device-Tree[DT] Base Models & HBAs do not require SataPortMap,DiskIdxMap. DT models do not support HBAs" 23 | msgstr "Device-Tree[DT] Base Models & HBAs ไม่จำเป็นต้องใช้ SataPortMap,DiskIdxMap โมเดล DT ไม่รองรับ HBAs" 24 | 25 | #: MSGTH01 26 | msgid "Choose a Dev Mod handling method, DDSML/EUDEV" 27 | msgstr "เลือกวิธีการจัดการ Dev Mod, DDSML/EUDEV" 28 | 29 | #: MSGTH02 30 | msgid "Choose a Synology Model" 31 | msgstr "เลือกรุ่น Synology" 32 | 33 | #: MSGTH03 34 | msgid "Choose a Synology Serial Number" 35 | msgstr "เลือกหมายเลขซีเรียลของ Synology" 36 | 37 | #: MSGTH04 38 | msgid "Choose a mac address" 39 | msgstr "เลือกที่อยู่ Mac" 40 | 41 | #: MSGTH05 42 | msgid "Choose a DSM VERSION, Current" 43 | msgstr "เลือกเวอร์ชัน DSM, ปัจจุบัน" 44 | 45 | #: MSGTH06 46 | msgid "Choose a loader Mode, Current" 47 | msgstr "เลือกโหมดตัวโหลด, กระแส" 48 | 49 | #: MSGTH10 50 | msgid "Edit user config file manually" 51 | msgstr "แก้ไขไฟล์ปรับแต่งผู้ใช้ด้วยตนเอง" 52 | 53 | #: MSGTH11 54 | msgid "Choose a keymap" 55 | msgstr "เลือกคีย์แมป" 56 | 57 | #: MSGTH12 58 | msgid "Format Disk(s) # Excluding Loader Disk" 59 | msgstr "ฟอร์แมตดิสก์(s) # ไม่รวม Loader Disk" 60 | 61 | #: MSGTH13 62 | msgid "Backup TCRP" 63 | msgstr "สำรองข้อมูล TCRP" 64 | 65 | #: MSGTH14 66 | msgid "Reboot" 67 | msgstr "รีบูต" 68 | 69 | #: MSGTH15 70 | msgid "Power Off" 71 | msgstr "ปิดเครื่อง" 72 | 73 | #: MSGTH16 74 | msgid "Max 24 Threads, any x86-64" 75 | msgstr "สูงสุด 24 เธรด x86-64 ใดก็ได้" 76 | 77 | #: MSGTH17 78 | msgid "Max 8 Threads, Haswell or later,iGPU Transcoding" 79 | msgstr "สูงสุด 8 เธรด, Haswell หรือใหม่กว่า, การแปลงรหัส iGPU" 80 | 81 | #: MSGTH18 82 | msgid "Build the loader" 83 | msgstr "สร้างตัวโหลด" 84 | 85 | #: MSGTH20 86 | msgid "Max ? Threads, any x86-64" 87 | msgstr "สูงสุด ? เธรดใดๆ x86-64" 88 | 89 | #: MSGTH21 90 | msgid "Have a camera license" 91 | msgstr "มีใบอนุญาตกล้อง" 92 | 93 | #: MSGTH22 94 | msgid "Max 16 Threads, any x86-64" 95 | msgstr "สูงสุด 16 เธรด x86-64 ใดก็ได้" 96 | 97 | #: MSGTH23 98 | msgid "Max 16 Threads, Haswell or later" 99 | msgstr "สูงสุด 16 เธรด Haswell หรือใหม่กว่า" 100 | 101 | #: MSGTH24 102 | msgid "Nvidia GTX1650" 103 | msgstr "Nvidia GTX1650" 104 | 105 | #: MSGTH25 106 | msgid "Nvidia GTX1050Ti" 107 | msgstr "Nvidia GTX1050Ti" 108 | 109 | #: MSGTH26 110 | msgid "EUDEV (enhanced user-space device)" 111 | msgstr "EUDEV (อุปกรณ์พื้นที่ผู้ใช้ที่ได้รับการปรับปรุง)" 112 | 113 | #: MSGTH27 114 | msgid "DDSML (Detected Device Static Module Loading)" 115 | msgstr "DDSML (ตรวจพบการโหลดโมดูลคงที่ของอุปกรณ์)" 116 | 117 | #: MSGTH28 118 | msgid "FRIEND (most recently stabilized)" 119 | msgstr "เพื่อน (ล่าสุดมีเสถียรภาพ)" 120 | 121 | #: MSGTH29 122 | msgid "JOT (The old way before friend)" 123 | msgstr "JOT (ทางเก่าก่อนเพื่อน)" 124 | 125 | #: MSGTH30 126 | msgid "Generate a random serial number" 127 | msgstr "สร้างหมายเลขซีเรียลแบบสุ่ม" 128 | 129 | #: MSGTH31 130 | msgid "Enter a serial number" 131 | msgstr "ป้อนหมายเลขซีเรียล" 132 | 133 | #: MSGTH32 134 | msgid "Get a real mac address" 135 | msgstr "รับที่อยู่ Mac จริง" 136 | 137 | #: MSGTH33 138 | msgid "Generate a random mac address" 139 | msgstr "สร้างที่อยู่ Mac แบบสุ่ม" 140 | 141 | #: MSGTH34 142 | msgid "Enter a mac address" 143 | msgstr "ป้อนที่อยู่ Mac" 144 | 145 | #: MSGTH35 146 | msgid "press any key to continue..." 147 | msgstr "กดปุ่มใดก็ได้เพื่อดำเนินการต่อ..." 148 | 149 | #: MSGTH36 150 | msgid "Synology serial number not set. Check user_config.json again. Abort the loader build !!!" 151 | msgstr "ไม่ได้ตั้งค่าหมายเลขซีเรียลของ Synology โปรดตรวจสอบ user_config.json อีกครั้ง ยกเลิกบิลด์ตัวโหลด !!!" 152 | 153 | #: MSGTH37 154 | msgid "The first MAC address is not set. Check user_config.json again. Abort the loader build !!!" 155 | msgstr "ไม่ได้ตั้งค่าที่อยู่ MAC แรก โปรดตรวจสอบ user_config.json อีกครั้ง ยกเลิกการสร้างตัวโหลด !!!" 156 | 157 | #: MSGTH38 158 | msgid "The netif_num and the number of mac addresses do not match. Check user_config.json again. Abort the loader build !!!" 159 | msgstr "netif_num และจำนวนที่อยู่ mac ไม่ตรงกัน ตรวจสอบ user_config.json อีกครั้ง ยกเลิกการสร้างตัวโหลด !!!" 160 | 161 | #: MSGTH39 162 | msgid "Choose a language" 163 | msgstr "เลือกภาษา" 164 | 165 | #: MSGTH40 166 | msgid "DDSML+EUDEV" 167 | msgstr "DDSML+EUDEV" 168 | 169 | #: MSGTH41 170 | msgid "Choose a Storage Panel Size" 171 | msgstr "เลือกขนาดแผงจัดเก็บข้อมูล" 172 | 173 | #: MSGTH50 174 | msgid "Mac-spoof Addon" 175 | msgstr "โปรแกรมเสริม Mac-spoof" 176 | 177 | #: MSGTH51 178 | msgid "Prevent SataPortMap,DiskIdxMap initialization" 179 | msgstr "ป้องกัน SataPortMap,DiskIdxMap การเริ่มต้น" 180 | 181 | #: MSGTH52 182 | msgid "Show SATA(s) ports and drives for SataPortMap" 183 | msgstr "แสดงพอร์ตและไดรฟ์ SATA สำหรับ SataPortMap" 184 | 185 | #: MSGTH53 186 | msgid "Show error log of running loader" 187 | msgstr "แสดงบันทึกข้อผิดพลาดของตัวโหลดที่ทำงานอยู่" 188 | 189 | #: MSGTH54 190 | msgid "Burn TCRP Bootloader Img to USB or SSD" 191 | msgstr "เบิร์น TCRP Bootloader Img ไปยัง USB หรือ SSD" 192 | 193 | #: MSGTH55 194 | msgid "Clone Current TCRP Bootloader to USB or SSD" 195 | msgstr "โคลน TCRP Bootloader ปัจจุบันเป็น USB หรือ SSD" 196 | 197 | #: MSGTH56 198 | msgid "sata_remap processing for SataPort reordering" 199 | msgstr "การประมวลผล sata_remap สำหรับการเรียงลำดับ SataPort ใหม่" 200 | 201 | #: MSGTH57 202 | msgid "nvmesystem Addon(NVMe single volume use)" 203 | msgstr "โมดูล nvmesystem (ใช้โวลุ่ม NVMe เดียว)" 204 | 205 | #: MSGTH58 206 | msgid "Boot the loader" 207 | msgstr "เริ่มต้นโหลดเดอร์" 208 | 209 | #: MSGTH59 210 | msgid "Additional Functions" 211 | msgstr "ฟังก์ชันเพิ่มเติม" 212 | 213 | #: MSGTH60 214 | msgid "Change GRUB boot entry default value" 215 | msgstr "เปลี่ยนค่าเริ่มต้นของรายการบูต GRUB" 216 | 217 | #: MSGTH61 218 | msgid "Inject Bootloader to Syno DISK" 219 | msgstr "ฉีดบูตโหลดเดอร์เข้าดิสก์ Syno" 220 | 221 | #: MSGTH62 222 | msgid "Remove the injected bootloader partition" 223 | msgstr "ลบพาร์ติชันบูตโหลดเดอร์ที่ฉีดเข้าไป" 224 | 225 | #: MSGTH63 226 | msgid "Packing loader file for remote update" 227 | msgstr "แพ็กไฟล์โหลดเดอร์สำหรับการอัปเดตระยะไกล" 228 | -------------------------------------------------------------------------------- /lang/tr_TR/LC_MESSAGES/tcrp.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lang/tr_TR/LC_MESSAGES/tcrp.mo -------------------------------------------------------------------------------- /lang/tr_TR/LC_MESSAGES/tcrp.po: -------------------------------------------------------------------------------- 1 | # i18n translations for PACKAGE package. 2 | # Copyright (C) 2024 THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # Linux User , 2024. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: PACKAGE VERSION\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2024-04-08 13:16+0000\n" 11 | "PO-Revision-Date: 2024-04-08 14:17+0000\n" 12 | "Last-Translator: Peter Suh \n" 13 | "Language-Team: i18n \n" 15 | "Language: tr_TR\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Plural-Forms: nplurals=1; plural=0;\n" 20 | "X-Generator: Weblate 5.5-dev\n" 21 | #: MSGTR00 22 | msgid "Device-Tree[DT] Base Models & HBAs do not require SataPortMap,DiskIdxMap. DT models do not support HBAs" 23 | msgstr "Device-Tree[DT] Temel Modeller ve HBA'lar SataPortMap,DiskIdxMap gerektirmez. DT modelleri HBA'ları desteklemez" 24 | 25 | #: MSGTR01 26 | msgid "Choose a Dev Mod handling method, DDSML/EUDEV" 27 | msgstr "Bir Geliştirici Modu işleme yöntemi seçin, DDSML/EUDEV" 28 | 29 | #: MSGTR02 30 | msgid "Choose a Synology Model" 31 | msgstr "Bir Synology Modeli Seçin" 32 | 33 | #: MSGTR03 34 | msgid "Choose a Synology Serial Number" 35 | msgstr "Bir Synology Seri Numarası Seçin" 36 | 37 | #: MSGTR04 38 | msgid "Choose a mac address" 39 | msgstr "Bir mac adresi seçin" 40 | 41 | #: MSGTR05 42 | msgid "Choose a DSM VERSION, Current" 43 | msgstr "Geçerli bir DSM SÜRÜMÜ Seçin" 44 | 45 | #: MSGTR06 46 | msgid "Choose a loader Mode, Current" 47 | msgstr "Bir yükleyici modu seçin, Geçerli" 48 | 49 | #: MSGTR10 50 | msgid "Edit user config file manually" 51 | msgstr "Kullanıcı yapılandırma dosyasını manuel olarak düzenle" 52 | 53 | #: MSGTR11 54 | msgid "Choose a keymap" 55 | msgstr "Bir tuş haritası seçin" 56 | 57 | #: MSGTR12 58 | msgid "Format Disk(s) # Excluding Loader Disk" 59 | msgstr "Yükleyici Diski Hariç Disk(ler)i Formatla" 60 | 61 | #: MSGTR13 62 | msgid "Backup TCRP" 63 | msgstr "TCRP'yi Yedekle" 64 | 65 | #: MSGTR14 66 | msgid "Reboot" 67 | msgstr "Yeniden Başlat" 68 | 69 | #: MSGTR15 70 | msgid "Power Off" 71 | msgstr "Güç Kapat" 72 | 73 | #: MSGTR16 74 | msgid "Max 24 Threads, any x86-64" 75 | msgstr "Maksimum 24 Konu, herhangi bir x86-64" 76 | 77 | #: MSGTR17 78 | msgid "Max 8 Threads, Haswell or later,iGPU Transcoding" 79 | msgstr "Maksimum 8 Konu, Haswell veya üzeri,iGPU Kod Dönüştürme" 80 | 81 | #: MSGTR18 82 | msgid "Build the loader" 83 | msgstr "Yükleyiciyi oluştur" 84 | 85 | #: MSGTR20 86 | msgid "Max ? Threads, any x86-64" 87 | msgstr "Maks. Konu Sayısı, herhangi bir x86-64" 88 | 89 | #: MSGTR21 90 | msgid "Have a camera license" 91 | msgstr "Kamera lisansına sahip olun" 92 | 93 | #: MSGTR22 94 | msgid "Max 16 Threads, any x86-64" 95 | msgstr "Maksimum 16 Konu, herhangi bir x86-64" 96 | 97 | #: MSGTR23 98 | msgid "Max 16 Threads, Haswell or later" 99 | msgstr "Maksimum 16 Konu, Haswell veya üzeri" 100 | 101 | #: MSGTR24 102 | msgid "Nvidia GTX1650" 103 | msgstr "Nvidia GTX1650" 104 | 105 | #: MSGTR25 106 | msgid "Nvidia GTX1050Ti" 107 | msgstr "Nvidia GTX1050Ti" 108 | 109 | #: MSGTR26 110 | msgid "EUDEV (enhanced user-space device)" 111 | msgstr "EUDEV (geliştirilmiş kullanıcı alanı cihazı)" 112 | 113 | #: MSGTR27 114 | msgid "DDSML (Detected Device Static Module Loading)" 115 | msgstr "DDSML (Algılanan Cihaz Statik Modül Yüklemesi)" 116 | 117 | #: MSGTR28 118 | msgid "FRIEND (most recently stabilized)" 119 | msgstr "ARKADAŞ (en son stabil hale getirildi)" 120 | 121 | #: MSGTR29 122 | msgid "JOT (The old way before friend)" 123 | msgstr "JOT (Arkadaştan önceki eski yol)" 124 | 125 | #: MSGTR30 126 | msgid "Generate a random serial number" 127 | msgstr "Rastgele bir seri numarası oluştur" 128 | 129 | #: MSGTR31 130 | msgid "Enter a serial number" 131 | msgstr "Seri numarasını girin" 132 | 133 | #: MSGTR32 134 | msgid "Get a real mac address" 135 | msgstr "Gerçek bir mac adresi edinin" 136 | 137 | #: MSGTR33 138 | msgid "Generate a random mac address" 139 | msgstr "Rastgele bir mac adresi oluştur" 140 | 141 | #: MSGTR34 142 | msgid "Enter a mac address" 143 | msgstr "Bir mac adresi girin" 144 | 145 | #: MSGTR35 146 | msgid "press any key to continue..." 147 | msgstr "Devam etmek için herhangi bir tuşa basın..." 148 | 149 | #: MSGTR36 150 | msgid "Synology serial number not set. Check user_config.json again. Abort the loader build !!!" 151 | msgstr "Synology seri numarası ayarlanmadı. user_config.json'u tekrar kontrol edin. Yükleyici yapısını iptal edin !!!" 152 | 153 | #: MSGTR37 154 | msgid "The first MAC address is not set. Check user_config.json again. Abort the loader build !!!" 155 | msgstr "İlk MAC adresi ayarlanmadı. user_config.json'u tekrar kontrol edin. Yükleyici yapısını iptal edin !!!" 156 | 157 | #: MSGTR38 158 | msgid "The netif_num and the number of mac addresses do not match. Check user_config.json again. Abort the loader build !!!" 159 | msgstr "Netif_num ve mac adreslerinin sayısı eşleşmiyor. user_config.json'u tekrar kontrol edin. Yükleyici derlemesini iptal edin !!!" 160 | 161 | #: MSGTR39 162 | msgid "Choose a language" 163 | msgstr "Bir dil seçin" 164 | 165 | #: MSGTR40 166 | msgid "DDSML+EUDEV" 167 | msgstr "DDSML+EUDEV" 168 | 169 | #: MSGTR41 170 | msgid "Choose a Storage Panel Size" 171 | msgstr "Depolama Paneli Boyutu Seçin" 172 | 173 | #: MSGTR50 174 | msgid "Mac-spoof Addon" 175 | msgstr "Mac sahtekarlığı eklentisi" 176 | 177 | #: MSGTR51 178 | msgid "Prevent SataPortMap,DiskIdxMap initialization" 179 | msgstr "SataPortMap,DiskIdxMap başlatılmasını önle" 180 | 181 | #: MSGTR52 182 | msgid "Show SATA(s) ports and drives for SataPortMap" 183 | msgstr "SataPortMap için SATA bağlantı noktalarını ve sürücülerini göster" 184 | 185 | #: MSGTR53 186 | msgid "Show error log of running loader" 187 | msgstr "Çalışan yükleyicinin hata günlüğünü göster" 188 | 189 | #: MSGTR54 190 | msgid "Burn TCRP Bootloader Img to USB or SSD" 191 | msgstr "TCRP Bootloader Görüntüsünü USB veya SSD'ye Yaz" 192 | 193 | #: MSGTR55 194 | msgid "Clone Current TCRP Bootloader to USB or SSD" 195 | msgstr "Geçerli TCRP Önyükleyicisini USB veya SSD'ye Klonla" 196 | 197 | #: MSGTR56 198 | msgid "sata_remap processing for SataPort reordering" 199 | msgstr "sata_remap processing for SataPort reordering" 200 | 201 | #: MSGTR57 202 | msgid "nvmesystem Addon(NVMe single volume use)" 203 | msgstr "nvmesystem eklentisi (tek bir NVMe birimi kullanımı)" 204 | 205 | #: MSGTR58 206 | msgid "Boot the loader" 207 | msgstr "Yükleyiciyi başlat" 208 | 209 | #: MSGTR59 210 | msgid "Additional Functions" 211 | msgstr "Ek işlevler" 212 | 213 | #: MSGTR60 214 | msgid "Change GRUB boot entry default value" 215 | msgstr "GRUB önyükleme girişinin varsayılan değerini değiştir" 216 | 217 | #: MSGTR61 218 | msgid "Inject Bootloader to Syno DISK" 219 | msgstr "Bootloader'ı Syno diske enjekte et" 220 | 221 | #: MSGTR62 222 | msgid "Remove the injected bootloader partition" 223 | msgstr "Enjekte edilen bootloader bölümünü kaldır" 224 | 225 | #: MSGTR63 226 | msgid "Packing loader file for remote update" 227 | msgstr "Uzaktan güncelleme için yükleyici dosyasını paketle" 228 | -------------------------------------------------------------------------------- /lang/zh_CN/LC_MESSAGES/tcrp.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lang/zh_CN/LC_MESSAGES/tcrp.mo -------------------------------------------------------------------------------- /lang/zh_CN/LC_MESSAGES/tcrp.po: -------------------------------------------------------------------------------- 1 | # i18n translations for PACKAGE package. 2 | # Copyright (C) 2024 THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # Linux User , 2024. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: PACKAGE VERSION\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2024-04-08 13:16+0000\n" 11 | "PO-Revision-Date: 2024-04-08 14:17+0000\n" 12 | "Last-Translator: Peter Suh \n" 13 | "Language-Team: i18n \n" 15 | "Language: zh_CN\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Plural-Forms: nplurals=1; plural=0;\n" 20 | "X-Generator: Weblate 5.5-dev\n" 21 | #: MSGCN00 22 | msgid "Device-Tree[DT] Base Models & HBAs do not require SataPortMap,DiskIdxMap. DT models do not support HBAs" 23 | msgstr "设备树[DT]基本型号和HBA不需要SataPortMap、DiskIdxMap. DT模型不支持HBA" 24 | 25 | #: MSGCN01 26 | msgid "Choose a Dev Mod handling method, DDSML/EUDEV" 27 | msgstr "选择Dev Mod处理方法,DDSML/EUDEV" 28 | 29 | #: MSGCN02 30 | msgid "Choose a Synology Model" 31 | msgstr "选择一个Synology型号" 32 | 33 | #: MSGCN03 34 | msgid "Choose a Synology Serial Number" 35 | msgstr "选择一个Synology序列号" 36 | 37 | #: MSGCN04 38 | msgid "Choose a mac address" 39 | msgstr "选择一个mac地址" 40 | 41 | #: MSGCN05 42 | msgid "Choose a DSM VERSION, Current" 43 | msgstr "选择当前的 DSM, 版本" 44 | 45 | #: MSGCN06 46 | msgid "Choose a loader Mode, Current" 47 | msgstr "选择加载器模式, 版本" 48 | 49 | #: MSGCN10 50 | msgid "Edit user config file manually" 51 | msgstr "手动编辑用户配置文件" 52 | 53 | #: MSGCN11 54 | msgid "Choose a keymap" 55 | msgstr "选择一个键盘映射" 56 | 57 | #: MSGCN12 58 | msgid "Format Disk(s) # Excluding Loader Disk" 59 | msgstr "磁盘格式 # 不包括加载器磁盘" 60 | 61 | #: MSGCN13 62 | msgid "Backup TCRP" 63 | msgstr "备份TCRP" 64 | 65 | #: MSGCN14 66 | msgid "Reboot" 67 | msgstr "重新启动" 68 | 69 | #: MSGCN15 70 | msgid "Power Off" 71 | msgstr "关闭电源" 72 | 73 | #: MSGCN16 74 | msgid "Max 24 Threads, any x86-64" 75 | msgstr "最大24线程,任何x86-64" 76 | 77 | #: MSGCN17 78 | msgid "Max 8 Threads, Haswell or later,iGPU Transcoding" 79 | msgstr "最大8线程,Haswell或更高版本,iGPU转码" 80 | 81 | #: MSGCN18 82 | msgid "Build the loader" 83 | msgstr "构建加载器" 84 | 85 | #: MSGCN20 86 | msgid "Max ? Threads, any x86-64" 87 | msgstr "最大?线程,任何x86-64" 88 | 89 | #: MSGCN21 90 | msgid "Have a camera license" 91 | msgstr "拥有摄像机许可证" 92 | 93 | #: MSGCN22 94 | msgid "Max 16 Threads, any x86-64" 95 | msgstr "最大16线程,任何x86-64" 96 | 97 | #: MSGCN23 98 | msgid "Max 16 Threads, Haswell or later" 99 | msgstr "最大16线程,Haswell或更高版本" 100 | 101 | #: MSGCN24 102 | msgid "Nvidia GTX1650" 103 | msgstr "Nvidia GTX1650" 104 | 105 | #: MSGCN25 106 | msgid "Nvidia GTX1050Ti" 107 | msgstr "Nvidia GTX1050Ti" 108 | 109 | #: MSGCN26 110 | msgid "EUDEV (enhanced user-space device)" 111 | msgstr "EUDEV(增强的用户空间设备)" 112 | 113 | #: MSGCN27 114 | msgid "DDSML (Detected Device Static Module Loading)" 115 | msgstr "DDSML(检测到的设备静态模块加载)" 116 | 117 | #: MSGCN28 118 | msgid "FRIEND (most recently stabilized)" 119 | msgstr "FRIEND(最近稳定)" 120 | 121 | #: MSGCN29 122 | msgid "JOT (The old way before friend)" 123 | msgstr "JOT(在friend之前的旧方式)" 124 | 125 | #: MSGCN30 126 | msgid "Generate a random serial number" 127 | msgstr "生成一个随机序列号" 128 | 129 | #: MSGCN31 130 | msgid "Enter a serial number" 131 | msgstr "输入序列号" 132 | 133 | #: MSGCN32 134 | msgid "Get a real mac address" 135 | msgstr "获取真实的mac地址" 136 | 137 | #: MSGCN33 138 | msgid "Generate a random mac address" 139 | msgstr "生成一个随机的mac地址" 140 | 141 | #: MSGCN34 142 | msgid "Enter a mac address" 143 | msgstr "输入mac地址" 144 | 145 | #: MSGCN35 146 | msgid "press any key to continue..." 147 | msgstr "按任意键继续..." 148 | 149 | #: MSGCN36 150 | msgid "Synology serial number not set. Check user_config.json again. Abort the loader build !!!" 151 | msgstr "未设置Synology序列号。请再次检查user_config.json。终止加载器构建!!!!!!" 152 | 153 | #: MSGCN37 154 | msgid "The first MAC address is not set. Check user_config.json again. Abort the loader build !!!" 155 | msgstr "未设置第一个MAC地址。请再次检查user_config.json。终止加载器构建!!!!!!" 156 | 157 | #: MSGCN38 158 | msgid "The netif_num and the number of mac addresses do not match. Check user_config.json again. Abort the loader build !!!" 159 | msgstr "netif_num和mac地址数量不匹配。请再次检查user_config.json。终止加载器构建!!!!!!" 160 | 161 | #: MSGCN39 162 | msgid "Choose a language" 163 | msgstr "选择语言" 164 | 165 | #: MSGCN40 166 | msgid "DDSML+EUDEV" 167 | msgstr "DDSML+EUDEV" 168 | 169 | #: MSGCN41 170 | msgid "Choose a Storage Panel Size" 171 | msgstr "选择存储面板尺寸" 172 | 173 | #: MSGCN50 174 | msgid "Mac-spoof Addon" 175 | msgstr "Mac 欺骗插件" 176 | 177 | #: MSGCN51 178 | msgid "Prevent SataPortMap,DiskIdxMap initialization" 179 | msgstr "防止 SataPortMap、DiskIdxMap 初始化" 180 | 181 | #: MSGCN52 182 | msgid "Show SATA(s) ports and drives for SataPortMap" 183 | msgstr "显示 SATAPortMap 的 SATA 端口和驱动器" 184 | 185 | #: MSGCN53 186 | msgid "Show error log of running loader" 187 | msgstr "显示运行加载程序的错误日志" 188 | 189 | #: MSGCN54 190 | msgid "Burn TCRP Bootloader Img to USB or SSD" 191 | msgstr "将另一个 TCRP 引导加载程序刻录到 USB 或 SSD" 192 | 193 | #: MSGCN55 194 | msgid "Clone Current TCRP Bootloader to USB or SSD" 195 | msgstr "将 TCRP 引导加载程序克隆到 USB 或 SSD" 196 | 197 | #: MSGCN56 198 | msgid "sata_remap processing for SataPort reordering" 199 | msgstr "sata_remap 处理 SataPort 重新排序" 200 | 201 | #: MSGCN57 202 | msgid "nvmesystem Addon(NVMe single volume use)" 203 | msgstr "nvmesystem 插件(NVMe 单卷使用)" 204 | 205 | #: MSGCN58 206 | msgid "Boot the loader" 207 | msgstr "启动加载器" 208 | 209 | #: MSGCN59 210 | msgid "Additional Functions" 211 | msgstr "附加功能" 212 | 213 | #: MSGCN60 214 | msgid "Change GRUB boot entry default value" 215 | msgstr "更改GRUB启动项默认值" 216 | 217 | #: MSGCN61 218 | msgid "Inject Bootloader to Syno DISK" 219 | msgstr "向Syno磁盘注入引导程序" 220 | 221 | #: MSGCN62 222 | msgid "Remove the injected bootloader partition" 223 | msgstr "删除注入的引导程序分区" 224 | 225 | #: MSGCN63 226 | msgid "Packing loader file for remote update" 227 | msgstr "打包远程更新的加载器文件" 228 | -------------------------------------------------------------------------------- /lrz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lrz -------------------------------------------------------------------------------- /lsz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/lsz -------------------------------------------------------------------------------- /macgen.sh: -------------------------------------------------------------------------------- 1 | function generateMacAddress() { 2 | #toupper "Mac Address: 00:11:32:$(randomhex):$(randomhex):$(randomhex)" 3 | macprefixmodels="DS923+ DS925+ DS1522+ HD6500 RS2423RP+ RS4021xs+ SA3410" 4 | if echo ${macprefixmodels} | grep -qw ${1}; then 5 | # DS1522xs+ and DS923+ Mac starts with 90:09:D0 6 | printf '90:09:D0:%02X:%02X:%02X' $((RANDOM % 256)) $((RANDOM % 256)) $((RANDOM % 256)) 7 | else 8 | printf '00:11:32:%02X:%02X:%02X' $((RANDOM % 256)) $((RANDOM % 256)) $((RANDOM % 256)) 9 | fi 10 | 11 | } 12 | 13 | [ "${1}" == "realmac" ] && let keepmac=1 || let keepmac=0 14 | 15 | mac="$(generateMacAddress ${3})" 16 | realmac=$(ifconfig ${2} | head -1 | awk '{print $NF}') 17 | 18 | #echo "Mac Address = $mac " 19 | #[ $keepmac -eq 1 ] && echo "Real Mac Address : $realmac" 20 | #[ $keepmac -eq 1 ] && echo "Notice : realmac option is requested, real mac will be used" 21 | 22 | if [ $keepmac -eq 1 ]; then 23 | macaddress=$(echo $realmac | sed -s 's/://g') 24 | else 25 | macaddress=$(echo $mac | sed -s 's/://g') 26 | fi 27 | 28 | echo "$macaddress" 29 | -------------------------------------------------------------------------------- /makeownpkg.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | tcrppart="$(mount | grep -i optional | grep cde | awk -F / '{print $3}' | uniq | cut -c 1-3)3" 4 | 5 | if [ "$(which mksquashfs)_" == "_" ]; then 6 | tce-load -wi squashfs-tools.tcz 7 | fi 8 | 9 | if [ ! -d pkg/usr/local/tce.installed ]; then 10 | mkdir -p pkg/usr/local/tce.installed 11 | fi 12 | 13 | if [ $# -lt 1 ]; then 14 | echo "There is no new package name : ex) ./makeownpkg.sh newpkgname dependpkg1 dependpkg2 dependpkg3 dependpkg4 dependpkg5" 15 | exit 0 16 | fi 17 | 18 | if [ $# -lt 2 ]; then 19 | echo "There is no dependency package name : ex) ./makeownpkg.sh newpkgname dependpkg1 dependpkg2 dependpkg3 dependpkg4 dependpkg5" 20 | exit 0 21 | fi 22 | 23 | echo "packing n making my own package..." 24 | mksquashfs pkg ${1}.tcz -noappend 25 | sudo cp -f ${1}.tcz /mnt/${tcrppart}/cde/optional 26 | grep -q "${1}.tcz" /mnt/${tcrppart}/cde/onboot.lst || echo "${1}.tcz" >> /mnt/${tcrppart}/cde/onboot.lst 27 | 28 | echo -n "" > /mnt/${tcrppart}/cde/optional/${1}.tcz.dep 29 | if [ $# -gt 1 ]; then 30 | echo "Create a dependency file for my own package... ${2}.tcz" 31 | echo "${2}.tcz" >> /mnt/${tcrppart}/cde/optional/${1}.tcz.dep 32 | fi 33 | if [ $# -gt 2 ]; then 34 | echo "Create a dependency file for my own package... ${3}.tcz" 35 | echo "${3}.tcz" >> /mnt/${tcrppart}/cde/optional/${1}.tcz.dep 36 | fi 37 | if [ $# -gt 3 ]; then 38 | echo "Create a dependency file for my own package... ${4}.tcz" 39 | echo "${4}.tcz" >> /mnt/${tcrppart}/cde/optional/${1}.tcz.dep 40 | fi 41 | if [ $# -gt 4 ]; then 42 | echo "Create a dependency file for my own package... ${5}.tcz" 43 | echo "${5}.tcz" >> /mnt/${tcrppart}/cde/optional/${1}.tcz.dep 44 | fi 45 | if [ $# -gt 5 ]; then 46 | echo "Create a dependency file for my own package... ${6}.tcz" 47 | echo "${6}.tcz" >> /mnt/${tcrppart}/cde/optional/${1}.tcz.dep 48 | fi 49 | -------------------------------------------------------------------------------- /mdtest.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | TMP_PATH=/tmp 4 | 5 | set -u # Unbound variable errors are not allowed 6 | 7 | [ "$(which mdadm)_" == "_" ] && tce-load -iw mdadm 8 | DSMROOTS="$(sudo fdisk -l | grep -E "sd[a-z]{1,2}1" | grep "Linux raid autodetect" | grep -E '16785407|4982527' | awk '{print $1}')" 9 | 10 | # assemble and mount md0 11 | sudo rm -f "${TMP_PATH}/menuz" 12 | sudo mkdir -p "${TMP_PATH}/mdX" 13 | num=$(echo $DSMROOTS | wc -w) 14 | sudo mdadm -C /dev/md0 -e 0.9 -amd -R -l1 --force -n$num $DSMROOTS 15 | T="$(sudo blkid -o value -s TYPE /dev/md0)" 16 | sudo tune2fs -O ^quota /dev/md0 17 | #sleep 2 18 | sudo mount -t "${T:-ext4}" /dev/md0 "${TMP_PATH}/mdX" 19 | 20 | sudo ls -l ${TMP_PATH}/mdX/etc/shadow 21 | 22 | if [ -f "${TMP_PATH}/mdX/etc/shadow" ]; then 23 | while read -r L; do 24 | U=$(echo "${L}" | awk -F ':' '{if ($2 != "*" && $2 != "!!") print $1;}') 25 | [ -z "${U}" ] && continue 26 | E=$(echo "${L}" | awk -F ':' '{if ($8 == "1") print "disabled"; else print " ";}') 27 | grep -q "status=on" "${TMP_PATH}/mdX/usr/syno/etc/packages/SecureSignIn/preference/${U}/method.config" 2>/dev/null 28 | [ $? -eq 0 ] && S="SecureSignIn" || S=" " 29 | printf "\"%-36s %-10s %-14s\"\n" "${U}" "${E}" "${S}" >>"${TMP_PATH}/menuz" 30 | done <<<"$(sudo cat "${TMP_PATH}/mdX/etc/shadow" 2>/dev/null)" 31 | fi 32 | 33 | sudo umount "${TMP_PATH}/mdX" 34 | sudo mdadm --stop /dev/md0 35 | sudo rm -rf "${TMP_PATH}/mdX" 36 | 37 | sudo cat ${TMP_PATH}/menuz 38 | 39 | echo "Finished!" 40 | -------------------------------------------------------------------------------- /menu.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -u # Unbound variable errors are not allowed 4 | 5 | ##### INCLUDES ###################################################################################### 6 | . /home/tc/functions.sh 7 | ##################################################################################################### 8 | 9 | 10 | # lock 11 | #exec 304>"/tmp/menu.lock" 12 | #flock -n 304 || { 13 | # MSG="The menu.sh instance is already running in another terminal. To avoid conflicts, please operate in one instance only." 14 | # dialog --colors --aspect 50 --title "$(TEXT "Error")" --msgbox "${MSG}" 0 0 15 | # exit 1 16 | #} 17 | #trap 'flock -u 304; rm -f "/tmp/menu.lock"' EXIT INT TERM HUP 18 | 19 | 20 | function check_internet() { 21 | ping -c 1 -W 1 8.8.8.8 > /dev/null 2>&1 22 | return $? 23 | } 24 | 25 | function gitclone() { 26 | git clone -b master --single-branch --depth=1 https://github.com/PeterSuh-Q3/redpill-load.git 27 | } 28 | 29 | function gitdownload() { 30 | 31 | cd /home/tc 32 | git config --global http.sslVerify false 33 | if [ -d /home/tc/redpill-load ]; then 34 | echo "Loader sources already downloaded, pulling latest" 35 | cd /home/tc/redpill-load 36 | git pull 37 | if [ $? -ne 0 ]; then 38 | cd /home/tc 39 | rploader clean 40 | gitclone 41 | fi 42 | cd /home/tc 43 | else 44 | gitclone 45 | fi 46 | 47 | } 48 | 49 | function mmc_modprobe() { 50 | echo "excute modprobe for mmc(include sd)..." 51 | sudo /sbin/modprobe mmc_block 52 | sudo /sbin/modprobe mmc_core 53 | sudo /sbin/modprobe rtsx_pci 54 | sudo /sbin/modprobe rtsx_pci_sdmmc 55 | sudo /sbin/modprobe sdhci 56 | sudo /sbin/modprobe sdhci_pci 57 | sleep 1 58 | if [ `/sbin/lsmod |grep -i mmc|wc -l` -gt 0 ] ; then 59 | echo "Module mmc loaded succesfully!!!" 60 | else 61 | echo "Module mmc failed to load successfully!!!" 62 | fi 63 | } 64 | 65 | if [ $(/sbin/blkid | grep "6234-C863" | wc -l) -ge 2 ]; then 66 | if [ $(/sbin/blkid | grep "1234-5678" | wc -l) -eq 1 ]; then 67 | echo "There is Synodisk Injected Bootloader..." 68 | else 69 | echo "There is two more bootloder exists, program Exit!!!" 70 | read answer 71 | exit 99 72 | fi 73 | fi 74 | 75 | mmc_modprobe 76 | 77 | getloaderdisk 78 | 79 | if [ -z "${loaderdisk}" ]; then 80 | echo "Not Supported Loader BUS Type, program Exit!!!" 81 | read answer 82 | exit 99 83 | fi 84 | 85 | getBus "${loaderdisk}" 86 | 87 | tcrppart="${loaderdisk}3" 88 | 89 | if [ -d /mnt/${tcrppart}/redpill-load/ ] && [ -d /mnt/${tcrppart}/tcrp-addons/ ] && [ -d /mnt/${tcrppart}/tcrp-modules/ ]; then 90 | echo "Repositories for offline loader building have been confirmed. Copy the repositories to the required location..." 91 | echo "Press any key to continue..." 92 | read answer 93 | cp -rf /mnt/${tcrppart}/redpill-load/ ~/ 94 | mv -f /mnt/${tcrppart}/tcrp-addons/ /dev/shm/ 95 | mv -f /mnt/${tcrppart}/tcrp-modules/ /dev/shm/ 96 | echo "Go directly to the menu. Press any key to continue..." 97 | read answer 98 | else 99 | # Record the start time. 100 | start_time=$(date +%s) 101 | while true; do 102 | if check_internet; then 103 | getlatestmshell "noask" 104 | break 105 | fi 106 | # Calculate the elapsed time and exit the loop if it exceeds 15 seconds. 107 | current_time=$(date +%s) 108 | elapsed=$(( current_time - start_time )) 109 | if [ $elapsed -ge 30 ]; then 110 | echo "Internet connection wait time exceeded 30 seconds" 111 | break 112 | fi 113 | sleep 2 114 | echo "Waiting for internet connection by checking 8.8.8.8 (Google DNS)..." 115 | done 116 | echo -n "Checking GitHub Access -> " 117 | curl --insecure -L -s https://raw.githubusercontent.com/about.html -O 2>&1 >/dev/null 118 | if [ $? -eq 0 ]; then 119 | echo "OK" 120 | else 121 | echo "Error: GitHub is unavailable. Please try again later." 122 | read answer 123 | exit 99 124 | fi 125 | gitdownload 126 | fi 127 | 128 | if [ -z "${1-}" ]; then 129 | [ -f /tmp/test_mode ] && rm /tmp/test_mode 130 | else 131 | touch /tmp/test_mode 132 | fi 133 | 134 | if [ -d /mnt/${tcrppart}/redpill-load/ ]; then 135 | offline="YES" 136 | else 137 | offline="NO" 138 | fi 139 | 140 | if [ "${offline}" = "NO" ]; then 141 | curl -skLO# https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/master/models.json 142 | if [ -f /tmp/test_mode ]; then 143 | cecho g "############################### This is Test Mode ############################" 144 | curl -skL# https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/master/functions_t.sh -o functions.sh 145 | chmod +x /home/tc/redpill-load/*.sh 146 | /bin/cp -vf /home/tc/redpill-load/build-loader_t.sh /home/tc/redpill-load/build-loader.sh 147 | else 148 | curl -skLO# https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/master/functions.sh 149 | fi 150 | fi 151 | 152 | /home/tc/menu_m.sh 153 | exit 0 154 | -------------------------------------------------------------------------------- /menud.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function gitdownload() { 4 | 5 | git config --global http.sslVerify false 6 | if [ -d /home/tc/redpill-load ]; then 7 | echo "Loader sources already downloaded, pulling latest" 8 | cd /home/tc/redpill-load 9 | git pull 10 | if [ $? -ne 0 ]; then 11 | cd /home/tc 12 | /home/tc/rploader.sh clean 13 | git clone -b master "https://giteas.duckdns.org/PeterSuh-Q3/redpill-load.git" 14 | fi 15 | cd /home/tc 16 | else 17 | git clone -b master "https://giteas.duckdns.org/PeterSuh-Q3/redpill-load.git" 18 | fi 19 | 20 | } 21 | 22 | while true; do 23 | if [ $(ifconfig | grep -i "inet " | grep -v "127.0.0.1" | wc -l) -gt 0 ]; then 24 | /home/tc/my.sh update 25 | break 26 | fi 27 | sleep 1 28 | echo "Waiting for internet activation in menu.sh !!!" 29 | done 30 | 31 | gitdownload 32 | sed -i 's/master\/all-modules/develop\/all-modules/' /home/tc/redpill-load/bundled-exts.json 33 | sed -i 's/git config/return;#it config/' /home/tc/my.sh 34 | 35 | /home/tc/menu_m.sh 36 | exit 0 37 | -------------------------------------------------------------------------------- /models: -------------------------------------------------------------------------------- 1 | DS1019+ 2 | DS1520+ 3 | DS1621+ 4 | DS1621xs+ 5 | DS1819+ 6 | DS1821+ 7 | DS1823xs+ 8 | DS2422+ 9 | DS3617xs 10 | DS3622xs+ 11 | DS620slim 12 | DS720+ 13 | DS723+ 14 | DS918+ 15 | DS920+ 16 | DS923+ 17 | DVA1622 18 | DVA3219 19 | DVA3221 20 | FS2500 21 | RS1221+ 22 | RS3618xs 23 | RS3621xs+ 24 | RS4021xs+ 25 | SA6400 26 | -------------------------------------------------------------------------------- /modules.alias.3.json.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/modules.alias.3.json.gz -------------------------------------------------------------------------------- /modules.alias.4.json.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/modules.alias.4.json.gz -------------------------------------------------------------------------------- /monitor.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ##### INCLUDES ##################################################################################### 4 | . /home/tc/functions.sh 5 | #################################################################################################### 6 | 7 | monitor 8 | -------------------------------------------------------------------------------- /mvapp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Prepare Make Direcrtory for volume$2" 4 | 5 | [ ! -d /volume$2/\@appstore/ ] && mkdir /volume$2/\@appstore/ 6 | [ ! -d /volume$2/\@apphome/ ] && mkdir /volume$2/\@apphome/ 7 | [ ! -d /volume$2/\@apptemp/ ] && mkdir /volume$2/\@apptemp/ 8 | [ ! -d /volume$2/\@appdata/ ] && mkdir /volume$2/\@appdata/ 9 | [ ! -d /volume$2/\@appconf/ ] && mkdir /volume$2/\@appconf/ 10 | echo 11 | 12 | for app in $(ls /volume$1/\@appstore); do 13 | 14 | echo 15 | echo "Stopping Package $app" 16 | if [ $app = "Docker" ]; then 17 | for cont in $(docker ps -q); do 18 | echo "Stopping Docker Container $cont" 19 | docker stop $cont 20 | done 21 | fi 22 | synopkg stop $app 23 | sleep 3 24 | 25 | done 26 | 27 | for app in $(ls /volume$1/\@appstore); do 28 | 29 | if [ $app = "Docker" ]; then 30 | echo "=> skip coping docker folder..." 31 | continue 32 | # echo "=>coping docker folder..." 33 | # rsync -av /volume$1/\@docker /volume$2/\@docker 34 | fi 35 | 36 | echo 37 | echo "Moving $app from volume$1 to volume$2" 38 | echo "=>moving appstore for $app" 39 | mv /volume$1/\@appstore/$app /volume$2/\@appstore/. 40 | echo "=>moving apphome for $app" 41 | mv /volume$1/\@apphome/$app /volume$2/\@apphome/. 42 | echo "=>moving apptemp for $app" 43 | mv /volume$1/\@apptemp/$app /volume$2/\@apptemp/. 44 | echo "=>moving appdata for $app" 45 | mv /volume$1/\@appdata/$app /volume$2/\@appdata/. 46 | echo "=>moving appconf for $app" 47 | mv /volume$1/\@appconf/$app /volume$2/\@appconf/. 48 | 49 | echo 50 | cd /var/packages/$app/ 51 | echo "=== Link Before ===" 52 | ls -list target home tmp var etc 53 | rm -f etc;ln -s /volume$2/\@appconf/$app etc 54 | rm -f home;ln -s /volume$2/\@apphome/$app home 55 | rm -f target;ln -s /volume$2/\@appstore/$app target 56 | rm -f tmp;ln -s /volume$2/\@apptemp/$app tmp 57 | rm -f var;ln -s /volume$2/\@appdata/$app var 58 | 59 | echo 60 | echo "Starting Package $app" 61 | synopkg start $app 62 | sleep 3 63 | 64 | echo 65 | echo "=== Link After ===" 66 | ls -list target home tmp var etc 67 | 68 | echo 69 | echo "=== Left ===" 70 | ls /volume$1/\@appstore 71 | 72 | echo 73 | echo "=======================================================" 74 | 75 | done 76 | 77 | echo "=== DONE ===" 78 | -------------------------------------------------------------------------------- /my.sh.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/my.sh.gz -------------------------------------------------------------------------------- /my_t.sh.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/my_t.sh.gz -------------------------------------------------------------------------------- /mydata.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/mydata.tgz -------------------------------------------------------------------------------- /ntp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | [ -f /home/tc/buildstatus ] && rm -f /home/tc/buildstatus 4 | 5 | while [ -z "$GATEWAY_INTERFACE" ]; do 6 | clear 7 | if [ -f /home/tc/buildstatus ]; then 8 | echo -e "\e[33m-------------------M-Shell for TCRP Loader Build Staus---------------------\e[0m" 9 | echo -e "\e[33mStage\e[0m \e[32mStatus\e[0m Message" 10 | cat /home/tc/buildstatus 11 | else 12 | echo -e "\e[33m----------------------user_config.json extra_cmdline-----------------------\e[0m" 13 | jq '.extra_cmdline' /home/tc/user_config.json 14 | echo -e "\e[33m----------------------user_config.json synoinfo----------------------------\e[0m" 15 | jq '.synoinfo' /home/tc/user_config.json 16 | echo -e "\e[33m----------------------added addons-----------------------------------------\e[0m" 17 | [ -d /home/tc/redpill-load/custom/extensions ] && ls /home/tc/redpill-load/custom/extensions || echo "No Addons added. (Loader build required)" 18 | fi 19 | echo "Press ctrl-c to exit" 20 | sleep 1 21 | done 22 | -------------------------------------------------------------------------------- /opencl/libOpenCL.so.1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/opencl/libOpenCL.so.1 -------------------------------------------------------------------------------- /opencl/libbluray.so.2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/opencl/libbluray.so.2 -------------------------------------------------------------------------------- /opencl/libigdrcl.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/opencl/libigdrcl.so -------------------------------------------------------------------------------- /opencl/libmpg123.so.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/opencl/libmpg123.so.0 -------------------------------------------------------------------------------- /opencl/libopenmpt.so.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/opencl/libopenmpt.so.0 -------------------------------------------------------------------------------- /opencl/libopus.so.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/opencl/libopus.so.0 -------------------------------------------------------------------------------- /opencl/libtheoradec.so.1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/opencl/libtheoradec.so.1 -------------------------------------------------------------------------------- /opencl/libtheoraenc.so.1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/opencl/libtheoraenc.so.1 -------------------------------------------------------------------------------- /opencl/libvorbis.so.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/opencl/libvorbis.so.0 -------------------------------------------------------------------------------- /opencl/libvorbisenc.so.2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/opencl/libvorbisenc.so.2 -------------------------------------------------------------------------------- /opencl/libvorbisfile.so.3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/opencl/libvorbisfile.so.3 -------------------------------------------------------------------------------- /opencl/libvpx.so.7: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/opencl/libvpx.so.7 -------------------------------------------------------------------------------- /opencl/libx264.so.164: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/opencl/libx264.so.164 -------------------------------------------------------------------------------- /opencl/libx265.so.199: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/opencl/libx265.so.199 -------------------------------------------------------------------------------- /opencl/libzvbi.so.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/opencl/libzvbi.so.0 -------------------------------------------------------------------------------- /prepare-offline.bat: -------------------------------------------------------------------------------- 1 | #git clone --depth=1 -c core.autocrlf=false https://github.com/PeterSuh-Q3/tcrp-modules.git 2 | git clone --depth=1 -c core.autocrlf=false https://github.com/PeterSuh-Q3/tcrp-addons.git 3 | git clone --depth=1 -c core.autocrlf=false https://github.com/PeterSuh-Q3/redpill-load.git 4 | mkdir auxfiles 5 | -------------------------------------------------------------------------------- /remote-upgrade.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | function cecho () { 4 | # if [ -n "$3" ] 5 | # then 6 | # case "$3" in 7 | # black | bk) bgcolor="40";; 8 | # red | r) bgcolor="41";; 9 | # green | g) bgcolor="42";; 10 | # yellow | y) bgcolor="43";; 11 | # blue | b) bgcolor="44";; 12 | # purple | p) bgcolor="45";; 13 | # cyan | c) bgcolor="46";; 14 | # gray | gr) bgcolor="47";; 15 | # esac 16 | # else 17 | bgcolor="0" 18 | # fi 19 | code="\033[" 20 | case "$1" in 21 | black | bk) color="${code}${bgcolor};30m";; 22 | red | r) color="${code}${bgcolor};31m";; 23 | green | g) color="${code}${bgcolor};32m";; 24 | yellow | y) color="${code}${bgcolor};33m";; 25 | blue | b) color="${code}${bgcolor};34m";; 26 | purple | p) color="${code}${bgcolor};35m";; 27 | cyan | c) color="${code}${bgcolor};36m";; 28 | gray | gr) color="${code}${bgcolor};37m";; 29 | esac 30 | 31 | text="$color$2${code}0m" 32 | echo -e "$text" 33 | } 34 | 35 | cecho yellow "Proceed with remote upgrade of the loader of TCRP-mshell..." 36 | echo 37 | cecho green "Mounting synoboot partitions..." 38 | echo 39 | [ ! -d /mnt/p1 ] && mkdir /mnt/p1 40 | [ ! -d /mnt/p2 ] && mkdir /mnt/p2 41 | [ ! -d /mnt/p3 ] && mkdir /mnt/p3 42 | 43 | cd /dev/ 44 | mount -t vfat synoboot1 /mnt/p1 45 | mount -t vfat synoboot2 /mnt/p2 46 | mount -t vfat synoboot3 /mnt/p3 47 | 48 | cecho yellow "Unzip the updatepack and upgrade the synoboot loader partition..." 49 | echo 50 | tar --no-same-owner --touch -zxvf /volume*/homes/admin/remote.updatepack.*.tgz -C /mnt 51 | 52 | cd /mnt 53 | umount /mnt/p1 54 | umount /mnt/p2 55 | umount /mnt/p3 56 | 57 | cecho green "Unmounting of the synoboot partition was successful. Please reboot to apply the upgraded loader..." 58 | echo 59 | -------------------------------------------------------------------------------- /settime.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | timezone="UTC" 4 | ntpserver="pool.ntp.org" 5 | 6 | echo "Downloading ntpclient to assist" 7 | tce-load -iw ntpclient 2>&1 >/dev/null 8 | export TZ="${timezone}" 9 | sudo ntpclient -s -h ${ntpserver} 2>&1 >/dev/null 10 | echo "Current time after communicating with NTP server ${ntpserver} : $(date) " 11 | -------------------------------------------------------------------------------- /sngen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ##### INCLUDES ######################################################################################################### 4 | . /home/tc/functions.sh 5 | 6 | getvarsmshell "$1" 7 | 8 | function random() { 9 | printf "%06d" $(($RANDOM % 30000 + 1)) 10 | } 11 | function randomhex() { 12 | val=$(($RANDOM % 255 + 1)) 13 | echo "obase=16; $val" | bc 14 | } 15 | 16 | function generateRandomLetter() { 17 | for i in a b c d e f g h j k l m n p q r s t v w x y z; do 18 | echo $i 19 | done | sort -R | tail -1 20 | } 21 | 22 | function generateRandomValue() { 23 | for i in 0 1 2 3 4 5 6 7 8 9 a b c d e f g h j k l m n p q r s t v w x y z; do 24 | echo $i 25 | done | sort -R | tail -1 26 | } 27 | 28 | function toupper() { 29 | 30 | echo $1 | tr '[:lower:]' '[:upper:]' 31 | 32 | } 33 | 34 | function generateMacAddress() { 35 | 36 | #toupper "Mac Address: 00:11:32:$(randomhex):$(randomhex):$(randomhex)" 37 | printf '00:11:32:%02X:%02X:%02X' $((RANDOM % 256)) $((RANDOM % 256)) $((RANDOM % 256)) 38 | 39 | } 40 | 41 | function generateSerial() { 42 | 43 | case ${suffix} in 44 | numeric) 45 | serialnum="$(echo "$serialstart" | tr ' ' '\n' | sort -R | tail -1)$permanent"$(random) 46 | ;; 47 | alpha) 48 | serialnum=$(toupper "$(echo "$serialstart" | tr ' ' '\n' | sort -R | tail -1)$permanent"$(generateRandomLetter)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomLetter)) 49 | ;; 50 | *) 51 | serialnum="$(echo "$serialstart" | tr ' ' '\n' | sort -R | tail -1)$permanent"$(random) 52 | ;; 53 | esac 54 | 55 | echo $serialnum 56 | 57 | } 58 | 59 | function showhelp() { 60 | 61 | cat < 66 | 67 | Available platforms : 68 | ---------------------------------------------------------------------------------------- 69 | ${MODELS}" 70 | 71 | e.g. $(basename ${0}) DS3622xs+ 72 | ---------------------------------------------------------------------------------------- 73 | EOF 74 | 75 | } 76 | 77 | if [ -z "$1" ]; then 78 | showhelp 79 | else 80 | echo $(generateSerial $1) 81 | fi 82 | -------------------------------------------------------------------------------- /sortnetif.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ash 2 | # 3 | # Copyright (C) 2022 Ing 4 | # 5 | # This is free software, licensed under the MIT License. 6 | # See /LICENSE for more information. 7 | # 8 | 9 | #tce-load -wi ethtool iproute2 10 | 11 | echo "this is sortnetif..." 12 | # echo "extract usr.tgz to /usr/ " 13 | # tar xvfz /exts/sortnetif/usr.tgz -C / 14 | # chmod +x /usr/bin/awk /usr/bin/tr /usr/bin/sort /usr/bin/sed /usr/bin/ethtool 15 | 16 | ETHLIST="" 17 | ETHX=$(ls /sys/class/net/ 2>/dev/null | grep eth) # real network cards list 18 | for ETH in ${ETHX}; do 19 | MAC="$(cat /sys/class/net/${ETH}/address 2>/dev/null | sed 's/://g' | tr '[:upper:]' '[:lower:]')" 20 | BUS=$(ethtool -i ${ETH} 2>/dev/null | grep bus-info | awk '{print $2}') 21 | ETHLIST="${ETHLIST}${BUS} ${MAC} ${ETH}\n" 22 | done 23 | 24 | ETHLIST="$(echo -e "${ETHLIST}" | sort)" 25 | ETHLIST="$(echo -e "${ETHLIST}" | grep -v '^$')" 26 | 27 | echo -e "${ETHLIST}" >/tmp/ethlist 28 | cat /tmp/ethlist 29 | 30 | # sort 31 | IDX=0 32 | while true; do 33 | cat /tmp/ethlist 34 | [ ${IDX} -ge $(wc -l eth${IDX}" 39 | ip link set dev eth${IDX} down 40 | ip link set dev ${ETH} down 41 | sleep 1 42 | ip link set dev eth${IDX} name tmp 43 | ip link set dev ${ETH} name eth${IDX} 44 | ip link set dev tmp name ${ETH} 45 | sleep 1 46 | ip link set dev eth${IDX} up 47 | ip link set dev ${ETH} up 48 | sleep 1 49 | sed -i "s/eth${IDX}/tmp/" /tmp/ethlist 50 | sed -i "s/${ETH}/eth${IDX}/" /tmp/ethlist 51 | sed -i "s/tmp/${ETH}/" /tmp/ethlist 52 | sleep 1 53 | udhcpc -i ${ETH} 54 | fi 55 | IDX=$((${IDX} + 1)) 56 | done 57 | 58 | rm -f /tmp/ethlist 59 | 60 | exit 0 61 | -------------------------------------------------------------------------------- /syno-hdd-db.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | model=$(uname -u | cut -d '_' -f3) 4 | echo model "${model}" >&2 # debug 5 | 6 | # Host db files 7 | dbpath="/var/lib/disk-compatibility/" 8 | dbfile=$(ls "${dbpath}"*"${model}_host_v7.db") 9 | echo dbfile "${dbfile}" >&2 # debug 10 | 11 | #------------------------------------------------------------------------------ 12 | # Get list of installed SATA, SAS and M.2 NVMe/SATA drives, 13 | # PCIe M.2 cards and connected Expansion Units. 14 | 15 | fixdrivemodel(){ 16 | # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 17 | if echo "${1}" | grep -q "MZ.* 00Y"; then 18 | hdmodel=$(echo "${1}" | sed 's/ 00Y.*//') 19 | fi 20 | 21 | # Brands that return "BRAND " and need "BRAND " removed. 22 | if echo "${1}" | grep -q "^[A-Za-z]\{1,7\} "; then 23 | #see Smartmontools database in /var/lib/smartmontools/drivedb.db 24 | hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name 25 | hdmodel=${hdmodel#"HGST "} # Remove "HGST " from start of model name 26 | hdmodel=${hdmodel#"TOSHIBA "} # Remove "TOSHIBA " from start of model name 27 | 28 | # Old drive brands 29 | hdmodel=${hdmodel#"Hitachi "} # Remove "Hitachi " from start of model name 30 | hdmodel=${hdmodel#"SAMSUNG "} # Remove "SAMSUNG " from start of model name 31 | hdmodel=${hdmodel#"FUJISTU "} # Remove "FUJISTU " from start of model name 32 | hdmodel=${hdmodel#"APPLE HDD "} # Remove "APPLE HDD " from start of model name 33 | fi 34 | } 35 | 36 | getdriveinfo(){ 37 | # ${1} is /sys/block/sata1 etc 38 | 39 | REVISION="$(uname -a | cut -d ' ' -f4)" 40 | echo "REVISION = ${REVISION}" 41 | 42 | # Skip USB drives 43 | usb=$(grep "$(basename -- "${1}")" /proc/mounts | grep "[Uu][Ss][Bb]" | cut -d" " -f1-2) 44 | if [[ ! $usb ]]; then 45 | 46 | # Get drive model 47 | hdmodel=$(cat "${1}/device/model") 48 | hdmodel=$(printf "%s" "${hdmodel}" | xargs) # trim leading and trailing white space 49 | 50 | # Fix dodgy model numbers 51 | if [ $(echo "${hdmodel}" | grep Virtual | wc -l) -eq 0 ]; then 52 | fixdrivemodel "${hdmodel}" 53 | fi 54 | 55 | # Get drive firmware version 56 | #fwrev=$(cat "${1}/device/rev") 57 | #fwrev=$(printf "%s" "${fwrev}" | xargs) # trim leading and trailing white space 58 | 59 | device="/dev/$(basename -- "${1}")" 60 | # Account for SSD drives with spaces in their model name/number 61 | if [[ $2 == "sd" ]]; then 62 | if [ -f ${1}/device/sas_address ]; then 63 | fwrev="1.13.2" 64 | else 65 | fwrev=$(hdparm -I "${device}" | grep Firmware | cut -d':' -f2- | cut -d ' ' -f 3 ) 66 | fi 67 | elif [[ $2 == "nvme" ]]; then 68 | fwrev=$(cat "$1/device/firmware_rev") 69 | fi 70 | 71 | echo hdmodel "${hdmodel}" >&2 # debug 72 | echo fwrev "${fwrev}" >&2 # debug 73 | 74 | if [ $(cat "${dbfile}" | grep "${hdmodel}" | wc -l) -gt 0 ]; then 75 | echo "${hdmodel} is already exists in ${dbfile}, skip writing to /etc/disk_db.json" 76 | else 77 | if [ -n "${hdmodel}" ] && [ -n "${fwrev}" ]; then 78 | if grep '"'"${hdmodel}"'":' /etc/disk_db.json >/dev/null; then 79 | # Replace "WD40PURX-64GVNY0":{ with "WD40PURX-64GVNY0":{"80.00A80":{ ... }}}, 80 | echo "Insert firmware version:" # debug 81 | sed -i 's#"'"${hdmodel}"'":{#"'"${hdmodel}"'":{"'"${fwrev}"'":{"compatibility_interval":[{"compatibility":"support","not_yet_rolling_status":"support","fw_dsm_update_status_notify":false,"barebone_installable":true}]},#' /etc/disk_db.json 82 | else 83 | # Add "WD40PURX-64GVNY0":{"80.00A80":{ ... }}},"default":{ ... }}} 84 | echo "Append drive and firmware:" # debug 85 | jsondata='"'"${hdmodel}"'":{"'"${fwrev}"'":{"compatibility_interval":[{"compatibility":"support","not_yet_rolling_status":"support","fw_dsm_update_status_notify":false,"barebone_installable":true}]}, 86 | "default":{"compatibility_interval":[{"compatibility":"support","not_yet_rolling_status":"support","fw_dsm_update_status_notify":false,"barebone_installable":true}]}}' && echo $jsondata >> /etc/disk_db.json 87 | echo "," >> /etc/disk_db.json 88 | fi 89 | fi 90 | fi 91 | fi 92 | } 93 | 94 | echo "{" > /etc/disk_db.json 95 | for d in /sys/block/*; do 96 | # $d is /sys/block/sata1 etc 97 | case "$(basename -- "${d}")" in 98 | sd*|hd*|sata*|sas*) 99 | getdriveinfo "$d" "sd" 100 | ;; 101 | nvme*) 102 | getdriveinfo "$d" "nvme" 103 | ;; 104 | esac 105 | done 106 | sed -i '$s/,$/}/' /etc/disk_db.json 107 | #cat /etc/disk_db.json 108 | jq . /etc/disk_db.json 109 | 110 | 111 | #diskdata=$(jq . /etc/disk_db.json) 112 | #jsonfile=$(jq '.disk_compatbility_info |= .+ '"$diskdata" ${dbfile}) && echo $jsonfile | jq . > ${dbfile} 113 | # print last 8 elements 114 | #jq '.disk_compatbility_info | to_entries | map(select(.value != null)) | .[-8:]' ${dbfile} 115 | 116 | #cp -vf ${dbfile} /etc/ 117 | 118 | -------------------------------------------------------------------------------- /tc_recover.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | loaderdisk=$(/sbin/blkid | grep "6234-C863" | cut -d ':' -f1 | sed 's/p\?3//g' | awk -F/ '{print $NF}' | head -n 1) 4 | echo "LOADER DISK: $loaderdisk" 5 | tcrppart="${loaderdisk}3" 6 | 7 | echo "Recover Tinycore redpill mshell with mydata.tgz" 8 | 9 | sudo curl -kL https://github.com/PeterSuh-Q3/tinycore-redpill/raw/refs/heads/main/mydata.tgz -o /mnt/${tcrppart}/mydata.tgz 10 | 11 | echo "A reboot is required. Press any key to reboot..." 12 | read -n 1 -s # Wait for a key press 13 | 14 | sudo reboot 15 | -------------------------------------------------------------------------------- /tce/onboot.lst: -------------------------------------------------------------------------------- 1 | xz.tcz 2 | Xprogs.tcz 3 | Xlibs.tcz 4 | Xfbdev.tcz 5 | wbar.tcz 6 | util-linux.tcz 7 | usb-utils.tcz 8 | tar.tcz 9 | sed.tcz 10 | readline.tcz 11 | pcre.tcz 12 | pciutils.tcz 13 | patch.tcz 14 | openssl-1.1.1.tcz 15 | openssh.tcz 16 | nettle3.tcz 17 | ncursesw-utils.tcz 18 | ncursesw-terminfo.tcz 19 | mpfr.tcz 20 | mpc.tcz 21 | mirrors.tcz 22 | mdadm.tcz 23 | make.tcz 24 | m4.tcz 25 | lzo.tcz 26 | lsscsi.tcz 27 | libzstd.tcz 28 | libXt.tcz 29 | libXmu.tcz 30 | libXfont.tcz 31 | libXext.tcz 32 | libXdmcp.tcz 33 | libxcb.tcz 34 | libXau.tcz 35 | libX11.tcz 36 | libuv.tcz 37 | libusb.tcz 38 | libSM.tcz 39 | librhash.tcz 40 | libpng.tcz 41 | libpci.tcz 42 | liblz4.tcz 43 | libjpeg-turbo.tcz 44 | libICE.tcz 45 | libfontenc.tcz 46 | libffi.tcz 47 | libcap.tcz 48 | libarchive.tcz 49 | jsoncpp.tcz 50 | jq.tcz 51 | isl.tcz 52 | imlib2.tcz 53 | imlib2-bin.tcz 54 | harfbuzz.tcz 55 | gzip.tcz 56 | grep.tcz 57 | graphite.tcz 58 | gmp.tcz 59 | glib2.tcz 60 | git.tcz 61 | freetype.tcz 62 | flwm.tcz 63 | fltk-1.3.tcz 64 | findutils.tcz 65 | expat2.tcz 66 | curl.tcz 67 | cpio.tcz 68 | coreutils.tcz 69 | ca-certificates.tcz 70 | bzip2.tcz 71 | bzip2-dev.tcz 72 | binutils.tcz 73 | bash.tcz 74 | attr.tcz 75 | aterm.tcz 76 | acl.tcz 77 | udev-lib.tcz 78 | scsi-5.10.3-tinycore64.tcz 79 | readline7.tcz 80 | raid-dm-5.10.3-tinycore64.tcz 81 | php-8.0-ext.tcz 82 | php-8.0-cli.tcz 83 | pcre21032.tcz 84 | ntpclient.tcz 85 | ncursesw.tcz 86 | lvm2.tcz 87 | libxml2.tcz 88 | liblzma.tcz 89 | liblvm2.tcz 90 | file.tcz 91 | bzip2-lib.tcz 92 | dialog.tcz 93 | kmaps.tcz 94 | glibc_apps.tcz 95 | glibc_i18n_locale.tcz 96 | unifont.tcz 97 | rxvt.tcz 98 | firmware-broadcom_bnx2x.tcz 99 | gettext.tcz 100 | ethtool.tcz 101 | iproute2.tcz 102 | scsi-6.1.2-tinycore64.tcz 103 | -------------------------------------------------------------------------------- /tce/optional/db.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tce/optional/db.tcz -------------------------------------------------------------------------------- /tce/optional/db.tcz.dep: -------------------------------------------------------------------------------- 1 | libdb.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/db.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | 6934cba98a2d26c5a06084ea28d5503d db.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/dialog.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tce/optional/dialog.tcz -------------------------------------------------------------------------------- /tce/optional/dialog.tcz.dep: -------------------------------------------------------------------------------- 1 | ncursesw.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/dialog.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | ced82a003092d2edc52667f33d5901a3 dialog.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/ethtool.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tce/optional/ethtool.tcz -------------------------------------------------------------------------------- /tce/optional/ethtool.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | 40a342efddb37121aee0855222d50bb1 ethtool.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/firmware-broadcom_bnx2x.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tce/optional/firmware-broadcom_bnx2x.tcz -------------------------------------------------------------------------------- /tce/optional/firmware-broadcom_bnx2x.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | 258f6ba1f3879415884a7d4b9d8bb75f firmware-broadcom_bnx2x.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/getlocale.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tce/optional/getlocale.tcz -------------------------------------------------------------------------------- /tce/optional/getlocale.tcz.dep: -------------------------------------------------------------------------------- 1 | glibc_gconv.tcz 2 | glibc_i18n_locale.tcz 3 | glibc_apps.tcz 4 | dialog.tcz 5 | squashfs-tools.tcz 6 | -------------------------------------------------------------------------------- /tce/optional/getlocale.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | 82f12e69ea4e56f81c13c29f8f6e2c36 getlocale.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/gettext.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tce/optional/gettext.tcz -------------------------------------------------------------------------------- /tce/optional/gettext.tcz.dep: -------------------------------------------------------------------------------- 1 | ncursesw.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/gettext.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | d04c0147e9bd3ba2fae2a9fae49901a5 gettext.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/glibc_apps.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tce/optional/glibc_apps.tcz -------------------------------------------------------------------------------- /tce/optional/glibc_apps.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | 5b1d1f37e08550a4b33074ce9d21d73f glibc_apps.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/glibc_gconv.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tce/optional/glibc_gconv.tcz -------------------------------------------------------------------------------- /tce/optional/glibc_gconv.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | b30ddf25bc96e497c01ffe63e6cb31df glibc_gconv.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/glibc_i18n_locale.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tce/optional/glibc_i18n_locale.tcz -------------------------------------------------------------------------------- /tce/optional/glibc_i18n_locale.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | d18f8b570d389770d9c5d049064102d0 glibc_i18n_locale.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/iproute2.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tce/optional/iproute2.tcz -------------------------------------------------------------------------------- /tce/optional/iproute2.tcz.dep: -------------------------------------------------------------------------------- 1 | db.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/iproute2.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | cb242309d7b4948aa79119b4b9269ec5 iproute2.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/kmaps.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tce/optional/kmaps.tcz -------------------------------------------------------------------------------- /tce/optional/kmaps.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | 0027d2832648ab00d769e41aa3f541af kmaps.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/libdb.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tce/optional/libdb.tcz -------------------------------------------------------------------------------- /tce/optional/libdb.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | d7306fed2f2e11280e85e5effe0e02a4 libdb.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/libzstd.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tce/optional/libzstd.tcz -------------------------------------------------------------------------------- /tce/optional/libzstd.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | 13a8b50e538db90276ab8ed4d5647f0f libzstd.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/mylocale.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tce/optional/mylocale.tcz -------------------------------------------------------------------------------- /tce/optional/mylocale.tcz.dep: -------------------------------------------------------------------------------- 1 | glibc_gconv.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/mylocale.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | 87df0f0c32d7bde9a928b24293086a12 mylocale.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/scsi-6.1.2-tinycore64.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tce/optional/scsi-6.1.2-tinycore64.tcz -------------------------------------------------------------------------------- /tce/optional/scsi-6.1.2-tinycore64.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | b6c8f7ee9b3e28eb51507186b95c579f scsi-6.1.2-tinycore64.tcz 2 | -------------------------------------------------------------------------------- /tce/optional/squashfs-tools.tcz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tce/optional/squashfs-tools.tcz -------------------------------------------------------------------------------- /tce/optional/squashfs-tools.tcz.dep: -------------------------------------------------------------------------------- 1 | liblzma.tcz 2 | lzo.tcz 3 | libzstd.tcz 4 | -------------------------------------------------------------------------------- /tce/optional/squashfs-tools.tcz.md5.txt: -------------------------------------------------------------------------------- 1 | a44331fa2117314e62267147b6876a49 squashfs-tools.tcz 2 | -------------------------------------------------------------------------------- /tinycore_14.0/corepure64.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tinycore_14.0/corepure64.gz -------------------------------------------------------------------------------- /tinycore_14.0/etc/motd: -------------------------------------------------------------------------------- 1 | ( '>') 2 | /) TC (\ Core is distributed with ABSOLUTELY NO WARRANTY. 3 | (/-_--_-\) www.tinycorelinux.net 4 | 5 | 6 | Configure the loader using the menu.sh 7 | To check system information and boot entries using the monitor.sh 8 | To check the settings and installed addons using the ntp.sh 9 | 10 | -------------------------------------------------------------------------------- /tinycore_14.0/etc/shadow: -------------------------------------------------------------------------------- 1 | root:*:13525:0:99999:7::: 2 | lp:*:13510:0:99999:7::: 3 | nobody:*:13509:0:99999:7::: 4 | tc:$6$UF3Dg.gq$kmKCsx0WtAJpAIjJbyWu0XFjgFxzVTbYZaTxH0czmt30/5fIcZ9HiZck238zWgWpI6/XoEaEobbFq4.cg/FvW0:13646:0:99999:7::: 5 | -------------------------------------------------------------------------------- /tinycore_14.0/vmlinuz64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tinycore_14.0/vmlinuz64 -------------------------------------------------------------------------------- /tmp/default_model.dtb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tmp/default_model.dtb -------------------------------------------------------------------------------- /tmp/disk_db.json: -------------------------------------------------------------------------------- 1 | { 2 | "DT01ACA200":{"MX4OABB0":{"compatibility_interval":[{"compatibility":"support","not_yet_rolling_status":"support","fw_dsm_update_status_notify":false,"barebone_installable":true}]},"MX4OABB0":{"compatibility_interval":[{"compatibility":"support","not_yet_rolling_status":"support","fw_dsm_update_status_notify":false,"barebone_installable":true}]},"MX4OABB0":{"compatibility_interval":[{"compatibility":"support","not_yet_rolling_status":"support","fw_dsm_update_status_notify":false,"barebone_installable":true}]}, "default":{"compatibility_interval":[{"compatibility":"support","not_yet_rolling_status":"support","fw_dsm_update_status_notify":false,"barebone_installable":true}]}} 3 | , 4 | "CT1000MX500SSD1":{"M3CR045":{"compatibility_interval":[{"compatibility":"support","not_yet_rolling_status":"support","fw_dsm_update_status_notify":false,"barebone_installable":true}]}, "default":{"compatibility_interval":[{"compatibility":"support","not_yet_rolling_status":"support","fw_dsm_update_status_notify":false,"barebone_installable":true}]}} 5 | } 6 | -------------------------------------------------------------------------------- /tmp/etc_model.dtb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tmp/etc_model.dtb -------------------------------------------------------------------------------- /tmp/libsynoproxy.so.7: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tmp/libsynoproxy.so.7 -------------------------------------------------------------------------------- /tmp/libsynosdk.so.7: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tmp/libsynosdk.so.7 -------------------------------------------------------------------------------- /tmp/rp-broadwellnk-4.4.302-prod.ko: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tmp/rp-broadwellnk-4.4.302-prod.ko -------------------------------------------------------------------------------- /tools/Realtek.MAC.AMD64.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tools/Realtek.MAC.AMD64.zip -------------------------------------------------------------------------------- /tools/bspatch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tools/bspatch -------------------------------------------------------------------------------- /tools/bzImage-template-v4.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tools/bzImage-template-v4.gz -------------------------------------------------------------------------------- /tools/bzImage-template-v5.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tools/bzImage-template-v5.gz -------------------------------------------------------------------------------- /tools/bzImage-to-vmlinux.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | read_u8() { 4 | dd if=$1 bs=1 skip=$(($2)) count=1 2>/dev/null | od -An -tu1 | grep -Eo '[0-9]+' 5 | } 6 | read_u32() { 7 | dd if=$1 bs=1 skip=$(($2)) count=4 2>/dev/null | od -An -tu4 | grep -Eo '[0-9]+' 8 | } 9 | 10 | set -x 11 | setup_size=$(read_u8 $1 0x1f1) 12 | payload_offset=$(read_u32 $1 0x248) 13 | payload_length=$(read_u32 $1 0x24c) 14 | inner_pos=$((($setup_size + 1) * 512)) 15 | 16 | tail -c+$(($inner_pos + 1)) $1 | tail -c+$(($payload_offset + 1)) | head -c $(($payload_length)) | head -c $(($payload_length - 4)) | unlzma >$2 17 | -------------------------------------------------------------------------------- /tools/calc_run_size.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # Calculate the amount of space needed to run the kernel, including room for 4 | # the .bss and .brk sections. 5 | # 6 | # Usage: 7 | # objdump -h a.out | sh calc_run_size.sh 8 | 9 | NUM='\([0-9a-fA-F]*[ \t]*\)' 10 | OUT=$(sed -n 's/^[ \t0-9]*.b[sr][sk][ \t]*'"${NUM}${NUM}${NUM}${NUM}"'.*/\1\4/p') 11 | if [ -z "$OUT" ]; then 12 | echo "Never found .bss or .brk file offset" >&2 13 | exit 1 14 | fi 15 | 16 | OUT=$(echo ${OUT# }) 17 | sizeA=$(printf "%d" 0x${OUT%% *}) 18 | OUT=${OUT#* } 19 | offsetA=$(printf "%d" 0x${OUT%% *}) 20 | OUT=${OUT#* } 21 | sizeB=$(printf "%d" 0x${OUT%% *}) 22 | OUT=${OUT#* } 23 | offsetB=$(printf "%d" 0x${OUT%% *}) 24 | 25 | run_size=$((${offsetA} + ${sizeA} + ${sizeB})) 26 | 27 | # BFD linker shows the same file offset in ELF. 28 | if [ "${offsetA}" -ne "${offsetB}" ]; then 29 | # Gold linker shows them as consecutive. 30 | endB=$((${offsetB} + ${sizeB})) 31 | if [ "$endB" != "$run_size" ]; then 32 | printf "sizeA: 0x%x\n" ${sizeA} >&2 33 | printf "offsetA: 0x%x\n" ${offsetA} >&2 34 | printf "sizeB: 0x%x\n" ${sizeB} >&2 35 | printf "offsetB: 0x%x\n" ${offsetB} >&2 36 | echo ".bss and .brk are non-contiguous" >&2 37 | exit 1 38 | fi 39 | fi 40 | 41 | printf "%d\n" ${run_size} 42 | exit 0 43 | -------------------------------------------------------------------------------- /tools/cpio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tools/cpio -------------------------------------------------------------------------------- /tools/crc32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tools/crc32 -------------------------------------------------------------------------------- /tools/dtc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tools/dtc -------------------------------------------------------------------------------- /tools/eeupdate.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tools/eeupdate.zip -------------------------------------------------------------------------------- /tools/find: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tools/find -------------------------------------------------------------------------------- /tools/kexec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tools/kexec -------------------------------------------------------------------------------- /tools/kpatch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tools/kpatch -------------------------------------------------------------------------------- /tools/modprobe: -------------------------------------------------------------------------------- 1 | #!/usr/bin/sh 2 | # This script is saved to /sbin/modprobe which is a so called UMH (user-mode-helper) for kmod (kernel/kmod.c) 3 | # The kmod subsystem in the kernel is used to load modules from kernel. We exploit it a bit to load RP as soon as 4 | # possible (which turns out to be via init/main.c => load_default_modules => load_default_elevator_module 5 | # When the kernel is booted with "elevator=elevator" it will attempt to load a module "elevator-iosched"... and the rest 6 | # should be obvious from the code below. DO NOT print anything here (kernel doesn't attach STDOUT) 7 | for arg in "$@" 8 | do 9 | if [ "$arg" = "elevator-iosched" ]; then 10 | insmod /usr/lib/modules/rp.ko 11 | rm /usr/lib/modules/rp.ko 12 | rm /sbin/modprobe 13 | exit 0 14 | fi 15 | done 16 | exit 1 17 | -------------------------------------------------------------------------------- /tools/patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tools/patch -------------------------------------------------------------------------------- /tools/pigz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tools/pigz -------------------------------------------------------------------------------- /tools/ramdisk-patch.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | . /opt/arpl/include/functions.sh 4 | . /opt/arpl/include/addons.sh 5 | 6 | # Sanity check 7 | [ -f "${ORI_RDGZ_FILE}" ] || die "${ORI_RDGZ_FILE} not found!" 8 | 9 | echo -n "Patching Ramdisk" 10 | 11 | # Remove old rd.gz patched 12 | rm -f "${MOD_RDGZ_FILE}" 13 | 14 | # Unzipping ramdisk 15 | echo -n "." 16 | rm -rf "${RAMDISK_PATH}" # Force clean 17 | mkdir -p "${RAMDISK_PATH}" 18 | (cd "${RAMDISK_PATH}"; xz -dc < "${ORI_RDGZ_FILE}" | cpio -idm) >/dev/null 2>&1 19 | 20 | # Check if DSM buildnumber changed 21 | . "${RAMDISK_PATH}/etc/VERSION" 22 | 23 | MODEL="`readConfigKey "model" "${USER_CONFIG_FILE}"`" 24 | BUILD="`readConfigKey "build" "${USER_CONFIG_FILE}"`" 25 | LKM="`readConfigKey "lkm" "${USER_CONFIG_FILE}"`" 26 | 27 | if [ ${BUILD} -ne ${buildnumber} ]; then 28 | echo -e "\033[A\n\033[1;32mBuild number changed from \033[1;31m${BUILD}\033[1;32m to \033[1;31m${buildnumber}\033[0m" 29 | echo -n "Patching Ramdisk." 30 | # Update new buildnumber 31 | BUILD=${buildnumber} 32 | writeConfigKey "build" "${BUILD}" "${USER_CONFIG_FILE}" 33 | fi 34 | 35 | echo -n "." 36 | # Read model data 37 | PLATFORM="`readModelKey "${MODEL}" "platform"`" 38 | KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`" 39 | RD_COMPRESSED="`readModelKey "${MODEL}" "builds.${BUILD}.rd-compressed"`" 40 | 41 | # Sanity check 42 | [ -z "${PLATFORM}" -o -z "${KVER}" ] && die "ERROR: Configuration for model ${MODEL} and buildnumber ${BUILD} not found." 43 | 44 | declare -A SYNOINFO 45 | declare -A ADDONS 46 | 47 | # Read synoinfo and addons from config 48 | while IFS="=" read KEY VALUE; do 49 | [ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}" 50 | done < <(readConfigMap "synoinfo" "${USER_CONFIG_FILE}") 51 | while IFS="=" read KEY VALUE; do 52 | [ -n "${KEY}" ] && ADDONS["${KEY}"]="${VALUE}" 53 | done < <(readConfigMap "addons" "${USER_CONFIG_FILE}") 54 | 55 | # Patches 56 | while read f; do 57 | echo -n "." 58 | echo "Patching with ${f}" >"${LOG_FILE}" 2>&1 59 | (cd "${RAMDISK_PATH}" && patch -p1 < "${PATCH_PATH}/${f}") >>"${LOG_FILE}" 2>&1 || dieLog 60 | done < <(readModelArray "${MODEL}" "builds.${BUILD}.patch") 61 | 62 | # Patch /etc/synoinfo.conf 63 | echo -n "." 64 | for KEY in ${!SYNOINFO[@]}; do 65 | _set_conf_kv "${KEY}" "${SYNOINFO[${KEY}]}" "${RAMDISK_PATH}/etc/synoinfo.conf" >"${LOG_FILE}" 2>&1 || dieLog 66 | done 67 | 68 | # Patch /sbin/init.post 69 | echo -n "." 70 | grep -v -e '^[\t ]*#' -e '^$' "${PATCH_PATH}/config-manipulators.sh" > "${TMP_PATH}/rp.txt" 71 | sed -e "/@@@CONFIG-MANIPULATORS-TOOLS@@@/ {" -e "r ${TMP_PATH}/rp.txt" -e 'd' -e '}' -i "${RAMDISK_PATH}/sbin/init.post" 72 | rm "${TMP_PATH}/rp.txt" 73 | touch "${TMP_PATH}/rp.txt" 74 | for KEY in ${!SYNOINFO[@]}; do 75 | echo "_set_conf_kv '${KEY}' '${SYNOINFO[${KEY}]}' '/tmpRoot/etc/synoinfo.conf'" >> "${TMP_PATH}/rp.txt" 76 | echo "_set_conf_kv '${KEY}' '${SYNOINFO[${KEY}]}' '/tmpRoot/etc.defaults/synoinfo.conf'" >> "${TMP_PATH}/rp.txt" 77 | done 78 | sed -e "/@@@CONFIG-GENERATED@@@/ {" -e "r ${TMP_PATH}/rp.txt" -e 'd' -e '}' -i "${RAMDISK_PATH}/sbin/init.post" 79 | rm "${TMP_PATH}/rp.txt" 80 | 81 | echo -n "." 82 | # Extract modules to ramdisk 83 | rm -rf "${TMP_PATH}/modules" 84 | mkdir -p "${TMP_PATH}/modules" 85 | gzip -dc "${CACHE_PATH}/modules/${PLATFORM}-${KVER}.tgz" | tar xf - -C "${TMP_PATH}/modules" 86 | for F in `ls "${TMP_PATH}/modules/"*.ko`; do 87 | M=`basename ${F}` 88 | # Skip existent modules 89 | # [ -f "${RAMDISK_PATH}/usr/lib/modules/${M}" ] || mv "${F}" "${RAMDISK_PATH}/usr/lib/modules/${M}" 90 | cp "${F}" "${RAMDISK_PATH}/usr/lib/modules/${M}" 91 | done 92 | mkdir -p "${RAMDISK_PATH}/usr/lib/firmware" 93 | gzip -dc "${CACHE_PATH}/modules/firmware.tgz" | tar xf - -C "${RAMDISK_PATH}/usr/lib/firmware" 94 | # Clean 95 | rm -rf "${TMP_PATH}/modules" 96 | 97 | echo -n "." 98 | # Copying fake modprobe 99 | cp "${PATCH_PATH}/iosched-trampoline.sh" "${RAMDISK_PATH}/usr/sbin/modprobe" 100 | # Copying LKM to /usr/lib/modules 101 | gzip -dc "${LKM_PATH}/rp-${PLATFORM}-${KVER}-${LKM}.ko.gz" > "${RAMDISK_PATH}/usr/lib/modules/rp.ko" 102 | 103 | # Addons 104 | MAXDISKS=`readConfigKey "maxdisks" "${USER_CONFIG_FILE}"` 105 | # Check if model needs Device-tree dynamic patch 106 | DT="`readModelKey "${MODEL}" "dt"`" 107 | 108 | echo -n "." 109 | mkdir -p "${RAMDISK_PATH}/addons" 110 | echo "#!/bin/sh" > "${RAMDISK_PATH}/addons/addons.sh" 111 | echo 'echo "addons.sh called with params ${@}"' >> "${RAMDISK_PATH}/addons/addons.sh" 112 | # Required eudev and dtbpatch/maxdisks 113 | installAddon eudev 114 | echo "/addons/eudev.sh \${1} " >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog 115 | if [ "${DT}" = "true" ]; then 116 | installAddon dtbpatch 117 | echo "/addons/dtbpatch.sh \${1} " >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog 118 | else 119 | installAddon maxdisks 120 | echo "/addons/maxdisks.sh \${1} ${MAXDISKS}" >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog 121 | fi 122 | # User addons 123 | for ADDON in ${!ADDONS[@]}; do 124 | PARAMS=${ADDONS[${ADDON}]} 125 | if ! installAddon ${ADDON}; then 126 | echo "ADDON ${ADDON} not found!" | tee "${LOG_FILE}" 127 | exit 1 128 | fi 129 | echo "/addons/${ADDON}.sh \${1} ${PARAMS}" >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog 130 | done 131 | chmod +x "${RAMDISK_PATH}/addons/addons.sh" 132 | 133 | # Build modules dependencies 134 | /opt/arpl/depmod -a -b ${RAMDISK_PATH} 2>/dev/null 135 | 136 | # Reassembly ramdisk 137 | echo -n "." 138 | if [ "${RD_COMPRESSED}" == "true" ]; then 139 | (cd "${RAMDISK_PATH}" && find . | cpio -o -H newc -R root:root | xz -9 --format=lzma > "${MOD_RDGZ_FILE}") >"${LOG_FILE}" 2>&1 || dieLog 140 | else 141 | (cd "${RAMDISK_PATH}" && find . | cpio -o -H newc -R root:root > "${MOD_RDGZ_FILE}") >"${LOG_FILE}" 2>&1 || dieLog 142 | fi 143 | 144 | # Clean 145 | rm -rf "${RAMDISK_PATH}" 146 | 147 | # Update SHA256 hash 148 | RAMDISK_HASH="`sha256sum ${ORI_RDGZ_FILE} | awk '{print$1}'`" 149 | writeConfigKey "ramdisk-hash" "${RAMDISK_HASH}" "${USER_CONFIG_FILE}" 150 | echo 151 | -------------------------------------------------------------------------------- /tools/rtnicpg.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tools/rtnicpg.zip -------------------------------------------------------------------------------- /tools/tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tools/tar -------------------------------------------------------------------------------- /tools/testyml.sh: -------------------------------------------------------------------------------- 1 | pataddress="https://global.download.synology.com/download/DSM/release/7.2/64561/DSM_SA6400_64561.pat" 2 | toolchain="https://global.download.synology.com/download/ToolChain/toolchain/7.1-42661/AMD%20x86%20Linux%20Linux%205.10.55%20%28epyc7002%29/epyc7002-gcc850_glibc226_x86_64-GPL.txz" 3 | linuxsrc="https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.55.tar.xz" 4 | 5 | patfile=$(basename ${pataddress} | while read; do echo -e ${REPLY//%/\\x}; done) 6 | echo "::set-output name=patfile::$patfile" 7 | 8 | # install bsdiff 9 | apt-get install -y bsdiff cpio xz-utils 10 | # install libelf-dev 11 | apt-get install libelf-dev 12 | 13 | #ls -al $GITHUB_WORKSPACE/ 14 | mkdir /opt/build 15 | mkdir /opt/dist 16 | cd /opt/build 17 | [ ! -f /opt/build/ds.pat ] && curl -kL ${pataddress} -o ds.pat 18 | [ ! -f /opt/build/toolchain.txz ] && curl -kL ${toolchain} -o toolchain.txz 19 | [ ! -f /opt/build/linux.tar.xz ] && curl -kL ${linuxsrc} -o linux.tar.xz 20 | 21 | # download old pat for syno_extract_system_patch # thanks for jumkey's idea. 22 | mkdir synoesp 23 | [ ! -f /opt/build/oldpat.tar.gz ] && curl -kL https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3622xs%2B_42218.pat -o oldpat.tar.gz 24 | tar -C./synoesp/ -xf oldpat.tar.gz rd.gz 25 | 26 | cd synoesp 27 | xz -dc < rd.gz >rd 2>/dev/null || echo "extract rd.gz" 28 | echo "finish" 29 | cpio -idm &1 || echo "extract rd" 30 | mkdir extract 31 | cd extract 32 | cp ../usr/lib/libcurl.so.4 ../usr/lib/libmbedcrypto.so.5 ../usr/lib/libmbedtls.so.13 ../usr/lib/libmbedx509.so.1 ../usr/lib/libmsgpackc.so.2 ../usr/lib/libsodium.so ../usr/lib/libsynocodesign-ng-virtual-junior-wins.so.7 ../usr/syno/bin/scemd ./ 33 | ln -s scemd syno_extract_system_patch 34 | cd ../.. 35 | mkdir pat 36 | #tar xf ds.pat -C pat 37 | ls -lh ./ 38 | LD_LIBRARY_PATH=synoesp/extract synoesp/extract/syno_extract_system_patch ds.pat pat || echo "extract latest pat" 39 | echo "test4" 40 | # is update_pack 41 | if [ ! -f "pat/zImage" ]; then 42 | cd pat 43 | ar x $(ls flashupdate*) 44 | tar xf data.tar.xz 45 | cd .. 46 | fi 47 | echo "test5" 48 | mkdir toolchain 49 | tar xf toolchain.txz -C toolchain 50 | mkdir linux-src 51 | tar xf linux.tar.xz --strip-components 1 -C linux-src 52 | # extract vmlinux 53 | ./linux-src/scripts/extract-vmlinux pat/zImage > vmlinux 54 | # sha256 55 | sha256sum ds.pat >> checksum.sha256 56 | sha256sum pat/zImage >> checksum.sha256 57 | sha256sum pat/rd.gz >> checksum.sha256 58 | sha256sum vmlinux >> checksum.sha256 59 | cat checksum.sha256 60 | # patch vmlinux 61 | # vmlinux_mod.bin 62 | #curl -L https://github.com/jumkey/dsm-research/raw/master/tools/common.php -o common.php 63 | #curl -L https://github.com/jumkey/dsm-research/raw/master/tools/patch-ramdisk-check.php -o patch-ramdisk-check.php 64 | #curl -L https://github.com/jumkey/dsm-research/raw/master/tools/patch-boot_params-check.php -o patch-boot_params-check.php 65 | #php patch-boot_params-check.php vmlinux vmlinux-mod 66 | #php patch-ramdisk-check.php vmlinux-mod vmlinux_mod.bin 67 | # New fabio patching method 68 | echo "Patching Kernel" 69 | curl -kLO https://github.com/PeterSuh-Q3/tinycore-redpill/raw/main/tools/bzImage-to-vmlinux.sh 70 | curl -kLO https://github.com/PeterSuh-Q3/tinycore-redpill/raw/main/tools/kpatch 71 | curl -kLO https://github.com/PeterSuh-Q3/tinycore-redpill/raw/main/tools/vmlinux-to-bzImage.sh 72 | curl -kLO https://github.com/PeterSuh-Q3/tinycore-redpill/raw/main/tools/bzImage-template-v5.gz 73 | curl -kLO https://github.com/PeterSuh-Q3/tinycore-redpill/raw/main/tools/calc_run_size.sh 74 | 75 | chmod 777 kpatch 76 | chmod 777 calc_run_size.sh 77 | chmod 777 bzImage-to-vmlinux.sh 78 | chmod 777 vmlinux-to-bzImage.sh 79 | 80 | echo "Current path `pwd`" 81 | 82 | ls -ltr 83 | 84 | ./kpatch /opt/build/vmlinux /opt/build/vmlinux_mod.bin 85 | ./vmlinux-to-bzImage.sh vmlinux-mod bzImage 86 | ./bzImage-to-vmlinux.sh vmlinux_mod.bin zImage_mod 87 | -------------------------------------------------------------------------------- /tools/vmlinux: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tools/vmlinux -------------------------------------------------------------------------------- /tools/vmlinux-to-bzImage.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Based on code and ideas from @jumkey 3 | 4 | # Define paths 5 | TMP_PATH="/tmp" 6 | LOG_FILE="${TMP_PATH}/log.txt" 7 | 8 | userconfigfile="/home/tc/user_config.json" 9 | KVER="$(jq -r -e '.general.kver' $userconfigfile)" 10 | 11 | # Adapted from: scripts/Makefile.lib 12 | # Usage: size_append FILE [FILE2] [FILEn]... 13 | # Output: LE HEX with size of file in bytes (to STDOUT) 14 | file_size_le() { 15 | printf $( 16 | dec_size=0 17 | for F in "${@}"; do 18 | fsize=$(stat -c "%s" ${F}) 19 | dec_size=$(expr ${dec_size} + ${fsize}) 20 | done 21 | printf "%08x\n" ${dec_size} | 22 | sed 's/\(..\)/\1 /g' | { 23 | read ch0 ch1 ch2 ch3 24 | for ch in ${ch3} ${ch2} ${ch1} ${ch0}; do 25 | printf '%s%03o' '\' $((0x${ch})) 26 | done 27 | } 28 | ) 29 | } 30 | 31 | size_le() { 32 | printf $( 33 | printf "%08x\n" "${@}" | 34 | sed 's/\(..\)/\1 /g' | { 35 | read ch0 ch1 ch2 ch3 36 | for ch in ${ch3} ${ch2} ${ch1} ${ch0}; do 37 | printf '%s%03o' '\' $((0x${ch})) 38 | done 39 | } 40 | ) 41 | } 42 | SCRIPT_DIR=$(dirname $0) 43 | VMLINUX_MOD=${1} 44 | ZIMAGE_MOD=${2} 45 | KVER_MAJOR=${KVER:0:1} 46 | if [ ${KVER_MAJOR} -eq 4 ] || [ ${KVER_MAJOR} -eq 3 ]; then 47 | # Kernel version 4.x or 3.x (bromolow) 48 | #zImage_head 16494 49 | #payload( 50 | # vmlinux.bin x 51 | # padding 0xf00000-x 52 | # vmlinux.bin size 4 53 | #) 0xf00004 54 | #zImage_tail( 55 | # unknown 72 56 | # run_size 4 57 | # unknown 30 58 | # vmlinux.bin size 4 59 | # unknown 114460 60 | #) 114570 61 | #crc32 4 62 | gzip -dc "${SCRIPT_DIR}/bzImage-template-v4.gz" >"${ZIMAGE_MOD}" 63 | 64 | dd if="${VMLINUX_MOD}" of="${ZIMAGE_MOD}" bs=16494 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog 65 | file_size_le "${VMLINUX_MOD}" | dd of="${ZIMAGE_MOD}" bs=15745134 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog 66 | file_size_le "${VMLINUX_MOD}" | dd of="${ZIMAGE_MOD}" bs=15745244 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog 67 | 68 | RUN_SIZE=$(objdump -h ${VMLINUX_MOD} | sh "${SCRIPT_DIR}/calc_run_size.sh") 69 | size_le ${RUN_SIZE} | dd of=${ZIMAGE_MOD} bs=15745210 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog 70 | size_le $(($((16#$(crc32 "${ZIMAGE_MOD}" | awk '{print$1}'))) ^ 0xFFFFFFFF)) | dd of="${ZIMAGE_MOD}" conv=notrunc oflag=append >"${LOG_FILE}" 2>&1 || dieLog 71 | else 72 | # Kernel version 5.x 73 | gzip -dc "${SCRIPT_DIR}/bzImage-template-v5.gz" >"${ZIMAGE_MOD}" 74 | 75 | dd if="${VMLINUX_MOD}" of="${ZIMAGE_MOD}" bs=14561 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog 76 | file_size_le "${VMLINUX_MOD}" | dd of="${ZIMAGE_MOD}" bs=34463421 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog 77 | file_size_le "${VMLINUX_MOD}" | dd of="${ZIMAGE_MOD}" bs=34479132 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog 78 | # RUN_SIZE=`objdump -h ${VMLINUX_MOD} | sh "${SCRIPT_DIR}/calc_run_size.sh"` 79 | # size_le ${RUN_SIZE} | dd of=${ZIMAGE_MOD} bs=34626904 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog 80 | size_le $(($((16#$(crc32 "${ZIMAGE_MOD}" | awk '{print$1}'))) ^ 0xFFFFFFFF)) | dd of="${ZIMAGE_MOD}" conv=notrunc oflag=append >"${LOG_FILE}" 2>&1 || dieLog 81 | fi 82 | -------------------------------------------------------------------------------- /tools/xxd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/tools/xxd -------------------------------------------------------------------------------- /tools/zimage-patch.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Define paths 4 | TMP_PATH="/tmp" 5 | LOG_FILE="${TMP_PATH}/log.txt" 6 | 7 | loaderdisk="$(blkid | grep "6234-C863" | cut -c 1-8 | awk -F\/ '{print $3}')" 8 | 9 | export BOOTLOADER_PATH="/mnt/${loaderdisk}1" 10 | export SLPART_PATH="/mnt/${loaderdisk}2" # Synologic partition 11 | export CACHE_PATH="/mnt/${loaderdisk}3" 12 | 13 | ORI_ZIMAGE_FILE="${SLPART_PATH}/zImage" 14 | MOD_ZIMAGE_FILE="${CACHE_PATH}/zImage-dsm" 15 | 16 | set -o pipefail # Get exit code from process piped 17 | 18 | # Sanity check 19 | [ -f "${ORI_ZIMAGE_FILE}" ] || (die "${ORI_ZIMAGE_FILE} not found!" | tee -a "${LOG_FILE}") 20 | 21 | echo -n "Patching zImage" 22 | 23 | rm -f "${MOD_ZIMAGE_FILE}" 24 | echo -n "." 25 | # Extract vmlinux 26 | /home/tc/tools/bzImage-to-vmlinux.sh "${ORI_ZIMAGE_FILE}" "${TMP_PATH}/vmlinux" >"${LOG_FILE}" 2>&1 || dieLog 27 | echo -n "." 28 | # Patch boot params and ramdisk check 29 | /home/tc/tools/kpatch "${TMP_PATH}/vmlinux" "${TMP_PATH}/vmlinux-mod" >"${LOG_FILE}" 2>&1 || dieLog 30 | echo -n "." 31 | # rebuild zImage 32 | /home/tc/tools/vmlinux-to-bzImage.sh "${TMP_PATH}/vmlinux-mod" "${MOD_ZIMAGE_FILE}" >"${LOG_FILE}" 2>&1 || dieLog 33 | echo -n "." 34 | # Update HASH of new DSM zImage 35 | HASH="`sha256sum ${ORI_ZIMAGE_FILE} | awk '{print$1}'`" 36 | #writeConfigKey "zimage-hash" "${HASH}" "${USER_CONFIG_FILE}" 37 | echo 38 | -------------------------------------------------------------------------------- /ttyd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/ttyd -------------------------------------------------------------------------------- /update_ossha256.sh: -------------------------------------------------------------------------------- 1 | for model in `cat models` 2 | do 3 | echo "modify custom_config.json on $model" 4 | value=`grep $model ./kernel-bs-fb-patch-for-all/files-chksum | grep os.sha256|awk '{print $1}'` 5 | id=$(echo "$model" | sed 's/DS/ds/' | sed 's/RS/rs/' | sed 's/+/p/' | sed 's/DVA/dva/' | sed 's/FS/fs/' | sed 's/SA/sa/' )"-7.2.1-69057" 6 | echo "id = $id" 7 | 8 | jsonfile=$(jq --arg id "$id" --arg value "$value" ' 9 | .build_configs |= map( 10 | if (.id == $id) then 11 | .downloads.os |= ( 12 | if has("sha256") then 13 | .sha256 = $value 14 | else 15 | . + { "sha256": $value } 16 | end 17 | ) 18 | else 19 | . 20 | end 21 | ) 22 | ' ./custom_config.json) 23 | 24 | echo $jsonfile | jq . > ./custom_config.json 25 | 26 | done 27 | -------------------------------------------------------------------------------- /user_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "general": { 3 | "model": "SA6400", 4 | "version": "7.2.2-72806", 5 | "smallfixnumber": "0", 6 | "zimghash": "", 7 | "rdhash": "", 8 | "usb_line": "", 9 | "sata_line": "", 10 | "redpillmake": "prod-24.9.8", 11 | "friendautoupd": "true", 12 | "hidesensitive": "false", 13 | "layout": "qwerty", 14 | "keymap": "us", 15 | "devmod": "EUDEV", 16 | "ucode": "en_US", 17 | "loadermode": "FRIEND", 18 | "bay": "TOWER_4_Bay", 19 | "kver": "4.4.302" 20 | }, 21 | "ipsettings": { 22 | "ipset": "", 23 | "ipaddr": "", 24 | "ipgw": "", 25 | "ipdns": "", 26 | "ipproxy": "" 27 | }, 28 | "extra_cmdline": { 29 | "pid": "0xa4a5", 30 | "vid": "0x0525", 31 | "sn": "", 32 | "mac1": "", 33 | "netif_num": "1", 34 | "SataPortMap": "", 35 | "DiskIdxMap": "" 36 | }, 37 | "synoinfo": { 38 | "internalportcfg": "0xffff", 39 | "maxdisks": "16", 40 | "support_bde_internal_10g": "no", 41 | "support_disk_compatibility": "no", 42 | "support_memory_compatibility": "no" 43 | }, 44 | "ramdisk_copy": {} 45 | } 46 | -------------------------------------------------------------------------------- /writekey.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | function writeConfigKey() { 4 | local block="$1" 5 | local field="$2" 6 | local value="$3" 7 | local userconfigfile="$4" 8 | 9 | # Check all arguments 10 | if [ -z "$block" ] || [ -z "$field" ] || [ -z "$value" ] || [ -z "$userconfigfile" ]; then 11 | echo "Error: Missing arguments. (block, field, value, userconfigfile)" 12 | return 1 13 | fi 14 | 15 | # Check if file exists and has read/write permissions 16 | if [ ! -f "$userconfigfile" ]; then 17 | echo "Error: File does not exist: $userconfigfile" 18 | return 2 19 | fi 20 | if [ ! -r "$userconfigfile" ] || [ ! -w "$userconfigfile" ]; then 21 | echo "Error: No read/write permission for file: $userconfigfile" 22 | return 3 23 | fi 24 | 25 | # Use a temporary file for safe update 26 | local tmpfile 27 | tmpfile=$(mktemp) || { echo "Error: Failed to create temporary file"; return 4; } 28 | 29 | # Try to update using jq 30 | if ! jq ".$block += {\"$field\":\"$value\"}" "$userconfigfile" > "$tmpfile"; then 31 | echo "Error: jq failed (check if the JSON file is valid)" 32 | rm -f "$tmpfile" 33 | return 5 34 | fi 35 | 36 | # Overwrite the original file if successful 37 | mv "$tmpfile" "$userconfigfile" 38 | echo "Successfully updated: $block.$field = $value" 39 | } 40 | 41 | writeConfigKey "$1" "$2" "$3" "$4" 42 | -------------------------------------------------------------------------------- /xt.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | TARGET_DIR=$(find /mnt -maxdepth 1 -type d -name "sd*3" | head -1) 4 | if [ ! -f "$TARGET_DIR"/initrd-friend ] && [ ! -f "$TARGET_DIR"/bzImage-friend ]; then 5 | URL="https://github.com/PeterSuh-Q3/tcrpfriend/releases/latest/download/chksum" 6 | [ -n "$URL" ] && curl --connect-timeout 5 -s -k -L $URL -O 7 | 8 | if [ -f chksum ]; then 9 | FRIENDVERSION="$(grep VERSION chksum | awk -F= '{print $2}')" 10 | echo "bringing over friend version : $FRIENDVERSION " 11 | 12 | LATESTURL="`curl --connect-timeout 5 -skL -w %{url_effective} -o /dev/null "https://github.com/PeterSuh-Q3/tcrpfriend/releases/latest"`" 13 | FRTAG="${LATESTURL##*/}" 14 | echo "FRIEND TAG is ${FRTAG}" 15 | curl -kLO# "https://github.com/PeterSuh-Q3/tcrpfriend/releases/download/${FRTAG}/chksum" \ 16 | -O "https://github.com/PeterSuh-Q3/tcrpfriend/releases/download/${FRTAG}/bzImage-friend" \ 17 | -O "https://github.com/PeterSuh-Q3/tcrpfriend/releases/download/${FRTAG}/initrd-friend" 18 | 19 | if ls *friend >/dev/null 2>&1; then 20 | echo "Bringing over my friend from github.com Done!!!!!!!!!!!!!!" 21 | if [ -n "$TARGET_DIR" ]; then 22 | cp -vpf --no-preserve=ownership *friend "$TARGET_DIR" && rm -f *friend 23 | #mv -vf --no-preserve=ownership *friend "$TARGET_DIR" 2>/dev/null 24 | else 25 | echo "Error: Target directory not found!" 26 | fi 27 | else 28 | echo "Download failed from github.com friend... !!!!!!!!" 29 | exit 99 30 | fi 31 | fi 32 | else 33 | echo "friend kernel aleady exists !!!" 34 | fi 35 | 36 | echo "change grub boot entry to xTCRP !!!" 37 | TARGET_DIR1=$(find /mnt -maxdepth 1 -type d -name "sd*1" | head -1) 38 | curl -kL# https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/refs/heads/main/grub/grub.cfg -o "$TARGET_DIR1"/boot/grub/grub.cfg 39 | 40 | curl -kL# https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/refs/heads/main/xtcrp.tgz -o "$TARGET_DIR"/xtcrp.tgz 41 | 42 | #TAR_FILE=${TARGET_DIR}"/xtcrp.tgz" 43 | #SOURCE_FILE="/home/tc/user_config.json" 44 | 45 | # Check if the compressed file exists 46 | #if [ -f "$TAR_FILE" ]; then 47 | 48 | # echo "add ${SOURCE_FILE} to ${TAR_FILE} !!!" 49 | 50 | # Decompress the existing archive 51 | # gunzip "$TAR_FILE" 52 | # TAR_UNZIPPED="${TAR_FILE%.*}" 53 | 54 | # Add the file to the archive 55 | # tar --append --file="$TAR_UNZIPPED" "$SOURCE_FILE" 56 | 57 | # Compress the archive again 58 | # gzip "$TAR_UNZIPPED" 59 | #fi 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /xtcrp.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PeterSuh-Q3/tinycore-redpill/717637cb46df0bb95834188cd0d172eef3367aa3/xtcrp.tgz --------------------------------------------------------------------------------