diff --git a/packages/tools/bcm2835-bootloader/package.mk b/packages/tools/bcm2835-bootloader/package.mk index 972aca1e11..dd28f623a9 100644 --- a/packages/tools/bcm2835-bootloader/package.mk +++ b/packages/tools/bcm2835-bootloader/package.mk @@ -22,7 +22,8 @@ makeinstall_target() { find_file_path config/dt-blob.bin && cp -PRv $FOUND_PATH $INSTALL/usr/share/bootloader - cp -PRv $PKG_DIR/scripts/update.sh $INSTALL/usr/share/bootloader + find_file_path bootloader/update.sh && cp -PRv $FOUND_PATH $INSTALL/usr/share/bootloader + find_file_path bootloader/canupdate.sh && cp -PRv $FOUND_PATH $INSTALL/usr/share/bootloader find_file_path config/distroconfig.txt $PKG_DIR/files/3rdparty/bootloader/distroconfig.txt && cp -PRv ${FOUND_PATH} $INSTALL/usr/share/bootloader find_file_path config/config.txt $PKG_DIR/files/3rdparty/bootloader/config.txt && cp -PRv ${FOUND_PATH} $INSTALL/usr/share/bootloader diff --git a/packages/tools/bcm2835-bootloader/scripts/update.sh b/packages/tools/bcm2835-bootloader/scripts/update.sh deleted file mode 100755 index ead9443504..0000000000 --- a/packages/tools/bcm2835-bootloader/scripts/update.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/sh - -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv) - -[ -z "$BOOT_ROOT" ] && BOOT_ROOT="/flash" -[ -z "$SYSTEM_ROOT" ] && SYSTEM_ROOT="" - -# mount $BOOT_ROOT r/w - mount -o remount,rw $BOOT_ROOT - -# Something has gone horribly wrong... clean up - [ -s $BOOT_ROOT/overlays ] || rm -fr $BOOT_ROOT/overlays $BOOT_ROOT/FSCK*.REC - -# update bootloader files - cp -p $SYSTEM_ROOT/usr/share/bootloader/LICENCE* $BOOT_ROOT - cp -p $SYSTEM_ROOT/usr/share/bootloader/bootcode.bin $BOOT_ROOT - cp -p $SYSTEM_ROOT/usr/share/bootloader/fixup.dat $BOOT_ROOT - cp -p $SYSTEM_ROOT/usr/share/bootloader/start.elf $BOOT_ROOT - [ -f $SYSTEM_ROOT/usr/share/bootloader/dt-blob.bin ] && cp -p $SYSTEM_ROOT/usr/share/bootloader/dt-blob.bin $BOOT_ROOT - - rm -f $BOOT_ROOT/bcm283*.dtb # cleanup excess dtb's used by upstream kernels (ie. not LE) - cp -p $SYSTEM_ROOT/usr/share/bootloader/*.dtb $BOOT_ROOT - cp -pR $SYSTEM_ROOT/usr/share/bootloader/overlays $BOOT_ROOT - -# cleanup not more needed files - rm -rf $BOOT_ROOT/loader.bin - rm -rf $BOOT_ROOT/fixup_x.dat - rm -rf $BOOT_ROOT/start_x.elf - -# some config.txt magic - if [ ! -f $BOOT_ROOT/config.txt ]; then - cp -p $SYSTEM_ROOT/usr/share/bootloader/config.txt $BOOT_ROOT - elif [ -z "`grep "^[ ]*gpu_mem.*" $BOOT_ROOT/config.txt`" ]; then - mv $BOOT_ROOT/config.txt $BOOT_ROOT/config.txt.bk - cat $SYSTEM_ROOT/usr/share/bootloader/config.txt \ - $BOOT_ROOT/config.txt.bk > $BOOT_ROOT/config.txt -# else -# sed -e "s,gpu_mem=100,gpu_mem=128,g" -i $BOOT_ROOT/config.txt -# sed -e "s,gpu_mem_256=100,# gpu_mem_256=128,g" -i $BOOT_ROOT/config.txt -# sed -e "s,gpu_mem_512=128,# gpu_mem_512=128,g" -i $BOOT_ROOT/config.txt - # Add distribution specific extra configuration file for the bootloader - fi - -# Add distro config file. - if [ -f $SYSTEM_ROOT/usr/share/bootloader/distroconfig.txt ]; then - cp -p $SYSTEM_ROOT/usr/share/bootloader/distroconfig.txt $BOOT_ROOT - fi - -# mount $BOOT_ROOT r/o - sync - mount -o remount,ro $BOOT_ROOT diff --git a/projects/RPi/bootloader/update.sh b/projects/RPi/bootloader/update.sh new file mode 100755 index 0000000000..058d357a9d --- /dev/null +++ b/projects/RPi/bootloader/update.sh @@ -0,0 +1,47 @@ +#!/bin/sh + +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv) + +[ -z "$BOOT_ROOT" ] && BOOT_ROOT="/flash" +[ -z "$SYSTEM_ROOT" ] && SYSTEM_ROOT="" + +# mount $BOOT_ROOT r/w +mount -o remount,rw $BOOT_ROOT + +# Something has gone horribly wrong... clean up +[ -s $BOOT_ROOT/overlays ] || rm -fr $BOOT_ROOT/overlays $BOOT_ROOT/FSCK*.REC + +# update bootloader files +cp -p $SYSTEM_ROOT/usr/share/bootloader/LICENCE* $BOOT_ROOT +cp -p $SYSTEM_ROOT/usr/share/bootloader/bootcode.bin $BOOT_ROOT +cp -p $SYSTEM_ROOT/usr/share/bootloader/fixup.dat $BOOT_ROOT +cp -p $SYSTEM_ROOT/usr/share/bootloader/start.elf $BOOT_ROOT +[ -f $SYSTEM_ROOT/usr/share/bootloader/dt-blob.bin ] && cp -p $SYSTEM_ROOT/usr/share/bootloader/dt-blob.bin $BOOT_ROOT + +rm -f $BOOT_ROOT/bcm283*.dtb # cleanup excess dtb's used by upstream kernels (ie. not LE) +cp -p $SYSTEM_ROOT/usr/share/bootloader/*.dtb $BOOT_ROOT +cp -pR $SYSTEM_ROOT/usr/share/bootloader/overlays $BOOT_ROOT + +# cleanup unneeded files +rm -rf $BOOT_ROOT/loader.bin +rm -rf $BOOT_ROOT/fixup_x.dat +rm -rf $BOOT_ROOT/start_x.elf + +# some config.txt magic +if [ ! -f $BOOT_ROOT/config.txt ]; then + cp -p $SYSTEM_ROOT/usr/share/bootloader/config.txt $BOOT_ROOT +elif [ -z "`grep "^[ ]*gpu_mem.*" $BOOT_ROOT/config.txt`" ]; then + mv $BOOT_ROOT/config.txt $BOOT_ROOT/config.txt.bk + cat $SYSTEM_ROOT/usr/share/bootloader/config.txt \ + $BOOT_ROOT/config.txt.bk > $BOOT_ROOT/config.txt +fi + +# Add distro config file +if [ -f $SYSTEM_ROOT/usr/share/bootloader/distroconfig.txt ]; then + cp -p $SYSTEM_ROOT/usr/share/bootloader/distroconfig.txt $BOOT_ROOT +fi + +# mount $BOOT_ROOT r/o +sync +mount -o remount,ro $BOOT_ROOT