diff --git a/projects/ROCKNIX/devices/SM8250/bootloader/update.sh b/projects/ROCKNIX/devices/SM8250/bootloader/update.sh index 3fe9cef7e7..a668691a46 100755 --- a/projects/ROCKNIX/devices/SM8250/bootloader/update.sh +++ b/projects/ROCKNIX/devices/SM8250/bootloader/update.sh @@ -48,6 +48,10 @@ if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/grub/grubenv" ]; then fi fi +if [ -f "$BOOT_ROOT/rocknix-abl" ]; then + . $SYSTEM_ROOT/usr/bin/updateabl +fi + # mount $BOOT_ROOT ro sync mount -o remount,ro $BOOT_ROOT diff --git a/projects/ROCKNIX/devices/SM8550/bootloader/update.sh b/projects/ROCKNIX/devices/SM8550/bootloader/update.sh index 3c9bdc7e98..77b6f422d7 100755 --- a/projects/ROCKNIX/devices/SM8550/bootloader/update.sh +++ b/projects/ROCKNIX/devices/SM8550/bootloader/update.sh @@ -48,6 +48,10 @@ if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/grub/grubenv" ]; then fi fi +if [ -f "$BOOT_ROOT/rocknix-abl" ]; then + . $SYSTEM_ROOT/usr/bin/updateabl +fi + # mount $BOOT_ROOT ro sync mount -o remount,ro $BOOT_ROOT diff --git a/projects/ROCKNIX/devices/SM8650/bootloader/update.sh b/projects/ROCKNIX/devices/SM8650/bootloader/update.sh index 3c9bdc7e98..77b6f422d7 100755 --- a/projects/ROCKNIX/devices/SM8650/bootloader/update.sh +++ b/projects/ROCKNIX/devices/SM8650/bootloader/update.sh @@ -48,6 +48,10 @@ if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/grub/grubenv" ]; then fi fi +if [ -f "$BOOT_ROOT/rocknix-abl" ]; then + . $SYSTEM_ROOT/usr/bin/updateabl +fi + # mount $BOOT_ROOT ro sync mount -o remount,ro $BOOT_ROOT diff --git a/projects/ROCKNIX/packages/rocknix/sources/scripts/updateabl b/projects/ROCKNIX/packages/rocknix/sources/scripts/updateabl index 2ecfe06c9f..90f6f15819 100755 --- a/projects/ROCKNIX/packages/rocknix/sources/scripts/updateabl +++ b/projects/ROCKNIX/packages/rocknix/sources/scripts/updateabl @@ -1,10 +1,10 @@ -#!/bin/bash +#!/bin/sh # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2024-present ROCKNIX (https://github.com/ROCKNIX) # -# This script will update the ABL on the internal UFS. +# This script will update the ABL on the internal eMMC/UFS. -set -euo pipefail +. $SYSTEM_ROOT/etc/os-release case "$HW_DEVICE" in SM6115|SM8250|SM8550|SM8650) @@ -15,24 +15,22 @@ case "$HW_DEVICE" in ;; esac -ELF="/usr/share/bootloader/rocknix_abl/abl_signed.elf" - -ABL_A="/dev/disk/by-partlabel/abl_a" -ABL_B="/dev/disk/by-partlabel/abl_b" - # ---- Sanity checks ---- +ELF="$SYSTEM_ROOT/usr/share/bootloader/rocknix_abl/abl_signed.elf" if [ ! -f "${ELF}" ]; then echo "Error: ABL update not found" exit 1 fi +ABL_A="$($SYSTEM_ROOT/usr/sbin/blkid -t PARTLABEL=abl_a -o device)" +ABL_B="$($SYSTEM_ROOT/usr/sbin/blkid -t PARTLABEL=abl_b -o device)" if [ ! -b "${ABL_A}" ] || [ ! -b "${ABL_B}" ]; then echo "Error: ABL partitions not found" exit 1 fi # ---- Get sector size ---- -SS="$(blockdev --getss "${ABL_A}")" +SS="$($SYSTEM_ROOT/usr/sbin/blockdev --getss "${ABL_A}")" if [ -z "${SS}" ]; then echo "Error: failed to get sector size" exit 1 @@ -45,4 +43,4 @@ dd if="${ELF}" of="${ABL_B}" bs="${SS}" conv=fsync,notrunc status=none sync -echo "ABL update completed successfully." +echo "ABL update completed successfully..." diff --git a/projects/ROCKNIX/packages/sysutils/busybox/config/busybox-init.conf b/projects/ROCKNIX/packages/sysutils/busybox/config/busybox-init.conf index b5cf559cb5..6fce4c44a6 100644 --- a/projects/ROCKNIX/packages/sysutils/busybox/config/busybox-init.conf +++ b/projects/ROCKNIX/packages/sysutils/busybox/config/busybox-init.conf @@ -605,8 +605,8 @@ CONFIG_DEFAULT_DEPMOD_FILE="" # CONFIG_ACPID is not set # CONFIG_FEATURE_ACPID_COMPAT is not set # CONFIG_BLKDISCARD is not set -CONFIG_BLKID=y -CONFIG_FEATURE_BLKID_TYPE=y +# CONFIG_BLKID is not set +# CONFIG_FEATURE_BLKID_TYPE is not set CONFIG_BLOCKDEV=y # CONFIG_CAL is not set # CONFIG_CHRT is not set diff --git a/projects/ROCKNIX/packages/sysutils/busybox/package.mk b/projects/ROCKNIX/packages/sysutils/busybox/package.mk index cf1fed9849..17f0219b63 100644 --- a/projects/ROCKNIX/packages/sysutils/busybox/package.mk +++ b/projects/ROCKNIX/packages/sysutils/busybox/package.mk @@ -207,6 +207,9 @@ makeinstall_init() { ln -sf busybox ${INSTALL}/usr/bin/bc chmod 4755 ${INSTALL}/usr/bin/busybox + mkdir -p ${INSTALL}/usr/sbin + ln -sf /usr/bin/busybox ${INSTALL}/usr/sbin/blockdev + mkdir -p ${INSTALL}/etc touch ${INSTALL}/etc/fstab ln -sf /proc/self/mounts ${INSTALL}/etc/mtab diff --git a/projects/ROCKNIX/packages/sysutils/util-linux/package.mk b/projects/ROCKNIX/packages/sysutils/util-linux/package.mk index 15074be664..2d05df5bb0 100644 --- a/projects/ROCKNIX/packages/sysutils/util-linux/package.mk +++ b/projects/ROCKNIX/packages/sysutils/util-linux/package.mk @@ -78,7 +78,8 @@ PKG_CONFIGURE_OPTS_HOST="--enable-shared \ PKG_CONFIGURE_OPTS_INIT="${UTILLINUX_CONFIG_DEFAULT} \ --enable-libblkid \ --enable-libmount \ - --enable-fsck" + --enable-fsck \ + --enable-blkid" if [ "${INITRAMFS_PARTED_SUPPORT}" = "yes" ]; then PKG_CONFIGURE_OPTS_INIT+=" --enable-mkfs --enable-libuuid --enable-btrfs"