diff --git a/distributions/LibreELEC/options b/distributions/LibreELEC/options index 22a34534e6..166882daab 100644 --- a/distributions/LibreELEC/options +++ b/distributions/LibreELEC/options @@ -210,3 +210,7 @@ # Default supported get handlers (archive, git, file etc.) GET_HANDLER_SUPPORT="archive" + +# Partition labels for USB/SD installation media + DISTRO_BOOTLABEL="LIBREELEC" + DISTRO_DISKLABEL="STORAGE" diff --git a/packages/sysutils/busybox/package.mk b/packages/sysutils/busybox/package.mk index 601074ca24..63d519ed93 100644 --- a/packages/sysutils/busybox/package.mk +++ b/packages/sysutils/busybox/package.mk @@ -218,6 +218,9 @@ makeinstall_init() { if find_file_path initramfs/platform_init; then cp ${FOUND_PATH} $INSTALL + sed -e "s/@BOOT_LABEL@/$DISTRO_BOOTLABEL/g" \ + -e "s/@DISK_LABEL@/$DISTRO_DISKLABEL/g" \ + -i $INSTALL/platform_init chmod 755 $INSTALL/platform_init fi diff --git a/packages/tools/u-boot/package.mk b/packages/tools/u-boot/package.mk index 67e689aa66..22d094d924 100644 --- a/packages/tools/u-boot/package.mk +++ b/packages/tools/u-boot/package.mk @@ -69,6 +69,20 @@ makeinstall_target() { # Always install the update script find_file_path bootloader/update.sh && cp -av ${FOUND_PATH} $INSTALL/usr/share/bootloader + # Replace partition names in update.sh + if [ -f "$INSTALL/usr/share/bootloader/update.sh" ] ; then + sed -e "s/@BOOT_LABEL@/$DISTRO_BOOTLABEL/g" \ + -e "s/@DISK_LABEL@/$DISTRO_DISKLABEL/g" \ + -i $INSTALL/usr/share/bootloader/update.sh + fi + + # Replace labels in boot.ini + if [ -f "$INSTALL/usr/share/bootloader/boot.ini" ] ; then + sed -e "s/@BOOT_LABEL@/$DISTRO_BOOTLABEL/g" \ + -e "s/@DISK_LABEL@/$DISTRO_DISKLABEL/g" \ + -i $INSTALL/usr/share/bootloader/boot.ini + fi + # Always install the canupdate script if find_file_path bootloader/canupdate.sh; then cp -av ${FOUND_PATH} $INSTALL/usr/share/bootloader diff --git a/projects/Amlogic/bootloader/update.sh b/projects/Amlogic/bootloader/update.sh index bd179b39d7..44e9b53865 100755 --- a/projects/Amlogic/bootloader/update.sh +++ b/projects/Amlogic/bootloader/update.sh @@ -44,10 +44,10 @@ for arg in $(cat /proc/cmdline); do boot="${arg#*=}" case $boot in /dev/mmc*) - LD_LIBRARY_PATH="$SYSTEM_ROOT/lib" $SYSTEM_ROOT/usr/sbin/fatlabel $boot "LIBREELEC" + LD_LIBRARY_PATH="$SYSTEM_ROOT/lib" $SYSTEM_ROOT/usr/sbin/fatlabel $boot "@BOOT_LABEL@" ;; LABEL=*) - LD_LIBRARY_PATH="$SYSTEM_ROOT/lib" $SYSTEM_ROOT/usr/sbin/fatlabel $($SYSTEM_ROOT/usr/sbin/findfs $boot) "LIBREELEC" + LD_LIBRARY_PATH="$SYSTEM_ROOT/lib" $SYSTEM_ROOT/usr/sbin/fatlabel $($SYSTEM_ROOT/usr/sbin/findfs $boot) "@BOOT_LABEL@" ;; esac @@ -91,10 +91,10 @@ for arg in $(cat /proc/cmdline); do disk="${arg#*=}" case $disk in /dev/mmc*) - LD_LIBRARY_PATH="$SYSTEM_ROOT/lib" $SYSTEM_ROOT/usr/sbin/e2label $disk "STORAGE" + LD_LIBRARY_PATH="$SYSTEM_ROOT/lib" $SYSTEM_ROOT/usr/sbin/e2label $disk "@DISK_LABEL@" ;; LABEL=*) - LD_LIBRARY_PATH="$SYSTEM_ROOT/lib" $SYSTEM_ROOT/usr/sbin/e2label $($SYSTEM_ROOT/usr/sbin/findfs $disk) "STORAGE" + LD_LIBRARY_PATH="$SYSTEM_ROOT/lib" $SYSTEM_ROOT/usr/sbin/e2label $($SYSTEM_ROOT/usr/sbin/findfs $disk) "@DISK_LABEL@" ;; esac ;; diff --git a/projects/Amlogic/devices/KVIM/bootloader/boot.ini b/projects/Amlogic/devices/KVIM/bootloader/boot.ini index 43e173e4e2..a11d85d5da 100644 --- a/projects/Amlogic/devices/KVIM/bootloader/boot.ini +++ b/projects/Amlogic/devices/KVIM/bootloader/boot.ini @@ -8,7 +8,7 @@ #------------------------------------------------------------------------------------------------------ KHADAS-UBOOT-CONFIG -setenv bootrootfs "BOOT_IMAGE=kernel.img boot=LABEL=LIBREELEC disk=LABEL=STORAGE" +setenv bootrootfs "BOOT_IMAGE=kernel.img boot=LABEL=@BOOT_LABEL@ disk=LABEL=@DISK_LABEL@" setenv condev "ttyS0,115200" setenv hdmimode "1080p60hz" setenv hdmioutput "1" diff --git a/projects/Amlogic/devices/KVIM2/bootloader/boot.ini b/projects/Amlogic/devices/KVIM2/bootloader/boot.ini index 43e173e4e2..a11d85d5da 100644 --- a/projects/Amlogic/devices/KVIM2/bootloader/boot.ini +++ b/projects/Amlogic/devices/KVIM2/bootloader/boot.ini @@ -8,7 +8,7 @@ #------------------------------------------------------------------------------------------------------ KHADAS-UBOOT-CONFIG -setenv bootrootfs "BOOT_IMAGE=kernel.img boot=LABEL=LIBREELEC disk=LABEL=STORAGE" +setenv bootrootfs "BOOT_IMAGE=kernel.img boot=LABEL=@BOOT_LABEL@ disk=LABEL=@DISK_LABEL@" setenv condev "ttyS0,115200" setenv hdmimode "1080p60hz" setenv hdmioutput "1" diff --git a/projects/Amlogic/devices/LePotato/bootloader/boot.ini b/projects/Amlogic/devices/LePotato/bootloader/boot.ini index d27a75a60b..91c080a013 100644 --- a/projects/Amlogic/devices/LePotato/bootloader/boot.ini +++ b/projects/Amlogic/devices/LePotato/bootloader/boot.ini @@ -8,7 +8,7 @@ #------------------------------------------------------------------------------------------------------ LIBRETECH-UBOOT-CONFIG -setenv bootrootfs "BOOT_IMAGE=kernel.img boot=LABEL=LIBREELEC disk=LABEL=STORAGE" +setenv bootrootfs "BOOT_IMAGE=kernel.img boot=LABEL=@BOOT_LABEL@ disk=LABEL=@DISK_LABEL@" setenv condev "ttyS0,115200" setenv hdmimode "1080p60hz" setenv hdmioutput "1" diff --git a/projects/Amlogic/devices/Odroid_C2/bootloader/boot.ini b/projects/Amlogic/devices/Odroid_C2/bootloader/boot.ini index 95db1970b1..a96615c33e 100644 --- a/projects/Amlogic/devices/Odroid_C2/bootloader/boot.ini +++ b/projects/Amlogic/devices/Odroid_C2/bootloader/boot.ini @@ -8,7 +8,7 @@ #------------------------------------------------------------------------------------------------------ ODROIDC2-UBOOT-CONFIG -setenv bootrootfs "BOOT_IMAGE=KERNEL boot=LABEL=LIBREELEC disk=LABEL=STORAGE" +setenv bootrootfs "BOOT_IMAGE=KERNEL boot=LABEL=@BOOT_LABEL@ disk=LABEL=@DISK_LABEL@" setenv condev "ttyS0,115200" setenv hdmimode "1080p60hz" setenv hdmioutput "1" diff --git a/projects/Amlogic/initramfs/platform_init b/projects/Amlogic/initramfs/platform_init index b82a0a71e7..b98b0fd07d 100755 --- a/projects/Amlogic/initramfs/platform_init +++ b/projects/Amlogic/initramfs/platform_init @@ -44,7 +44,7 @@ done if [ -z "$BOOT_IMAGE" -o -z "$boot" -o -z "$disk" ]; then cmdline=$(cat /proc/cmdline) if [ -n "$bootfromext" ]; then - cmdline="$cmdline BOOT_IMAGE=kernel.img boot=LABEL=LIBREELEC disk=LABEL=STORAGE" + cmdline="$cmdline BOOT_IMAGE=kernel.img boot=LABEL=@BOOT_LABEL@ disk=LABEL=@DISK_LABEL@" else cmdline="$cmdline BOOT_IMAGE=/dev/boot boot=/dev/system disk=/dev/data" fi diff --git a/projects/Amlogic/packages/u-boot/package.mk b/projects/Amlogic/packages/u-boot/package.mk index 5451747d14..557f94f98c 100644 --- a/projects/Amlogic/packages/u-boot/package.mk +++ b/projects/Amlogic/packages/u-boot/package.mk @@ -89,4 +89,18 @@ makeinstall_target() { cp -av $PKG_BUILD/fip/u-boot.bin.sd.bin $INSTALL/usr/share/bootloader/u-boot ;; esac + + # Replace partition names in update.sh + if [ -f "$INSTALL/usr/share/bootloader/update.sh" ] ; then + sed -e "s/@BOOT_LABEL@/$DISTRO_BOOTLABEL/g" \ + -e "s/@DISK_LABEL@/$DISTRO_DISKLABEL/g" \ + -i $INSTALL/usr/share/bootloader/update.sh + fi + + # Replace labels in boot.ini + if [ -f "$INSTALL/usr/share/bootloader/boot.ini" ] ; then + sed -e "s/@BOOT_LABEL@/$DISTRO_BOOTLABEL/g" \ + -e "s/@DISK_LABEL@/$DISTRO_DISKLABEL/g" \ + -i $INSTALL/usr/share/bootloader/boot.ini + fi } diff --git a/scripts/mkimage b/scripts/mkimage index 6b40b94040..e482defaa6 100755 --- a/scripts/mkimage +++ b/scripts/mkimage @@ -71,8 +71,6 @@ trap cleanup SIGINT UUID_2=$(date '+%M%S') FAT_SERIAL_NUMBER="${UUID_1}${UUID_2}" UUID_SYSTEM="${UUID_1}-${UUID_2}" - FAT_VOLUME_LABEL="LIBREELEC" - STORAGE_VOLUME_LABEL="STORAGE" # create an image echo @@ -129,7 +127,7 @@ fi alias mmd="mmd -i $DISK@@$OFFSET" if [ "$BOOTLOADER" = "syslinux" -o "$BOOTLOADER" = "bcm2835-bootloader" -o "$BOOTLOADER" = "u-boot" ]; then - mformat -v "$FAT_VOLUME_LABEL" -N "$FAT_SERIAL_NUMBER" :: + mformat -v "$DISTRO_BOOTLABEL" -N "$FAT_SERIAL_NUMBER" :: fi sync @@ -277,7 +275,7 @@ fi # bootloader # create filesystem on part2 echo "image: creating filesystem on part2..." mke2fs -F -q -t ext4 -m 0 "$LE_TMP/part2.ext4" - tune2fs -L "$STORAGE_VOLUME_LABEL" -U $UUID_STORAGE "$LE_TMP/part2.ext4" >"$SAVE_ERROR" 2>&1 || show_error + tune2fs -L "$DISTRO_DISKLABEL" -U $UUID_STORAGE "$LE_TMP/part2.ext4" >"$SAVE_ERROR" 2>&1 || show_error e2fsck -n "$LE_TMP/part2.ext4" >"$SAVE_ERROR" 2>&1 || show_error sync