alllexx DD-WRT Novice
Joined: 03 Aug 2014 Posts: 41 Location: Kyiv, Ukraine
|
Posted: Fri Mar 27, 2015 16:46 Post subject: [ARM]My Optware fork[gcc-4.9.2][uClibc-0.9.33.2][X11,GTK] |
|
Introduction
This is an ARM Optware feed I've been working on recently. It performs much better then the old mbwe-bluering feed (look here for details) in terms of speed. Additionally, numerous packages have been fixed, upgraded and added. Even some GUI X11 packages, such as thunar, transmission-gtk, deluge-gtk, rox-filer:
(full size) (full size) (full size) (full size)
Compatibility
Feed's binaries are designed to use libraries from /opt/... only, so as long as your architecture is ARM and the kernel supports EABI binary interface (unless you're running something insanely ancient, it does), it should work. What can cause problems though, is if LD_LIBRARY_PATH environment variable contains a path where a different uClibc build is installed: in this case you can have odd segfault issues. If an executable crashes with a segfault, try to unset LD_LIBRARY_PATH first.
Despite all this, I haven't tested the feed on a DD-WRT router, so no guarantees, and any kind of feedback is appreciated.
Also, note that I used 2.6.36.4 kernel headers, not 3.x, which can too lead to some issues. It wouldn't be hard for me to build a 3.x kernel headers feed version if there's enough interest in this, though.
Installing
To bootstrap the feed, first make sure that your desired medium (usb/jffs/etc..) is mounted on /opt and then run these commands:
Code: | feed=http://alllexx.no-ip.biz/optware/buildroot-armeabi
cd /tmp
ipk_name=$(wget -qO- $feed/Packages | awk '/^Filename: ipkg-static/ {print $2}')
wget $feed/$ipk_name
tar -xOvzf $ipk_name ./data.tar.gz | tar -C / -xzvf -
echo "src/gz alllexx $feed" > /opt/etc/ipkg.conf
echo "dest /opt/ /" >> /opt/etc/ipkg.conf |
And then use /opt/bin/ipkg-static the way you'd use ipkg-opt from original Optware. Don't bother to manually install uclibc-opt, since packages from the feed all depend on it, so it's installed automatically (except for ipkg-static, which is a static binary).
Until someone volunteers to host the feed for me (ftp with write access for me would be perfect), it is hosted on my NAS, so expect possible availability issues.
Launching X11 applications
To launch X11 applications, you first need to install 'xauth' package, the application you desire (e.g., 'thunar') and feed's dropbear that is patched to use '/opt/bin/xauth' when X11 forwarding is enabled:
Code: | /opt/bin/ipkg-static update
/opt/bin/ipkg-static install xauth dropbear thunar |
then launch feed's dropbear (by default it runs on port 2222):
Code: | /opt/etc/init.d/S51dropbear |
Then connect via ssh protocol to feed's dropbear (by default, port 2222) with X11 forwarding enabled. If you're using PuTTY, look here, if you're on unix with openssh client, just use the '-X' flag, e.g.:
Finally, run the app:
And you should hopefully get something similar to the first screenshot
Sourcecode
Grab it from here: https://github.com/alllexx88/optware |
|
mlt DD-WRT Novice
Joined: 12 Sep 2014 Posts: 17
|
Posted: Tue May 26, 2015 8:09 Post subject: |
|
Why is there "tomato" on screenshots and uClibc in the description on GH. I had an impression that dd-wrt uses musl. It seems like your packages won't work OOTB e.g., on my Buffalo WZR-600DHP2, unless you patched gcc to adjust the path to dynamic linker in binaries to use your uClibc by default. IMHO patching would help on other systems as well to prevent uClibc version conflict you mentioned. |
|