OpenWrt Forum Archive

Topic: Optimized and feature rich trunk build for select routers

The content of this topic has been archived between 20 Aug 2014 and 5 May 2018. Unfortunately there are posts – most likely complete pages – missing.

Thanks for all the hardwork.
R48762 is stable for me, running for 9 days without any trouble on a wrt1900acs
I wonder if it is possible to add the rsyncd package, i always used it to make a backup on mij linux pc on a usb stick

You can install with opkg.

karlstoney wrote:
dewferg wrote:

If you need packages, ftp://ftp.stw-bonn.de/pub/openwrt/snapshots/trunk/ is a working and current mirror of https://downloads.openwrt.org/snapshots/trunk and also has the other (older) releases.

Thanks for this; I updated my sources and opkg update works however when I add the kernel; I get the following:

It looks to me that despite me using http://luci.subsignal.org/~trondah/c2600/r48762/ which clearly has the latest kernel; i'm still on an old one?!

Seems so random to me sad

root@OpenWrt:/etc/opkg# opkg install kmod-fs-ext4
Installing kmod-fs-ext4 (3.18.26-1) to root...
Downloading http://ftp.stw-bonn.de/pub/openwrt/snapshots/trunk/ipq806x/generic/packages/kernel/kmod-fs-ext4_3.18.26-1_ipq806x.ipk.
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-fs-ext4:
 *     kernel (= 3.18.26-1-bc1e47ed59b6bc4b6015fefc7f614ca6) *     kernel (= 3.18.26-1-bc1e47ed59b6bc4b6015fefc7f614ca6) *     kernel (= 3.18.26-1-bc1e47ed59b6bc4b6015fefc7f614ca6) *
 * opkg_install_cmd: Cannot install package kmod-fs-ext4.
root@OpenWrt:/etc/opkg# uname -a
Linux OpenWrt 3.18.23 #9 SMP PREEMPT Sun Dec 13 16:52:06 CET 2015 armv7l GNU/Linux

Ext4  Kernel module is already provided by arokh, see: http://luci.subsignal.org/~trondah/wdr4 … pc85xx.ipk
Just use arokhs (orginal) sources and do opkg update, opkg install kmod-fs-ext4.

You don't need to add stw-bonn.de-mirror as package feed for OPKG just to install some packages, while https://downloads.openwrt.org/snapshots/trunk/ is broken.
If you need/want a package that is not provided by arokh, e.g. traffic monitor iftop, just do:

Open a web browser & search the package at ftp://ftp.stw-bonn.de/pub/openwrt/snapshots/trunk/ Start by choosing the correct CPU architecture, eg. mpc85xx for WDR4900 and browse through the sub-dirs, till you found it. Copy it's URL to clipboard.

Now SSH to your OpenWRT-router do something like:
cd /tmp
wget ftp://ftp.stw-bonn.de/pub/openwrt/snaps … pc85xx.ipk
opkg iftop_1.0pre2-1_mpc85xx.ipk

If it fails because of a missing depending package, search, wget and install it first.

If you search for a command or tool and don't know in which package in can be found (in OpenWRT), just google:
"<your command> openwrt .ipk" (without the "")

Example: you want command "pstree", google: "pstree openwrt .ipk" and look over the results and you see its part of the "psmisc"-package.


helpme555 wrote:

I've followed the format provided by openwrt to allow for updating and I'm having a bit of trouble. Could you explain a bit on how to get the packages to sync?

See above.

(Last edited by dewferg on 4 Mar 2016, 22:54)

lukano wrote:

So I've been trying to play with getting extroot on these builds for my WNDR3700v1. 

Going off of the guide here ; https://wiki.openwrt.org/doc/howto/extroot

But when I get to the Step 3 to create an fstab template, or editing /etc/config/fstab manually... I find that the file is read only and can not be edited.  Is that a function of something specific to these builds, or am I using incorrect information?

Just go to "System" -> "Mount Points", generate a config, edit the drive you want to use, choose under "Mount point" the point "Use as root filesystem /" and follow the guide to clone the root-fs.

mkdir -p /tmp/introot
mkdir -p /tmp/extroot
mount --bind / /tmp/introot
mount /dev/sda1 /tmp/extroot
tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf -
umount /tmp/introot
umount /tmp/extroot

Thats all, works perfect, not more to do with arokhs build/pre setup.



BTW if your /etc/config/fstab is RO, maybe your whole Root-FS is read-only.
Because of misconfiguration?

