Need an image for netgear Jwnr2010v5 N300 router

How can i get an image for Netgear router Jwnr2010V5 N300 router. It has 4 MB memory and 32 MB flash. it runs on RAlink processor

https://openwrt.org/supported_devices/432_warning

https://openwrt.org/toh/start?dataflt[Model*~]=2010 -- not supported

You could port it yourself, but I wouldn't hold my breath for someone to do it for you. Significantly better units with current wireless chips and sufficient resources to support current, secure firmware (at least 16 MB of flash and at least 128 MB of RAM) start at under US$20.

SoC: Mediatek MT7620N
Flash: 4MB
RAM: 32MB

I know 4MB is not ideal but can I build a firmware within 4MB ?

Device info from telnet-

Welcome to
    _______  _______  ___     __  ____   _  _   ___
    |  ___  \|   __  ||   |   |__||    \ | || | /  /
    | |___| ||  |__| ||   |__  __ |     \| || |/  /
    |   _   /|   _   ||      ||  || |\     ||     \
    |__| \__\|__| |__||______||__||_| \____||_|\___\

                     =System Architecture Department=

#
# cat /proc/cpuinfo
system type             : Ralink SoC
processor               : 0
cpu model               : MIPS 24Kc V5.0
BogoMIPS                : 386.04
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0000, 0x0ff8, 0x0ffb, 0x0ff8]
ASEs implemented        : mips16 dsp
shadow register sets    : 1
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available

#
# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00020000 00010000 "Bootloader"
mtd1: 00140000 00010000 "Kernel"
mtd2: 00260000 00010000 "Rootfs"
mtd3: 00020000 00010000 "Chinese UI"
mtd4: 00010000 00010000 "SC Nvram"
mtd5: 00010000 00010000 "WiFi Data"
#
#

This is what I have done so far https://github.com/shibajee/openwrt/commit/d697db81d691a178bc30e8566f196d6e1adf20f9

I'm so close but getting this error and can't figure out what to do. This error goes on for 2~3 min and then system reboots.



U-Boot 1.1.3 (Feb 26 2014 - 12:49:16)

Board: Ralink APSoC DRAM:  32 MB
enable ephy clock...done. rf reg 29 = 5
SSC disabled.
spi_wait_nsec: 29
spi device id: c2 20 16 c2 20 (2016c220)
find flash: MX25L3205D
*** Warning - bad CRC, using default environment

============================================
Ralink UBoot Version: 4.1.1.0
--------------------------------------------
ASIC 7620_MP (Port5<->None)
DRAM component: 256 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 32 MBytes
Flash component: SPI Flash
Date:Feb 26 2014  Time:12:49:16
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768

Press Ctrl+C to Enter the Main loop...


******************************************
    Uboot StandAlone Entry
******************************************                                    0
******************************************
    Uboot StandAlone Entry
******************************************
Enter NMRP_main
Flash Sector Number : 64.

 Waitting for RX_DMA_BUSY status Start... done


 ETH_STATE_ACTIVE!!
NMRP_FLASH_SIZE_buffer --> a1000000.
NMRP:LISTENING
### No NMRP Server found ###

******************************************
    Uboot StandAlone Entry
******************************************
Flash Sector Number : 64.

***************************************************
    Sercomm Boot Version 4.00.0

***************************************************
Entering Firmware : Everything is OK.

3: System Boot system code via Flash.
## Booting image at bc020000 ...
   Image Name:   MIPS OpenWrt Linux-4.14.187
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    1483247 Bytes =  1.4 MB
   Load Address: 80000000
   Entry Point:  80000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK

Starting kernel ...

