Merge pull request #4675 from chewitt/dthelper92

busybox: rework device-tree helper scripts
This commit is contained in:
CvH 2020-12-19 06:34:29 +01:00 committed by GitHub
commit e024d217fe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 99 additions and 36 deletions

View File

@ -124,13 +124,16 @@ makeinstall_target() {
mkdir -p $INSTALL/usr/bin
[ $TARGET_ARCH = x86_64 ] && cp $PKG_DIR/scripts/getedid $INSTALL/usr/bin
cp $PKG_DIR/scripts/createlog $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/apt-get $INSTALL/usr/bin/
cp $PKG_DIR/scripts/sudo $INSTALL/usr/bin/
cp $PKG_DIR/scripts/pastebinit $INSTALL/usr/bin/
ln -sf pastebinit $INSTALL/usr/bin/paste
ln -sf pastebinit $INSTALL/usr/bin/paste
mkdir -p $INSTALL/usr/lib/libreelec
cp $PKG_DIR/scripts/functions $INSTALL/usr/lib/libreelec

View File

@ -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"

View 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\|raspberrypi\|rockchip\).*/\1/p')
do_dtfile(){
if [ -e /flash/extlinux/extlinux.conf ]; then
DTFILE=$(grep FDT /flash/extlinux/extlinux.conf | 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=$(( $MEMSIZE / ( 1024 * 1024 ) + 1 ))
MEMSIZE="-${MEMSIZE}g"
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

View File

@ -1,13 +0,0 @@
#!/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\|rockchip\).*/\1/p')
if [ -n "$COMPATIBLE" ]; then
DTNAME=$(cat /proc/device-tree/compatible | cut -f1,2 -d',' | head -n 1)
echo "$DTNAME"
else
echo "unknown"
fi