it is now possible to flash a initramfs kernel and a sysupgrade tar file inside the ubi partition. on first boot, the takeover script will find the tar file, extract and finally sysupgrade it. this allows us to flash owrt/ubi images in a 2 phase setup using ODM webuis that are not ubi aware. this is needed by some mediatek and brokencom devices. Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 43505master
parent
1e8a83e553
commit
68909fb081
@ -0,0 +1,17 @@ |
|||||||
|
#!/bin/sh |
||||||
|
# Copyright (C) 2014 OpenWrt.org |
||||||
|
|
||||||
|
nand_takeover() { |
||||||
|
. /lib/upgrade/nand.sh |
||||||
|
mtd=$(find_mtd_index "$CI_UBIPART") |
||||||
|
local file_type="$(identify $2)" |
||||||
|
mtd -l 400 dump /dev/mtd$mtd > /tmp/takeover.hdr |
||||||
|
MAGIC=$(dd if=/tmp/takeover.hdr bs=1 skip=261 count=5 2> /dev/null) |
||||||
|
SIZE=$(printf "%d" 0x$(dd if=/tmp/takeover.hdr bs=4 count=1 2> /dev/null | hexdump -v -n 4 -e '1/1 "%02x"')) |
||||||
|
[ "$MAGIC" = "ustar" ] && { |
||||||
|
mtd -l $((SIZE + 4)) dump /dev/mtd$mtd | dd bs=1 skip=4 of=/tmp/sysupgrade.tar |
||||||
|
nand_do_upgrade_stage2 /tmp/sysupgrade.tar |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
boot_hook_add initramfs nand_takeover |
Loading…
Reference in new issue