[    0.000000] Linux version 4.14.187 (home@ubuntu) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r13884-1623defbdb)) #0 Mon Jul 20 19:34:44 2020
[    0.000000] Board has DDR1
[    0.000000] Analog PMU set to hw control
[    0.000000] Digital PMU set to hw control
[    0.000000] SoC Type: MediaTek MT7620N ver:2 eco:6
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019650 (MIPS 24KEc)
[    0.000000] MIPS: machine is Netgear JWNR2010 v5
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 02000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000001ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000001ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000001ffffff]
[    0.000000] random: get_random_bytes called from 0x80446738 with crng_init=0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 8120
[    0.000000] Kernel command line: console=ttyS0,57600 rootfstype=squashfs,jffs2
[    0.000000] PID hash table entries: 128 (order: -3, 512 bytes)
[    0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Writing ErrCtl register=000783fa
[    0.000000] Readback ErrCtl register=000783fa
[    0.000000] Memory: 26576K/32768K available (3804K kernel code, 187K rwdata, 376K rodata, 1192K init, 208K bss, 6192K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 256
[    0.000000] CPU Clock: 580MHz
[    0.000000] clocksource: systick: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 583261500 ns
[    0.000000] systick: enable autosleep mode
[    0.000000] systick: running - mult: 214748, shift: 32
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6590553264 ns
[    0.000010] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 7405115902ns
[    0.015464] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
[    0.087716] pid_max: default: 32768 minimum: 301
[    0.097164] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.110187] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.129981] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.149460] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.161673] pinctrl core: initialized pinctrl subsystem
[    0.172507] NET: Registered protocol family 16
[    0.203961] rt2880_gpio 10000600.gpio: registering 24 gpios
[    0.214988] rt2880_gpio 10000600.gpio: registering 24 irq handlers
[    0.227556] rt2880_gpio 10000638.gpio: registering 16 gpios
[    0.238546] rt2880_gpio 10000638.gpio: registering 16 irq handlers
[    0.251112] rt2880_gpio 10000660.gpio: registering 32 gpios
[    0.262104] rt2880_gpio 10000660.gpio: registering 32 irq handlers
[    0.274714] rt2880_gpio 10000688.gpio: registering 1 gpios
[    0.285538] rt2880_gpio 10000688.gpio: registering 1 irq handlers
[    0.303019] clocksource: Switched to clocksource systick
[    0.314759] NET: Registered protocol family 2
[    0.324195] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.337969] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.350559] TCP: Hash tables configured (established 1024 bind 1024)
[    0.363345] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.374865] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.387608] NET: Registered protocol family 1
[    0.399051] rt-timer 10000100.timer: maximum frequency is 1220Hz
[    0.413484] workingset: timestamp_bits=14 max_order=13 bucket_order=0
[    0.433265] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.444749] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.476790] io scheduler noop registered
[    0.484493] io scheduler deadline registered (default)
[    0.495435] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.509089] console [ttyS0] disabled
[    0.516145] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 20, base_baud = 2500000) is a Palmchip BK-3103
[    0.535809] console [ttyS0] enabled
[    0.535809] console [ttyS0] enabled
[    0.549631] bootconsole [early0] disabled
[    0.549631] bootconsole [early0] disabled
[    0.571256] spi spi0.0: force spi mode3
[    0.579758] m25p80 spi0.0: mx25l3205d (4096 Kbytes)
[    0.589580] 5 fixed-partitions partitions found on MTD device spi0.0
[    0.602245] Creating 5 MTD partitions on "spi0.0":
[    0.611801] 0x000000000000-0x000000020000 : "u-boot"
[    0.622637] 0x000000020000-0x0000003c0000 : "firmware"
[    0.635596] 2 uimage-fw partitions found on MTD device firmware
[    0.647456] Creating 2 MTD partitions on "firmware":
[    0.657363] 0x000000000000-0x00000016b000 : "kernel"
[    0.668172] 0x00000016b000-0x0000003a0000 : "rootfs"
[    0.678890] mtd: device 3 (rootfs) set to be root filesystem
[    0.691875] mtdsplit: squashfs has invalid size in "rootfs"
[    0.703090] 0x0000003c0000-0x0000003e0000 : "reserved"
[    0.714265] 0x0000003e0000-0x0000003f0000 : "nvram"
[    0.724871] 0x0000003f0000-0x000000400000 : "factory"
[    0.736612] libphy: Fixed MDIO Bus: probed
[    0.755256] gsw: setting port4 to ephy mode
[    0.763659] mtk_soc_eth 10100000.ethernet eth0 (uninitialized): port 3 link up (100Mbps/Full duplex)
[    0.782223] mtk_soc_eth 10100000.ethernet: loaded mt7620 driver
[    0.794758] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
[    0.811755] rt2880_wdt 10000120.watchdog: Initialized
[    0.823255] NET: Registered protocol family 10
[    0.836234] Segment Routing with IPv6
[    0.843714] NET: Registered protocol family 17
[    0.852633] 8021q: 802.1Q VLAN Support v1.8
[    0.867144] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000000: 0x7368 instead
[    0.886302] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000004: 0x0490 instead
[    0.905239] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000▒▒▒�▒d4 instead
[    0.924138] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000010: 0x0014 instead
[    0.943036] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000014: 0x0004 instead
[    0.961932] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000018: 0x06c0 instead
[    0.980831] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000001c: 0x0004 instead
[    0.999729] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000020: 0x16a6 instead
[    1.018628] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000028: 0x1a52 instead
[    1.037526] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000030: 0x1a4a instead
[    1.056418] jffs2: Further such events for this erase block will not be printed
[    1.078617] jffs2: Empty flash at 0x00000038 ends at 0x00000040
[    1.091295] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00001000: 0xf158 instead
[    1.110207] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00001004: 0xb1b1 instead
[    1.129105] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00001008: 0xb811 instead
[    1.148002] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000100c: 0x9d66 instead
[    1.166899] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00001010: 0x70f5 instead
[    1.185796] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00001014: 0x9d70 instead
[    1.204694] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00001018: 0xe64a instead
[    1.223590] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000101c: 0x8769 instead
[    1.242489] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00001020: 0xbdb9 instead
[    1.261385] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00001024: 0x7ed4 instead
[    1.280278] jffs2: Further such events for this erase block will not be printed
[    1.302827] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00002000: 0x961e instead
[    1.321740] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00002004: 0x7894 instead
[    1.340636] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00002008: 0x7b5c instead
[    1.359534] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000200c: 0x95b6 instead
[    1.378431] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00002010: 0x1481 instead
[    1.397328] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00002014: 0x20a4 instead
[    1.416230] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00002018: 0x0962 instead
[    1.435129] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000201c: 0xcd52 instead
[    1.454025] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00002020: 0xefc0 instead
[    1.472922] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00002024: 0xf82a instead
[    1.491814] jffs2: Further such events for this erase block will not be printed
[    1.514368] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00003000: 0xb759 instead
[    1.533282] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00003004: 0xabab instead
[    1.552178] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00003008: 0xf38a instead
[    1.571076] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000300c: 0x4169 instead
[    1.589972] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00003010: 0x0476 instead
[    1.608870] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00003014: 0x5218 instead
[    1.627767] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00003018: 0xff78 instead
[    1.646664] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000301c: 0x4a09 instead
[    1.665561] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00003020: 0x8d46 instead
[    1.684458] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00003024: 0x0337 instead
[    1.703350] jffs2: Further such events for this erase block will not be printed
[    1.725903] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00004000: 0x9877 instead
[    1.744815] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00004004: 0x4f42 instead
[    1.763715] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00004008: 0x7b52 instead
[    1.782612] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000400c: 0xc155 instead
[    1.801509] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00004010: 0xc2ea instead
[    1.820406] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00004014: 0x78e1 instead
[    1.839304] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00004018: 0x5b22 instead
[    1.858200] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000401c: 0x4384 instead
[    1.877099] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00004020: 0xfdf2 instead
[    1.895995] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00004024: 0x9675 instead
[    1.914888] jffs2: Further such events for this erase block will not be printed
[    1.937452] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00005000: 0x4e8d instead
[    1.956364] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00005004: 0xba59 instead
[    1.975261] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00005008: 0x01fa instead
[    1.994158] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000500c: 0xeded instead
[    2.013055] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00005010: 0xa65d instead
[    2.031952] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00005014: 0x3682 instead
[    2.050849] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00005018: 0xf914 instead
[    2.069746] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000501c: 0x58db instead
[    2.088644] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00005020: 0xf9b7 instead
[    2.107540] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00005024: 0xa649 instead
[    2.126433] jffs2: Further such events for this erase block will not be printed
[    2.148987] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00006000: 0x5785 instead
[    2.167901] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00006004: 0x21a6 instead
[    2.186798] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00006008: 0x087e instead
[    2.205696] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000600c: 0x97a5 instead
[    2.224592] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00006010: 0xfed4 instead
[    2.243490] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00006014: 0x4d35 instead
[    2.262386] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00006018: 0xeb28 instead
[    2.281284] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000601c: 0xe078 instead
[    2.300180] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00006020: 0xd3ed instead
[    2.319078] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00006024: 0x307c instead
[    2.337970] jffs2: Further such events for this erase block will not be printed
[    2.360523] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00007000: 0x9ee4 instead
[    2.379436] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00007004: 0x5793 instead
[    2.398333] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00007008: 0x9b2b instead
[    2.417231] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000700c: 0x06d7 instead
[    2.436133] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00007010: 0xe5cd instead
[    2.455032] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00007014: 0xc012 instead
[    2.473929] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00007018: 0x249a instead
[    2.492826] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000701c: 0x5c95 instead
[    2.511723] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00007020: 0xac71 instead
[    2.530620] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00007024: 0x98f8 instead
[    2.549513] jffs2: Further such events for this erase block will not be printed

