mirror of
https://github.com/RROrg/rr.git
synced 2025-06-21 05:51:05 +08:00
fix ide boot
This commit is contained in:
parent
3623600ac2
commit
a4a623b3c6
@ -268,14 +268,11 @@ function _sort_netif() {
|
|||||||
# 1 - device path
|
# 1 - device path
|
||||||
function getBus() {
|
function getBus() {
|
||||||
local BUS=""
|
local BUS=""
|
||||||
# xvd
|
# usb/ata(ide)/sata/sas/virtio/mmc/nvme
|
||||||
[ -z "${BUS}" ] && BUS=$(lsblk -dpno KNAME,SUBSYSTEMS 2>/dev/null | grep "${1} " | grep -q "xen" && echo "xen")
|
[ -z "${BUS}" ] && BUS=$(lsblk -dpno KNAME,TRAN 2>/dev/null | grep "${1} " | awk '{print $2}' | sed 's/ata/ide/') #Spaces are intentional
|
||||||
# usb/ata(sata/ide)/scsi
|
# usb/scsi(ide/sata/sas)/virtio/mmc/nvme/vmbus/xen(xvd)
|
||||||
[ -z "${BUS}" ] && BUS=$(udevadm info --query property --name "${1}" 2>/dev/null | grep ID_BUS | cut -d= -f2 | sed 's/ata/sata/')
|
[ -z "${BUS}" ] && BUS=$(lsblk -dpno KNAME,SUBSYSTEMS 2>/dev/null | grep "${1} " | awk '{print $2}' | awk -F':' '{print $(NF-1)}' | sed 's/_host//' | sed 's/.*xen.*/xen/') # Spaces are intentional
|
||||||
# usb/sata(sata/ide)/nvme
|
[ -z "${BUS}" ] && "UNKNOWN"
|
||||||
[ -z "${BUS}" ] && BUS=$(lsblk -dpno KNAME,TRAN 2>/dev/null | grep "${1} " | awk '{print $2}') #Spaces are intentional
|
|
||||||
# usb/scsi(sata/ide)/virtio(scsi/virtio)/mmc/nvme
|
|
||||||
[ -z "${BUS}" ] && BUS=$(lsblk -dpno KNAME,SUBSYSTEMS 2>/dev/null | grep "${1} " | awk '{print $2}' | awk -F':' '{print $(NF-1)}' | sed 's/_host//') # Spaces are intentional
|
|
||||||
echo "${BUS}"
|
echo "${BUS}"
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
@ -111,7 +111,7 @@ PID="0x0001"
|
|||||||
TYPE="DoM"
|
TYPE="DoM"
|
||||||
BUS=$(getBus "${LOADER_DISK}")
|
BUS=$(getBus "${LOADER_DISK}")
|
||||||
|
|
||||||
BUSLIST="usb sata scsi nvme mmc xen"
|
BUSLIST="usb sata scsi nvme mmc ide vmbus xen"
|
||||||
if [ "${BUS}" = "usb" ]; then
|
if [ "${BUS}" = "usb" ]; then
|
||||||
VID="0x$(udevadm info --query property --name ${LOADER_DISK} 2>/dev/null | grep ID_VENDOR_ID | cut -d= -f2)"
|
VID="0x$(udevadm info --query property --name ${LOADER_DISK} 2>/dev/null | grep ID_VENDOR_ID | cut -d= -f2)"
|
||||||
PID="0x$(udevadm info --query property --name ${LOADER_DISK} 2>/dev/null | grep ID_MODEL_ID | cut -d= -f2)"
|
PID="0x$(udevadm info --query property --name ${LOADER_DISK} 2>/dev/null | grep ID_MODEL_ID | cut -d= -f2)"
|
||||||
@ -121,7 +121,7 @@ elif ! echo "${BUSLIST}" | grep -wq "${BUS}"; then
|
|||||||
echo "LOCALBUILD MODE"
|
echo "LOCALBUILD MODE"
|
||||||
TYPE="PC"
|
TYPE="PC"
|
||||||
else
|
else
|
||||||
die "$(TEXT "Loader disk neither USB or SATA/SCSI/NVME/MMC/XEN DoM")"
|
die "$(TEXT "Loader disk neither USB or SATA/SCSI/NVME/MMC/IDE/VMBUS/XEN DoM")"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1652,7 +1652,7 @@ function setWirelessAccount() {
|
|||||||
function showDisksInfo() {
|
function showDisksInfo() {
|
||||||
MSG=""
|
MSG=""
|
||||||
NUMPORTS=0
|
NUMPORTS=0
|
||||||
[ $(lspci -d ::106 2>/dev/null | wc -l) -gt 0 ] && MSG+="\nATA:\n"
|
[ $(lspci -d ::106 2>/dev/null | wc -l) -gt 0 ] && MSG+="\nSATA:\n"
|
||||||
for PCI in $(lspci -d ::106 2>/dev/null | awk '{print $1}'); do
|
for PCI in $(lspci -d ::106 2>/dev/null | awk '{print $1}'); do
|
||||||
NAME=$(lspci -s "${PCI}" 2>/dev/null | sed "s/\ .*://")
|
NAME=$(lspci -s "${PCI}" 2>/dev/null | sed "s/\ .*://")
|
||||||
MSG+="\Zb${NAME}\Zn\nPorts: "
|
MSG+="\Zb${NAME}\Zn\nPorts: "
|
||||||
@ -1696,6 +1696,14 @@ function showDisksInfo() {
|
|||||||
MSG+="\Zb${NAME}\Zn\nNumber: ${PORTNUM}\n"
|
MSG+="\Zb${NAME}\Zn\nNumber: ${PORTNUM}\n"
|
||||||
NUMPORTS=$((${NUMPORTS} + ${PORTNUM}))
|
NUMPORTS=$((${NUMPORTS} + ${PORTNUM}))
|
||||||
done
|
done
|
||||||
|
[ $(lspci -d ::101 2>/dev/null | wc -l) -gt 0 ] && MSG+="\nIDE:\n"
|
||||||
|
for PCI in $(lspci -d ::101 2>/dev/null | awk '{print $1}'); do
|
||||||
|
NAME=$(lspci -s "${PCI}" 2>/dev/null | sed "s/\ .*://")
|
||||||
|
PORTNUM=$(ls -l /sys/block/* 2>/dev/null | grep "${PCI}" | wc -l)
|
||||||
|
[ ${PORTNUM} -eq 0 ] && continue
|
||||||
|
MSG+="\Zb${NAME}\Zn\nNumber: ${PORTNUM}\n"
|
||||||
|
NUMPORTS=$((${NUMPORTS} + ${PORTNUM}))
|
||||||
|
done
|
||||||
[ $(ls -l /sys/class/scsi_host 2>/dev/null | grep usb | wc -l) -gt 0 ] && MSG+="\nUSB:\n"
|
[ $(ls -l /sys/class/scsi_host 2>/dev/null | grep usb | wc -l) -gt 0 ] && MSG+="\nUSB:\n"
|
||||||
for PCI in $(lspci -d ::c03 2>/dev/null | awk '{print $1}'); do
|
for PCI in $(lspci -d ::c03 2>/dev/null | awk '{print $1}'); do
|
||||||
NAME=$(lspci -s "${PCI}" 2>/dev/null | sed "s/\ .*://")
|
NAME=$(lspci -s "${PCI}" 2>/dev/null | sed "s/\ .*://")
|
||||||
@ -1721,6 +1729,13 @@ function showDisksInfo() {
|
|||||||
MSG+="\Zb${NAME}\Zn\nNumber: ${PORTNUM}\n"
|
MSG+="\Zb${NAME}\Zn\nNumber: ${PORTNUM}\n"
|
||||||
NUMPORTS=$((${NUMPORTS} + ${PORTNUM}))
|
NUMPORTS=$((${NUMPORTS} + ${PORTNUM}))
|
||||||
done
|
done
|
||||||
|
if [ $(lsblk -dpno KNAME,SUBSYSTEMS 2>/dev/null | grep 'vmbus:acpi' | wc -l) -gt 0 ]; then
|
||||||
|
MSG+="\nVMBUS:\n"
|
||||||
|
NAME="vmbus:acpi"
|
||||||
|
PORTNUM=$(lsblk -dpno KNAME,SUBSYSTEMS 2>/dev/null | grep 'vmbus:acpi' | wc -l)
|
||||||
|
MSG+="\Zb${NAME}\Zn\nNumber: ${PORTNUM}\n"
|
||||||
|
NUMPORTS=$((${NUMPORTS} + ${PORTNUM}))
|
||||||
|
fi
|
||||||
MSG+="\n"
|
MSG+="\n"
|
||||||
MSG+="$(printf "$(TEXT "\nTotal of ports: %s\n")" "${NUMPORTS}")"
|
MSG+="$(printf "$(TEXT "\nTotal of ports: %s\n")" "${NUMPORTS}")"
|
||||||
MSG+="$(TEXT "\nPorts with color \Z1red\Zn as DUMMY, color \Z2\Zbgreen\Zn has drive connected.")"
|
MSG+="$(TEXT "\nPorts with color \Z1red\Zn as DUMMY, color \Z2\Zbgreen\Zn has drive connected.")"
|
||||||
|
@ -10,6 +10,11 @@ insmod linux
|
|||||||
insmod gzio
|
insmod gzio
|
||||||
insmod fat
|
insmod fat
|
||||||
insmod ext2
|
insmod ext2
|
||||||
|
insmod ata
|
||||||
|
insmod btrfs
|
||||||
|
insmod ntfs
|
||||||
|
insmod part_msdos
|
||||||
|
insmod part_gpt
|
||||||
insmod png
|
insmod png
|
||||||
insmod jpeg
|
insmod jpeg
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user