mirror of
https://github.com/AuxXxilium/arc-c.git
synced 2024-11-23 15:01:07 +07:00
arc-a: sync with arc
Signed-off-by: AuxXxilium <info@auxxxilium.tech>
This commit is contained in:
parent
27de602d31
commit
e6bfade359
File diff suppressed because it is too large
Load Diff
@ -157,7 +157,7 @@ elif [ "${MACSYS}" = "hardware" ]; then
|
||||
MAC="$(readConfigKey "mac.${ETH}" "${USER_CONFIG_FILE}")"
|
||||
[ -n "${MAC}" ] && NIC=$((${NIC} + 1)) && CMDLINE["mac${NIC}"]="${MAC}"
|
||||
done
|
||||
CMDLINE['netif_num']="${N}"
|
||||
CMDLINE['netif_num']="${NIC}"
|
||||
CMDLINE['skip_vender_mac_interfaces']="0,1,2,3,4,5,6,7"
|
||||
elif [ "${MACSYS}" = "custom" ]; then
|
||||
for ETH in ${ETHX}; do
|
||||
|
@ -57,12 +57,12 @@ function installAddon() {
|
||||
local HAS_FILES=0
|
||||
# First check generic files
|
||||
if [ -f "${ADDONS_PATH}/${ADDON}/all.tgz" ]; then
|
||||
tar -zxf "${ADDONS_PATH}/${ADDON}/all.tgz" -C "${TMP_PATH}/${ADDON}"
|
||||
tar zxf "${ADDONS_PATH}/${ADDON}/all.tgz" -C "${TMP_PATH}/${ADDON}"
|
||||
HAS_FILES=1
|
||||
fi
|
||||
# Now check specific platform files
|
||||
if [ -f "${ADDONS_PATH}/${ADDON}/${2}-${3}.tgz" ]; then
|
||||
tar -zxf "${ADDONS_PATH}/${ADDON}/${2}-${3}.tgz" -C "${TMP_PATH}/${ADDON}"
|
||||
tar zxf "${ADDONS_PATH}/${ADDON}/${2}-${3}.tgz" -C "${TMP_PATH}/${ADDON}"
|
||||
HAS_FILES=1
|
||||
fi
|
||||
# If has files to copy, copy it, else return error
|
||||
@ -85,7 +85,7 @@ function untarAddon() {
|
||||
fi
|
||||
rm -rf "${TMP_PATH}/addon"
|
||||
mkdir -p "${TMP_PATH}/addon"
|
||||
tar -xaf "${1}" -C "${TMP_PATH}/addon" || return
|
||||
tar xaf "${1}" -C "${TMP_PATH}/addon" || return
|
||||
local ADDON=$(readConfigKey "name" "${TMP_PATH}/addon/manifest.yml")
|
||||
[ -z "${ADDON}" ] && return
|
||||
rm -rf "${ADDONS_PATH}/${ADDON:?}"
|
||||
@ -101,7 +101,7 @@ function updateAddons() {
|
||||
rm -rf "${ADDONS_PATH}/${ADDON:?}"
|
||||
mkdir -p "${ADDONS_PATH}/${ADDON}"
|
||||
echo "Installing ${F} to ${ADDONS_PATH}/${ADDON}"
|
||||
tar -xaf "${F}" -C "${ADDONS_PATH}/${ADDON}"
|
||||
tar xaf "${F}" -C "${ADDONS_PATH}/${ADDON}"
|
||||
rm -f "${F}"
|
||||
done
|
||||
}
|
||||
|
@ -35,7 +35,7 @@ function readModelArray() {
|
||||
###############################################################################
|
||||
# Just show error message and dies
|
||||
function die() {
|
||||
echo -e "\033[1;41m$*\033[0m"
|
||||
echo -e "\033[1;41m$@\033[0m"
|
||||
exit 1
|
||||
}
|
||||
|
||||
@ -72,9 +72,9 @@ function generateRandomLetter() {
|
||||
###############################################################################
|
||||
# Generate a random digit (0-9A-Z)
|
||||
function generateRandomValue() {
|
||||
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
|
||||
echo $i
|
||||
done | sort -R | tail -1
|
||||
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
|
||||
echo ${i}
|
||||
done | sort -R | tail -1
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
@ -85,12 +85,12 @@ function generateSerial() {
|
||||
SERIAL="$(readModelArray "${1}" "serial.prefix" | sort -R | tail -1)"
|
||||
SERIAL+=$(readModelKey "${1}" "serial.middle")
|
||||
case "$(readModelKey "${1}" "serial.suffix")" in
|
||||
numeric)
|
||||
SERIAL+=$(random)
|
||||
;;
|
||||
alpha)
|
||||
SERIAL+=$(generateRandomLetter)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomLetter)
|
||||
;;
|
||||
numeric)
|
||||
SERIAL+=$(random)
|
||||
;;
|
||||
alpha)
|
||||
SERIAL+=$(generateRandomLetter)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomLetter)
|
||||
;;
|
||||
esac
|
||||
echo ${SERIAL}
|
||||
}
|
||||
@ -332,7 +332,7 @@ function livepatch() {
|
||||
# Looking for Update
|
||||
if [ ${FAIL} -eq 1 ]; then
|
||||
# Update Configs
|
||||
TAG="$(curl --insecure -s https://api.github.com/repos/AuxXxilium/arc-configs/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}')"
|
||||
TAG="$(curl --insecure -m 5 -s https://api.github.com/repos/AuxXxilium/arc-configs/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}')"
|
||||
if [[ $? -ne 0 || -z "${TAG}" ]]; then
|
||||
return 1
|
||||
fi
|
||||
@ -345,7 +345,7 @@ function livepatch() {
|
||||
unzip -oq "${TMP_PATH}/configs.zip" -d "${MODEL_CONFIG_PATH}" >/dev/null 2>&1
|
||||
rm -f "${TMP_PATH}/configs.zip"
|
||||
# Update Patches
|
||||
TAG="$(curl --insecure -s https://api.github.com/repos/AuxXxilium/arc-patches/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}')"
|
||||
TAG="$(curl --insecure -m 5 -s https://api.github.com/repos/AuxXxilium/arc-patches/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}')"
|
||||
if [[ $? -ne 0 || -z "${TAG}" ]]; then
|
||||
return 1
|
||||
fi
|
||||
|
@ -15,9 +15,9 @@ function getAllModules() {
|
||||
mkdir -p "${TMP_PATH}/modules"
|
||||
local KERNEL="$(readConfigKey "arc.kernel" "${USER_CONFIG_FILE}")"
|
||||
if [ "${KERNEL}" = "custom" ]; then
|
||||
tar -zxf "${CUSTOM_PATH}/modules.tgz" -C "${TMP_PATH}/modules"
|
||||
tar zxf "${CUSTOM_PATH}/modules.tgz" -C "${TMP_PATH}/modules"
|
||||
else
|
||||
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||
tar zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||
fi
|
||||
# Get list of all modules
|
||||
for F in $(ls ${TMP_PATH}/modules/*.ko 2>/dev/null); do
|
||||
@ -50,9 +50,9 @@ function installModules() {
|
||||
mkdir -p "${TMP_PATH}/modules"
|
||||
local KERNEL="$(readConfigKey "arc.kernel" "${USER_CONFIG_FILE}")"
|
||||
if [ "${KERNEL}" = "custom" ]; then
|
||||
tar -zxf "${CUSTOM_PATH}/modules-${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||
tar zxf "${CUSTOM_PATH}/modules-${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||
else
|
||||
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||
tar zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||
fi
|
||||
local ODP="$(readConfigKey "arc.odp" "${USER_CONFIG_FILE}")"
|
||||
for F in $(ls "${TMP_PATH}/modules/"*.ko 2>/dev/null); do
|
||||
@ -66,9 +66,9 @@ function installModules() {
|
||||
done
|
||||
mkdir -p "${RAMDISK_PATH}/usr/lib/firmware"
|
||||
if [ "${KERNEL}" = "custom" ]; then
|
||||
tar -zxf "${CUSTOM_PATH}/firmware.tgz" -C "${RAMDISK_PATH}/usr/lib/firmware"
|
||||
tar zxf "${CUSTOM_PATH}/firmware.tgz" -C "${RAMDISK_PATH}/usr/lib/firmware"
|
||||
else
|
||||
tar -zxf "${MODULES_PATH}/firmware.tgz" -C "${RAMDISK_PATH}/usr/lib/firmware"
|
||||
tar zxf "${MODULES_PATH}/firmware.tgz" -C "${RAMDISK_PATH}/usr/lib/firmware"
|
||||
fi
|
||||
# Clean
|
||||
rm -rf "${TMP_PATH}/modules"
|
||||
@ -91,9 +91,9 @@ function addToModules() {
|
||||
# Unzip modules for temporary folder
|
||||
rm -rf "${TMP_PATH}/modules"
|
||||
mkdir -p "${TMP_PATH}/modules"
|
||||
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||
tar zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||
cp -f ${KOFILE} ${TMP_PATH}/modules
|
||||
tar -zcf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" .
|
||||
tar zcf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" .
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
@ -113,9 +113,9 @@ function delToModules() {
|
||||
# Unzip modules for temporary folder
|
||||
rm -rf "${TMP_PATH}/modules"
|
||||
mkdir -p "${TMP_PATH}/modules"
|
||||
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||
tar zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||
rm -f ${TMP_PATH}/modules/${KONAME}
|
||||
tar -zcf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" .
|
||||
tar zcf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" .
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
@ -146,7 +146,7 @@ function getdepends() {
|
||||
# Unzip modules for temporary folder
|
||||
rm -rf "${TMP_PATH}/modules"
|
||||
mkdir -p "${TMP_PATH}/modules"
|
||||
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||
tar zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||
DPS=($(_getdepends ${KONAME} | tr ' ' '\n' | sort -u))
|
||||
echo ${DPS[@]}
|
||||
rm -rf "${TMP_PATH}/modules"
|
||||
|
@ -13,5 +13,6 @@ ETHX=$(ls /sys/class/net/ | grep -v lo) || true
|
||||
# Get actual IP
|
||||
for ETH in ${ETHX}; do
|
||||
IPCON="$(readConfigKey "ip.${ETH}" "${USER_CONFIG_FILE}")"
|
||||
[ -z "${IPCON}" ] && IPCON="$(getIP ${ETH})"
|
||||
[ -n "${IPCON}" ] && break
|
||||
done
|
@ -1,6 +1,8 @@
|
||||
# Get PortMap for Loader
|
||||
function getmap() {
|
||||
if [ ! "${DT}" = "true" ] && [ ${SATACONTROLLER} -gt 0 ]; then
|
||||
# Sata Disks
|
||||
SATADRIVES=0
|
||||
if [ $(lspci -d ::106 | wc -l) -gt 0 ]; then
|
||||
# Clean old files
|
||||
[ -f "${TMP_PATH}/drivesmax" ] && rm -f "${TMP_PATH}/drivesmax"
|
||||
touch "${TMP_PATH}/drivesmax"
|
||||
@ -10,8 +12,6 @@ function getmap() {
|
||||
touch "${TMP_PATH}ports"
|
||||
[ -f "${TMP_PATH}/remap" ] && rm -f "${TMP_PATH}/remap"
|
||||
touch "${TMP_PATH}/remap"
|
||||
# Sata Disks
|
||||
SATADRIVES=0
|
||||
let DISKIDXMAPIDX=0
|
||||
DISKIDXMAP=""
|
||||
let DISKIDXMAPIDXMAX=0
|
||||
@ -44,128 +44,155 @@ function getmap() {
|
||||
let DISKIDXMAPIDXMAX=$DISKIDXMAPIDXMAX+$NUMPORTS
|
||||
SATADRIVES=$((${SATADRIVES} + ${CONPORTS}))
|
||||
done
|
||||
# SAS Disks
|
||||
SASDRIVES=0
|
||||
if [ $(lspci -d ::107 | wc -l) -gt 0 ]; then
|
||||
for PCI in $(lspci -d ::107 | awk '{print $1}'); do
|
||||
NAME=$(lspci -s "${PCI}" | sed "s/\ .*://")
|
||||
PORT=$(ls -l /sys/class/scsi_host | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/host//' | sort -n)
|
||||
PORTNUM=$(lsscsi -b | grep -v - | grep "\[${PORT}:" | wc -l)
|
||||
SASDRIVES=$((${SASDRIVES} + ${PORTNUM}))
|
||||
done
|
||||
fi
|
||||
# SCSI Disks
|
||||
SCSIDRIVES=0
|
||||
if [ $(lspci -d ::104 | wc -l) -gt 0 ]; then
|
||||
for PCI in $(lspci -d ::104 | awk '{print $1}'); do
|
||||
NAME=$(lspci -s "${PCI}" | sed "s/\ .*://")
|
||||
PORT=$(ls -l /sys/class/scsi_host | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/host//' | sort -n)
|
||||
PORTNUM=$(lsscsi -b | grep -v - | grep "\[${PORT}:" | wc -l)
|
||||
SCSIDRIVES=$((${SCSIDRIVES} + ${PORTNUM}))
|
||||
done
|
||||
fi
|
||||
# USB Disks
|
||||
USBDRIVES=0
|
||||
if [[ -d "/sys/class/scsi_host" && $(ls -l /sys/class/scsi_host | grep usb | wc -l) -gt 0 ]]; then
|
||||
for PCI in $(lspci -d ::c03 | awk '{print $1}'); do
|
||||
NAME=$(lspci -s "${PCI}" | sed "s/\ .*://")
|
||||
PORT=$(ls -l /sys/class/scsi_host | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/host//' | sort -n)
|
||||
PORTNUM=$(lsscsi -b | grep -v - | grep "\[${PORT}:" | wc -l)
|
||||
[ ${PORTNUM} -eq 0 ] && continue
|
||||
USBDRIVES=$((${USBDRIVES} + ${PORTNUM}))
|
||||
done
|
||||
fi
|
||||
# MMC Disks
|
||||
MMCDRIVES=0
|
||||
if [[ -d "/sys/class/mmc_host" && $(ls -l /sys/class/mmc_host | grep mmc_host | wc -l) -gt 0 ]]; then
|
||||
for PCI in $(lspci -d ::805 | awk '{print $1}'); do
|
||||
NAME=$(lspci -s "${PCI}" | sed "s/\ .*://")
|
||||
PORTNUM=$(ls -l /sys/block/mmc* | grep "${PCI}" | wc -l)
|
||||
[ ${PORTNUM} -eq 0 ] && continue
|
||||
MMCDRIVES=$((${MMCDRIVES} + ${PORTNUM}))
|
||||
done
|
||||
fi
|
||||
# NVMe Disks
|
||||
NVMEDRIVES=0
|
||||
if [ $(lspci -d ::108 | wc -l) -gt 0 ]; then
|
||||
for PCI in $(lspci -d ::108 | awk '{print $1}'); do
|
||||
NAME=$(lspci -s "${PCI}" | sed "s/\ .*://")
|
||||
PORT=$(ls -l /sys/class/nvme | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/nvme//' | sort -n)
|
||||
PORTNUM=$(lsscsi -b | grep -v - | grep "\[N:${PORT}:" | wc -l)
|
||||
NVMEDRIVES=$((${NVMEDRIVES} + ${PORTNUM}))
|
||||
done
|
||||
fi
|
||||
# Disk Count for MaxDisks
|
||||
DRIVES=$((${SATADRIVES} + ${SASDRIVES} + ${SCSIDRIVES} + ${USBDRIVES} + ${MMCDRIVES} + ${NVMEDRIVES}))
|
||||
[ ${SATADRIVES} -gt 0 ] && writeConfigKey "device.satadrives" "${SATADRIVES}" "${USER_CONFIG_FILE}"
|
||||
[ ${SASDRIVES} -gt 0 ] && writeConfigKey "device.sasdrives" "${SASDRIVES}" "${USER_CONFIG_FILE}"
|
||||
[ ${SCSIDRIVES} -gt 0 ] && writeConfigKey "device.scsidrives" "${SCSIDRIVES}" "${USER_CONFIG_FILE}"
|
||||
[ ${USBDRIVES} -gt 0 ] && writeConfigKey "device.usbdrives" "${USBDRIVES}" "${USER_CONFIG_FILE}"
|
||||
[ ${MMCDRIVES} -gt 0 ] && writeConfigKey "device.mmcdrives" "${MMCDRIVES}" "${USER_CONFIG_FILE}"
|
||||
[ ${NVMEDRIVES} -gt 0 ] && writeConfigKey "device.nvmedrives" "${NVMEDRIVES}" "${USER_CONFIG_FILE}"
|
||||
if [ ${DRIVES} -gt 26 ]; then
|
||||
DRIVES=26
|
||||
fi
|
||||
writeConfigKey "device.drives" "${DRIVES}" "${USER_CONFIG_FILE}"
|
||||
# Check for Sata Boot
|
||||
LASTDRIVE=0
|
||||
while read -r LINE; do
|
||||
if [[ "${BUS}" != "usb" && ${LINE} -eq 0 && "${LOADER_DISK}" = "/dev/sda" ]]; then
|
||||
MAXDISKS="$(readModelKey "${MODEL}" "disks")"
|
||||
if [ ${MAXDISKS} -lt ${DRIVES} ]; then
|
||||
MAXDISKS=${DRIVES}
|
||||
fi
|
||||
echo -n "${LINE}>${MAXDISKS}:">>"${TMP_PATH}/remap"
|
||||
elif [ ! ${LINE} = ${LASTDRIVE} ]; then
|
||||
echo -n "${LINE}>${LASTDRIVE}:">>"${TMP_PATH}/remap"
|
||||
LASTDRIVE=$((${LASTDRIVE} + 1))
|
||||
elif [ ${LINE} = ${LASTDRIVE} ]; then
|
||||
LASTDRIVE=$((${LINE} + 1))
|
||||
fi
|
||||
# SAS Disks
|
||||
SASDRIVES=0
|
||||
if [ $(lspci -d ::107 | wc -l) -gt 0 ]; then
|
||||
for PCI in $(lspci -d ::107 | awk '{print $1}'); do
|
||||
NAME=$(lspci -s "${PCI}" | sed "s/\ .*://")
|
||||
PORT=$(ls -l /sys/class/scsi_host | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/host//' | sort -n)
|
||||
PORTNUM=$(lsscsi -b | grep -v - | grep "\[${PORT}:" | wc -l)
|
||||
SASDRIVES=$((${SASDRIVES} + ${PORTNUM}))
|
||||
done
|
||||
fi
|
||||
# SCSI Disks
|
||||
SCSIDRIVES=0
|
||||
if [ $(lspci -d ::100 | wc -l) -gt 0 ]; then
|
||||
for PCI in $(lspci -d ::100 | awk '{print $1}'); do
|
||||
NAME=$(lspci -s "${PCI}" | sed "s/\ .*://")
|
||||
PORT=$(ls -l /sys/class/scsi_host | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/host//' | sort -n)
|
||||
PORTNUM=$(lsscsi -b | grep -v - | grep "\[${PORT}:" | wc -l)
|
||||
SCSIDRIVES=$((${SCSIDRIVES} + ${PORTNUM}))
|
||||
done
|
||||
fi
|
||||
# Raid Disks
|
||||
RAIDDRIVES=0
|
||||
if [ $(lspci -d ::104 | wc -l) -gt 0 ]; then
|
||||
for PCI in $(lspci -d ::104 | awk '{print $1}'); do
|
||||
NAME=$(lspci -s "${PCI}" | sed "s/\ .*://")
|
||||
PORT=$(ls -l /sys/class/scsi_host | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/host//' | sort -n)
|
||||
PORTNUM=$(lsscsi -b | grep -v - | grep "\[${PORT}:" | wc -l)
|
||||
RAIDDRIVES=$((${RAIDDRIVES} + ${PORTNUM}))
|
||||
done
|
||||
fi
|
||||
# USB Disks
|
||||
USBDRIVES=0
|
||||
if [[ -d "/sys/class/scsi_host" && $(ls -l /sys/class/scsi_host | grep usb | wc -l) -gt 0 ]]; then
|
||||
for PCI in $(lspci -d ::c03 | awk '{print $1}'); do
|
||||
NAME=$(lspci -s "${PCI}" | sed "s/\ .*://")
|
||||
PORT=$(ls -l /sys/class/scsi_host | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/host//' | sort -n)
|
||||
PORTNUM=$(lsscsi -b | grep -v - | grep "\[${PORT}:" | wc -l)
|
||||
[ ${PORTNUM} -eq 0 ] && continue
|
||||
USBDRIVES=$((${USBDRIVES} + ${PORTNUM}))
|
||||
done
|
||||
fi
|
||||
# MMC Disks
|
||||
MMCDRIVES=0
|
||||
if [[ -d "/sys/class/mmc_host" && $(ls -l /sys/class/mmc_host | grep mmc_host | wc -l) -gt 0 ]]; then
|
||||
for PCI in $(lspci -d ::805 | awk '{print $1}'); do
|
||||
NAME=$(lspci -s "${PCI}" | sed "s/\ .*://")
|
||||
PORTNUM=$(ls -l /sys/block/mmc* | grep "${PCI}" | wc -l)
|
||||
[ ${PORTNUM} -eq 0 ] && continue
|
||||
MMCDRIVES=$((${MMCDRIVES} + ${PORTNUM}))
|
||||
done
|
||||
fi
|
||||
# NVMe Disks
|
||||
NVMEDRIVES=0
|
||||
if [ $(lspci -d ::108 | wc -l) -gt 0 ]; then
|
||||
for PCI in $(lspci -d ::108 | awk '{print $1}'); do
|
||||
NAME=$(lspci -s "${PCI}" | sed "s/\ .*://")
|
||||
PORT=$(ls -l /sys/class/nvme | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/nvme//' | sort -n)
|
||||
PORTNUM=$(lsscsi -b | grep -v - | grep "\[N:${PORT}:" | wc -l)
|
||||
NVMEDRIVES=$((${NVMEDRIVES} + ${PORTNUM}))
|
||||
done
|
||||
fi
|
||||
# Disk Count for MaxDisks
|
||||
DRIVES=$((${SATADRIVES} + ${SASDRIVES} + ${SCSIDRIVES} + ${RAIDDRIVES} + ${USBDRIVES} + ${MMCDRIVES} + ${NVMEDRIVES}))
|
||||
HARDDRIVES=$((${SATADRIVES} + ${SASDRIVES} + ${SCSIDRIVES} + ${RAIDDRIVES} + ${NVMEDRIVES}))
|
||||
[ ${SATADRIVES} -gt 0 ] && writeConfigKey "device.satadrives" "${SATADRIVES}" "${USER_CONFIG_FILE}"
|
||||
[ ${SASDRIVES} -gt 0 ] && writeConfigKey "device.sasdrives" "${SASDRIVES}" "${USER_CONFIG_FILE}"
|
||||
[ ${SCSIDRIVES} -gt 0 ] && writeConfigKey "device.scsidrives" "${SCSIDRIVES}" "${USER_CONFIG_FILE}"
|
||||
[ ${RAIDDRIVES} -gt 0 ] && writeConfigKey "device.raiddrives" "${RAIDDRIVES}" "${USER_CONFIG_FILE}"
|
||||
[ ${USBDRIVES} -gt 0 ] && writeConfigKey "device.usbdrives" "${USBDRIVES}" "${USER_CONFIG_FILE}"
|
||||
[ ${MMCDRIVES} -gt 0 ] && writeConfigKey "device.mmcdrives" "${MMCDRIVES}" "${USER_CONFIG_FILE}"
|
||||
[ ${NVMEDRIVES} -gt 0 ] && writeConfigKey "device.nvmedrives" "${NVMEDRIVES}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "device.drives" "${DRIVES}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "device.harddrives" "${HARDDRIVES}" "${USER_CONFIG_FILE}"
|
||||
}
|
||||
|
||||
function getmapSelection() {
|
||||
# Check for Sata Boot
|
||||
LASTDRIVE=0
|
||||
while read -r LINE; do
|
||||
if [[ "${BUS}" != "usb" && ${LINE} -eq 0 && "${LOADER_DISK}" = "/dev/sda" ]]; then
|
||||
MAXDISKS="$(readModelKey "${MODEL}" "disks")"
|
||||
if [ ${MAXDISKS} -lt ${DRIVES} ]; then
|
||||
MAXDISKS=${DRIVES}
|
||||
fi
|
||||
done < <(cat "${TMP_PATH}/ports")
|
||||
# Compute PortMap Options
|
||||
SATAPORTMAPMAX=$(awk '{print $1}' "${TMP_PATH}/drivesmax")
|
||||
SATAPORTMAP=$(awk '{print $1}' "${TMP_PATH}/drivescon")
|
||||
SATAREMAP=$(awk '{print $1}' "${TMP_PATH}/remap" | sed 's/.$//')
|
||||
# Show recommended Option to user
|
||||
if [ -n "${SATAREMAP}" ] && [[ ${SASCONTROLLER} -gt 0 || ${SCSICONTROLLER} -gt 0 ]] && [ "${MACHINE}" = "NATIVE" ]; then
|
||||
writeConfigKey "arc.remap" "maxports" "${USER_CONFIG_FILE}"
|
||||
elif [ -n "${SATAREMAP}" ] && [[ ${SASCONTROLLER} -eq 0 && ${SCSICONTROLLER} -eq 0 ]]; then
|
||||
writeConfigKey "arc.remap" "remap" "${USER_CONFIG_FILE}"
|
||||
else
|
||||
writeConfigKey "arc.remap" "acports" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
# Check Remap for correct config
|
||||
REMAP="$(readConfigKey "arc.remap" "${USER_CONFIG_FILE}")"
|
||||
# Write Map to config and show Map to User
|
||||
if [ "${REMAP}" = "acports" ]; then
|
||||
writeConfigKey "cmdline.SataPortMap" "${SATAPORTMAP}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "cmdline.DiskIdxMap" "${DISKIDXMAP}" "${USER_CONFIG_FILE}"
|
||||
deleteConfigKey "cmdline.sata_remap" "${USER_CONFIG_FILE}"
|
||||
elif [ "${REMAP}" = "maxports" ]; then
|
||||
writeConfigKey "cmdline.SataPortMap" "${SATAPORTMAPMAX}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "cmdline.DiskIdxMap" "${DISKIDXMAPMAX}" "${USER_CONFIG_FILE}"
|
||||
deleteConfigKey "cmdline.sata_remap" "${USER_CONFIG_FILE}"
|
||||
elif [ "${REMAP}" = "remap" ]; then
|
||||
writeConfigKey "cmdline.sata_remap" "${SATAREMAP}" "${USER_CONFIG_FILE}"
|
||||
deleteConfigKey "cmdline.DiskIdxMap" "${USER_CONFIG_FILE}"
|
||||
deleteConfigKey "cmdline.SataPortMap" "${USER_CONFIG_FILE}"
|
||||
elif [ "${REMAP}" = "ahci" ]; then
|
||||
writeConfigKey "cmdline.ahci_remap" "${SATAREMAP}" "${USER_CONFIG_FILE}"
|
||||
deleteConfigKey "cmdline.DiskIdxMap" "${USER_CONFIG_FILE}"
|
||||
deleteConfigKey "cmdline.SataPortMap" "${USER_CONFIG_FILE}"
|
||||
elif [ "${REMAP}" = "user" ]; then
|
||||
deleteConfigKey "cmdline.SataPortMap" "${USER_CONFIG_FILE}"
|
||||
deleteConfigKey "cmdline.DiskIdxMap" "${USER_CONFIG_FILE}"
|
||||
deleteConfigKey "cmdline.sata_remap" "${USER_CONFIG_FILE}"
|
||||
echo -n "${LINE}>${MAXDISKS}:">>"${TMP_PATH}/remap"
|
||||
elif [ ! ${LINE} = ${LASTDRIVE} ]; then
|
||||
echo -n "${LINE}>${LASTDRIVE}:">>"${TMP_PATH}/remap"
|
||||
LASTDRIVE=$((${LASTDRIVE} + 1))
|
||||
elif [ ${LINE} = ${LASTDRIVE} ]; then
|
||||
LASTDRIVE=$((${LINE} + 1))
|
||||
fi
|
||||
done < <(cat "${TMP_PATH}/ports")
|
||||
# Compute PortMap Options
|
||||
SATAPORTMAPMAX=$(awk '{print $1}' "${TMP_PATH}/drivesmax")
|
||||
SATAPORTMAP=$(awk '{print $1}' "${TMP_PATH}/drivescon")
|
||||
SATAREMAP=$(awk '{print $1}' "${TMP_PATH}/remap" | sed 's/.$//')
|
||||
EXTERNALCONTROLLER="$(readConfigKey "arc.externalcontroller" "${USER_CONFIG_FILE}")"
|
||||
# Show recommended Option to user
|
||||
if [ -n "${SATAREMAP}" ] && [ "${EXTERNALCONTROLLER}" = "true" ] && [ "${MACHINE}" = "NATIVE" ]; then
|
||||
writeConfigKey "arc.remap" "maxports" "${USER_CONFIG_FILE}"
|
||||
elif [ -n "${SATAREMAP}" ] && [ "${EXTERNALCONTROLLER}" = "true" ]; then
|
||||
writeConfigKey "arc.remap" "remap" "${USER_CONFIG_FILE}"
|
||||
else
|
||||
writeConfigKey "arc.remap" "acports" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
# Check Remap for correct config
|
||||
REMAP="$(readConfigKey "arc.remap" "${USER_CONFIG_FILE}")"
|
||||
# Write Map to config and show Map to User
|
||||
if [ "${REMAP}" = "acports" ]; then
|
||||
writeConfigKey "cmdline.SataPortMap" "${SATAPORTMAP}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "cmdline.DiskIdxMap" "${DISKIDXMAP}" "${USER_CONFIG_FILE}"
|
||||
deleteConfigKey "cmdline.sata_remap" "${USER_CONFIG_FILE}"
|
||||
elif [ "${REMAP}" = "maxports" ]; then
|
||||
writeConfigKey "cmdline.SataPortMap" "${SATAPORTMAPMAX}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "cmdline.DiskIdxMap" "${DISKIDXMAPMAX}" "${USER_CONFIG_FILE}"
|
||||
deleteConfigKey "cmdline.sata_remap" "${USER_CONFIG_FILE}"
|
||||
elif [ "${REMAP}" = "remap" ]; then
|
||||
writeConfigKey "cmdline.sata_remap" "${SATAREMAP}" "${USER_CONFIG_FILE}"
|
||||
deleteConfigKey "cmdline.DiskIdxMap" "${USER_CONFIG_FILE}"
|
||||
deleteConfigKey "cmdline.SataPortMap" "${USER_CONFIG_FILE}"
|
||||
elif [ "${REMAP}" = "ahci" ]; then
|
||||
writeConfigKey "cmdline.ahci_remap" "${SATAREMAP}" "${USER_CONFIG_FILE}"
|
||||
deleteConfigKey "cmdline.DiskIdxMap" "${USER_CONFIG_FILE}"
|
||||
deleteConfigKey "cmdline.SataPortMap" "${USER_CONFIG_FILE}"
|
||||
elif [ "${REMAP}" = "user" ]; then
|
||||
deleteConfigKey "cmdline.SataPortMap" "${USER_CONFIG_FILE}"
|
||||
deleteConfigKey "cmdline.DiskIdxMap" "${USER_CONFIG_FILE}"
|
||||
deleteConfigKey "cmdline.sata_remap" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check for Controller
|
||||
SATACONTROLLER=$(lspci -d ::106 | wc -l)
|
||||
writeConfigKey "device.satacontroller" "${SATACONTROLLER}" "${USER_CONFIG_FILE}"
|
||||
SASCONTROLLER=$(lspci -d ::107 | wc -l)
|
||||
writeConfigKey "device.sascontroller" "${SASCONTROLLER}" "${USER_CONFIG_FILE}"
|
||||
SCSICONTROLLER=$(lspci -d ::104 | wc -l)
|
||||
writeConfigKey "device.scsicontroller" "${SCSICONTROLLER}" "${USER_CONFIG_FILE}"
|
||||
# Check for Controller // 104=RAID // 106=SATA // 107=SAS // 100=SCSI // c03=USB
|
||||
if [ $(lspci -d ::106 | wc -l) -gt 0 ]; then
|
||||
SATACONTROLLER=$(lspci -d ::106 | wc -l)
|
||||
writeConfigKey "device.satacontroller" "${SATACONTROLLER}" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
if [ $(lspci -d ::107 | wc -l) -gt 0 ]; then
|
||||
SASCONTROLLER=$(lspci -d ::107 | wc -l)
|
||||
writeConfigKey "device.sascontroller" "${SASCONTROLLER}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "device.externalcontroller" "true" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
if [ $(lspci -d ::100 | wc -l) -gt 0 ]; then
|
||||
SCSICONTROLLER=$(lspci -d ::100 | wc -l)
|
||||
writeConfigKey "device.scsicontroller" "${SCSICONTROLLER}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "device.externalcontroller" "true" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
if [ $(lspci -d ::104 | wc -l) -gt 0 ]; then
|
||||
RAIDCONTROLLER=$(lspci -d ::104 | wc -l)
|
||||
writeConfigKey "device.raidcontroller" "${RAIDCONTROLLER}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "device.externalcontroller" "true" "${USER_CONFIG_FILE}"
|
||||
fi
|
@ -44,7 +44,6 @@ initConfigKey "arc.ipv6" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.emmcboot" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.offline" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.directboot" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.usbmount" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.patch" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.pathash" "" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.paturl" "" "${USER_CONFIG_FILE}"
|
||||
@ -55,9 +54,11 @@ initConfigKey "arc.macsys" "hardware" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.odp" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.modulescopy" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.hddsort" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.usbmount" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.kernel" "official" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc.version" "${ARC_VERSION}" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "device" "{}" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "device.externalcontroller" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "ip" "{}" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "netmask" "{}" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "mac" "{}" "${USER_CONFIG_FILE}"
|
||||
@ -207,4 +208,5 @@ updateAddons
|
||||
echo -e "\033[1;34mLoading Arc Overlay...\033[0m"
|
||||
sleep 2
|
||||
|
||||
# Load Arc Overlay
|
||||
arc.sh
|
@ -71,15 +71,15 @@ declare -A SYNOINFO
|
||||
declare -A ADDONS
|
||||
declare -A MODULES
|
||||
|
||||
# Read synoinfo, addons and extensions from config
|
||||
# Read synoinfo from config
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
[ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}"
|
||||
done < <(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")
|
||||
# Read synoinfo from config
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
[ -n "${KEY}" ] && ADDONS["${KEY}"]="${VALUE}"
|
||||
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
|
||||
# Read modules from user config
|
||||
# Read modules from config
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
[ -n "${KEY}" ] && MODULES["${KEY}"]="${VALUE}"
|
||||
done < <(readConfigMap "modules" "${USER_CONFIG_FILE}")
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -32,8 +32,8 @@ sudo mount ${LOOPX}p1 "/tmp/p1"
|
||||
sudo mount ${LOOPX}p3 "/tmp/p3"
|
||||
|
||||
echo "Get Buildroot"
|
||||
# read -rp 'Version (2023.02.x): ' br_version
|
||||
[ -z "${br_version}" ] && br_version="2023.02.x"
|
||||
# read -rp 'Version (2023.08.x): ' br_version
|
||||
[ -z "${br_version}" ] && br_version="2023.08.x"
|
||||
getBuildroot "${br_version}" "br"
|
||||
[[ ! -f "br/bzImage-arc" || ! -f "br/initrd-arc" ]] && return 1
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user