mirror of
https://github.com/RROrg/rr.git
synced 2025-06-21 05:51:05 +08:00
add sourcebuild
This commit is contained in:
parent
1372fd2e48
commit
c03f6142d8
9
.gitignore
vendored
9
.gitignore
vendored
@ -6,5 +6,14 @@ rr*.vmdk
|
|||||||
*.bak
|
*.bak
|
||||||
*.o
|
*.o
|
||||||
**.mo
|
**.mo
|
||||||
|
|
||||||
tests
|
tests
|
||||||
Changelog*
|
Changelog*
|
||||||
|
|
||||||
|
files/mnt/p1/.locale
|
||||||
|
files/mnt/p1/grub_cksum.syno
|
||||||
|
files/mnt/p1/GRUB_VER
|
||||||
|
files/mnt/p1/user-config.yml
|
||||||
|
files/mnt/p2
|
||||||
|
files/mnt/p3
|
||||||
|
files/tmp
|
@ -304,11 +304,16 @@ function productversMenu() {
|
|||||||
else
|
else
|
||||||
MSG="$(TEXT "Successfully to get pat data, Please confirm.\nOr modify the URL and md5sum to you need.")"
|
MSG="$(TEXT "Successfully to get pat data, Please confirm.\nOr modify the URL and md5sum to you need.")"
|
||||||
fi
|
fi
|
||||||
DIALOG --title "$(TEXT "Product Version")" \
|
if [ -z "${1}" ]; then
|
||||||
--extra-button --extra-label "$(TEXT "Retry")" \
|
DIALOG --title "$(TEXT "Product Version")" \
|
||||||
--form "${MSG}" 10 110 2 "URL" 1 1 "${paturl}" 1 5 100 0 "MD5" 2 1 "${patsum}" 2 5 100 0 \
|
--extra-button --extra-label "$(TEXT "Retry")" \
|
||||||
2>"${TMP_PATH}/resp"
|
--form "${MSG}" 10 110 2 "URL" 1 1 "${paturl}" 1 5 100 0 "MD5" 2 1 "${patsum}" 2 5 100 0 \
|
||||||
RET=$?
|
2>"${TMP_PATH}/resp"
|
||||||
|
RET=$?
|
||||||
|
else
|
||||||
|
echo -e "${paturl}\n${patsum}" >"${TMP_PATH}/resp"
|
||||||
|
RET=0
|
||||||
|
fi
|
||||||
[ ${RET} -eq 0 ] && break # ok-button
|
[ ${RET} -eq 0 ] && break # ok-button
|
||||||
[ ${RET} -eq 3 ] && continue # extra-button
|
[ ${RET} -eq 3 ] && continue # extra-button
|
||||||
return # 1 or 255 # cancel-button or ESC
|
return # 1 or 255 # cancel-button or ESC
|
||||||
@ -1262,6 +1267,7 @@ function extractDsmFiles() {
|
|||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Where the magic happens!
|
# Where the magic happens!
|
||||||
|
# 1 - silent
|
||||||
function make() {
|
function make() {
|
||||||
rm -f "${LOG_FILE}"
|
rm -f "${LOG_FILE}"
|
||||||
while true; do
|
while true; do
|
||||||
@ -1301,8 +1307,10 @@ function make() {
|
|||||||
done 2>&1 | DIALOG --title "$(TEXT "Main menu")" \
|
done 2>&1 | DIALOG --title "$(TEXT "Main menu")" \
|
||||||
--progressbox "$(TEXT "Making ...")" 20 100
|
--progressbox "$(TEXT "Making ...")" 20 100
|
||||||
if [ -f "${LOG_FILE}" ]; then
|
if [ -f "${LOG_FILE}" ]; then
|
||||||
DIALOG --title "$(TEXT "Error")" \
|
if [ ! "${1}" = "-1" ]; then
|
||||||
--msgbox "$(cat ${LOG_FILE})" 0 0
|
DIALOG --title "$(TEXT "Error")" \
|
||||||
|
--msgbox "$(cat ${LOG_FILE})" 0 0
|
||||||
|
fi
|
||||||
rm -f "${LOG_FILE}"
|
rm -f "${LOG_FILE}"
|
||||||
return 1
|
return 1
|
||||||
else
|
else
|
||||||
@ -2962,6 +2970,16 @@ function updateMenu() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
function cleanCache() {
|
||||||
|
(
|
||||||
|
rm -rfv "${PART3_PATH}/dl/"*
|
||||||
|
rm -rfv "${TMP_PATH}/"*
|
||||||
|
) 2>&1 | DIALOG --title "$(TEXT "Main menu")" \
|
||||||
|
--progressbox "$(TEXT "Cleaning cache ...")" 20 100
|
||||||
|
}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
function notepadMenu() {
|
function notepadMenu() {
|
||||||
[ -d "${USER_UP_PATH}" ] || mkdir -p "${USER_UP_PATH}"
|
[ -d "${USER_UP_PATH}" ] || mkdir -p "${USER_UP_PATH}"
|
||||||
[ -f "${USER_UP_PATH}/notepad" ] || echo "$(TEXT "This person is very lazy and hasn't written anything.")" >"${USER_UP_PATH}/notepad"
|
[ -f "${USER_UP_PATH}/notepad" ] || echo "$(TEXT "This person is very lazy and hasn't written anything.")" >"${USER_UP_PATH}/notepad"
|
||||||
@ -2974,178 +2992,169 @@ function notepadMenu() {
|
|||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
###############################################################################
|
###############################################################################
|
||||||
if [ "${1}" = "update" ]; then
|
if [ $# -ge 1 ]; then
|
||||||
EXT=${2:-"a"}
|
$@
|
||||||
updateMenu "${EXT}"
|
else
|
||||||
exit 0
|
# Main loop
|
||||||
fi
|
NEXT="m"
|
||||||
if [ "${1}" = "make" -a -n "${MODEL}" -a -n "${PRODUCTVER}" -a loaderIsConfigured ]; then
|
[ -n "$(ls ${TMP_PATH}/pats/*.pat 2>/dev/null)" ] && NEXT="u"
|
||||||
make
|
[ -f "${PART1_PATH}/.build" ] && NEXT="d"
|
||||||
exit
|
[ -n "${MODEL}" ] && NEXT="v"
|
||||||
fi
|
while true; do
|
||||||
if [ "${1}" = "boot" -a -n "${MODEL}" -a -n "${PRODUCTVER}" -a loaderIsConfigured ]; then
|
echo -n "" >"${TMP_PATH}/menu"
|
||||||
make
|
echo "m \"$(TEXT "Choose a model")\"" >>"${TMP_PATH}/menu"
|
||||||
boot && exit 0 || sleep 5
|
if [ -n "${MODEL}" ]; then
|
||||||
fi
|
echo "n \"$(TEXT "Choose a version")\"" >>"${TMP_PATH}/menu"
|
||||||
# Main loop
|
|
||||||
NEXT="m"
|
|
||||||
[ -n "$(ls ${TMP_PATH}/pats/*.pat 2>/dev/null)" ] && NEXT="u"
|
|
||||||
[ -f "${PART1_PATH}/.build" ] && NEXT="d"
|
|
||||||
[ -n "${MODEL}" ] && NEXT="v"
|
|
||||||
while true; do
|
|
||||||
echo -n "" >"${TMP_PATH}/menu"
|
|
||||||
echo "m \"$(TEXT "Choose a model")\"" >>"${TMP_PATH}/menu"
|
|
||||||
if [ -n "${MODEL}" ]; then
|
|
||||||
echo "n \"$(TEXT "Choose a version")\"" >>"${TMP_PATH}/menu"
|
|
||||||
fi
|
|
||||||
echo "u \"$(TEXT "Parse pat")\"" >>"${TMP_PATH}/menu"
|
|
||||||
if [ -n "${PRODUCTVER}" ]; then
|
|
||||||
PLATFORM="$(readModelKey "${MODEL}" "platform")"
|
|
||||||
KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")"
|
|
||||||
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
|
||||||
if [ -f "${CKS_PATH}/bzImage-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.gz" ] &&
|
|
||||||
[ -f "${CKS_PATH}/modules-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.tgz" ]; then
|
|
||||||
echo "s \"$(TEXT "Kernel:") \Z4${KERNEL}\Zn\"" >>"${TMP_PATH}/menu"
|
|
||||||
fi
|
fi
|
||||||
echo "a \"$(TEXT "Addons menu")\"" >>"${TMP_PATH}/menu"
|
echo "u \"$(TEXT "Parse pat")\"" >>"${TMP_PATH}/menu"
|
||||||
echo "o \"$(TEXT "Modules menu")\"" >>"${TMP_PATH}/menu"
|
|
||||||
echo "x \"$(TEXT "Cmdline menu")\"" >>"${TMP_PATH}/menu"
|
|
||||||
echo "i \"$(TEXT "Synoinfo menu")\"" >>"${TMP_PATH}/menu"
|
|
||||||
fi
|
|
||||||
echo "v \"$(TEXT "Advanced menu")\"" >>"${TMP_PATH}/menu"
|
|
||||||
if [ -n "${MODEL}" ]; then
|
|
||||||
if [ -n "${PRODUCTVER}" ]; then
|
if [ -n "${PRODUCTVER}" ]; then
|
||||||
echo "d \"$(TEXT "Build the loader")\"" >>"${TMP_PATH}/menu"
|
PLATFORM="$(readModelKey "${MODEL}" "platform")"
|
||||||
|
KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")"
|
||||||
|
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
||||||
|
if [ -f "${CKS_PATH}/bzImage-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.gz" ] &&
|
||||||
|
[ -f "${CKS_PATH}/modules-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.tgz" ]; then
|
||||||
|
echo "s \"$(TEXT "Kernel:") \Z4${KERNEL}\Zn\"" >>"${TMP_PATH}/menu"
|
||||||
|
fi
|
||||||
|
echo "a \"$(TEXT "Addons menu")\"" >>"${TMP_PATH}/menu"
|
||||||
|
echo "o \"$(TEXT "Modules menu")\"" >>"${TMP_PATH}/menu"
|
||||||
|
echo "x \"$(TEXT "Cmdline menu")\"" >>"${TMP_PATH}/menu"
|
||||||
|
echo "i \"$(TEXT "Synoinfo menu")\"" >>"${TMP_PATH}/menu"
|
||||||
fi
|
fi
|
||||||
fi
|
echo "v \"$(TEXT "Advanced menu")\"" >>"${TMP_PATH}/menu"
|
||||||
if loaderIsConfigured; then
|
if [ -n "${MODEL}" ]; then
|
||||||
echo "b \"$(TEXT "Boot the loader")\"" >>"${TMP_PATH}/menu"
|
if [ -n "${PRODUCTVER}" ]; then
|
||||||
fi
|
echo "d \"$(TEXT "Build the loader")\"" >>"${TMP_PATH}/menu"
|
||||||
echo "l \"$(TEXT "Choose a language")\"" >>"${TMP_PATH}/menu"
|
fi
|
||||||
echo "k \"$(TEXT "Choose a keymap")\"" >>"${TMP_PATH}/menu"
|
fi
|
||||||
if [ 0$(du -m ${PART3_PATH}/dl 2>/dev/null | awk '{printf $1}') -gt 1 ]; then
|
if loaderIsConfigured; then
|
||||||
echo "c \"$(TEXT "Clean disk cache")\"" >>"${TMP_PATH}/menu"
|
echo "b \"$(TEXT "Boot the loader")\"" >>"${TMP_PATH}/menu"
|
||||||
fi
|
fi
|
||||||
echo "p \"$(TEXT "Update menu")\"" >>"${TMP_PATH}/menu"
|
echo "l \"$(TEXT "Choose a language")\"" >>"${TMP_PATH}/menu"
|
||||||
echo "t \"$(TEXT "Notepad")\"" >>"${TMP_PATH}/menu"
|
echo "k \"$(TEXT "Choose a keymap")\"" >>"${TMP_PATH}/menu"
|
||||||
echo "e \"$(TEXT "Exit")\"" >>"${TMP_PATH}/menu"
|
if [ 0$(du -m ${PART3_PATH}/dl 2>/dev/null | awk '{printf $1}') -gt 1 ]; then
|
||||||
|
echo "c \"$(TEXT "Clean disk cache")\"" >>"${TMP_PATH}/menu"
|
||||||
|
fi
|
||||||
|
echo "p \"$(TEXT "Update menu")\"" >>"${TMP_PATH}/menu"
|
||||||
|
echo "t \"$(TEXT "Notepad")\"" >>"${TMP_PATH}/menu"
|
||||||
|
echo "e \"$(TEXT "Exit")\"" >>"${TMP_PATH}/menu"
|
||||||
|
|
||||||
DIALOG --title "$(TEXT "Main menu")" \
|
|
||||||
--default-item ${NEXT} --menu "$(TEXT "Choose a option")" 0 0 0 --file "${TMP_PATH}/menu" \
|
|
||||||
2>${TMP_PATH}/resp
|
|
||||||
[ $? -ne 0 ] && break
|
|
||||||
case $(<"${TMP_PATH}/resp") in
|
|
||||||
m)
|
|
||||||
modelMenu
|
|
||||||
NEXT="n"
|
|
||||||
;;
|
|
||||||
n)
|
|
||||||
productversMenu
|
|
||||||
NEXT="d"
|
|
||||||
;;
|
|
||||||
u)
|
|
||||||
ParsePat
|
|
||||||
NEXT="d"
|
|
||||||
;;
|
|
||||||
s)
|
|
||||||
DIALOG --title "$(TEXT "Main menu")" \
|
DIALOG --title "$(TEXT "Main menu")" \
|
||||||
--infobox "$(TEXT "Change ...")" 0 0
|
--default-item ${NEXT} --menu "$(TEXT "Choose a option")" 0 0 0 --file "${TMP_PATH}/menu" \
|
||||||
[ ! "${KERNEL}" = "custom" ] && KERNEL='custom' || KERNEL='official'
|
2>${TMP_PATH}/resp
|
||||||
writeConfigKey "kernel" "${KERNEL}" "${USER_CONFIG_FILE}"
|
[ $? -ne 0 ] && break
|
||||||
if [ "${ODP}" = "true" ]; then
|
case $(<"${TMP_PATH}/resp") in
|
||||||
ODP="false"
|
m)
|
||||||
writeConfigKey "odp" "${ODP}" "${USER_CONFIG_FILE}"
|
modelMenu
|
||||||
fi
|
NEXT="n"
|
||||||
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
|
;;
|
||||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
n)
|
||||||
while read ID DESC; do
|
productversMenu
|
||||||
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
NEXT="d"
|
||||||
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
;;
|
||||||
fi
|
u)
|
||||||
touch ${PART1_PATH}/.build
|
ParsePat
|
||||||
|
NEXT="d"
|
||||||
|
;;
|
||||||
|
s)
|
||||||
|
DIALOG --title "$(TEXT "Main menu")" \
|
||||||
|
--infobox "$(TEXT "Change ...")" 0 0
|
||||||
|
[ ! "${KERNEL}" = "custom" ] && KERNEL='custom' || KERNEL='official'
|
||||||
|
writeConfigKey "kernel" "${KERNEL}" "${USER_CONFIG_FILE}"
|
||||||
|
if [ "${ODP}" = "true" ]; then
|
||||||
|
ODP="false"
|
||||||
|
writeConfigKey "odp" "${ODP}" "${USER_CONFIG_FILE}"
|
||||||
|
fi
|
||||||
|
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
|
||||||
|
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||||
|
while read ID DESC; do
|
||||||
|
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
||||||
|
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
||||||
|
fi
|
||||||
|
touch ${PART1_PATH}/.build
|
||||||
|
|
||||||
NEXT="o"
|
NEXT="o"
|
||||||
;;
|
;;
|
||||||
a)
|
a)
|
||||||
addonMenu
|
addonMenu
|
||||||
NEXT="d"
|
NEXT="d"
|
||||||
;;
|
;;
|
||||||
o)
|
o)
|
||||||
moduleMenu
|
moduleMenu
|
||||||
NEXT="d"
|
NEXT="d"
|
||||||
;;
|
;;
|
||||||
x)
|
x)
|
||||||
cmdlineMenu
|
cmdlineMenu
|
||||||
NEXT="d"
|
NEXT="d"
|
||||||
;;
|
;;
|
||||||
i)
|
i)
|
||||||
synoinfoMenu
|
synoinfoMenu
|
||||||
NEXT="d"
|
NEXT="d"
|
||||||
;;
|
;;
|
||||||
v)
|
v)
|
||||||
advancedMenu
|
advancedMenu
|
||||||
NEXT="d"
|
NEXT="d"
|
||||||
;;
|
;;
|
||||||
d)
|
d)
|
||||||
make
|
make
|
||||||
NEXT="b"
|
NEXT="b"
|
||||||
;;
|
;;
|
||||||
b)
|
b)
|
||||||
boot && exit 0 || sleep 5
|
boot && exit 0 || sleep 5
|
||||||
;;
|
;;
|
||||||
l)
|
l)
|
||||||
languageMenu
|
languageMenu
|
||||||
NEXT="m"
|
NEXT="m"
|
||||||
;;
|
;;
|
||||||
k)
|
k)
|
||||||
keymapMenu
|
keymapMenu
|
||||||
NEXT="m"
|
NEXT="m"
|
||||||
;;
|
;;
|
||||||
c)
|
c)
|
||||||
DIALOG \
|
|
||||||
--prgbox "rm -rfv \"${PART3_PATH}/dl/\"*" 0 0
|
|
||||||
NEXT="d"
|
|
||||||
;;
|
|
||||||
p)
|
|
||||||
updateMenu
|
|
||||||
NEXT="d"
|
|
||||||
;;
|
|
||||||
t)
|
|
||||||
notepadMenu
|
|
||||||
NEXT="d"
|
|
||||||
;;
|
|
||||||
e)
|
|
||||||
NEXT="e"
|
|
||||||
while true; do
|
|
||||||
DIALOG \
|
DIALOG \
|
||||||
--default-item ${NEXT} --menu "$(TEXT "Choose a action")" 0 0 0 \
|
--prgbox "rm -rfv \"${PART3_PATH}/dl/\"*" 0 0
|
||||||
p "$(TEXT "Poweroff")" \
|
NEXT="d"
|
||||||
r "$(TEXT "Reboot")" \
|
;;
|
||||||
c "$(TEXT "Reboot to RR")" \
|
p)
|
||||||
s "$(TEXT "Back to shell")" \
|
updateMenu
|
||||||
e "$(TEXT "Exit")" \
|
NEXT="d"
|
||||||
2>${TMP_PATH}/resp
|
;;
|
||||||
[ $? -ne 0 ] && break
|
t)
|
||||||
case "$(<${TMP_PATH}/resp)" in
|
notepadMenu
|
||||||
p)
|
NEXT="d"
|
||||||
poweroff
|
;;
|
||||||
;;
|
e)
|
||||||
r)
|
NEXT="e"
|
||||||
reboot
|
while true; do
|
||||||
;;
|
DIALOG \
|
||||||
c)
|
--default-item ${NEXT} --menu "$(TEXT "Choose a action")" 0 0 0 \
|
||||||
rebootTo config
|
p "$(TEXT "Poweroff")" \
|
||||||
;;
|
r "$(TEXT "Reboot")" \
|
||||||
s)
|
c "$(TEXT "Reboot to RR")" \
|
||||||
break 2
|
s "$(TEXT "Back to shell")" \
|
||||||
;;
|
e "$(TEXT "Exit")" \
|
||||||
e)
|
2>${TMP_PATH}/resp
|
||||||
break
|
[ $? -ne 0 ] && break
|
||||||
;;
|
case "$(<${TMP_PATH}/resp)" in
|
||||||
esac
|
p)
|
||||||
done
|
poweroff
|
||||||
;;
|
;;
|
||||||
esac
|
r)
|
||||||
done
|
reboot
|
||||||
clear
|
;;
|
||||||
echo -e "$(TEXT "Call \033[1;32mmenu.sh\033[0m to return to menu")"
|
c)
|
||||||
|
rebootTo config
|
||||||
|
;;
|
||||||
|
s)
|
||||||
|
break 2
|
||||||
|
;;
|
||||||
|
e)
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
clear
|
||||||
|
echo -e "$(TEXT "Call \033[1;32mmenu.sh\033[0m to return to menu")"
|
||||||
|
fi
|
||||||
|
0
localbuild.sh
Normal file → Executable file
0
localbuild.sh
Normal file → Executable file
@ -6,7 +6,7 @@
|
|||||||
# See /LICENSE for more information.
|
# See /LICENSE for more information.
|
||||||
#
|
#
|
||||||
|
|
||||||
export TOKEN="${1}"
|
[ -n "${1}" ] && export TOKEN="${1}"
|
||||||
|
|
||||||
# Convert po2mo
|
# Convert po2mo
|
||||||
# $1 path
|
# $1 path
|
||||||
|
106
sourcebuild.sh
Executable file
106
sourcebuild.sh
Executable file
@ -0,0 +1,106 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Copyright (C) 2022 Ing <https://github.com/wjz304>
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the MIT License.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
# sudo apt update
|
||||||
|
# sudo apt install -y locales busybox dialog
|
||||||
|
# sudo locale-gen en_US.UTF-8 ko_KR.UTF-8 ru_RU.UTF-8 zh_CN.UTF-8 zh_HK.UTF-8 zh_TW.UTF-8
|
||||||
|
#
|
||||||
|
# export TOKEN="${1}"
|
||||||
|
#
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
PRE="true"
|
||||||
|
|
||||||
|
. scripts/func.sh
|
||||||
|
|
||||||
|
echo "Get extractor"
|
||||||
|
getCKs "files/p3/cks" "${PRE}"
|
||||||
|
getLKMs "files/p3/lkms" "${PRE}"
|
||||||
|
getAddons "files/p3/addons" "${PRE}"
|
||||||
|
getModules "files/p3/modules" "${PRE}"
|
||||||
|
getBuildroot "files/p3" "${PRE}"
|
||||||
|
getExtractor "files/p3/extractor"
|
||||||
|
|
||||||
|
echo "Repack initrd"
|
||||||
|
convertpo2mo "files/initrd/opt/rr/lang"
|
||||||
|
repackInitrd "files/p3/initrd-rr" "files/initrd"
|
||||||
|
|
||||||
|
if [ -n "${1}" ]; then
|
||||||
|
if echo "$(cd "files/initrd/opt/rr/model-configs" 2>/dev/null; ls *.yml 2>/dev/null | cut -d'.' -f1)" | grep -q "${1}"; then
|
||||||
|
echo "Model found: ${1}"
|
||||||
|
export LOADER_DISK="LOCALBUILD"
|
||||||
|
export CHROOT_PATH="$(realpath files)"
|
||||||
|
(
|
||||||
|
cd "${CHROOT_PATH}/initrd/opt/rr"
|
||||||
|
# sed -i 's/rd-compressed:.*$/rd-compressed: true/g' "model-configs/${1}.yml"
|
||||||
|
./init.sh
|
||||||
|
./menu.sh modelMenu "${1}"
|
||||||
|
./menu.sh productversMenu "7.2"
|
||||||
|
./menu.sh make -1
|
||||||
|
./menu.sh cleanCache
|
||||||
|
)
|
||||||
|
else
|
||||||
|
echo "Model not found: ${1}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
IMAGE_FILE="rr.img"
|
||||||
|
gzip -dc "files/grub.img.gz" >"${IMAGE_FILE}"
|
||||||
|
fdisk -l "${IMAGE_FILE}"
|
||||||
|
|
||||||
|
LOOPX=$(sudo losetup -f)
|
||||||
|
sudo losetup -P "${LOOPX}" "${IMAGE_FILE}"
|
||||||
|
|
||||||
|
echo "Mounting image file"
|
||||||
|
sudo rm -rf "/tmp/mnt/p1"
|
||||||
|
sudo rm -rf "/tmp/mnt/p2"
|
||||||
|
sudo rm -rf "/tmp/mnt/p3"
|
||||||
|
sudo mkdir -p "/tmp/mnt/p1"
|
||||||
|
sudo mkdir -p "/tmp/mnt/p2"
|
||||||
|
sudo mkdir -p "/tmp/mnt/p3"
|
||||||
|
sudo mount ${LOOPX}p1 "/tmp/mnt/p1"
|
||||||
|
sudo mount ${LOOPX}p2 "/tmp/mnt/p2"
|
||||||
|
sudo mount ${LOOPX}p3 "/tmp/mnt/p3"
|
||||||
|
|
||||||
|
|
||||||
|
echo "Copying files"
|
||||||
|
sudo cp -Rf "files/mnt/p1/"* "/tmp/mnt/p1"
|
||||||
|
sudo cp -Rf "files/mnt/p2/"* "/tmp/mnt/p2"
|
||||||
|
sudo cp -Rf "files/mnt/p3/"* "/tmp/mnt/p3"
|
||||||
|
|
||||||
|
sync
|
||||||
|
|
||||||
|
# update.zip
|
||||||
|
sha256sum update-list.yml update-check.sh >sha256sum
|
||||||
|
zip -9j update.zip update-list.yml update-check.sh
|
||||||
|
while read F; do
|
||||||
|
if [ -d "/tmp/${F}" ]; then
|
||||||
|
FTGZ="$(basename "/tmp/${F}").tgz"
|
||||||
|
tar -czf "${FTGZ}" -C "/tmp/${F}" .
|
||||||
|
sha256sum "${FTGZ}" >>sha256sum
|
||||||
|
zip -9j update.zip "${FTGZ}"
|
||||||
|
sudo rm -f "${FTGZ}"
|
||||||
|
else
|
||||||
|
(cd $(dirname "/tmp/${F}") && sha256sum $(basename "/tmp/${F}")) >>sha256sum
|
||||||
|
zip -9j update.zip "/tmp/${F}"
|
||||||
|
fi
|
||||||
|
done <<<$(yq '.replace | explode(.) | to_entries | map([.key])[] | .[]' update-list.yml)
|
||||||
|
zip -9j update.zip sha256sum
|
||||||
|
|
||||||
|
echo "Unmount image file"
|
||||||
|
sudo umount "/tmp/files/p1"
|
||||||
|
sudo umount "/tmp/files/p2"
|
||||||
|
sudo umount "/tmp/files/p3"
|
||||||
|
|
||||||
|
sudo losetup --detach ${LOOPX}
|
||||||
|
|
||||||
|
if [ -n "${1}" ]; then
|
||||||
|
echo "Packing image file"
|
||||||
|
sudo mv "${IMAGE_FILE}" "rr-${1}.img"
|
||||||
|
fi
|
Loading…
x
Reference in New Issue
Block a user