Comments (15)
extract-ng will not build firmware images that are larger than the original, as
this could potentially cause problems when writing the firmware image to the
device. The reason the image is larger, even when un-modified, is likely due to
differences in compression optimizations in our mksquashfs vs tomato's
mksquashfs.
You have two options:
1) Remove anything that you don't need from the Tomato file system in order to
reduce the size.
2) Comment out the file size checks in the extract-ng script (it will
*probably* be OK, but there are no guarantees!! Doing this could brick your
router!!!)
I should probably add an option to extract-ng that allows you to continue even
if the firmware image size is too large, accompanied by an appropriate warning
about the dangers of doing so.
Original comment by [email protected]
on 29 Oct 2011 at 10:30
- Changed state: Accepted
from firmware-mod-kit.
I'd be really careful about that.. people ignore warnings. I'd continue forcing
this behavior, and explain it. Make over-riding it a chore that only
semi-advanced users can do. I mean, it doesn't take much to modify the script.
If they can't modify the script, then they shouldn't be allowed to build
over-size images. It is just too risky. You don't want people whining about
bricked routers. Just my two cents on this.
Original comment by [email protected]
on 29 Oct 2011 at 10:39
from firmware-mod-kit.
Good point Jeremy.
I put in a more descriptive error message describing why build-ng won't build
firmware images larger than the original and suggesting simple mitigations
(decreasing file system size).
Original comment by [email protected]
on 4 Nov 2011 at 3:18
- Changed state: Fixed
from firmware-mod-kit.
Excellent work ;). Thanks. I apologize for not having done more lately myself,
I have been engaged in a deadline to finish a new version of one of my
products. Obviously I somehow find time to come and run my mouth though ;p
Original comment by [email protected]
on 4 Nov 2011 at 4:22
from firmware-mod-kit.
No apologies needed, I've got a big project at my day job too, at least 4 or 5
personal projects I'm always trying to work on, plus a wife and kids, so I get
not having free time to work on stuff. :) It took me a week to make this
change, which was three short sentences. :P
Original comment by [email protected]
on 4 Nov 2011 at 4:29
from firmware-mod-kit.
Such is life .. I recently put off a chore for a month due to constant
distractions. Took 5 minutes to do ;p.
Original comment by [email protected]
on 4 Nov 2011 at 4:42
from firmware-mod-kit.
It should really also delete the new-firmware.bin file as it exits. Because I
saw the file existed, and the file size looked something like what it said the
firmware would be, so I thought maybe this limitation had been removed, just
with the textual warning. So now I bricked my device since the tool didn't
write the final parts of the .bin firmware. (as I saw in the build-ng.sh file
_after_ I was in a hurry to upload my modifications)
Original comment by [email protected]
on 17 Nov 2011 at 5:10
from firmware-mod-kit.
[deleted comment]
from firmware-mod-kit.
Ignore previous comment, I forgot where were 'at' with this back and forth.
Yes, I could have just read above ;p.
Deletion of any existing firmware in the output folder is probably a good idea.
Though, again, please do refer to the pre-requisites of use of the FMK being
able to unbrick your device (something easily done most of the time).
Original comment by [email protected]
on 17 Nov 2011 at 7:57
from firmware-mod-kit.
So, accepted on the basis that we need additional protections for this scenario
of user mis-use. Hey, I'm a user myself, as well as a coder, so I do the same
type of mistakes.
Original comment by [email protected]
on 17 Nov 2011 at 7:58
- Changed state: Accepted
from firmware-mod-kit.
Recommend firmware images be built, but renamed to something like
'do-not-flash-me-unless-you-are-sure-i-am-going-to-fit-and-can-ubrick.bin', if
you get my drift ;). Up to you. Close if you want to, this is really user error.
Original comment by [email protected]
on 18 Nov 2011 at 6:21
from firmware-mod-kit.
Changed to enhancement since was user error, and note that non-NG (my old crap)
will not be updated.
Original comment by [email protected]
on 18 Nov 2011 at 6:25
- Added labels: Type-Enhancement
- Removed labels: Type-Defect
from firmware-mod-kit.
Original comment by [email protected]
on 18 Nov 2011 at 6:25
- Added labels: Priority-Low
- Removed labels: Priority-Medium
from firmware-mod-kit.
Updated build-ng to delete the firmware image if the file size is to large.
Advanced users can always change the script to skip the file size check as
before; non-advanced users probably shouldn't risk flashing a firmware image of
the wrong size.
Original comment by [email protected]
on 23 Nov 2011 at 12:15
- Changed state: Fixed
from firmware-mod-kit.
Best solution I think. I mean, the script is really simple, and any user who is
flashing firmwares should be able to modify if, if needed. That then puts the
liability 100% on them.
Original comment by [email protected]
on 23 Nov 2011 at 12:41
from firmware-mod-kit.
Related Issues (20)
- Checksums don't match after build
- Fails to compile on Arch x64
- can we extract this firmware file
- extract openwrt ERR No supported file system found!
- Autoconf not listed in prerequisites guide
- Tenda N300 firmware binary - no supported filesystem found.
- Python 2 dependencies HOT 1
- unable to build jffs2 filesystem ... HOT 3
- Add support for UBI filesystems? (Linksys WRT32X)
- Unable to build Zlib HOT 1
- extract-firmware.sh DVRF_v03.bin Tools build failed! Check pre-requisites. Quitting... HOT 2
- Release a new version?
- Extraction error also compliance HOT 3
- Unsupported file system 'mpfs'! Quitting...
- "No supported filesystem found" with Trendnet THA-101 firmware HOT 1
- squashfs-4.0-realtek
- add support for hg630v2
- Installation HOT 1
- Firmware version incorrect after modification
- I cannot build on arch linux HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from firmware-mod-kit.