Can't install package luci-base on WNR2000V3 (a.k.a N150R)

When I try to install either luci or luci-ssl I get the following error:

"Collected errors:

  • verify_pkg_installable: Only have 116kb available on filesystem /overlay, pkg luci-base needs 121
  • opkg_install_cmd: Cannot install package luci."

I've tried commenting out everything but packages, base and luci in the /etc/opkg/distfeeds.conf file before running opkg update but that did not help.

After a reboot Luci does partially run but the webpage just shows "Index of /" with ../ and luci-static links.

root@lede:/# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 2048 2048 0 100% /rom
tmpfs 13904 56 13848 0% /tmp
/dev/mtdblock5 512 384 128 75% /overlay
overlayfs:/overlay 512 384 128 75% /
tmpfs 512 0 512 0% /dev

Image file loaded:
Download page file size 3200.1KB

Reboot (SNAPSHOT, r2516-a4232cd)
root@lede:/# uname -a
Linux lede 4.4.38 #0 Wed Dec 14 17:43:49 2016 mips GNU/Linux

The writable overlay of the firmware (jffs2) offer much worse compression than the readonly part (squashfs), so on low storage devices (so at the very least 4 MB flash devices) it helps significantly to put luci and its dependencies into the squashfs, This means either building it yourself (and selecting luci statically) or using imagebuilder to repack the existing snapshots.

I gave it a try but haven't been able to figure out the space reallocation in the static builds part. I'll stick with the last old DD-WRT that works. Thanks for your time.

You need to rebuild the image with the image builder to include luci in the highly compressed partition, then luci should fit.

the imagebuilder for that class of devices is here

the command line to build your image should be


Figure out what to write instead of MY_DEVICE by writing make info and then look what's the profile name for your router in the list it prints.

You will need a 64-bit linux system to run the imagebuilder.

Well that imagebuilder procedure is certainly a quicker compile and easier to decipher for this neophyte than the 'make menuconfig' option. Alas, I obtained similar results with both methodologies.


TAP VALUE 1 = 9, 2 = 9

32 MB
Top of RAM usable for U-Boot at: 82000000
Reserving 277k for U-Boot at: 81fb8000
Reserving 192k for malloc() at: 81f88000
Reserving 44 Bytes for Board Info at: 81f87fd4
Reserving 36 Bytes for Global Data at: 81f87fb0
Reserving 128k for boot params() at: 81f67fb0

[ 4.298340] jffs2: Further such events for this erase block will not be printed
[ 4.334329] jffs2: Old JFFS2 bitmask found at 0x000ed538
[ 4.339683] jffs2: You cannot use older JFFS2 filesystems with newer kernels

[ 6.764330] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00200020: 0x2afd instead
[ 6.773878] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00200024: 0x07c9 instead
[ 6.783417] jffs2: Further such events for this erase block will not be printed
[ 6.794789] jffs2: CLEANMARKER node found at 0x00201bc0, not first node in block (0x00200000)
[ 6.826765] jffs2: Cowardly refusing to erase blocks on filesystem with no valid JFFS2 nodes
[ 6.835264] jffs2: empty_blocks 4, bad_blocks 0, c->nr_blocks 37
[ 6.841392] VFS: Cannot open root device "(null)" or unknown-block(31,4): error -5
[ 6.848998] Please append a correct "root=" boot option; here are the available partitions:
[ 6.857425] 1f00 256 mtdblock0 (driver?)
[ 6.862534] 1f01 64 mtdblock1 (driver?)
[ 6.867625] 1f02 3712 mtdblock2 (driver?)
[ 6.872735] 1f03 1337 mtdblock3 (driver?)
[ 6.877828] 1f04 2374 mtdblock4 (driver?)
[ 6.882928] 1f05 192 mtdblock5 (driver?)
[ 6.888021] 1f06 64 mtdblock6 (driver?)
[ 6.893122] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,4)
[ 6.907057] Rebooting in 1 seconds..

No wait, that's a brick, but you have serial.
How did you flash the images? What images you flashed?
I think you might have not erased the flash partitions before flashing LEDE, or sysupgrade failed on that. The kernel is finding "old jffs2 bitmask" and other random garbage.

How did you flash the images?
-via the console and tftp after doing the 30/30/30 resets

What images you flashed?

  • I've tried creating builds with 'make menuconfig' and adding in Luci and then tried using the imagebuilder technique. In both cases I did reset and attempted to load both the resulting lede-at71xx-generic-wnr2000-squashfs-factory and lede-at71xx-generic-wnr2000-squashfs-factory-NA files with no success. I can load openWRT 15.05 and 15.05.1 along with DD-WRT 29837 at will.

I think you might have not erased the flash partitions before flashing LEDE, or sysupgrade failed on that. The kernel is finding "old jffs2 bitmask" and other random garbage.
-Since I am a rookie at this build thing the possibilities of what is being done wrong are probably endless. I'm not certain if you are referring to a sysupgrade process of the load file but the sysupgrade.bin files do not load via tftp.

This is an experimental unit for me and I've already taken more time than is necessary for myself and you folks. I would like to say that the "new site smell" of this place is refreshing. I'll go back to lurking and hope you folks keep up the impressive progress.

Have you tried it out once again?

I've built an image for the WNR2000v3 that should run 18.06.4 with no bootloops, no lost settings after reboot. You can upgrade directly from a previous version of OpenWrt using the sysupgrade .bin file.

This image includes LuCi (GUI), IPV6, SQM - no PPP. A build manifest is available in the download folder.

If you end up installing, please let me know how it works for you. I don't have a WNR2000v3 to test it on directly - but it runs great on my almost identical hardware, the WNR1000V2. More information on these builds.

Download 18.06.4 for WNR2000v3

1 Like

I don't know how you did it jlpapple, but you managed to post the exact thing I needed within 30 minutes of me looking for it.


1 Like

Awesome! Glad I could help - let me know how it runs on your WNR2000v3.