filesystem: implemented proper Raspberry Pi 2 upgrade.
This commit is contained in:
parent
06af4b5492
commit
fe76470a31
@ -174,6 +174,71 @@ uboot_part_upgrade_check()
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rpi2_boot_part_upgrade()
|
||||||
|
{
|
||||||
|
label="$1"
|
||||||
|
dev="$2"
|
||||||
|
|
||||||
|
echo -en "* $label: probing bootloader partition... "
|
||||||
|
if ! [ -b "$dev" ]; then
|
||||||
|
echo 'not present'
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
echo 'present'
|
||||||
|
|
||||||
|
echo -en "* $label: 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 bootcode.bin cmdline.txt config.txt fixup.dat start.elf; do
|
||||||
|
if [ -f "/mnt/$f" ]; then
|
||||||
|
echo -en "* $label: Replacing $f... "
|
||||||
|
cp "$base/.glued-new/boot/$f" /mnt
|
||||||
|
echo 'done'
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
dtb="bcm2709-rpi-2-b.dtb"
|
||||||
|
if [ -f "/mnt/$dtb" ]; then
|
||||||
|
echo -en "* $label: Replacing $dtb... "
|
||||||
|
cp "$base/.glued-new/boot/board.dtb" "/mnt/$dtb"
|
||||||
|
echo 'done'
|
||||||
|
fi
|
||||||
|
|
||||||
|
kernel='kernel7.img'
|
||||||
|
if [ -f "/mnt/$kernel" ]; then
|
||||||
|
echo -en "* $label: Replacing $kernel... "
|
||||||
|
cp "$base/.glued-new/boot/kernel" "/mnt/$kernel"
|
||||||
|
echo 'done'
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -en "* $label: 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
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check if board is a Raspberry Pi 2.
|
||||||
|
rpi2_boot_part_upgrade_check()
|
||||||
|
{
|
||||||
|
dmesg | grep Machine | grep BCM2709 > /dev/null 2>&1
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "* rpi2: machine detected"
|
||||||
|
rpi2_boot_part_upgrade "rpi2" "/dev/mmcblk0p1"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
old_move()
|
old_move()
|
||||||
{
|
{
|
||||||
echo "* Mounting rootfs read-write..."
|
echo "* Mounting rootfs read-write..."
|
||||||
@ -222,6 +287,7 @@ start()
|
|||||||
kernel_dst || return 1
|
kernel_dst || return 1
|
||||||
new_unpack || return 1
|
new_unpack || return 1
|
||||||
uboot_part_upgrade_check || return 1
|
uboot_part_upgrade_check || return 1
|
||||||
|
rpi2_boot_part_upgrade_check || return 1
|
||||||
kernel_upgrade || return 1
|
kernel_upgrade || return 1
|
||||||
old_move || return 1
|
old_move || return 1
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user