(Last edited by dewferg on 4 Mar 2016, 23:06)

What's new in r48874? There is no changelog entry.

Hello, complete noob here, so sorry if this has been answered before; I searched and didn't see an answer.

I am building from source for a TP Link WDR 3600, using the profile for the WDR4900 as a starting point.

Got this error building:

...
checking for suffix of object files... configure: error: in `/home/luis/Source/trondah-openwrt-trunk/build_dir/toolchain-mips_34kc_gcc-5.3.0_musl-1.1.14/gcc-5.3.0-minimal/mips-openwrt-linux-musl/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
....

The config.log shows:
build_dir/toolchain-mips_34kc_gcc-5.3.0_musl-1.1.14/gcc-5.3.0-minipenwrt-linux-musl/libgcc/config.log:

xgcc: error: unrecognized command line option '-mcpu=8548'

Any ideas?

BTW I don't have gcc 5.x installed on this Ubuntu system:

$ uname -a
Linux ubuntu 3.13.0-79-generic #123-Ubuntu SMP Fri Feb 19 14:27:58 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
\No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.4 LTS
Release:        14.04
Codename:       trusty

$ gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.1) 4.8.4


Thanks!

@arokh hi, i still try to follow your advice and build my own image and i just came across a question.

Why is the neon extension and new marvel accelerated driver not used in the kernelconfig, for the mvbeu platforms (AC1900/1200)? As far as i can tell from the tech documents 375/38x all support those extensions?

CONFIG_NEON
CONFIG_CRYPTO_DEV_MARVELL_CESA
CONFIG_ARM_CRYPTO

thx
Andy

(Last edited by Andy22 on 5 Mar 2016, 13:15)

@luisd

The WDR4900 has specific CPU optimizations that you need to turn off. Why don't you just start with the wdr3x_4x profile which is already configured for your router?

@andy22

I don't know, create a ticket if they are supposed to be there.

@arokh Thanks, I had missed the wdr3x_4x profile the first time, saw it later and used it.

As a noob, I had expected that running menuconfig and selecting the ar71xx and tp-link wdr 3X config options was enough to remove any WDR4900-dependent options, but this one remained and caused the problem:

   > CONFIG_TARGET_OPTIMIZATION="-Os -pipe -mcpu=8548"

I also didn't know anything about the WDR4900 and was not aware it had a PowerPC cpu smile.

[Aside: I would have expected the compilation to work anyway, since it was just cross-compiling; why did it fail? ]

So using the wdr3x_4x worked fine.

I was able to compile r48874 without problems, installed without issues on my WDR3600 and all appears to be fine, yeay!

Today I tried to compile r48933 and ran into what seems like a bug when doing make menuconfig:

[...]
Checking 'git'... failed.
[...]
Build dependency: Please install Git (git-core) >= 1.7.12.2
Prerequisite check failed. Use FORCE=1 to override.

But I *have* git installed:

$ git --version
git version 2.2.1

[This error did not happen when building r48874 btw]

Thanks again.

Luis

luisd wrote:

Today I tried to compile r48933 and ran into what seems like a bug when doing make menuconfig:
[...]
Checking 'git'... failed.
[...]

Yeah, and that was fixed yesterday(!!!) by r48934...
Nothing to do with Arokh's build.
https://dev.openwrt.org/ticket/21968
https://dev.openwrt.org/changeset/48934

(Last edited by hnyman on 6 Mar 2016, 21:39)

@hnyman cool, thanks.

Is anyone running with kernel 4.4 on a wdr3x_4x-type router? Any problems?

Thanks.

Hello, found one thing that is not working.

Can't get sudo to work ..

luis@OpenWrt:~$ sudo ash
-ash: sudo: not found

Since http://downloads.openwrt.org/snapshots/trunk/ar71xx/* is not available at the moment, I installed using
http://downloads.openwrt.org/latest/ar71xx/* and that seemed to go fine:

root@OpenWrt:~# opkg install sudo
Installing sudo (1.8.13-1) to root...
Downloading http://downloads.openwrt.org/latest/ar7 … r71xx.ipk.
Configuring sudo.

root@OpenWrt:~# opkg info sudo
Package: sudo
Version: 1.8.13-1
Depends: libc
Status: install user installed
Section: admin
Architecture: ar71xx
Maintainer: Gergely Kiss <mail.gery@gmail.com>
MD5Sum: 40d583c11a303c83ccd9d6fc34644335
Size: 232893
Filename: sudo_1.8.13-1_ar71xx.ipk
Conffiles:
/etc/sudoers 01895bcb4366cd974a65589404fec055f2
Source: feeds/packages/admin/sudo
Description: Sudo (su "do") allows a system administrator to delegate authority to
give certain users (or groups of users) the ability to run some (or
all) commands as root or another user while providing an audit trail of
the commands and their arguments.
Installed-Time: 1457318233

root@OpenWrt:~# which sudo
/usr/bin/sudo

However, it doesn't work ...

luis@OpenWrt:~$ sudo ls
-ash: sudo: not found

luis@OpenWrt:~$ /usr/bin/sudo ls
-ash: /usr/bin/sudo: not found

So .. it appears I need to get it from somewhere else, as this is not the right version for this build

luis@OpenWrt:~$ ldd /usr/bin/sudo
        /lib/ld-uClibc.so.0 (0x557de000)
        libutil.so.0 => /lib/ld-uClibc.so.0 (0x557de000)
        libsudo_util.so.0 => /usr/lib/sudo/libsudo_util.so.0 (0x77e72000)
        libdl.so.0 => /lib/ld-uClibc.so.0 (0x557de000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x77e4e000)
        libc.so.0 => /lib/ld-uClibc.so.0 (0x557de000)
Error relocating /usr/lib/sudo/libsudo_util.so.0: __fputc_unlocked: symbol not found
Error relocating /usr/lib/sudo/libsudo_util.so.0: __ctype_tolower: symbol not found
Error relocating /usr/lib/sudo/libsudo_util.so.0: fcntl64: symbol not found
Error relocating /usr/bin/sudo: __uClibc_main: symbol not found
Error relocating /usr/bin/sudo: fcntl64: symbol not found
Error relocating /usr/bin/sudo: __ctype_b: symbol not found

Where I should be getting this package from?

Thanks!

Hi, once again, is there a way to build custom firmware with arokh optimization by my self? Some fast tutorial?  Thnx.

@gsutek,

Yes, read the first post of this thread and read the openwrt wiki-article on how to build an image yourself.
Also, Google is your friend...

gsustek wrote:

Hi, once again, is there a way to build custom firmware with arokh optimization by my self? Some fast tutorial?  Thnx.

I am also interested in! But as in the posts before, there won't be any help. I also don't know which packages to use to get that wlan interface up. A clean image would be nice.

@arokh

I am running r48933 of http://luci.subsignal.org/~trondah/wndr … pgrade.bin

root@BANG ~# /etc/init.d/tor enable
root@BANG ~# /etc/init.d/tor start
WARNING: Variable 'respawn' does not exist or is not an array/object

Please fix.

Also, I noticed if I configure the wifi from LUCI it breaks all radios. They become UNKNOWN.

@luisd

Normally, there isn't a CONFIG_TARGET_OPTIMIZATION set. The optimization flags for each arch is set elsewhere. The wdr4900 has specific target optimization in my config, so using that as a template you will need to remove the target specific optimization.

The error message said it all, unrecognized option -mcpu=8548. You are cross compiling for a different architecture, the compiler couldn't create binaries.

Also, this is a trunk (DD) build, which is not compatible with CC packages.

@trustno1foxm

Is there something wrong with the documentation on the wiki? If so, perhaps you could contribute to creating a better one. Building OpenWrt is not the topic of discussion here, and any help given would be lost in the thread anyways. If you want to build OpenWrt you should invest some time going through the docs and get familiar with the build system. Building from my tree is no different than building vanilla OpenWrt.

@abunimeh

It's just a warning, the service starts fine. About luci, create a ticket.

arokh wrote:

@luisd

Normally, there isn't a CONFIG_TARGET_OPTIMIZATION set. The optimization flags for each arch is set elsewhere. The wdr4900 has specific target optimization in my config, so using that as a template you will need to remove the target specific optimization.

The error message said it all, unrecognized option -mcpu=8548. You are cross compiling for a different architecture, the compiler couldn't create binaries.

Also, this is a trunk (DD) build, which is not compatible with CC packages.

@trustno1foxm

Is there something wrong with the documentation on the wiki? If so, perhaps you could contribute to creating a better one. Building OpenWrt is not the topic of discussion here, and any help given would be lost in the thread anyways. If you want to build OpenWrt you should invest some time going through the docs and get familiar with the build system. Building from my tree is no different than building vanilla OpenWrt.

@abunimeh

It's just a warning, the service starts fine. About luci, create a ticket.

@arokh: Why should be something wrong with it? Did I ever mention it? I don't think so. I am not able to build my own image. If you think thats funny, pls don't hesitate to laugh. I, and the guy before just asked for help, thats all.

@all: Sorry for OT

(Last edited by trustno1foxm on 7 Mar 2016, 10:05)

I think you are misunderstanding me. I'm not here to laugh or critizise anyone, I'm asking you to put in some effort yourself before asking help. You say that you are not able to build, yet the documentation (and my first page) describes the steps needed. In that case, what step are you stuck at? Also, there is a general section of the forum meant for these questions. Have you created a thread there describing what's going wrong?

Answering myself smile , now that I saw @dewferg's post from before I joined (thanks @dewferg!)

To get sudo installed I grabbed the package from ftp://ftp.stw-bonn.de/pub/openwrt/snapshots/trunk/ and installed
the local version:

wget ftp://ftp.stw-bonn.de/pub/openwrt/snaps … ar71xx.ipk
opkg install sudo_1.8.14p3-1_ar71xx.ipk

And now it works yeay:

root@OpenWrt:/home/luis# ldd /usr/bin/sudo
        /lib/ld-musl-mips-sf.so.1 (0x55a28000)
        libsudo_util.so.0 => /usr/lib/sudo/libsudo_util.so.0 (0x77690000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x7766c000)
        libc.so => /lib/ld-musl-mips-sf.so.1 (0x55a28000)

@trustno1foxm @gsustek, as a noob with OpenWrt myself, I doubt there is a clean, collected, organized and up to date body of knowledge on building.

One finds the answers in the journey, and from the elders.

Having said that, I would like to contribute what I know so far (not much):

I assume you have already done the basics?

0) Install any prerequisite software you need: Need to go back and see what I did; I had pretty much everything already.
1) Grab @arokh's source from: http://luci.subsignal.org/~trondah/latest-src.tar.xz
2) Unpack somewhere: tar xvf latest-src.tar.xz
3) Rename to something more obvious: mv trunk trondah-openwrt-r48933 (or whatever r this is)
4) Get in there: cd trondah-openwrt-r<whatever>
5) Pick a profile from profiles/ and use it as the basis for your build. In my case: cp profiles/wdr3x_4x .config
6) Capture a log to check everything later: script mybuild-$(date "+%Y-%m-%d-%H:%M")
7) Do a menuconfig, I didn't change anything from the config for now: make menuconfig
8) Make!. Go grab coffee or a good whisky and come back later, much later: time make V=99
9) Don't forget to close the log when building finishes: exit

I am building on an old Lenovo X200t, so it takes a while.
Running Kubuntu 14.04.4 LTS

I will be happy to answer any questions about anything from the above that is not clear.

Cheers.

@arokh On page one of this thread you have:

    >  Netgear WNDR3500/WNDR36X0/WNDR43x0

Is that a big typo and you meant TP-Link WDR3500/WDR36X0/WDR43x0 ??

Also, I am a big hesitant about trying r48893 compiled with CONFIG_LINUX_4_4=y on the only WDR3600 in my home office ....

What is the collective experience/wisdom about using kernel 4.4.x on these TP-Link ar71xx boxen?

Thanks!

(Last edited by luisd on 8 Mar 2016, 02:53)

Typo, fixed smile

hello @arokh,
thank you for this great build  smile
For my type of connection, I downloaded your tarball and compile the necessary packages and image (for Linksys WRT1900AC)

With the latest version of the tarball, when do a "make prereq" gives me the following error:

Build dependency: Please install Git (git-core) >= 1.7.12.2

With the "trunk" version does not happen and I compiled everything.
I use Debian:

uname -a
  Linux debian8-x64 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u4 (2016-02-29) x86_64 GNU/Linux
dpkg -l | grep git
  ii  git                                1:2.1.4-2.1+deb8u1                   amd64        fast, scalable, distributed revision control system
  ii  git-core                           1:2.1.4-2.1+deb8u1                   all          fast, scalable, distributed revision control system (obsolete)
git version
  git version 2.1.4

can you help me?  (What system you use to compile?)

Thank you smile

(Last edited by Foguet on 8 Mar 2016, 11:31)

Sorry, posts 3401 to 3400 are missing from our archive.