This is the oem bootlog if anyone want https://gist.github.com/shibajee/8fb5bd3fd422a8957a3de3f7352eed45

Hi, can anyone solve my problem ? I'm so close getting this.

you can see that something wrong with squashfs.
rootfs_data partition (read/write part of rootfs) is not created. So jffs2 filesystems creation fail.
You ignore 4/32 warining but I think that your firmawre is too big.

Ya, when I unzip the .img file kernel+rootfs was bigger than 0x3c0000 (firmware partition)..tnx for reply

can you tell me what is the easiest way to figure out GPIO no. that controls leds and reset button ? there is no detail documentation for the device or writings in PCB @123serge123

See https://openwrt.org/docs/guide-developer/add.new.device

Was gonna ask you if you got this fixed, but saw your question.

You can build a great image if you use 18.6.8, but 19.7 is stretching it... Here's what I have in my 4MB (really 3,5MB) MR3020 build. Since the Jwnr2000 isn't a travelrouter I probably wouldnt include USB support and instead would switch it out with banip/vpn policy routing/Ipv6 or something.

Apps:
Travelmate
SQM QoS
Upnpd
Firewall
Wake on LAN
uHTTPd
Time Synchronisation
Custom Commands
Wifi Schedule
Dynapoint
WLAN Blinker

Modules:
ATH9-USB
rtl8150
rtl8152
kmod-usb-net-asix
kmod-usb-net-asix-ax88179
Wireguard
Relayd

But yeah, be sure to chime in if you can get the Jwnr2010v5 to work. Was just given one for free and it will make a great gift to someone with Openwrt 18.6.8 with a good set of features.

Almost done, device is up and running, just doing some final checking on some gpio leds config. But the problem is I kinda backport the necessary tools to lede-17.01 branch (kernel 4.4). On 19.07 branch or master (kernel 4.14/5.4) image size gone over 3.8MB, this is without luci and even if I disable some kernel options like dump core/crash dumps it's still over 3.8MB on master, 19.07 barely fits and u can't install anything..my last resort will be 18.06.

18.06 is a good compromise, but tbh I’m good with 17 too even though it’s less secure. In all practicality it’s probably just as secure. It’s not like some hard core hackers are gonna pull up on my driveway and hack my wifi anytime soon..