mirror of
https://github.com/RROrg/rr.git
synced 2025-06-21 05:51:05 +08:00
添加镜像文件大小选项到表单
This commit is contained in:
parent
59501a2d4a
commit
de93239f97
98
.github/workflows/issues.yml
vendored
98
.github/workflows/issues.yml
vendored
@ -38,6 +38,7 @@ jobs:
|
|||||||
warinfo = 'false'
|
warinfo = 'false'
|
||||||
|
|
||||||
format = ''
|
format = ''
|
||||||
|
size = ''
|
||||||
language= ''
|
language= ''
|
||||||
model = ''
|
model = ''
|
||||||
version = ''
|
version = ''
|
||||||
@ -49,6 +50,7 @@ jobs:
|
|||||||
jsonbody = json.loads(issuebody)
|
jsonbody = json.loads(issuebody)
|
||||||
iscustom = 'true'
|
iscustom = 'true'
|
||||||
format = jsonbody.get('format', '')
|
format = jsonbody.get('format', '')
|
||||||
|
size = jsonbody.get('size', '')
|
||||||
language = jsonbody.get('language', '')
|
language = jsonbody.get('language', '')
|
||||||
model = jsonbody.get('model', '')
|
model = jsonbody.get('model', '')
|
||||||
version = jsonbody.get('version', '')
|
version = jsonbody.get('version', '')
|
||||||
@ -66,6 +68,7 @@ jobs:
|
|||||||
set_output("warinfo", warinfo)
|
set_output("warinfo", warinfo)
|
||||||
|
|
||||||
set_output("format", format)
|
set_output("format", format)
|
||||||
|
set_output("size", size)
|
||||||
set_output("language", language)
|
set_output("language", language)
|
||||||
set_output("model", model)
|
set_output("model", model)
|
||||||
set_output("version", version)
|
set_output("version", version)
|
||||||
@ -262,6 +265,23 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
case "${{ env.size }}" in
|
||||||
|
2GB)
|
||||||
|
echo "2GB"
|
||||||
|
;;
|
||||||
|
4GB)
|
||||||
|
echo "4GB"
|
||||||
|
sudo ./localbuild.sh resize rr/rr.img +2048M
|
||||||
|
;;
|
||||||
|
8GB)
|
||||||
|
echo "8GB"
|
||||||
|
sudo ./localbuild.sh resize rr/rr.img +6144M
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "unknown size"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
ls rr -al
|
ls rr -al
|
||||||
|
|
||||||
RR_VERSION_FILE="rr/ws/mnt/p1/RR_VERSION"
|
RR_VERSION_FILE="rr/ws/mnt/p1/RR_VERSION"
|
||||||
@ -283,38 +303,52 @@ jobs:
|
|||||||
echo "Of course, you can also modify the settings yourself."
|
echo "Of course, you can also modify the settings yourself."
|
||||||
} >README.txt
|
} >README.txt
|
||||||
|
|
||||||
if [ "${{ env.format }}" = "ova" ]; then
|
case "${{ env.format }}" in
|
||||||
. scripts/func.sh "${{ secrets.RRORG }}"
|
ova)
|
||||||
convertova "rr/rr.img" "rr/rr.ova"
|
echo "OVA"
|
||||||
(cd rr && sha256sum rr.ova >../sha256sum)
|
. scripts/func.sh "${{ secrets.RRORG }}"
|
||||||
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.ova.zip" -j rr/rr.ova ${USER_CONFIG_FILE} sha256sum README.txt
|
convertova "rr/rr.img" "rr/rr.ova"
|
||||||
elif [ "${{ env.format }}" = "vmx" ]; then
|
(cd rr && sha256sum rr.ova >../sha256sum)
|
||||||
. scripts/func.sh "${{ secrets.RRORG }}"
|
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.ova.zip" -j rr/rr.ova ${USER_CONFIG_FILE} sha256sum README.txt
|
||||||
convertvmx "rr/rr.img" "rr.vmx" # rr.vmx is a directory
|
;;
|
||||||
(cd rr.vmx && sha256sum * >../sha256sum)
|
vmx)
|
||||||
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.vmx.zip" -r rr.vmx ${USER_CONFIG_FILE} sha256sum README.txt
|
echo "VMX"
|
||||||
elif [ "${{ env.format }}" = "vmdk" ]; then
|
. scripts/func.sh "${{ secrets.RRORG }}"
|
||||||
qemu-img convert rr/rr.img -O vmdk -o 'adapter_type=lsilogic,subformat=streamOptimized,compat6' rr/rr.vmdk
|
convertvmx "rr/rr.img" "rr.vmx" # rr.vmx is a directory
|
||||||
(cd rr && sha256sum rr.vmdk >../sha256sum)
|
(cd rr.vmx && sha256sum * >../sha256sum)
|
||||||
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.vmdk.zip" -j rr/rr.vmdk ${USER_CONFIG_FILE} sha256sum README.txt
|
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.vmx.zip" -r rr.vmx ${USER_CONFIG_FILE} sha256sum README.txt
|
||||||
elif [ "${{ env.format }}" = "flat" ]; then
|
;;
|
||||||
qemu-img convert rr/rr.img -O vmdk -o 'adapter_type=lsilogic,subformat=monolithicFlat,compat6' rr/rr.vmdk
|
vmdk)
|
||||||
(cd rr && sha256sum rr*.vmdk >../sha256sum)
|
echo "VMDK"
|
||||||
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.flat.zip" -j rr/rr*.vmdk ${USER_CONFIG_FILE} sha256sum README.txt
|
qemu-img convert rr/rr.img -O vmdk -o 'adapter_type=lsilogic,subformat=streamOptimized,compat6' rr/rr.vmdk
|
||||||
elif [ "${{ env.format }}" = "vhd" ]; then
|
(cd rr && sha256sum rr.vmdk >../sha256sum)
|
||||||
. scripts/func.sh "${{ secrets.RRORG }}"
|
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.vmdk.zip" -j rr/rr.vmdk ${USER_CONFIG_FILE} sha256sum README.txt
|
||||||
qemu-img convert rr/rr.img -O vpc rr/rr.vhd
|
;;
|
||||||
createvmc "rr/rr.vhd" "rr/rr.vmc"
|
flat)
|
||||||
(cd rr && sha256sum rr.vhd >../sha256sum)
|
echo "FLAT"
|
||||||
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.vhd.zip" -j rr/rr.vmc rr/rr.vhd ${USER_CONFIG_FILE} sha256sum README.txt
|
qemu-img convert rr/rr.img -O vmdk -o 'adapter_type=lsilogic,subformat=monolithicFlat,compat6' rr/rr.vmdk
|
||||||
elif [ "${{ env.format }}" = "vhdx" ]; then
|
(cd rr && sha256sum rr*.vmdk >../sha256sum)
|
||||||
qemu-img convert rr/rr.img -O vhdx -o subformat=dynamic rr/rr.vhdx
|
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.flat.zip" -j rr/rr*.vmdk ${USER_CONFIG_FILE} sha256sum README.txt
|
||||||
(cd rr && sha256sum rr.vhdx >../sha256sum)
|
;;
|
||||||
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.vhdx.zip" -j rr/rr.vhdx ${USER_CONFIG_FILE} sha256sum README.txt
|
vhd)
|
||||||
else
|
echo "VHD"
|
||||||
(cd rr && sha256sum rr.img >../sha256sum)
|
. scripts/func.sh "${{ secrets.RRORG }}"
|
||||||
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.img.zip" -j rr/rr.img ${USER_CONFIG_FILE} sha256sum README.txt
|
qemu-img convert rr/rr.img -O vpc rr/rr.vhd
|
||||||
fi
|
createvmc "rr/rr.vhd" "rr/rr.vmc"
|
||||||
|
(cd rr && sha256sum rr.vhd >../sha256sum)
|
||||||
|
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.vhd.zip" -j rr/rr.vmc rr/rr.vhd ${USER_CONFIG_FILE} sha256sum README.txt
|
||||||
|
;;
|
||||||
|
vhdx)
|
||||||
|
echo "VHDX"
|
||||||
|
qemu-img convert rr/rr.img -O vhdx -o subformat=dynamic rr/rr.vhdx
|
||||||
|
(cd rr && sha256sum rr.vhdx >../sha256sum)
|
||||||
|
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.vhdx.zip" -j rr/rr.vhdx ${USER_CONFIG_FILE} sha256sum README.txt
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "IMG"
|
||||||
|
(cd rr && sha256sum rr.img >../sha256sum)
|
||||||
|
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.img.zip" -j rr/rr.img ${USER_CONFIG_FILE} sha256sum README.txt
|
||||||
|
esac
|
||||||
|
|
||||||
echo "TAG=${TAG}" >> $GITHUB_ENV
|
echo "TAG=${TAG}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
@ -207,7 +207,7 @@
|
|||||||
let formData = new FormData(form);
|
let formData = new FormData(form);
|
||||||
var title = "custom";
|
var title = "custom";
|
||||||
var body = {};
|
var body = {};
|
||||||
var _parameters = ["title", "format", "language", "model", "version", "kernel", "addons", "modules"];
|
var _parameters = ["title", "format", "size", "language", "model", "version", "kernel", "addons", "modules"];
|
||||||
for (var key in _parameters) {
|
for (var key in _parameters) {
|
||||||
var name = _parameters[key];
|
var name = _parameters[key];
|
||||||
if ($("#" + name).is(":hidden")) { continue; }
|
if ($("#" + name).is(":hidden")) { continue; }
|
||||||
@ -301,6 +301,18 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group mt-1 mb-2" id="size_item">
|
||||||
|
<div class="form-group-header">
|
||||||
|
<label class="color-fg-default text-mono f6">Size:</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group-body">
|
||||||
|
<select class="form-select form-control select-sm input-contrast" id="size" name="inputs[size]" value="">
|
||||||
|
<option value="2GB">2GB</option>
|
||||||
|
<option selected="selected" value="4GB">4GB</option>
|
||||||
|
<option value="8GB">8GB</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="form-group mt-1 mb-2" id="language_item">
|
<div class="form-group mt-1 mb-2" id="language_item">
|
||||||
<div class="form-group-header">
|
<div class="form-group-header">
|
||||||
<label class="color-fg-default text-mono f6">Language:</label>
|
<label class="color-fg-default text-mono f6">Language:</label>
|
||||||
|
@ -1094,8 +1094,8 @@ msgid "No disk selected!"
|
|||||||
msgstr "لا تم اختيار حاويه!"
|
msgstr "لا تم اختيار حاويه!"
|
||||||
|
|
||||||
#: menu.sh:2338
|
#: menu.sh:2338
|
||||||
msgid "Disk %s size is less than 1GB and cannot be cloned!"
|
msgid "Disk %s size is less than 2GB and cannot be cloned!"
|
||||||
msgstr "حاويه %s حجمها اقل من 1GB و لا يمكن تنسخها!"
|
msgstr "حاويه %s حجمها اقل من 2GB و لا يمكن تنسخها!"
|
||||||
|
|
||||||
#: menu.sh:2342
|
#: menu.sh:2342
|
||||||
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
||||||
|
@ -1095,8 +1095,8 @@ msgid "No disk selected!"
|
|||||||
msgstr "Keine Festplatte ausgewählt!"
|
msgstr "Keine Festplatte ausgewählt!"
|
||||||
|
|
||||||
#: menu.sh:2338
|
#: menu.sh:2338
|
||||||
msgid "Disk %s size is less than 1GB and cannot be cloned!"
|
msgid "Disk %s size is less than 2GB and cannot be cloned!"
|
||||||
msgstr "Festplatte %s ist kleiner als 1GB und kann nicht geklont werden!"
|
msgstr "Festplatte %s ist kleiner als 2GB und kann nicht geklont werden!"
|
||||||
|
|
||||||
#: menu.sh:2342
|
#: menu.sh:2342
|
||||||
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
||||||
|
@ -1094,7 +1094,7 @@ msgid "No disk selected!"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: menu.sh:2338
|
#: menu.sh:2338
|
||||||
msgid "Disk %s size is less than 1GB and cannot be cloned!"
|
msgid "Disk %s size is less than 2GB and cannot be cloned!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: menu.sh:2342
|
#: menu.sh:2342
|
||||||
|
@ -1095,8 +1095,8 @@ msgid "No disk selected!"
|
|||||||
msgstr "¡No hay ningún disco seleccionado!"
|
msgstr "¡No hay ningún disco seleccionado!"
|
||||||
|
|
||||||
#: menu.sh:2338
|
#: menu.sh:2338
|
||||||
msgid "Disk %s size is less than 1GB and cannot be cloned!"
|
msgid "Disk %s size is less than 2GB and cannot be cloned!"
|
||||||
msgstr "Disk %s de tamaño es inferior a 1GB y no se puede clonar!"
|
msgstr "Disk %s de tamaño es inferior a 2GB y no se puede clonar!"
|
||||||
|
|
||||||
#: menu.sh:2342
|
#: menu.sh:2342
|
||||||
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
||||||
|
@ -1095,7 +1095,7 @@ msgid "No disk selected!"
|
|||||||
msgstr "Aucun disque sélectionné !"
|
msgstr "Aucun disque sélectionné !"
|
||||||
|
|
||||||
#: menu.sh:2338
|
#: menu.sh:2338
|
||||||
msgid "Disk %s size is less than 1GB and cannot be cloned!"
|
msgid "Disk %s size is less than 2GB and cannot be cloned!"
|
||||||
msgstr "La taille du disque %s est inférieure à 1 Go et ne peut pas être clonée !"
|
msgstr "La taille du disque %s est inférieure à 1 Go et ne peut pas être clonée !"
|
||||||
|
|
||||||
#: menu.sh:2342
|
#: menu.sh:2342
|
||||||
|
@ -1094,8 +1094,8 @@ msgid "No disk selected!"
|
|||||||
msgstr "ディスクが選択されていません!"
|
msgstr "ディスクが選択されていません!"
|
||||||
|
|
||||||
#: menu.sh:2338
|
#: menu.sh:2338
|
||||||
msgid "Disk %s size is less than 1GB and cannot be cloned!"
|
msgid "Disk %s size is less than 2GB and cannot be cloned!"
|
||||||
msgstr "ディスク %s のサイズが1GB未満で、クローンできません!"
|
msgstr "ディスク %s のサイズが2GB未満で、クローンできません!"
|
||||||
|
|
||||||
#: menu.sh:2342
|
#: menu.sh:2342
|
||||||
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
||||||
|
@ -1094,8 +1094,8 @@ msgid "No disk selected!"
|
|||||||
msgstr "선택한 디스크가 없습니다!"
|
msgstr "선택한 디스크가 없습니다!"
|
||||||
|
|
||||||
#: menu.sh:2338
|
#: menu.sh:2338
|
||||||
msgid "Disk %s size is less than 1GB and cannot be cloned!"
|
msgid "Disk %s size is less than 2GB and cannot be cloned!"
|
||||||
msgstr "디스크 %s 크기가 1GB 미만이어서 복제할 수 없습니다!"
|
msgstr "디스크 %s 크기가 2GB 미만이어서 복제할 수 없습니다!"
|
||||||
|
|
||||||
#: menu.sh:2342
|
#: menu.sh:2342
|
||||||
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
||||||
|
@ -1239,7 +1239,7 @@ msgid "No disk selected!"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: menu.sh:2338
|
#: menu.sh:2338
|
||||||
msgid "Disk %s size is less than 1GB and cannot be cloned!"
|
msgid "Disk %s size is less than 2GB and cannot be cloned!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: menu.sh:2342
|
#: menu.sh:2342
|
||||||
|
@ -1094,7 +1094,7 @@ msgid "No disk selected!"
|
|||||||
msgstr "Диск не выбран!"
|
msgstr "Диск не выбран!"
|
||||||
|
|
||||||
#: menu.sh:2338
|
#: menu.sh:2338
|
||||||
msgid "Disk %s size is less than 1GB and cannot be cloned!"
|
msgid "Disk %s size is less than 2GB and cannot be cloned!"
|
||||||
msgstr "Размер диска %s меньше 1 ГБ и не может быть клонирован!"
|
msgstr "Размер диска %s меньше 1 ГБ и не может быть клонирован!"
|
||||||
|
|
||||||
#: menu.sh:2342
|
#: menu.sh:2342
|
||||||
|
@ -1095,8 +1095,8 @@ msgid "No disk selected!"
|
|||||||
msgstr "ไม่มีดิสก์ที่เลือก!"
|
msgstr "ไม่มีดิสก์ที่เลือก!"
|
||||||
|
|
||||||
#: menu.sh:2338
|
#: menu.sh:2338
|
||||||
msgid "Disk %s size is less than 1GB and cannot be cloned!"
|
msgid "Disk %s size is less than 2GB and cannot be cloned!"
|
||||||
msgstr "ขนาดดิสก์ %s น้อยกว่า 1GB และไม่สามารถคัดลอก!"
|
msgstr "ขนาดดิสก์ %s น้อยกว่า 2GB และไม่สามารถคัดลอก!"
|
||||||
|
|
||||||
#: menu.sh:2342
|
#: menu.sh:2342
|
||||||
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
||||||
|
@ -1094,8 +1094,8 @@ msgid "No disk selected!"
|
|||||||
msgstr "Disk seçilmedi!"
|
msgstr "Disk seçilmedi!"
|
||||||
|
|
||||||
#: menu.sh:2338
|
#: menu.sh:2338
|
||||||
msgid "Disk %s size is less than 1GB and cannot be cloned!"
|
msgid "Disk %s size is less than 2GB and cannot be cloned!"
|
||||||
msgstr "%s disk boyutu 1GB'den küçük ve klonlanamaz!"
|
msgstr "%s disk boyutu 2GB'den küçük ve klonlanamaz!"
|
||||||
|
|
||||||
#: menu.sh:2342
|
#: menu.sh:2342
|
||||||
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
||||||
|
@ -1095,7 +1095,7 @@ msgid "No disk selected!"
|
|||||||
msgstr "Немає вибраного диска!"
|
msgstr "Немає вибраного диска!"
|
||||||
|
|
||||||
#: menu.sh:2338
|
#: menu.sh:2338
|
||||||
msgid "Disk %s size is less than 1GB and cannot be cloned!"
|
msgid "Disk %s size is less than 2GB and cannot be cloned!"
|
||||||
msgstr "Розмір диска %s менше 1 Гб і не можна клонувати!"
|
msgstr "Розмір диска %s менше 1 Гб і не можна клонувати!"
|
||||||
|
|
||||||
#: menu.sh:2342
|
#: menu.sh:2342
|
||||||
|
@ -1095,8 +1095,8 @@ msgid "No disk selected!"
|
|||||||
msgstr "Không có đĩa nào được chọn!"
|
msgstr "Không có đĩa nào được chọn!"
|
||||||
|
|
||||||
#: menu.sh:2338
|
#: menu.sh:2338
|
||||||
msgid "Disk %s size is less than 1GB and cannot be cloned!"
|
msgid "Disk %s size is less than 2GB and cannot be cloned!"
|
||||||
msgstr "Kích thước đĩa %s nhỏ hơn 1GB và không thể được sao chép!"
|
msgstr "Kích thước đĩa %s nhỏ hơn 2GB và không thể được sao chép!"
|
||||||
|
|
||||||
#: menu.sh:2342
|
#: menu.sh:2342
|
||||||
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
||||||
|
@ -1094,8 +1094,8 @@ msgid "No disk selected!"
|
|||||||
msgstr "未选择磁盘!"
|
msgstr "未选择磁盘!"
|
||||||
|
|
||||||
#: menu.sh:2338
|
#: menu.sh:2338
|
||||||
msgid "Disk %s size is less than 1GB and cannot be cloned!"
|
msgid "Disk %s size is less than 2GB and cannot be cloned!"
|
||||||
msgstr "磁盘 %s 的大小小于 1GB,无法克隆!"
|
msgstr "磁盘 %s 的大小小于 2GB,无法克隆!"
|
||||||
|
|
||||||
#: menu.sh:2342
|
#: menu.sh:2342
|
||||||
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
||||||
|
@ -1094,8 +1094,8 @@ msgid "No disk selected!"
|
|||||||
msgstr "未選擇磁碟!"
|
msgstr "未選擇磁碟!"
|
||||||
|
|
||||||
#: menu.sh:2338
|
#: menu.sh:2338
|
||||||
msgid "Disk %s size is less than 1GB and cannot be cloned!"
|
msgid "Disk %s size is less than 2GB and cannot be cloned!"
|
||||||
msgstr "磁碟 %s 的大小小於 1GB, 無法克隆!"
|
msgstr "磁碟 %s 的大小小於 2GB, 無法克隆!"
|
||||||
|
|
||||||
#: menu.sh:2342
|
#: menu.sh:2342
|
||||||
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
||||||
|
@ -1094,8 +1094,8 @@ msgid "No disk selected!"
|
|||||||
msgstr "未選擇磁碟!"
|
msgstr "未選擇磁碟!"
|
||||||
|
|
||||||
#: menu.sh:2338
|
#: menu.sh:2338
|
||||||
msgid "Disk %s size is less than 1GB and cannot be cloned!"
|
msgid "Disk %s size is less than 2GB and cannot be cloned!"
|
||||||
msgstr "磁碟 %s 大小小於 1GB,無法複製!"
|
msgstr "磁碟 %s 大小小於 2GB,無法複製!"
|
||||||
|
|
||||||
#: menu.sh:2342
|
#: menu.sh:2342
|
||||||
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
msgid "Warning:\\nDisk %s will be formatted and written to the bootloader. Please confirm that important data has been backed up. \\nDo you want to continue?"
|
||||||
|
@ -2359,9 +2359,9 @@ function cloneBootloaderDisk() {
|
|||||||
fi
|
fi
|
||||||
TODESK="${resp}"
|
TODESK="${resp}"
|
||||||
SIZE=$(df -m "${TODESK}" 2>/dev/null | awk 'NR==2 {print $2}')
|
SIZE=$(df -m "${TODESK}" 2>/dev/null | awk 'NR==2 {print $2}')
|
||||||
if [ ${SIZE:-0} -lt 1024 ]; then
|
if [ ${SIZE:-0} -lt 1536 ]; then
|
||||||
DIALOG --title "$(TEXT "Settings")" \
|
DIALOG --title "$(TEXT "Settings")" \
|
||||||
--msgbox "$(printf "$(TEXT "Disk %s size is less than 1GB and cannot be cloned!")" "${TODESK}")" 0 0
|
--msgbox "$(printf "$(TEXT "Disk %s size is less than 2GB and cannot be cloned!")" "${TODESK}")" 0 0
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -178,9 +178,8 @@ function pack() {
|
|||||||
|
|
||||||
local RRIMGPATH LOOPX
|
local RRIMGPATH LOOPX
|
||||||
RRIMGPATH="$(realpath "${1:-rr.img}")"
|
RRIMGPATH="$(realpath "${1:-rr.img}")"
|
||||||
if [ ! -f "${RRIMGPATH}" ]; then
|
rm -f "${RRIMGPATH}"
|
||||||
gzip -dc "${CHROOT_PATH}/initrd/opt/rr/grub.img.gz" >"${RRIMGPATH}"
|
gzip -dc "${CHROOT_PATH}/initrd/opt/rr/grub.img.gz" >"${RRIMGPATH}"
|
||||||
fi
|
|
||||||
fdisk -l "${RRIMGPATH}"
|
fdisk -l "${RRIMGPATH}"
|
||||||
|
|
||||||
LOOPX=$(sudo losetup -f)
|
LOOPX=$(sudo losetup -f)
|
||||||
@ -220,4 +219,32 @@ function pack() {
|
|||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function resize() {
|
||||||
|
local INPUT_FILE="${1}"
|
||||||
|
local CHANGE_SIZE="${2}"
|
||||||
|
local OUTPUT_FILE="${3:-${INPUT_FILE}}"
|
||||||
|
|
||||||
|
[ -z "${INPUT_FILE}" ] || [ ! -f "${INPUT_FILE}" ] && exit 1
|
||||||
|
[ -z "${CHANGE_SIZE}" ] && exit 1
|
||||||
|
|
||||||
|
INPUT_FILE="$(realpath "${INPUT_FILE}")"
|
||||||
|
OUTPUT_FILE="$(realpath "${OUTPUT_FILE}")"
|
||||||
|
|
||||||
|
local SIZE=$(($(du -sm "${INPUT_FILE}" 2>/dev/null | awk '{print $1}')$(echo "${CHANGE_SIZE}" | sed 's/M//g; s/b//g')))
|
||||||
|
[ "${SIZE:-0}" -lt 0 ] && exit 1
|
||||||
|
|
||||||
|
if [ ! "${INPUT_FILE}" = "${OUTPUT_FILE}" ]; then
|
||||||
|
sudo cp -f "${INPUT_FILE}" "${OUTPUT_FILE}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo truncate -s ${SIZE}M "${OUTPUT_FILE}"
|
||||||
|
echo -e "d\n\nn\n\n\n\n\nn\nw" | sudo fdisk "${OUTPUT_FILE}" >/dev/null 2>&1
|
||||||
|
local LOOPX
|
||||||
|
LOOPX=$(sudo losetup -f)
|
||||||
|
sudo losetup -P "${LOOPX}" "${OUTPUT_FILE}"
|
||||||
|
sudo e2fsck -fp "$(find "${LOOPX}p"* -maxdepth 0 2>/dev/null | sort -n | tail -1)"
|
||||||
|
sudo resize2fs "$(find "${LOOPX}p"* -maxdepth 0 2>/dev/null | sort -n | tail -1)"
|
||||||
|
sudo losetup -d "${LOOPX}"
|
||||||
|
}
|
||||||
|
|
||||||
"$@"
|
"$@"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user