filesystem: revamped upgrade script for MTD storage.
This commit is contained in:
parent
699240998f
commit
38fd2c73bf
@ -60,24 +60,17 @@ new_unpack()
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
kernel_dst()
|
kernel_mtd_part()
|
||||||
{
|
{
|
||||||
echo -n "* Detecting kernel destination... "
|
echo -n "* Detecting kernel MTD partition... "
|
||||||
|
|
||||||
# Kernel resides in the root filesystem.
|
|
||||||
if [ -d /boot/extlinux ]; then
|
if [ -d /boot/extlinux ]; then
|
||||||
echo "filesystem"
|
echo "not present"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! [ -f /proc/mtd ]; then
|
if ! [ -f /proc/mtd ]; then
|
||||||
echo "filesystem"
|
echo "not present"
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
grep 'uboot=ext2' /proc/cmdline > /dev/null 2>&1
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo "filesystem"
|
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -85,21 +78,65 @@ kernel_dst()
|
|||||||
if [ -z "$fw_kernel_mtd" ]; then
|
if [ -z "$fw_kernel_mtd" ]; then
|
||||||
export fw_kernel_mtd="$(grep \"Kernel\" /proc/mtd | cut -f1 -d':')"
|
export fw_kernel_mtd="$(grep \"Kernel\" /proc/mtd | cut -f1 -d':')"
|
||||||
if [ -z "$fw_kernel_mtd" ]; then
|
if [ -z "$fw_kernel_mtd" ]; then
|
||||||
echo "failed to detect kernel's MTD partition"
|
echo "not present"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "mtd"
|
echo "$fw_kernel_mtd"
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
kernel_upgrade()
|
uboot_mtd_part()
|
||||||
|
{
|
||||||
|
echo -n "* Detecting u-boot MTD paritition... "
|
||||||
|
if ! [ -f /proc/mtd ]; then
|
||||||
|
echo "filesystem"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
export fw_uboot_mtd="$(grep \"uboot\" /proc/mtd | cut -f1 -d':')"
|
||||||
|
if [ -z "$fw_uboot_mtd" ]; then
|
||||||
|
export fw_uboot_mtd="$(grep \"u-boot\" /proc/mtd | cut -f1 -d':')"
|
||||||
|
if [ -z "$fw_uboot_mtd" ]; then
|
||||||
|
echo "not present"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$fw_uboot_mtd"
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
uboot_mtd_upgrade()
|
||||||
|
{
|
||||||
|
bin="$base/.glued-new/boot/u-boot.bin"
|
||||||
|
|
||||||
|
if ! [ -f "$bin" ]; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$fw_uboot_mtd" ]; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -n "* Upgrading u-boot MTD partition... "
|
||||||
|
"$flashcp" -v "$bin" /dev/"$fw_uboot_mtd"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "failed"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "done"
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
kernel_mtd_upgrade()
|
||||||
{
|
{
|
||||||
# Upgrade MTD
|
# Upgrade MTD
|
||||||
if [ -n "$fw_kernel_mtd" ]; then
|
if [ -n "$fw_kernel_mtd" ]; then
|
||||||
echo -n "* Upgrading kernel... "
|
echo -n "* Upgrading kernel... "
|
||||||
"$flashcp" -v "$base/.glued-new/boot/kernel" /dev/"$fw_kernel_mtd" > /dev/null 2>&1
|
"$flashcp" -v "$base/.glued-new/boot/kernel" /dev/"$fw_kernel_mtd"
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "failed"
|
echo "failed"
|
||||||
return 1
|
return 1
|
||||||
@ -284,11 +321,13 @@ start()
|
|||||||
{
|
{
|
||||||
clean
|
clean
|
||||||
version || return 1
|
version || return 1
|
||||||
kernel_dst || return 1
|
kernel_mtd_part || return 1
|
||||||
|
uboot_mtd_part || 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
|
rpi2_boot_part_upgrade_check || return 1
|
||||||
kernel_upgrade || return 1
|
kernel_mtd_upgrade || return 1
|
||||||
|
uboot_mtd_upgrade || return 1
|
||||||
old_move || return 1
|
old_move || return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user