mirror of
https://github.com/RROrg/rr.git
synced 2025-06-21 05:51:05 +08:00
format
This commit is contained in:
parent
1793b0f082
commit
ac7f49313a
@ -10,58 +10,58 @@ loaderIsConfigured || die "$(TEXT "Loader is not configured!")"
|
||||
# Check if machine has EFI
|
||||
[ -d /sys/firmware/efi ] && EFI=1 || EFI=0
|
||||
|
||||
LOADER_DISK="`blkid | grep 'LABEL="ARPL3"' | cut -d3 -f1`"
|
||||
BUS=`udevadm info --query property --name ${LOADER_DISK} | grep ID_BUS | cut -d= -f2`
|
||||
LOADER_DISK="$(blkid | grep 'LABEL="ARPL3"' | cut -d3 -f1)"
|
||||
BUS=$(udevadm info --query property --name ${LOADER_DISK} | grep ID_BUS | cut -d= -f2)
|
||||
|
||||
# Print text centralized
|
||||
clear
|
||||
[ -z "${COLUMNS}" ] && COLUMNS=50
|
||||
TITLE="`printf "$(TEXT "Welcome to %s")" "${ARPL_TITLE}"`"
|
||||
TITLE="$(printf "$(TEXT "Welcome to %s")" "${ARPL_TITLE}")"
|
||||
printf "\033[1;44m%*s\n" ${COLUMNS} ""
|
||||
printf "\033[1;44m%*s\033[A\n" ${COLUMNS} ""
|
||||
printf "\033[1;32m%*s\033[0m\n" $(((${#TITLE}+${COLUMNS})/2)) "${TITLE}"
|
||||
printf "\033[1;32m%*s\033[0m\n" $(((${#TITLE} + ${COLUMNS}) / 2)) "${TITLE}"
|
||||
printf "\033[1;44m%*s\033[0m\n" ${COLUMNS} ""
|
||||
TITLE="BOOTING:"
|
||||
[ -d "/sys/firmware/efi" ] && TITLE+=" [UEFI]" || TITLE+=" [BIOS]"
|
||||
[ "${BUS}" = "usb" ] && TITLE+=" [USB flashdisk]" || TITLE+=" [SATA DoM]"
|
||||
printf "\033[1;33m%*s\033[0m\n" $(((${#TITLE}+${COLUMNS})/2)) "${TITLE}"
|
||||
printf "\033[1;33m%*s\033[0m\n" $(((${#TITLE} + ${COLUMNS}) / 2)) "${TITLE}"
|
||||
|
||||
# Check if DSM zImage changed, patch it if necessary
|
||||
ZIMAGE_HASH="`readConfigKey "zimage-hash" "${USER_CONFIG_FILE}"`"
|
||||
if [ "`sha256sum "${ORI_ZIMAGE_FILE}" | awk '{print$1}'`" != "${ZIMAGE_HASH}" ]; then
|
||||
ZIMAGE_HASH="$(readConfigKey "zimage-hash" "${USER_CONFIG_FILE}")"
|
||||
if [ "$(sha256sum "${ORI_ZIMAGE_FILE}" | awk '{print$1}')" != "${ZIMAGE_HASH}" ]; then
|
||||
echo -e "\033[1;43m$(TEXT "DSM zImage changed")\033[0m"
|
||||
/opt/arpl/zimage-patch.sh
|
||||
if [ $? -ne 0 ]; then
|
||||
dialog --backtitle "`backtitle`" --title "$(TEXT "Error")" \
|
||||
--msgbox "$(TEXT "zImage not patched:\n")`<"${LOG_FILE}"`" 12 70
|
||||
dialog --backtitle "$(backtitle)" --title "$(TEXT "Error")" \
|
||||
--msgbox "$(TEXT "zImage not patched:\n")$(<"${LOG_FILE}")" 12 70
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check if DSM ramdisk changed, patch it if necessary
|
||||
RAMDISK_HASH="`readConfigKey "ramdisk-hash" "${USER_CONFIG_FILE}"`"
|
||||
if [ "`sha256sum "${ORI_RDGZ_FILE}" | awk '{print$1}'`" != "${RAMDISK_HASH}" ]; then
|
||||
RAMDISK_HASH="$(readConfigKey "ramdisk-hash" "${USER_CONFIG_FILE}")"
|
||||
if [ "$(sha256sum "${ORI_RDGZ_FILE}" | awk '{print$1}')" != "${RAMDISK_HASH}" ]; then
|
||||
echo -e "\033[1;43m$(TEXT "DSM Ramdisk changed")\033[0m"
|
||||
/opt/arpl/ramdisk-patch.sh
|
||||
if [ $? -ne 0 ]; then
|
||||
dialog --backtitle "`backtitle`" --title "$(TEXT "Error")" \
|
||||
--msgbox "$(TEXT "Ramdisk not patched:\n")`<"${LOG_FILE}"`" 12 70
|
||||
dialog --backtitle "$(backtitle)" --title "$(TEXT "Error")" \
|
||||
--msgbox "$(TEXT "Ramdisk not patched:\n")$(<"${LOG_FILE}")" 12 70
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Load necessary variables
|
||||
VID="`readConfigKey "vid" "${USER_CONFIG_FILE}"`"
|
||||
PID="`readConfigKey "pid" "${USER_CONFIG_FILE}"`"
|
||||
MODEL="`readConfigKey "model" "${USER_CONFIG_FILE}"`"
|
||||
BUILD="`readConfigKey "build" "${USER_CONFIG_FILE}"`"
|
||||
SN="`readConfigKey "sn" "${USER_CONFIG_FILE}"`"
|
||||
VID="$(readConfigKey "vid" "${USER_CONFIG_FILE}")"
|
||||
PID="$(readConfigKey "pid" "${USER_CONFIG_FILE}")"
|
||||
MODEL="$(readConfigKey "model" "${USER_CONFIG_FILE}")"
|
||||
BUILD="$(readConfigKey "build" "${USER_CONFIG_FILE}")"
|
||||
SN="$(readConfigKey "sn" "${USER_CONFIG_FILE}")"
|
||||
|
||||
echo -e "$(TEXT "Model:") \033[1;36m${MODEL}\033[0m"
|
||||
echo -e "$(TEXT "Build:") \033[1;36m${BUILD}\033[0m"
|
||||
|
||||
if [ ! -f "${MODEL_CONFIG_PATH}/${MODEL}.yml" ] || [ -z "`readConfigKey "builds.${BUILD}" "${MODEL_CONFIG_PATH}/${MODEL}.yml"`" ]; then
|
||||
echo -e "\033[1;33m*** `printf "$(TEXT "The current version of arpl does not support booting %s-%s, please rebuild.")" "${MODEL}" "${BUILD}"` ***\033[0m"
|
||||
if [ ! -f "${MODEL_CONFIG_PATH}/${MODEL}.yml" ] || [ -z "$(readConfigKey "builds.${BUILD}" "${MODEL_CONFIG_PATH}/${MODEL}.yml")" ]; then
|
||||
echo -e "\033[1;33m*** $(printf "$(TEXT "The current version of arpl does not support booting %s-%s, please rebuild.")" "${MODEL}" "${BUILD}") ***\033[0m"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -85,42 +85,44 @@ while IFS=': ' read KEY VALUE; do
|
||||
[ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}"
|
||||
done < <(readConfigMap "cmdline" "${USER_CONFIG_FILE}")
|
||||
|
||||
#
|
||||
KVER=`readModelKey "${MODEL}" "builds.${BUILD}.kver"`
|
||||
#
|
||||
KVER=$(readModelKey "${MODEL}" "builds.${BUILD}.kver")
|
||||
|
||||
if [ "${BUS}" = "ata" ]; then
|
||||
LOADER_DEVICE_NAME=`echo ${LOADER_DISK} | sed 's|/dev/||'`
|
||||
SIZE=$((`cat /sys/block/${LOADER_DEVICE_NAME}/size`/2048+10))
|
||||
LOADER_DEVICE_NAME=$(echo ${LOADER_DISK} | sed 's|/dev/||')
|
||||
SIZE=$(($(cat /sys/block/${LOADER_DEVICE_NAME}/size) / 2048 + 10))
|
||||
# Read SATADoM type
|
||||
DOM="`readModelKey "${MODEL}" "dom"`"
|
||||
DOM="$(readModelKey "${MODEL}" "dom")"
|
||||
fi
|
||||
|
||||
NOTSETMACS="`readConfigKey "notsetmacs" "${USER_CONFIG_FILE}"`"
|
||||
NOTSETMACS="$(readConfigKey "notsetmacs" "${USER_CONFIG_FILE}")"
|
||||
if [ "${NOTSETMACS}" = "true" ]; then
|
||||
for N in `seq 1 8`; do # Currently, only up to 8 are supported. (<==> menu.sh L396, <==> lkm: MAX_NET_IFACES)
|
||||
# Currently, only up to 8 are supported. (<==> menu.sh L396, <==> lkm: MAX_NET_IFACES)
|
||||
for N in $(seq 1 8); do
|
||||
[ -n "${CMDLINE["mac${N}"]}" ] && unset CMDLINE["mac${N}"]
|
||||
done
|
||||
unset CMDLINE['netif_num']
|
||||
echo -e "\033[1;33m*** `printf "$(TEXT "'Not set MACs' is enabled.")"` ***\033[0m"
|
||||
echo -e "\033[1;33m*** $(printf "$(TEXT "'Not set MACs' is enabled.")") ***\033[0m"
|
||||
else
|
||||
# Validate netif_num
|
||||
MACS=()
|
||||
for N in `seq 1 8`; do # Currently, only up to 8 are supported. (<==> menu.sh L396, <==> lkm: MAX_NET_IFACES)
|
||||
# Currently, only up to 8 are supported. (<==> menu.sh L396, <==> lkm: MAX_NET_IFACES)
|
||||
for N in $(seq 1 8); do
|
||||
[ -n "${CMDLINE["mac${N}"]}" ] && MACS+=(${CMDLINE["mac${N}"]})
|
||||
done
|
||||
NETIF_NUM=${#MACS[*]}
|
||||
# set netif_num to custom mac amount, netif_num must be equal to the MACX amount, otherwise the kernel will panic.
|
||||
CMDLINE["netif_num"]=${NETIF_NUM} # The current original CMDLINE['netif_num'] is no longer in use, Consider deleting.
|
||||
CMDLINE["netif_num"]=${NETIF_NUM} # The current original CMDLINE['netif_num'] is no longer in use, Consider deleting.
|
||||
# real network cards amount
|
||||
NETRL_NUM=`ls /sys/class/net/ | grep eth | wc -l`
|
||||
NETRL_NUM=$(ls /sys/class/net/ | grep eth | wc -l)
|
||||
if [ ${NETIF_NUM} -le ${NETRL_NUM} ]; then
|
||||
echo -e "\033[1;33m*** `printf "$(TEXT "Detected %s network cards, %s MACs were customized, the rest will use the original MACs.")" "${NETRL_NUM}" "${CMDLINE["netif_num"]}"` ***\033[0m"
|
||||
ETHX=(`ls /sys/class/net/ | grep eth`) # real network cards list
|
||||
for N in `seq $(expr ${NETIF_NUM} + 1) ${NETRL_NUM}`; do
|
||||
MACR="`cat /sys/class/net/${ETHX[$(expr ${N} - 1)]}/address | sed 's/://g'`"
|
||||
echo -e "\033[1;33m*** $(printf "$(TEXT "Detected %s network cards, %s MACs were customized, the rest will use the original MACs.")" "${NETRL_NUM}" "${CMDLINE["netif_num"]}") ***\033[0m"
|
||||
ETHX=($(ls /sys/class/net/ | grep eth)) # real network cards list
|
||||
for N in $(seq $(expr ${NETIF_NUM} + 1) ${NETRL_NUM}); do
|
||||
MACR="$(cat /sys/class/net/${ETHX[$(expr ${N} - 1)]}/address | sed 's/://g')"
|
||||
# no duplicates
|
||||
while [[ "${MACS[*]}" =~ "$MACR" ]]; do # no duplicates
|
||||
MACR="${MACR:0:10}`printf "%02x" $((0x${MACR:10:2} + 1))`"
|
||||
MACR="${MACR:0:10}$(printf "%02x" $((0x${MACR:10:2} + 1)))"
|
||||
done
|
||||
CMDLINE["mac${N}"]="${MACR}"
|
||||
done
|
||||
@ -143,10 +145,10 @@ for KEY in ${!CMDLINE[@]}; do
|
||||
done
|
||||
# Escape special chars
|
||||
#CMDLINE_LINE=`echo ${CMDLINE_LINE} | sed 's/>/\\\\>/g'`
|
||||
CMDLINE_DIRECT=`echo ${CMDLINE_DIRECT} | sed 's/>/\\\\>/g'`
|
||||
CMDLINE_DIRECT=$(echo ${CMDLINE_DIRECT} | sed 's/>/\\\\>/g')
|
||||
echo -e "$(TEXT "Cmdline:\n")\033[1;36m${CMDLINE_LINE}\033[0m"
|
||||
|
||||
DIRECT="`readConfigKey "directboot" "${USER_CONFIG_FILE}"`"
|
||||
DIRECT="$(readConfigKey "directboot" "${USER_CONFIG_FILE}")"
|
||||
if [ "${DIRECT}" = "true" ]; then
|
||||
grub-editenv ${GRUB_PATH}/grubenv set dsm_cmdline="${CMDLINE_DIRECT}"
|
||||
echo -e "\033[1;33m$(TEXT "Reboot to boot directly in DSM")\033[0m"
|
||||
@ -155,17 +157,17 @@ if [ "${DIRECT}" = "true" ]; then
|
||||
exit 0
|
||||
else
|
||||
(/etc/init.d/S41dhcpcd restart >/dev/null 2>&1 &) || true
|
||||
BOOTIPWAIT="`readConfigKey "bootipwait" "${USER_CONFIG_FILE}"`"
|
||||
BOOTIPWAIT="$(readConfigKey "bootipwait" "${USER_CONFIG_FILE}")"
|
||||
[ -z "${BOOTIPWAIT}" ] && BOOTIPWAIT=10
|
||||
sleep ${BOOTIPWAIT}
|
||||
ETHX=(`ls /sys/class/net/ | grep eth`) # real network cards list
|
||||
echo "`printf "$(TEXT "Detected %s network cards, Waiting IP.(For reference only)")" "${#ETHX[@]}"`"
|
||||
ETHX=($(ls /sys/class/net/ | grep eth)) # real network cards list
|
||||
echo "$(printf "$(TEXT "Detected %s network cards, Waiting IP.(For reference only)")" "${#ETHX[@]}")"
|
||||
for N in $(seq 0 $(expr ${#ETHX[@]} - 1)); do
|
||||
COUNT=0
|
||||
DRIVER=`ls -ld /sys/class/net/${ETHX[${N}]}/device/driver 2>/dev/null | awk -F '/' '{print $NF}'`
|
||||
DRIVER=$(ls -ld /sys/class/net/${ETHX[${N}]}/device/driver 2>/dev/null | awk -F '/' '{print $NF}')
|
||||
echo -en "${ETHX[${N}]}(${DRIVER}): "
|
||||
while true; do
|
||||
if [ -z "`ip link show ${ETHX[${N}]} | grep 'UP'`" ]; then
|
||||
if [ -z "$(ip link show ${ETHX[${N}]} | grep 'UP')" ]; then
|
||||
echo -en "\r${ETHX[${N}]}(${DRIVER}): $(TEXT "DOWN")\n"
|
||||
break
|
||||
fi
|
||||
@ -173,10 +175,10 @@ else
|
||||
echo -en "\r${ETHX[${N}]}(${DRIVER}): $(TEXT "ERROR")\n"
|
||||
break
|
||||
fi
|
||||
COUNT=$((${COUNT}+1))
|
||||
IP=`ip route show dev ${ETHX[${N}]} 2>/dev/null | sed -n 's/.* via .* src \(.*\) metric .*/\1/p'`
|
||||
COUNT=$((${COUNT} + 1))
|
||||
IP=$(ip route show dev ${ETHX[${N}]} 2>/dev/null | sed -n 's/.* via .* src \(.*\) metric .*/\1/p')
|
||||
if [ -n "${IP}" ]; then
|
||||
echo -en "\r${ETHX[${N}]}(${DRIVER}): `printf "$(TEXT "Access \033[1;34mhttp://%s:5000\033[0m to connect the DSM via web.")" "${IP}"`\n"
|
||||
echo -en "\r${ETHX[${N}]}(${DRIVER}): $(printf "$(TEXT "Access \033[1;34mhttp://%s:5000\033[0m to connect the DSM via web.")" "${IP}")\n"
|
||||
break
|
||||
fi
|
||||
echo -n "."
|
||||
@ -195,10 +197,9 @@ else
|
||||
kexec -l "${MOD_ZIMAGE_FILE}" --initrd "${MOD_RDGZ_FILE}" --command-line="${CMDLINE_LINE}" >"${LOG_FILE}" 2>&1 || dieLog
|
||||
fi
|
||||
echo -e "\033[1;37m$(TEXT "Booting...")\033[0m"
|
||||
for T in `w | grep -v "TTY" | awk -F' ' '{print $2}'`
|
||||
do
|
||||
echo -e "\n\033[1;43m$(TEXT "[This interface will not be operational. Please use the http://find.synology.com/ find DSM and connect.]")\033[0m\n" > "/dev/${T}" 2>/dev/null || true
|
||||
done
|
||||
for T in $(w | grep -v "TTY" | awk -F' ' '{print $2}'); do
|
||||
echo -e "\n\033[1;43m$(TEXT "[This interface will not be operational. Please use the http://find.synology.com/ find DSM and connect.]")\033[0m\n" >"/dev/${T}" 2>/dev/null || true
|
||||
done
|
||||
#poweroff
|
||||
kexec -f -e
|
||||
exit 0
|
||||
|
@ -8,19 +8,17 @@ set -e
|
||||
CNT=3
|
||||
while true; do
|
||||
[ ${CNT} -eq 0 ] && break
|
||||
LOADER_DISK="`blkid | grep 'LABEL="ARPL3"' | cut -d3 -f1`"
|
||||
LOADER_DISK="$(blkid | grep 'LABEL="ARPL3"' | cut -d3 -f1)"
|
||||
[ -n "${LOADER_DISK}" ] && break
|
||||
CNT=$((${CNT}-1))
|
||||
CNT=$((${CNT} - 1))
|
||||
sleep 1
|
||||
done
|
||||
|
||||
|
||||
[ -z "${LOADER_DISK}" ] && die "$(TEXT "Loader disk not found!")"
|
||||
NUM_PARTITIONS=$(blkid | grep "${LOADER_DISK}[0-9]\+" | cut -d: -f1 | wc -l)
|
||||
[ $NUM_PARTITIONS -lt 3 ] && die "$(TEXT "Loader disk seems to be damaged!")"
|
||||
[ $NUM_PARTITIONS -gt 3 ] && die "$(TEXT "There are multiple loader disks, please insert only one loader disk!")"
|
||||
|
||||
|
||||
# Check partitions and ignore errors
|
||||
fsck.vfat -aw ${LOADER_DISK}1 >/dev/null 2>&1 || true
|
||||
fsck.ext2 -p ${LOADER_DISK}2 >/dev/null 2>&1 || true
|
||||
@ -31,19 +29,19 @@ mkdir -p ${SLPART_PATH}
|
||||
mkdir -p ${CACHE_PATH}
|
||||
mkdir -p ${DSMROOT_PATH}
|
||||
# Mount the partitions
|
||||
mount ${LOADER_DISK}1 ${BOOTLOADER_PATH} || die "`printf "$(TEXT "Can't mount %s")" "${BOOTLOADER_PATH}"`"
|
||||
mount ${LOADER_DISK}2 ${SLPART_PATH} || die "`printf "$(TEXT "Can't mount %s")" "${SLPART_PATH}"`"
|
||||
mount ${LOADER_DISK}3 ${CACHE_PATH} || die "`printf "$(TEXT "Can't mount %s")" "${CACHE_PATH}"`"
|
||||
mount ${LOADER_DISK}1 ${BOOTLOADER_PATH} || die "$(printf "$(TEXT "Can't mount %s")" "${BOOTLOADER_PATH}")"
|
||||
mount ${LOADER_DISK}2 ${SLPART_PATH} || die "$(printf "$(TEXT "Can't mount %s")" "${SLPART_PATH}")"
|
||||
mount ${LOADER_DISK}3 ${CACHE_PATH} || die "$(printf "$(TEXT "Can't mount %s")" "${CACHE_PATH}")"
|
||||
|
||||
# Although i18n.sh is included in functions.sh, but i18n.sh dependent ${BOOTLOADER_PATH}/${LOADER_DISK}1, so need to call it again.
|
||||
. /opt/arpl/include/i18n.sh
|
||||
|
||||
# Shows title
|
||||
clear
|
||||
TITLE="`printf "$(TEXT "Welcome to %s")" "${ARPL_TITLE}"`"
|
||||
TITLE="$(printf "$(TEXT "Welcome to %s")" "${ARPL_TITLE}")"
|
||||
printf "\033[1;44m%*s\n" $COLUMNS ""
|
||||
printf "\033[1;44m%*s\033[A\n" $COLUMNS ""
|
||||
printf "\033[1;32m%*s\033[0m\n" $(((${#TITLE}+$COLUMNS)/2)) "${TITLE}"
|
||||
printf "\033[1;32m%*s\033[0m\n" $(((${#TITLE} + $COLUMNS) / 2)) "${TITLE}"
|
||||
printf "\033[1;44m%*s\033[0m\n" $COLUMNS ""
|
||||
|
||||
# Move/link SSH machine keys to/from cache volume
|
||||
@ -55,7 +53,7 @@ rm -rf ~/.bash_history
|
||||
ln -s ${CACHE_PATH}/.bash_history ~/.bash_history
|
||||
touch ~/.bash_history
|
||||
if ! grep -q "menu.sh" ~/.bash_history; then
|
||||
echo "menu.sh " >> ~/.bash_history
|
||||
echo "menu.sh " >>~/.bash_history
|
||||
fi
|
||||
# Check if exists directories into P3 partition, if yes remove and link it
|
||||
if [ -d "${CACHE_PATH}/model-configs" ]; then
|
||||
@ -69,7 +67,7 @@ if [ -d "${CACHE_PATH}/patch" ]; then
|
||||
fi
|
||||
|
||||
# Get first MAC address
|
||||
ETHX=(`ls /sys/class/net/ | grep eth`) # real network cards list
|
||||
ETHX=($(ls /sys/class/net/ | grep eth)) # real network cards list
|
||||
|
||||
# If user config file not exists, initialize it
|
||||
if [ ! -f "${USER_CONFIG_FILE}" ]; then
|
||||
@ -98,13 +96,13 @@ if [ ! -f "${USER_CONFIG_FILE}" ]; then
|
||||
fi
|
||||
|
||||
for N in $(seq 1 ${#ETHX[@]}); do
|
||||
MACR="`cat /sys/class/net/${ETHX[$(expr ${N} - 1)]}/address | sed 's/://g'`"
|
||||
MACR="$(cat /sys/class/net/${ETHX[$(expr ${N} - 1)]}/address | sed 's/://g')"
|
||||
# Set custom MAC if defined
|
||||
MACF="`readConfigKey "cmdline.mac${N}" "${USER_CONFIG_FILE}"`"
|
||||
MACF="$(readConfigKey "cmdline.mac${N}" "${USER_CONFIG_FILE}")"
|
||||
if [ -n "${MACF}" -a "${MACF}" != "${MACR}" ]; then
|
||||
MAC="${MACF:0:2}:${MACF:2:2}:${MACF:4:2}:${MACF:6:2}:${MACF:8:2}:${MACF:10:2}"
|
||||
echo "`printf "$(TEXT "Setting %s MAC to %s")" "${ETHX[$(expr ${N} - 1)]}" "${MAC}"`"
|
||||
ip link set dev ${ETHX[$(expr ${N} - 1)]} address ${MAC} >/dev/null 2>&1 && \
|
||||
echo "$(printf "$(TEXT "Setting %s MAC to %s")" "${ETHX[$(expr ${N} - 1)]}" "${MAC}")"
|
||||
ip link set dev ${ETHX[$(expr ${N} - 1)]} address ${MAC} >/dev/null 2>&1 &&
|
||||
(/etc/init.d/S41dhcpcd restart >/dev/null 2>&1 &) || true
|
||||
fi
|
||||
# Initialize with real MAC
|
||||
@ -113,14 +111,13 @@ for N in $(seq 1 ${#ETHX[@]}); do
|
||||
ethtool -s ${ETHX[$(expr ${N} - 1)]} wol g 2>/dev/null
|
||||
done
|
||||
|
||||
|
||||
# Get the VID/PID if we are in USB
|
||||
VID="0x0000"
|
||||
PID="0x0000"
|
||||
BUS=`udevadm info --query property --name ${LOADER_DISK} | grep BUS | cut -d= -f2`
|
||||
BUS=$(udevadm info --query property --name ${LOADER_DISK} | grep BUS | cut -d= -f2)
|
||||
if [ "${BUS}" = "usb" ]; then
|
||||
VID="0x`udevadm info --query property --name ${LOADER_DISK} | grep ID_VENDOR_ID | cut -d= -f2`"
|
||||
PID="0x`udevadm info --query property --name ${LOADER_DISK} | grep ID_MODEL_ID | cut -d= -f2`"
|
||||
VID="0x$(udevadm info --query property --name ${LOADER_DISK} | grep ID_VENDOR_ID | cut -d= -f2)"
|
||||
PID="0x$(udevadm info --query property --name ${LOADER_DISK} | grep ID_MODEL_ID | cut -d= -f2)"
|
||||
elif [ "${BUS}" != "ata" ]; then
|
||||
die "$(TEXT "Loader disk neither USB or DoM")"
|
||||
fi
|
||||
@ -139,18 +136,18 @@ fi
|
||||
echo ")"
|
||||
|
||||
# Check if partition 3 occupies all free space, resize if needed
|
||||
LOADER_DEVICE_NAME=`echo ${LOADER_DISK} | sed 's|/dev/||'`
|
||||
SIZEOFDISK=`cat /sys/block/${LOADER_DEVICE_NAME}/size`
|
||||
ENDSECTOR=$((`fdisk -l ${LOADER_DISK} | awk '/'${LOADER_DEVICE_NAME}3'/{print$3}'`+1))
|
||||
LOADER_DEVICE_NAME=$(echo ${LOADER_DISK} | sed 's|/dev/||')
|
||||
SIZEOFDISK=$(cat /sys/block/${LOADER_DEVICE_NAME}/size)
|
||||
ENDSECTOR=$(($(fdisk -l ${LOADER_DISK} | awk '/'${LOADER_DEVICE_NAME}3'/{print$3}') + 1))
|
||||
if [ ${SIZEOFDISK} -ne ${ENDSECTOR} ]; then
|
||||
echo -e "\033[1;36m`printf "$(TEXT "Resizing %s")" "${LOADER_DISK}3"`\033[0m"
|
||||
echo -e "\033[1;36m$(printf "$(TEXT "Resizing %s")" "${LOADER_DISK}3")\033[0m"
|
||||
echo -e "d\n\nn\n\n\n\n\nn\nw" | fdisk "${LOADER_DISK}" >"${LOG_FILE}" 2>&1 || dieLog
|
||||
resize2fs ${LOADER_DISK}3 >"${LOG_FILE}" 2>&1 || dieLog
|
||||
fi
|
||||
|
||||
# Load keymap name
|
||||
LAYOUT="`readConfigKey "layout" "${USER_CONFIG_FILE}"`"
|
||||
KEYMAP="`readConfigKey "keymap" "${USER_CONFIG_FILE}"`"
|
||||
LAYOUT="$(readConfigKey "layout" "${USER_CONFIG_FILE}")"
|
||||
KEYMAP="$(readConfigKey "keymap" "${USER_CONFIG_FILE}")"
|
||||
|
||||
# Loads a keymap if is valid
|
||||
if [ -f /usr/share/keymaps/i386/${LAYOUT}/${KEYMAP}.map.gz ]; then
|
||||
@ -169,18 +166,18 @@ elif grep -q "IWANTTOCHANGETHECONFIG" /proc/cmdline; then
|
||||
fi
|
||||
|
||||
# If is to boot automatically, do it
|
||||
if [ ${BOOT} -eq 1 ]; then
|
||||
if [ ${BOOT} -eq 1 ]; then
|
||||
boot.sh && exit 0
|
||||
fi
|
||||
|
||||
# Wait for an IP
|
||||
echo "`printf "$(TEXT "Detected %s network cards, Waiting IP.")" "${#ETHX[@]}"`"
|
||||
echo "$(printf "$(TEXT "Detected %s network cards, Waiting IP.")" "${#ETHX[@]}")"
|
||||
for N in $(seq 0 $(expr ${#ETHX[@]} - 1)); do
|
||||
COUNT=0
|
||||
DRIVER=`ls -ld /sys/class/net/${ETHX[${N}]}/device/driver 2>/dev/null | awk -F '/' '{print $NF}'`
|
||||
DRIVER=$(ls -ld /sys/class/net/${ETHX[${N}]}/device/driver 2>/dev/null | awk -F '/' '{print $NF}')
|
||||
echo -en "${ETHX[${N}]}(${DRIVER}): "
|
||||
while true; do
|
||||
if [ -z "`ip link show ${ETHX[${N}]} | grep 'UP'`" ]; then
|
||||
if [ -z "$(ip link show ${ETHX[${N}]} | grep 'UP')" ]; then
|
||||
echo -en "\r${ETHX[${N}]}(${DRIVER}): $(TEXT "DOWN")\n"
|
||||
break
|
||||
fi
|
||||
@ -188,10 +185,10 @@ for N in $(seq 0 $(expr ${#ETHX[@]} - 1)); do
|
||||
echo -en "\r${ETHX[${N}]}(${DRIVER}): $(TEXT "ERROR")\n"
|
||||
break
|
||||
fi
|
||||
COUNT=$((${COUNT}+1))
|
||||
IP=`ip route show dev ${ETHX[${N}]} 2>/dev/null | sed -n 's/.* via .* src \(.*\) metric .*/\1/p'`
|
||||
COUNT=$((${COUNT} + 1))
|
||||
IP=$(ip route show dev ${ETHX[${N}]} 2>/dev/null | sed -n 's/.* via .* src \(.*\) metric .*/\1/p')
|
||||
if [ -n "${IP}" ]; then
|
||||
echo -en "\r${ETHX[${N}]}(${DRIVER}): `printf "$(TEXT "Access \033[1;34mhttp://%s:7681\033[0m to configure the loader via web terminal.")" "${IP}"`\n"
|
||||
echo -en "\r${ETHX[${N}]}(${DRIVER}): $(printf "$(TEXT "Access \033[1;34mhttp://%s:7681\033[0m to configure the loader via web terminal.")" "${IP}")\n"
|
||||
break
|
||||
fi
|
||||
echo -n "."
|
||||
@ -208,7 +205,7 @@ echo -e "$(TEXT "Default SSH Root password is") \033[1;31marpl\033[0m"
|
||||
echo
|
||||
|
||||
# Check memory
|
||||
RAM=`free -m | awk '/Mem:/{print$2}'`
|
||||
RAM=$(free -m | awk '/Mem:/{print$2}')
|
||||
if [ ${RAM} -le 3500 ]; then
|
||||
echo -e "\033[1;33m$(TEXT "You have less than 4GB of RAM, if errors occur in loader creation, please increase the amount of memory.")\033[0m\n"
|
||||
fi
|
||||
|
@ -14,27 +14,26 @@ echo -n "Patching Ramdisk"
|
||||
rm -f "${MOD_RDGZ_FILE}"
|
||||
|
||||
# Check disk space left
|
||||
LOADER_DISK="`blkid | grep 'LABEL="ARPL3"' | cut -d3 -f1`"
|
||||
LOADER_DEVICE_NAME=`echo ${LOADER_DISK} | sed 's|/dev/||'`
|
||||
SPACELEFT=`df --block-size=1 | awk '/'${LOADER_DEVICE_NAME}'3/{print$4}'`
|
||||
LOADER_DISK="$(blkid | grep 'LABEL="ARPL3"' | cut -d3 -f1)"
|
||||
LOADER_DEVICE_NAME=$(echo ${LOADER_DISK} | sed 's|/dev/||')
|
||||
SPACELEFT=$(df --block-size=1 | awk '/'${LOADER_DEVICE_NAME}'3/{print$4}')
|
||||
[ ${SPACELEFT} -le 268435456 ] && rm -rf "${CACHE_PATH}/dl"
|
||||
|
||||
# Unzipping ramdisk
|
||||
echo -n "."
|
||||
rm -rf "${RAMDISK_PATH}" # Force clean
|
||||
rm -rf "${RAMDISK_PATH}" # Force clean
|
||||
mkdir -p "${RAMDISK_PATH}"
|
||||
(cd "${RAMDISK_PATH}"; xz -dc < "${ORI_RDGZ_FILE}" | cpio -idm) >/dev/null 2>&1
|
||||
(cd "${RAMDISK_PATH}"; xz -dc <"${ORI_RDGZ_FILE}" | cpio -idm) >/dev/null 2>&1
|
||||
|
||||
# Check if DSM buildnumber changed
|
||||
. "${RAMDISK_PATH}/etc/VERSION"
|
||||
|
||||
MODEL="`readConfigKey "model" "${USER_CONFIG_FILE}"`"
|
||||
BUILD="`readConfigKey "build" "${USER_CONFIG_FILE}"`"
|
||||
LKM="`readConfigKey "lkm" "${USER_CONFIG_FILE}"`"
|
||||
SN="`readConfigKey "sn" "${USER_CONFIG_FILE}"`"
|
||||
LAYOUT="`readConfigKey "layout" "${USER_CONFIG_FILE}"`"
|
||||
KEYMAP="`readConfigKey "keymap" "${USER_CONFIG_FILE}"`"
|
||||
|
||||
MODEL="$(readConfigKey "model" "${USER_CONFIG_FILE}")"
|
||||
BUILD="$(readConfigKey "build" "${USER_CONFIG_FILE}")"
|
||||
LKM="$(readConfigKey "lkm" "${USER_CONFIG_FILE}")"
|
||||
SN="$(readConfigKey "sn" "${USER_CONFIG_FILE}")"
|
||||
LAYOUT="$(readConfigKey "layout" "${USER_CONFIG_FILE}")"
|
||||
KEYMAP="$(readConfigKey "keymap" "${USER_CONFIG_FILE}")"
|
||||
|
||||
if [ ${BUILD} -ne ${buildnumber} ]; then
|
||||
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"
|
||||
@ -46,12 +45,12 @@ fi
|
||||
|
||||
echo -n "."
|
||||
# Read model data
|
||||
UNIQUE=`readModelKey "${MODEL}" "unique"`
|
||||
PLATFORM="`readModelKey "${MODEL}" "platform"`"
|
||||
KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`"
|
||||
PAT_URL="`readModelKey "${MODEL}" "builds.${BUILD}.pat.url"`"
|
||||
PAT_MD5_HASH="`readModelKey "${MODEL}" "builds.${BUILD}.pat.md5-hash"`"
|
||||
RD_COMPRESSED="`readModelKey "${MODEL}" "builds.${BUILD}.rd-compressed"`"
|
||||
UNIQUE=$(readModelKey "${MODEL}" "unique")
|
||||
PLATFORM="$(readModelKey "${MODEL}" "platform")"
|
||||
KVER="$(readModelKey "${MODEL}" "builds.${BUILD}.kver")"
|
||||
PAT_URL="$(readModelKey "${MODEL}" "builds.${BUILD}.pat.url")"
|
||||
PAT_MD5_HASH="$(readModelKey "${MODEL}" "builds.${BUILD}.pat.md5-hash")"
|
||||
RD_COMPRESSED="$(readModelKey "${MODEL}" "builds.${BUILD}.rd-compressed")"
|
||||
|
||||
# Sanity check
|
||||
[ -z "${PLATFORM}" -o -z "${KVER}" ] && (die "ERROR: Configuration for model ${MODEL} and buildnumber ${BUILD} not found." | tee -a "${LOG_FILE}")
|
||||
@ -77,7 +76,7 @@ done < <(readConfigMap "modules" "${USER_CONFIG_FILE}")
|
||||
while read f; do
|
||||
echo -n "."
|
||||
echo "Patching with ${f}" >"${LOG_FILE}" 2>&1
|
||||
(cd "${RAMDISK_PATH}" && patch -p1 < "${PATCH_PATH}/${f}") >>"${LOG_FILE}" 2>&1 || dieLog
|
||||
(cd "${RAMDISK_PATH}" && patch -p1 <"${PATCH_PATH}/${f}") >>"${LOG_FILE}" 2>&1 || dieLog
|
||||
done < <(readModelArray "${MODEL}" "builds.${BUILD}.patch")
|
||||
|
||||
# Patch /etc/synoinfo.conf
|
||||
@ -90,16 +89,16 @@ _set_conf_kv "SN" "${SN}" "${RAMDISK_PATH}/etc/synoinfo.conf" >"${LOG_FILE}" 2>&
|
||||
|
||||
# Patch /sbin/init.post
|
||||
echo -n "."
|
||||
grep -v -e '^[\t ]*#' -e '^$' "${PATCH_PATH}/config-manipulators.sh" > "${TMP_PATH}/rp.txt"
|
||||
grep -v -e '^[\t ]*#' -e '^$' "${PATCH_PATH}/config-manipulators.sh" >"${TMP_PATH}/rp.txt"
|
||||
sed -e "/@@@CONFIG-MANIPULATORS-TOOLS@@@/ {" -e "r ${TMP_PATH}/rp.txt" -e 'd' -e '}' -i "${RAMDISK_PATH}/sbin/init.post"
|
||||
rm "${TMP_PATH}/rp.txt"
|
||||
touch "${TMP_PATH}/rp.txt"
|
||||
for KEY in ${!SYNOINFO[@]}; do
|
||||
echo "_set_conf_kv '${KEY}' '${SYNOINFO[${KEY}]}' '/tmpRoot/etc/synoinfo.conf'" >> "${TMP_PATH}/rp.txt"
|
||||
echo "_set_conf_kv '${KEY}' '${SYNOINFO[${KEY}]}' '/tmpRoot/etc.defaults/synoinfo.conf'" >> "${TMP_PATH}/rp.txt"
|
||||
echo "_set_conf_kv '${KEY}' '${SYNOINFO[${KEY}]}' '/tmpRoot/etc/synoinfo.conf'" >>"${TMP_PATH}/rp.txt"
|
||||
echo "_set_conf_kv '${KEY}' '${SYNOINFO[${KEY}]}' '/tmpRoot/etc.defaults/synoinfo.conf'" >>"${TMP_PATH}/rp.txt"
|
||||
done
|
||||
echo "_set_conf_kv 'SN' '${SN}' '/tmpRoot/etc/synoinfo.conf'" >> "${TMP_PATH}/rp.txt"
|
||||
echo "_set_conf_kv 'SN' '${SN}' '/tmpRoot/etc.defaults/synoinfo.conf'" >> "${TMP_PATH}/rp.txt"
|
||||
echo "_set_conf_kv 'SN' '${SN}' '/tmpRoot/etc/synoinfo.conf'" >>"${TMP_PATH}/rp.txt"
|
||||
echo "_set_conf_kv 'SN' '${SN}' '/tmpRoot/etc.defaults/synoinfo.conf'" >>"${TMP_PATH}/rp.txt"
|
||||
sed -e "/@@@CONFIG-GENERATED@@@/ {" -e "r ${TMP_PATH}/rp.txt" -e 'd' -e '}' -i "${RAMDISK_PATH}/sbin/init.post"
|
||||
rm "${TMP_PATH}/rp.txt"
|
||||
|
||||
@ -108,8 +107,8 @@ echo -n "."
|
||||
rm -rf "${TMP_PATH}/modules"
|
||||
mkdir -p "${TMP_PATH}/modules"
|
||||
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||
for F in `ls "${TMP_PATH}/modules/"*.ko`; do
|
||||
M=`basename ${F}`
|
||||
for F in $(ls "${TMP_PATH}/modules/"*.ko); do
|
||||
M=$(basename ${F})
|
||||
if arrayExistItem "${M:0:-3}" "${!USERMODULES[@]}"; then
|
||||
cp -f "${F}" "${RAMDISK_PATH}/usr/lib/modules/${M}"
|
||||
else
|
||||
@ -125,36 +124,36 @@ echo -n "."
|
||||
# Copying fake modprobe
|
||||
cp "${PATCH_PATH}/iosched-trampoline.sh" "${RAMDISK_PATH}/usr/sbin/modprobe"
|
||||
# Copying LKM to /usr/lib/modules
|
||||
gzip -dc "${LKM_PATH}/rp-${PLATFORM}-${KVER}-${LKM}.ko.gz" > "${RAMDISK_PATH}/usr/lib/modules/rp.ko"
|
||||
gzip -dc "${LKM_PATH}/rp-${PLATFORM}-${KVER}-${LKM}.ko.gz" >"${RAMDISK_PATH}/usr/lib/modules/rp.ko"
|
||||
|
||||
# Addons
|
||||
#MAXDISKS=`readConfigKey "maxdisks" "${USER_CONFIG_FILE}"`
|
||||
# Check if model needs Device-tree dynamic patch
|
||||
DT="`readModelKey "${MODEL}" "dt"`"
|
||||
DT="$(readModelKey "${MODEL}" "dt")"
|
||||
|
||||
echo -n "."
|
||||
mkdir -p "${RAMDISK_PATH}/addons"
|
||||
echo "#!/bin/sh" > "${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo 'echo "addons.sh called with params ${@}"' >> "${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export PLATFORM=${PLATFORM}" >> "${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export MODEL=${MODEL}" >> "${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export BUILD=${BUILD}" >> "${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export MLINK=${PAT_URL}" >> "${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export MCHECKSUM=${PAT_MD5_HASH}" >> "${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export LAYOUT=${LAYOUT}" >> "${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export KEYMAP=${KEYMAP}" >> "${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "#!/bin/sh" >"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo 'echo "addons.sh called with params ${@}"' >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export PLATFORM=${PLATFORM}" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export MODEL=${MODEL}" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export BUILD=${BUILD}" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export MLINK=${PAT_URL}" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export MCHECKSUM=${PAT_MD5_HASH}" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export LAYOUT=${LAYOUT}" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export KEYMAP=${KEYMAP}" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
chmod +x "${RAMDISK_PATH}/addons/addons.sh"
|
||||
|
||||
# Required addons: eudev, disks, wol
|
||||
installAddon eudev
|
||||
echo "/addons/eudev.sh \${1} " >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||
echo "/addons/eudev.sh \${1} " >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||
installAddon disks
|
||||
echo "/addons/disks.sh \${1} ${DT} ${UNIQUE}" >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||
echo "/addons/disks.sh \${1} ${DT} ${UNIQUE}" >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||
[ -f "${USER_UP_PATH}/${MODEL}.dts" ] && cp "${USER_UP_PATH}/${MODEL}.dts" "${RAMDISK_PATH}/addons/model.dts"
|
||||
installAddon wol
|
||||
echo "/addons/wol.sh \${1} " >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||
echo "/addons/wol.sh \${1} " >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||
installAddon localrss
|
||||
echo "/addons/localrss.sh \${1} " >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||
echo "/addons/localrss.sh \${1} " >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||
# User addons
|
||||
for ADDON in ${!ADDONS[@]}; do
|
||||
PARAMS=${ADDONS[${ADDON}]}
|
||||
@ -162,34 +161,34 @@ for ADDON in ${!ADDONS[@]}; do
|
||||
echo "ADDON ${ADDON} not found!" | tee -a "${LOG_FILE}"
|
||||
exit 1
|
||||
fi
|
||||
echo "/addons/${ADDON}.sh \${1} ${PARAMS}" >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||
echo "/addons/${ADDON}.sh \${1} ${PARAMS}" >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||
done
|
||||
|
||||
[ "2" = "${BUILD:0:1}" ] && sed -i 's/function //g' `find "${RAMDISK_PATH}/addons/" -type f -name "*.sh"`
|
||||
[ "2" = "${BUILD:0:1}" ] && sed -i 's/function //g' $(find "${RAMDISK_PATH}/addons/" -type f -name "*.sh")
|
||||
|
||||
# Enable Telnet
|
||||
echo "inetd" >> "${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "inetd" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
|
||||
# Build modules dependencies
|
||||
/opt/arpl/depmod -a -b ${RAMDISK_PATH} 2>/dev/null
|
||||
|
||||
# Network card configuration file
|
||||
for N in `seq 0 7`; do
|
||||
echo -e "DEVICE=eth${N}\nBOOTPROTO=dhcp\nONBOOT=yes\nIPV6INIT=dhcp\nIPV6_ACCEPT_RA=1" > "${RAMDISK_PATH}/etc/sysconfig/network-scripts/ifcfg-eth${N}"
|
||||
for N in $(seq 0 7); do
|
||||
echo -e "DEVICE=eth${N}\nBOOTPROTO=dhcp\nONBOOT=yes\nIPV6INIT=dhcp\nIPV6_ACCEPT_RA=1" >"${RAMDISK_PATH}/etc/sysconfig/network-scripts/ifcfg-eth${N}"
|
||||
done
|
||||
|
||||
# Reassembly ramdisk
|
||||
echo -n "."
|
||||
if [ "${RD_COMPRESSED}" == "true" ]; then
|
||||
(cd "${RAMDISK_PATH}" && find . | cpio -o -H newc -R root:root | xz -9 --format=lzma > "${MOD_RDGZ_FILE}") >"${LOG_FILE}" 2>&1 || dieLog
|
||||
(cd "${RAMDISK_PATH}" && find . | cpio -o -H newc -R root:root | xz -9 --format=lzma >"${MOD_RDGZ_FILE}") >"${LOG_FILE}" 2>&1 || dieLog
|
||||
else
|
||||
(cd "${RAMDISK_PATH}" && find . | cpio -o -H newc -R root:root > "${MOD_RDGZ_FILE}") >"${LOG_FILE}" 2>&1 || dieLog
|
||||
(cd "${RAMDISK_PATH}" && find . | cpio -o -H newc -R root:root >"${MOD_RDGZ_FILE}") >"${LOG_FILE}" 2>&1 || dieLog
|
||||
fi
|
||||
|
||||
# Clean
|
||||
rm -rf "${RAMDISK_PATH}"
|
||||
|
||||
# Update SHA256 hash
|
||||
RAMDISK_HASH="`sha256sum ${ORI_RDGZ_FILE} | awk '{print$1}'`"
|
||||
RAMDISK_HASH="$(sha256sum ${ORI_RDGZ_FILE} | awk '{print$1}')"
|
||||
writeConfigKey "ramdisk-hash" "${RAMDISK_HASH}" "${USER_CONFIG_FILE}"
|
||||
echo
|
||||
|
@ -21,6 +21,6 @@ echo -n "."
|
||||
/opt/arpl/vmlinux-to-bzImage.sh "${TMP_PATH}/vmlinux-mod" "${MOD_ZIMAGE_FILE}" >"${LOG_FILE}" 2>&1 || dieLog
|
||||
echo -n "."
|
||||
# Update HASH of new DSM zImage
|
||||
HASH="`sha256sum ${ORI_ZIMAGE_FILE} | awk '{print$1}'`"
|
||||
HASH="$(sha256sum ${ORI_ZIMAGE_FILE} | awk '{print$1}')"
|
||||
writeConfigKey "zimage-hash" "${HASH}" "${USER_CONFIG_FILE}"
|
||||
echo
|
||||
|
Loading…
x
Reference in New Issue
Block a user