ramips: fix fixseama call on first boot
authorMatthias Schiffer <mschiffer@universe-factory.net>
Thu, 30 Jun 2016 13:50:11 +0000 (15:50 +0200)
committerMatthias Schiffer <mschiffer@universe-factory.net>
Thu, 30 Jun 2016 15:12:38 +0000 (17:12 +0200)
Commit "kernel: mtdsplit: calculate kernel partition precisely for Seama"
changed the kernel partition to only contain the kernel itself and not
the Seama header. Adjust the fixseama call to match what is used on
brcm53xx.

This fixes failing to boot a second time after flashing the factory image
on the affected devices.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Reviewed-by: Jo-Philipp Wich <jo@mein.io>
target/linux/ramips/base-files/etc/uci-defaults/09_fix-seama-header

index 35167f1..7a0a325 100644 (file)
@@ -6,9 +6,9 @@
 . /lib/ramips.sh
 
 fix_seama_header() {
-       local part=$1
+       local kernel_size=$(sed -n 's/mtd[0-9]*: \([0-9a-f]*\).*"kernel".*/\1/p' /proc/mtd)
 
-       mtd fixseama $part
+       [ "$kernel_size" ] && mtd -c 0x$kernel_size fixseama firmware
 }
 
 board=$(ramips_board_name)
@@ -17,6 +17,6 @@ case "$board" in
 cy-swr1100 | \
 dir-645 | \
 dir-860l-b1)
-       fix_seama_header kernel
+       fix_seama_header
        ;;
 esac