Merge pull request #2159 from adamg88/scripts-fixup
scripts: cleanup and fixup subdevice support
This commit is contained in:
commit
005a089292
6 changed files with 105 additions and 53 deletions
|
@ -124,8 +124,11 @@ makeinstall_host() {
|
|||
makeinstall_target() {
|
||||
mkdir -p ${INSTALL}/usr/bin
|
||||
[ ${TARGET_ARCH} = x86_64 ] && cp ${PKG_DIR}/scripts/getedid ${INSTALL}/usr/bin
|
||||
cp ${PKG_DIR}/scripts/dtfile ${INSTALL}/usr/bin
|
||||
cp ${PKG_DIR}/scripts/dtname ${INSTALL}/usr/bin
|
||||
cp ${PKG_DIR}/scripts/dthelper ${INSTALL}/usr/bin
|
||||
ln -sf dthelper ${INSTALL}/usr/bin/dtfile
|
||||
ln -sf dthelper ${INSTALL}/usr/bin/dtflag
|
||||
ln -sf dthelper ${INSTALL}/usr/bin/dtname
|
||||
ln -sf dthelper ${INSTALL}/usr/bin/dtsoc
|
||||
cp ${PKG_DIR}/scripts/lsb_release ${INSTALL}/usr/bin/
|
||||
cp ${PKG_DIR}/scripts/pastebinit ${INSTALL}/usr/bin/
|
||||
ln -sf pastebinit ${INSTALL}/usr/bin/paste
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
COMPATIBLE=$(cat /proc/device-tree/compatible 2>/dev/null | tr -d '\000' | sed -n -e 's/.*\(allwinner\|amlogic\|rockchip\).*/\1/p')
|
||||
|
||||
if [ -n "$COMPATIBLE" ]; then
|
||||
if [ -e /flash/extlinux/extlinux.conf ]; then
|
||||
DTFILE=$(grep FDT /flash/extlinux/extlinux.conf | sed 's, *FDT /dtb/,,g')
|
||||
elif [ -e /flash/boot.ini ]; then
|
||||
DTFILE=$(grep -m 1 dtb_name /flash/boot.ini | cut -d \" -f2 | sed 's,/dtb/,,g')
|
||||
elif [ -e /flash/uEnv.ini ]; then
|
||||
DTFILE=$(grep dtb_name /flash/uEnv.ini | sed 's,dtb_name=/dtb/,,g')
|
||||
else
|
||||
DTFILE=""
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "$DTFILE"
|
93
packages/sysutils/busybox/scripts/dthelper
Executable file
93
packages/sysutils/busybox/scripts/dthelper
Executable file
|
@ -0,0 +1,93 @@
|
|||
#!/bin/bash
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
COMPATIBLE=$(cat /proc/device-tree/compatible 2>/dev/null | tr -d '\000' | sed -n -e 's/.*\(allwinner\|amlogic\|fsl\|nxp\|qcom\|raspberrypi\|rockchip\|samsung\).*/\1/p')
|
||||
|
||||
do_dtfile(){
|
||||
if [[ -n $(find /flash -name extlinux.conf) ]]; then
|
||||
EXTLINUX=$(find /flash -name extlinux.conf)
|
||||
DTFILE=$(grep FDT "${EXTLINUX}" | sed 's,^ *FDT /,,g')
|
||||
elif [ -e /flash/boot.ini ]; then
|
||||
DTFILE=$(grep -m 1 dtb_name /flash/boot.ini | cut -d \" -f2 | sed 's,/dtb/,,g')
|
||||
elif [ -e /flash/uEnv.ini ]; then
|
||||
DTFILE=$(grep dtb_name /flash/uEnv.ini | sed 's,dtb_name=/dtb/,,g')
|
||||
else
|
||||
do_unknown
|
||||
fi
|
||||
echo "${DTFILE}"
|
||||
}
|
||||
|
||||
do_dtflag(){
|
||||
if [ "${COMPATIBLE}" = "raspberrypi" ]; then
|
||||
DTFLAG=$(cat /proc/device-tree/compatible | cut -f1,2 -d',' | head -n 1)
|
||||
PIREV=$(awk '/^Revision/ {sub($3,-6, "", $3); print $3}' /proc/cpuinfo) # truncate to 6-chars
|
||||
case "${PIREV}" in
|
||||
d*)
|
||||
MEMSIZE="-8g"
|
||||
;;
|
||||
c*)
|
||||
MEMSIZE="-4g"
|
||||
;;
|
||||
b*)
|
||||
MEMSIZE="-2g"
|
||||
;;
|
||||
a*)
|
||||
MEMSIZE="-1g"
|
||||
;;
|
||||
*0002|*0003|*0004|*0005|*0006|*0007|*0008|*0009|*0012)
|
||||
MEMSIZE="-256"
|
||||
;;
|
||||
0*|9*)
|
||||
MEMSIZE="-512"
|
||||
;;
|
||||
*)
|
||||
MEMSIZE=""
|
||||
;;
|
||||
esac
|
||||
else
|
||||
DTFLAG=$(cat /proc/device-tree/compatible | cut -f1,2 -d',' | head -n 1)
|
||||
MEMSIZE=$(awk -F " " '/MemTotal:/ {print $2}' /proc/meminfo)
|
||||
if [ "${MEMSIZE}" -lt "524288" ]; then
|
||||
MEMSIZE="-512"
|
||||
else
|
||||
MEMSIZE=""
|
||||
fi
|
||||
fi
|
||||
echo "${DTFLAG}${MEMSIZE}"
|
||||
}
|
||||
|
||||
do_dtname(){
|
||||
DTNAME=$(cat /proc/device-tree/compatible | cut -f1,2 -d',' | head -n 1)
|
||||
echo "${DTNAME}"
|
||||
}
|
||||
|
||||
do_dtsoc(){
|
||||
DTSOC=$(cat /proc/device-tree/compatible | cut -f1,2 -d',' | tail -n 1)
|
||||
echo "${DTSOC}"
|
||||
}
|
||||
|
||||
do_unknown(){
|
||||
echo "unknown"
|
||||
exit 1
|
||||
}
|
||||
|
||||
if [ -n "${COMPATIBLE}" ]; then
|
||||
case $(basename "${0}") in
|
||||
dtfile)
|
||||
do_dtfile
|
||||
;;
|
||||
dtflag)
|
||||
do_dtflag
|
||||
;;
|
||||
dtname)
|
||||
do_dtname
|
||||
;;
|
||||
dtsoc)
|
||||
do_dtsoc
|
||||
;;
|
||||
esac
|
||||
else
|
||||
do_unknown
|
||||
fi
|
|
@ -1,21 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2018 Team LibreELEC (https://libreelec.tv)
|
||||
# Copyright (C) 2018-present Team CoreELEC (https://coreelec.org)
|
||||
|
||||
source /etc/os-release
|
||||
|
||||
if [ "${COREELEC_PROJECT}" = "Amlogic" -o "${COREELEC_PROJECT}" = "Amlogic-ng" ]; then
|
||||
[ -f "/proc/device-tree/coreelec-dt-id" ] && DTNAME=$(cat /proc/device-tree/coreelec-dt-id)
|
||||
[ -f "/proc/device-tree/le-dt-id" ] && DTNAME=$(cat /proc/device-tree/le-dt-id)
|
||||
else
|
||||
COMPATIBLE=$(cat /proc/device-tree/compatible 2>/dev/null | tr -d '\000' | sed -n -e 's/.*\(allwinner\|amlogic\|rockchip\).*/\1/p')
|
||||
[ -n "$COMPATIBLE" ] && DTNAME=$(cat /proc/device-tree/compatible | cut -f1,2 -d',' | head -n 1)
|
||||
fi
|
||||
|
||||
if [ -n "$DTNAME" ]; then
|
||||
echo "$DTNAME"
|
||||
else
|
||||
echo "unknown"
|
||||
fi
|
|
@ -316,7 +316,6 @@ if [ "${1}" = "release" -o "${1}" = "mkimage" -o "${1}" = "noobs" ]; then
|
|||
do_mkimage "${IMAGE_NAME}-${DEVICE}"
|
||||
else
|
||||
if [ -n "${SUBDEVICES}" ]; then
|
||||
[ "${PROJECT}" = "Amlogic" -o "${PROJECT}" = "Amlogic-ng" ] && SUBDEVICES+=" Generic"
|
||||
for SUBDEVICE in ${SUBDEVICES}; do
|
||||
do_mkimage "${IMAGE_NAME}"
|
||||
done
|
||||
|
|
|
@ -230,18 +230,16 @@ EOF
|
|||
mcopy -s "${RELEASE_DIR}/3rdparty/bootloader/overlays" ::
|
||||
fi
|
||||
|
||||
elif [ "${BOOTLOADER}" = "u-boot" -a \( -n "${UBOOT_CONFIG}" -o "${UBOOT_VERSION}" = "vendor" \) ]; then
|
||||
elif [ "${BOOTLOADER}" = "u-boot" -a \( -n "${UBOOT_CONFIG}" -o -n "${SUBDEVICE}" \) ]; then
|
||||
# create bootloader configuration
|
||||
echo "image: creating bootloader configuration... (u-boot)"
|
||||
|
||||
if [ "${UBOOT_VERSION}" != "vendor" ]; then
|
||||
for DTB in ${DEVICE_DTB[@]}
|
||||
do
|
||||
if [ -f "${RELEASE_DIR}/3rdparty/bootloader/${DTB}.dtb" ]; then
|
||||
mcopy "${RELEASE_DIR}/3rdparty/bootloader/${DTB}.dtb" ::
|
||||
fi
|
||||
done
|
||||
fi
|
||||
for DTB in ${DEVICE_DTB[@]}
|
||||
do
|
||||
if [ -f "${RELEASE_DIR}/3rdparty/bootloader/${DTB}.dtb" ]; then
|
||||
mcopy "${RELEASE_DIR}/3rdparty/bootloader/${DTB}.dtb" ::
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -f "${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/bootloader/mkimage" ]; then
|
||||
. "${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/bootloader/mkimage"
|
||||
|
|
Loading…
Reference in a new issue