Adds readme, license and small program to dump mtd ioctl magic
This commit is contained in:
parent
e9a70155d6
commit
685760905a
|
@ -0,0 +1,10 @@
|
|||
#include <stdio.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <mtd/mtd-user.h>
|
||||
|
||||
int main(void) {
|
||||
size_t e = MEMERASE, u = MEMUNLOCK;
|
||||
printf("const MEMERASE = %lu;\n", e);
|
||||
printf("const MEMUNLOCK = %lu;\n", u);
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
# update-uboot: Self-contained, Online u-boot updater
|
||||
|
||||
update-uboot is a completely self-contained way to update u-boot. The generated binary includes the updated u-boot binary *and* Linux kernel module to allow
|
||||
rw access to the (often protected) /dev/mtd0 partition.
|
||||
|
||||
## Installation
|
||||
|
||||
1. Install zig (https://ziglang.org/download/)
|
||||
|
||||
- Requires sentinel-terminated slices, only in master (as of 2020-01-13) or 0.6.0+
|
||||
|
||||
2. `git clone https://git.sr.ht/~monadnock/zig-mtd`
|
||||
|
||||
3. zig build
|
||||
|
||||
## Modification
|
||||
|
||||
This code only currently supports mipsel out of the box. The only parts specific to mipsel are:
|
||||
|
||||
- mtd-rw.ko; The embedded kernel module is compiled for mipsel. You can replace this file with a version compiled for your arch, or comment out the function if you don't require it.
|
||||
- uboot-feb2019.bin: Same story. This is the version of u-boot I needed for mt7628 product. You'll almost certainly want to replace this file. Ask your doctor what version of u-boot is right for you
|
||||
- The ioctl numbers used to ERASE and UNLOCK the mtd are arch specific: https://git.sr.ht/~monadnock/zig-mtd/tree/master/src/mtd.zig#L8 . zig couldn't grok the nested ioctl #define horrors from the mtd headers. The easiest way I've found to determine these magic numbers is to compile the mtd-magic.c file in the repo with your target toolchain and run it on the target. It'll print out the macro expansions (e.g. `mipsel-openwrt-linux-gcc -o mtd-magic mtd-magic.c`)
|
Loading…
Reference in New Issue