From e40bd96a1551943357901d47053ece5673baee70 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Thu, 9 Nov 2017 08:34:58 -0800 Subject: [PATCH] Odroid_C2: allow using new u-boot method --- projects/Odroid_C2/bootloader/mkimage | 32 +++++++++++++++++++ projects/Odroid_C2/bootloader/release | 11 ++----- .../update-c2.sh => bootloader/update.sh} | 24 ++++---------- projects/Odroid_C2/packages/u-boot/package.mk | 16 ++-------- 4 files changed, 45 insertions(+), 38 deletions(-) create mode 100644 projects/Odroid_C2/bootloader/mkimage rename projects/Odroid_C2/{packages/u-boot/scripts/update-c2.sh => bootloader/update.sh} (58%) mode change 100644 => 100755 diff --git a/projects/Odroid_C2/bootloader/mkimage b/projects/Odroid_C2/bootloader/mkimage new file mode 100644 index 0000000000..1b88012d13 --- /dev/null +++ b/projects/Odroid_C2/bootloader/mkimage @@ -0,0 +1,32 @@ +#!/bin/bash +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC +# +# LibreELEC is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# LibreELEC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LibreELEC. If not, see . +################################################################################ + +if [ -f "$RELEASE_DIR/3rdparty/bootloader/u-boot.bin" ]; then + echo "Writing u-boot to $(basename $DISK)" + dd if="$RELEASE_DIR/3rdparty/bootloader/u-boot.bin" of="$DISK" conv=fsync,notrunc bs=1 count=112 >"$SAVE_ERROR" 2>&1 || show_error + dd if="$RELEASE_DIR/3rdparty/bootloader/u-boot.bin" of="$DISK" conv=fsync,notrunc bs=512 skip=1 seek=1 >"$SAVE_ERROR" 2>&1 || show_error +fi + +if [ -f "$RELEASE_DIR/3rdparty/bootloader/boot.ini" ]; then + mcopy $RELEASE_DIR/3rdparty/bootloader/boot.ini :: +fi + +if [ -f "$RELEASE_DIR/3rdparty/bootloader/meson64_odroidc2.dtb" ]; then + mcopy $RELEASE_DIR/3rdparty/bootloader/meson64_odroidc2.dtb :: +fi diff --git a/projects/Odroid_C2/bootloader/release b/projects/Odroid_C2/bootloader/release index c3e9af0c98..5a511ae6d0 100755 --- a/projects/Odroid_C2/bootloader/release +++ b/projects/Odroid_C2/bootloader/release @@ -21,11 +21,6 @@ . config/options $1 mkdir -p $RELEASE_DIR/3rdparty/bootloader - cp -PR $BUILD/linux-*/arch/$TARGET_KERNEL_ARCH/boot/dts/*.dtb $RELEASE_DIR/3rdparty/bootloader 2>/dev/null || : - cp -PR $BUILD/$BOOTLOADER-*/u-boot.bin $RELEASE_DIR/3rdparty/bootloader/u-boot - cp -PR $PROJECT_DIR/$PROJECT/bootloader/boot.ini $RELEASE_DIR/3rdparty/bootloader - if [ -f $PROJECT_DIR/$PROJECT/splash/boot-logo.bmp.gz ]; then - cp -PR $PROJECT_DIR/$PROJECT/splash/boot-logo.bmp.gz $RELEASE_DIR/3rdparty/bootloader - elif [ -f $DISTRO_DIR/$DISTRO/splash/boot-logo.bmp.gz ]; then - cp -PR $DISTRO_DIR/$DISTRO/splash/boot-logo.bmp.gz $RELEASE_DIR/3rdparty/bootloader - fi + cp -a $(get_build_dir linux)/arch/$TARGET_KERNEL_ARCH/boot/dts/meson64_odroidc2.dtb $RELEASE_DIR/3rdparty/bootloader + cp -a $(get_build_dir $BOOTLOADER)/u-boot.bin $RELEASE_DIR/3rdparty/bootloader + cp -a $PROJECT_DIR/$PROJECT/bootloader/boot.ini $RELEASE_DIR/3rdparty/bootloader diff --git a/projects/Odroid_C2/packages/u-boot/scripts/update-c2.sh b/projects/Odroid_C2/bootloader/update.sh old mode 100644 new mode 100755 similarity index 58% rename from projects/Odroid_C2/packages/u-boot/scripts/update-c2.sh rename to projects/Odroid_C2/bootloader/update.sh index 4593a2ba0a..67982eefac --- a/projects/Odroid_C2/packages/u-boot/scripts/update-c2.sh +++ b/projects/Odroid_C2/bootloader/update.sh @@ -1,5 +1,4 @@ #!/bin/sh - ################################################################################ # This file is part of LibreELEC - https://libreelec.tv # Copyright (C) 2016-present Team LibreELEC @@ -36,7 +35,7 @@ fi mount -o remount,rw $BOOT_ROOT # update Device Tree Blobs - for all_dtb in /flash/*.dtb /flash/DTB; do + for all_dtb in /flash/*.dtb; do dtb=$(basename $all_dtb) if [ -f $SYSTEM_ROOT/usr/share/bootloader/$dtb ]; then echo "*** updating Device Tree Blob: $dtb ..." @@ -44,21 +43,12 @@ fi fi done -if [ -f $SYSTEM_ROOT/usr/share/bootloader/boot-logo.bmp.gz ]; then - echo "*** updating boot logo ..." - cp -p $SYSTEM_ROOT/usr/share/bootloader/boot-logo.bmp.gz $BOOT_ROOT -fi - -echo "*** updating u-boot for Odroid on: $BOOT_DISK ..." - -dd if=$SYSTEM_ROOT/usr/share/bootloader/u-boot of=$BOOT_DISK conv=fsync bs=1 count=112 -dd if=$SYSTEM_ROOT/usr/share/bootloader/u-boot of=$BOOT_DISK conv=fsync bs=512 skip=1 seek=1 - -# monkey patch boot.ini for updated kernel - sed -i 's|setenv odroidp1 "no_console_suspend hdmimode=${video_output} m_bpp=${video_bpp} vout=${video_mode}"|setenv odroidp1 "no_console_suspend logo=${logoopt} vout=${outputmode},enable hdmimode=${hdmimode} cvbsmode=nocvbs"|' /flash/boot.ini - sed -i 's|setenv odroidp2 "${disableuhs} consoleblank=0|setenv odroidp2 "mac=${ethaddr} consoleblank=0|' /flash/boot.ini - sed -i 's|setenv bootcmd "${kernel}; ${dtb}; ${timer}; ${bootseq}"|setenv bootcmd "${kernel}; ${dtb}; ${bootseq}"|' /flash/boot.ini - sed -i 's|setenv bootargs "${console} ${bootrootfs} ${odroid} ${cec} ${hpd} ${dac} ${libreelec}"|setenv bootargs "${console} ${bootrootfs} ${odroid} ${cec} ${libreelec}"|' /flash/boot.ini +# update bootloader files + if [ -f $SYSTEM_ROOT/usr/share/bootloader/u-boot.bin ]; then + echo "*** updating u-boot image ..." + dd if=$SYSTEM_ROOT/usr/share/bootloader/u-boot.bin of="$BOOT_DISK" conv=fsync,notrunc bs=1 count=112 &>/dev/null + dd if=$SYSTEM_ROOT/usr/share/bootloader/u-boot.bin of="$BOOT_DISK" conv=fsync,notrunc bs=512 skip=1 seek=1 &>/dev/null + fi # mount $BOOT_ROOT r/o sync diff --git a/projects/Odroid_C2/packages/u-boot/package.mk b/projects/Odroid_C2/packages/u-boot/package.mk index 4c09a6c079..1e8ee59515 100644 --- a/projects/Odroid_C2/packages/u-boot/package.mk +++ b/projects/Odroid_C2/packages/u-boot/package.mk @@ -53,18 +53,8 @@ make_target() { } makeinstall_target() { - mkdir -p $TOOLCHAIN/bin - cp build/tools/mkimage $TOOLCHAIN/bin - mkdir -p $INSTALL/usr/share/bootloader - - cp $PKG_BUILD/$UBOOT_CONFIGFILE $INSTALL/usr/share/bootloader 2>/dev/null || : - - cp -PRv $PKG_DIR/scripts/update-c2.sh $INSTALL/usr/share/bootloader/update.sh - cp -PRv $PKG_BUILD/u-boot.bin $INSTALL/usr/share/bootloader/u-boot - if [ -f $PROJECT_DIR/$PROJECT/splash/boot-logo.bmp.gz ]; then - cp -PRv $PROJECT_DIR/$PROJECT/splash/boot-logo.bmp.gz $INSTALL/usr/share/bootloader - elif [ -f $DISTRO_DIR/$DISTRO/splash/boot-logo.bmp.gz ]; then - cp -PRv $DISTRO_DIR/$DISTRO/splash/boot-logo.bmp.gz $INSTALL/usr/share/bootloader - fi + cp $PROJECT_DIR/$PROJECT/bootloader/boot.ini $INSTALL/usr/share/bootloader + cp -av $PKG_BUILD/u-boot.bin $INSTALL/usr/share/bootloader + cp -av $PROJECT_DIR/$PROJECT/bootloader/update.sh $INSTALL/usr/share/bootloader }