OpenWrt Compiling Issue

Dear,
All Developers Looking For Help...

I compile Openwrt Barrier Breaker 14.07 from the git Source & I have successfully done, but when I try to install OpenVPN OpenSSL I am getting this error.

Collected errors: * satisfy_dependencies_for: Cannot satisfy the following dependencies for openvpn-openssl: * kernel (= 3.10.49-1-0114c71ed85677c9c1e4911437af4743) * * opkg_install_cmd: Cannot install package openvpn-openssl.

anyone can tell me why I am getting this error & how can I solve it?

Best bet would be to use a current code base. Barrier Breaker is over four years old, is known to be insecure in its kernel (which is unmaintained upstream), application code, and 802.11 protocols. Barrier Breaker is unmaintained, only available for historical reference at this time, and there is no plan to update it in any way, as far as I know.

Past that, kernel modules need to be from "exactly" the same build as the kernel itself. You would need to build the packages on the same build system from the same point in the source history as the kernel.

Thanks for your replay,

actually I used old version because of old Routers like TP-Link-MR3420 V2, if I use new version then I couldn't install necessary software for USB extroots & today I have try with new version OpenWRT source but unfortunately my router version not exist in target profile hope you can give helpful information for my both question, Thanks for your kind attention.

You might want to look at the "tiny" build configuration, then remove the packages you don't need from your squashfs image so you have room for the couple of kernel modules and utilities needed for "extroot". By building the utilities into the squashfs, they are compressed compared to installing them on the flash filesystem.

At least as I understand it, if you're going to use extroot, the squashfs only needs enough to get the external file system mounted, not to be a "fully functional" router. It might be the case that you can remove things like dnsmasq, though I'd keep a copy of dropbear so you have ssh access under failsafe mode.

I triad also the way you said but I am getting strange responds, eg when its fresh firmware install I have space in my router 148kb & then I triad to remove dnsmasq, iptable6 & some more then I saw current space is 128kb, what I am trying to is that, if I remove packages its reducing space not increasing, hope you understand my point, thanks...

When you "remove" a pre-installed package from a running device, you "white-out" the files on the jffs2 (flash) file system. They are still in the squashfs (ROM) so you don't see any more free space.

What you can do is to remove them from the build so that they aren't in the squashfs in the first place.

As I recall, you typically need at least 3 "erase blocks" of free space for the flash filesystem to work, or 192 kB. If you have "too many" packages in your build, then the build will/should fail when trying to assemble the image.

The list of packages in the ROM for the "tiny" build configuration can be found at

https://downloads.lede-project.org/snapshots/targets/ar71xx/tiny/openwrt-ar71xx-tiny.manifest

What you'll save by not including some of them will depend on how much they compress, as the squashfs uses a high level of compression. It's something of a "try it and see" kind of thing.

I don't recall the order of things relative to file-system mount, but I'd look at services you might not need for early-phase boot, such as

  • dnsmasq
  • hostapd
  • iwinfo
  • PPP-related kernel modules and packages (if you're not using PPP)
  • odhcp6
  • opkg
  • wpad-mini

Double-check that their libraries, if not needed by something else, are also not in your build.

That list is completely untested! It's just my glancing at the list of packages and thinking what might not be needed until your external file system is mounted.

With that kind of "surgery", you may have to carefully construct your external file system so that the boot can continue, but that is some of the "fun" of dealing with flash-constrained devices.

Suggested reading regarding devices with low flash/RAM (yes, you should read them all and thoroughly.):

1 Like