ramips: RT-N56U support fixes and factory image creation

Signed-off-by: Mikko Hissa <mikko.hissa@werzek.com>

SVN-Revision: 41224
This commit is contained in:
John Crispin
2014-06-16 18:57:20 +00:00
parent 28277caccb
commit dc5fe5f73f
6 changed files with 353 additions and 3 deletions

View File

@@ -5,7 +5,7 @@
# this, so we make sure to zero checksum and size to be checksummed before
# that happens, so this needs to run very early during boot.
do_wnce2001_checksumming_disable() {
do_checksumming_disable() {
. /lib/ramips.sh
local board=$(ramips_board_name)
@@ -35,9 +35,22 @@ do_wnce2001_checksumming_disable() {
echo "Checksum is already zero, nothing to do."
fi
;;
rt-n56u)
echo "Board is ASUS RT-N56U, replacing uImage header..."
local firmware_mtd=$(find_mtd_part firmware)
local rootfs_mtd=$(find_mtd_part rootfs)
local rootfs_data_mtd=$(find_mtd_part rootfs_data)
local rootfs_len=$(grep \"rootfs\" /proc/mtd | awk -F' ' '{print "0x"$2}')
local rootfs_data_len=$(grep \"rootfs_data\" /proc/mtd | awk -F' ' '{print "0x"$2}')
local offset=$(echo "$rootfs_len $rootfs_data_len 0x40" | awk -F' ' '{printf "%i",$1-$2-$3}')
local signature=$(dd if=$rootfs_mtd skip=$offset bs=1 count=4 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"')
if [ "$signature" == "27051956" ]; then
dd conv=notrunc if=$rootfs_mtd skip=$offset of=$firmware_mtd bs=1 count=64 2>/dev/null
fi
;;
esac
return 0
}
boot_hook_add preinit_main do_wnce2001_checksumming_disable
boot_hook_add preinit_main do_checksumming_disable