filesystem: added support to upgrade BeagleBone Black bootloader.

This commit is contained in:
Ricardo Martins 2014-04-24 18:20:33 +01:00
parent b356406c7e
commit 178dfec636

View File

@ -6,8 +6,6 @@
#############################################################################
# Author: Ricardo Martins #
#############################################################################
# $Id:: upgrade 1244 2012-10-08 07:21:07Z rasm $:#
#############################################################################
base='/opt/lsts/glued'
hostname="$(hostname)"
@ -111,6 +109,51 @@ kernel_upgrade()
fi
}
bbb_boot_upgrade()
{
# Check if board is a BeagleBone black.
dmesg | grep -i 'machine model' | grep -i beaglebone
if [ $? -ne 0 ]; then
return 0
fi
dev='/dev/mmcblk1p1'
echo -en '* BeagleBone Black: checking eMMC device... '
if ! [ -b "$dev" ]; then
echo 'not present'
return 0
fi
echo 'present'
echo -en "* BeagleBone Black: mounting bootloader partition... "
mount -t vfat "$dev" /mnt > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "failed"
return 0
fi
echo 'done'
for f in MLO u-boot.img; do
if [ -f /mnt/MLO ]; then
echo -en "* BeagleBone Black: Replacing $f... "
cp "$base/.glued-new/boot/$f" /mnt
echo 'done'
fi
done
echo -en "* BeagleBone Black: unmounting bootloader partition... "
umount /mnt > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo 'failed'
return 1
fi
sync && sync && sync && sync
echo 'done'
return 0
}
old_move()
{
echo "* Mounting rootfs read-write..."
@ -158,6 +201,7 @@ start()
version || return 1
kernel_dst || return 1
new_unpack || return 1
bbb_boot_upgrade || return 1
kernel_upgrade || return 1
old_move || return 1
}