Optware on K3-AC-ARM

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 21:34, 11 January 2014 (edit)
Magick777 (Talk | contribs)
(mbwe-bluering repository)
← Previous diff
Revision as of 02:23, 2 February 2014 (edit) (undo)
Magick777 (Talk | contribs)
(mbwe-bluering repository)
Next diff →
Line 3: Line 3:
The [http://www.optware-project.org/index.php?title=Main_Page Optware Project] was not designed for use with ARM processors (most builds are for mipsel architecture), and nor was it intended for DD-WRT. It has been ported to a number of DD-WRT platforms, but with varying degrees of success. Also, the project has become somewhat dated, meaning that it relies on an old version of uClibc; this causes issues with the current DD-WRT codebase. So, we need an Optware feed compiled for modern DD-WRT, and then for that to work on the K3-AC-ARM routers we need it compiled for ARM architecture. There is presently no Optware feed that meets that descripton; the mbwe-bluering repository is built for ARM, but it's not built for DD-WRT on kernel 3.x. The [http://www.optware-project.org/index.php?title=Main_Page Optware Project] was not designed for use with ARM processors (most builds are for mipsel architecture), and nor was it intended for DD-WRT. It has been ported to a number of DD-WRT platforms, but with varying degrees of success. Also, the project has become somewhat dated, meaning that it relies on an old version of uClibc; this causes issues with the current DD-WRT codebase. So, we need an Optware feed compiled for modern DD-WRT, and then for that to work on the K3-AC-ARM routers we need it compiled for ARM architecture. There is presently no Optware feed that meets that descripton; the mbwe-bluering repository is built for ARM, but it's not built for DD-WRT on kernel 3.x.
-== mbwe-bluering repository ==+== mbwe-bluering repository [DEPRECATED] ==
This page tracks the success (or failure) of using the Optware mbwe-bluering repository on newer 802.11ac routers with ARM architecture, running Kong's K3-AC-ARM builds (r23250 and later). Whilst this repository is supposedly compatible with an ARM CPU and uClibc, most of the binaries don't work on DD-WRT. This page tracks the success (or failure) of using the Optware mbwe-bluering repository on newer 802.11ac routers with ARM architecture, running Kong's K3-AC-ARM builds (r23250 and later). Whilst this repository is supposedly compatible with an ARM CPU and uClibc, most of the binaries don't work on DD-WRT.
Line 22: Line 22:
None discovered, so far. Add them here. None discovered, so far. Add them here.
- 
-=== Wishlist of solutions === 
- 
-* Maybe try to compile mbwe-bluering optware repo against newer binutils, uClibc, GCC 
-* Maybe try to create new optware repo against DD-WRT toolchain 
-* Maybe look at other options besides optware (don't like reinventing the wheel) 
== Development options == == Development options ==

Revision as of 02:23, 2 February 2014

Contents

Why doesn't it just work?

The Optware Project was not designed for use with ARM processors (most builds are for mipsel architecture), and nor was it intended for DD-WRT. It has been ported to a number of DD-WRT platforms, but with varying degrees of success. Also, the project has become somewhat dated, meaning that it relies on an old version of uClibc; this causes issues with the current DD-WRT codebase. So, we need an Optware feed compiled for modern DD-WRT, and then for that to work on the K3-AC-ARM routers we need it compiled for ARM architecture. There is presently no Optware feed that meets that descripton; the mbwe-bluering repository is built for ARM, but it's not built for DD-WRT on kernel 3.x.

mbwe-bluering repository [DEPRECATED]

This page tracks the success (or failure) of using the Optware mbwe-bluering repository on newer 802.11ac routers with ARM architecture, running Kong's K3-AC-ARM builds (r23250 and later). Whilst this repository is supposedly compatible with an ARM CPU and uClibc, most of the binaries don't work on DD-WRT.

Packages not working

Most of them, by the look of it. Initially I got a bunch of the following errors:

hello: can't resolve symbol '__register_frame_info'
nano: can't resolve symbol '__register_frame_info'
ncftp:  can't load library 'libresolv.so.0'
perl: can't resolve symbol '__register_frame_info'
whois: can't resolve symbol '__register_frame_info'

so I duly installed uClibc-opt; this got rid of the above errors but it still didn't persuade anything useful to work. Most things now exit silently, neither complaining nor producing any output. Possible options for fixing this may include hacking the mbwe-bluering toolchain to work with DD-WRT, compile the Optware sources against a DD-WRT (or DD-WRT compatible) toolchain, roll-yer-own based on latest Buildroot, or some combination of the above.

Packages working

None discovered, so far. Add them here.

Development options

Recompile Optware repository

This would seem to be the most logical option. However, it would involve hacking a new uClibc, gcc and binutils into the toolchain from the mbwe-bluering repository, then recompiling the (already dated) Optware packages to work with current DD-WRT. Or recompiling the repository against a different toolchain entirely, if that can be persuaded to work.

Develop from Buildroot

Buildroot has the advantage that it is currently maintained, should be able to build a compatible toolchain, and that there is a recent release supporting newer kernels, uClibc, gcc, binutils, etc. There are also newer packages in the Buildroot repository, which is useful, although they will probably not be optified by default.

Develop from OTRW2 / dd-ware

Considerable work has already been done by basmaf on re-working optware from OpenWRT packages for the mipsel architecture, and a K3.x build has been forked as https://code.google.com/p/dd-ware/. This has not yet been ported for ARM architecture, and it's not clear how difficult or not that will be.