aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2016-03-01 08:14:48 +0000
committerJohn Crispin <blogic@openwrt.org>2016-03-01 08:14:48 +0000
commit8871ec8c28a77e791fc8dd530edb904b25f6fc77 (patch)
tree69e0d25893bc1db73819a47d8271d7451d7b4b39 /tools
parente1aa6a82ef7411790de26f2335aed0ec5895ca62 (diff)
downloadupstream-8871ec8c28a77e791fc8dd530edb904b25f6fc77.tar.gz
upstream-8871ec8c28a77e791fc8dd530edb904b25f6fc77.tar.bz2
upstream-8871ec8c28a77e791fc8dd530edb904b25f6fc77.zip
firmware-utils: mkfwimage: fix firmware_max_length for XM layout
The new u-boot version bundled with the 5.6.x firmwares from Ubiquiti gets confused by the smaller rootfs partition size; this can lead to various issues: 1. We've gotten reports that flashing from the 5.6.x stock firmware to OpenWrt will brick devices; I wasn't able to reproduce this myself 2. Flashing from 5.5.x stock firmware to OpenWrt and back to stock (via TFTP recovery), following by an update to 5.6.x via web interface can yield a bricked device with the following properties: - It can't be booted without entering commands over a serial console, as u-boot supplies the wrong MTD layout - The web interface won't accept any image with the original flash layout, so stock firmware upgrades are impossible - As the TFTP recovery doesn't update u-boot, returning to the old u-boot from firmware 5.5.x is impossible To recover from 2., creating an OpenWrt image which doesn't set u-boot as read-only and flashing a backup of the old u-boot from there is the only way known to me. (Fixing the mtdparts variable in u-boot-env from OpenWrt might also work; settings this from u-boot over serial didn't have any permanent effect.) Fix all of this by setting the correct flash layout also used by the stock firmware. Flashing has been tested from both firmware 5.5.x and 5.6.x. The fixed layout also matches the mtdparts defined by OpenWrt. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> Backport of r48829 git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@48848 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'tools')
-rw-r--r--tools/firmware-utils/src/mkfwimage.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/firmware-utils/src/mkfwimage.c b/tools/firmware-utils/src/mkfwimage.c
index 5dae284d5d..d8d5239cc5 100644
--- a/tools/firmware-utils/src/mkfwimage.c
+++ b/tools/firmware-utils/src/mkfwimage.c
@@ -79,7 +79,7 @@ fw_layout_t fw_layout_data[] = {
.name = "XM",
.kern_start = 0x9f050000,
.kern_entry = 0x80002000,
- .firmware_max_length= 0x006A0000,
+ .firmware_max_length= 0x00760000,
},
{
.name = "UBDEV01",