Its not a secret that Optware toolchain (gcc 4.1.1 + uClibc 0.9.28) is too old for some kernel 2.6 features. We can't use posix_fallocate, epoll, inotify and some other features with Optware, so i decided to port OpenWRT repository to those users, who used Optware before. My repo build with OpenWRT Buildroot environment and wl500g.code.google.com toolchain (gcc 4.4.6 + uClibc 0.9.32). A volume of repo for now is about 1/3 оf original OpenWRT repo. Please, feel free to try and let me know about found bugs and odds.
last rtorrent 0.9.1\libtorrent 0.13.1. Optware's rtorrent 0.8.6 was built in 2009, last DropBox API, i'm using it for a torrent download automation, ncdc - a new DirectConnect client, xupnpd - a DLNA server, showing you YouTube\IPTV on a "stupid" players or TVs. and so on.
Are all those packages compiled with "/opt" prefix? Try install transmission from openwrt, run and you will see what i mean.
Yes! All those packages uses only a /opt folder. Its a Optware replacement. My project is just a bunch of patches to last Openwrt trunk.
can I make this working using cifs? I get some permission problems running the ./entware_install.sh script after I mounted opt like this: mount -o bind /cifs1/opt /opt
This is part of the log, but shibby's answer makes sense to me. root@tomato:/cifs1# ./entware_install.sh >> /tmp/entware_install.log Connecting to wl500g-repo.googlecode.com (209.85.147.82:80) wget: can't open 'ipkg.conf': File exists Connecting to wl500g-repo.googlecode.com (209.85.147.82:80) wget: can't open 'ipkg.sh': File exists Connecting to wl500g-repo.googlecode.com (209.85.147.82:80) Packages 100% |***************************************************| 585k 00:00:00 ETA Connecting to wl500g-repo.googlecode.com (209.85.147.82:80) ldconfig_-104_entwar 100% |***************************************************| 138k --:--:-- ETA mv: can't rename '//opt/tmp/ldconfig/control/control': Permission denied rm: can't remove '//opt/tmp/ldconfig/control/control': Permission denied rm: can't remove '//opt/tmp/ldconfig/control': Directory not empty tar: can't remove old file ./opt/bin/ldconfig: Permission denied rm: can't remove '//opt/tmp/ldconfig/data/opt/bin/ldconfig': Permission denied rm: can't remove '//opt/tmp/ldconfig/data/opt/bin': Permission denied rm: can't remove '//opt/tmp/ldconfig/data/opt': Permission denied rm: can't remove '//opt/tmp/ldconfig/data': Directory not empty rmdir: '//opt/tmp/ldconfig': Directory not empty sed: //opt/ipkg/info/ldconfig.control: No such file or directory Connecting to wl500g-repo.googlecode.com (209.85.147.82:80) libc_-104_entware.ip 100% |***************************************************| 348k --:--:-- ETA mv: can't rename '//opt/tmp/libc/control/control': Permission denied rm: can't remove '//opt/tmp/libc/control/control': Permission denied rm: can't remove '//opt/tmp/libc/control': Directory not empty rm: can't remove '//opt/tmp/libc/data/opt/lib/libresolv-0.9.32.so': Permission denied rm: can't remove '//opt/tmp/libc/data/opt/lib/libnsl-0.9.32.so': Permission denied rm: can't remove '//opt/tmp/libc/data/opt/lib/libdl-0.9.32.so': Permission denied rm: can't remove '//opt/tmp/libc/data/opt/lib/libcrypt-0.9.32.so': Permission denied rm: can't remove '//opt/tmp/libc/data/opt/lib/libuClibc-0.9.32.so': Permission denied rm: can't remove '//opt/tmp/libc/data/opt/lib/libm-0.9.32.so': Permission denied rm: can't remove '//opt/tmp/libc/data/opt/lib/ld-uClibc-0.9.32.so': Permission denied rm: can't remove '//opt/tmp/libc/data/opt/lib/libutil-0.9.32.so': Permission denied rm: can't remove '//opt/tmp/libc/data/opt/lib': Permission denied rm: can't remove '//opt/tmp/libc/data/opt': Permission denied rm: can't remove '//opt/tmp/libc/data': Directory not empty rmdir: '//opt/tmp/libc': Directory not empty sed: //opt/ipkg/info/libc.control: No such file or directory Connecting to wl500g-repo.googlecode.com (209.85.147.82:80) libgcc_-104_entware. 100% |***************************************************| 32927 --:--:-- ETA mv: can't rename '//opt/tmp/libgcc/control/control': Permission denied rm: can't remove '//opt/tmp/libgcc/control/control': Permission denied rm: can't remove '//opt/tmp/libgcc/control': Directory not empty tar: can't remove old file ./opt/lib/libgcc_s.so.1: Permission denied rm: can't remove '//opt/tmp/libgcc/data/opt/lib/libgcc_s.so.1': Permission denied rm: can't remove '//opt/tmp/libgcc/data/opt/lib': Permission denied rm: can't remove '//opt/tmp/libgcc/data/opt': Permission denied rm: can't remove '//opt/tmp/libgcc/data': Directory not empty rmdir: '//opt/tmp/libgcc': Directory not empty sed: //opt/ipkg/info/libgcc.control: No such file or directory Connecting to wl500g-repo.googlecode.com (209.85.147.82:80) libpthread_-104_entw 100% |***************************************************| 32516 00:00:00 ETA mv: can't rename '//opt/tmp/libpthread/control/control': Permission denied rm: can't remove '//opt/tmp/libpthread/control/control': Permission denied rm: can't remove '//opt/tmp/libpthread/control': Directory not empty tar: can't remove old file ./opt/lib/libpthread-0.9.32.so: Permission denied rm: can't remove '//opt/tmp/libpthread/data/opt/lib/libpthread-0.9.32.so': Permission denied rm: can't remove '//opt/tmp/libpthread/data/opt/lib': Permission denied rm: can't remove '//opt/tmp/libpthread/data/opt': Permission denied rm: can't remove '//opt/tmp/libpthread/data': Directory not empty rmdir: '//opt/tmp/libpthread': Directory not empty sed: //opt/ipkg/info/libpthread.control: No such file or directory Connecting to wl500g-repo.googlecode.com (209.85.147.82:80) librt_-104_entware.i 100% |***************************************************| 6114 --:--:-- ETA rm: can't remove '//opt/tmp/ldconfig/control/control': Permission denied rm: can't remove '//opt/tmp/ldconfig/control': Directory not empty rm: can't remove '//opt/tmp/ldconfig/data/opt/bin/ldconfig': Permission denied rm: can't remove '//opt/tmp/ldconfig/data/opt/bin': Permission denied rm: can't remove '//opt/tmp/ldconfig/data/opt': Permission denied rm: can't remove '//opt/tmp/ldconfig/data': Directory not empty rm: can't remove '//opt/tmp/ldconfig': Directory not empty ........
hi, this might not be an appropriate place to request new packages but would you add lftp and proxychains? and I opened two issues on the project several days ago could you take a look at them? thanks for all your works
Hi! Of course! Code: 09 Defect New Medium /etc/profile was not executed in screen 10 Defect New Medium neither /etc/profile not /opt/etc/profile got executed in bash Why it should be executed there? It will be executed only on logon, and, AFAIK, it's execution depend on your firmware, not a repo.
My bad, I thought /etc/profile was executed every time a new shell was created. I thought it was just a system wide ~/.bashrc, just googled and found how to specify a ~./bashrc equivalent in busybox shell, problem solved, thanks.
Fantastic! I've been looking for a way to update my toolchain for years now. I build a lot of my own packages but I was never able to get a working toolchain on /opt to build.
Yep! I think, the OpenWRT Buildroot is a best tool we can use with our own toolchains, even if we don't want to build OpenWRT firmware itself. There is a very simple Makefile's structure for any packages, so i may port almost any OpenWRT's package for Entware, and guys from OpenWRT may backport packages from my repo (my dnscrypt backported to OpenWRT for example). Checkout my additional packages feed, may be there lies some interesting things for you: asciiio terminal recorder or davfs2 for cloud storage mounting, or even some games.
I wonder if OpenWRT might be of use in the effort to find and fix the Tomato-Kernel (execve) bug on the RT-N66U. http://tomatousb.org/forum/t-461749...n-fails-in-about-50-of-all-tries#post-1448254
is anyone using Midnight Commander either from the original optware or this repo? Sometime ago in optware some update broke the Ctrl-O functionality in midnight commander (the command allows you to view the output of the terminal). I was hoping this would work in this repo (which has a significantly newer version of MC), but it still isnt. Great work on this btw! Thanks a lot
I'm afraid, no. OpenWRT team refuses to built any firmwares with proprietary binary blobs. It was decided after long and non-successful story with wl-driver replacement in a wl-500g premium router. The wl-500gpv1 kernel 2.4 based firmware is a last OpenWRT try. In a RT-N66u we have got another nail in... bottom. A ctf.ko, another closed sources binary for a hardware NAT offload. It does not bring us closer to fully open source firmwares.
BTW! Why don't you make firmware with debugging options and get gdb in your hands? The problem definitely IS in a uclibc+busybox! Shibby?
Hey, in all your package building have you been able to build a shared p7zip? 7z with the 7z.so and Codecs/Rar29.so. I could cross compile it ok with the Tomato toolchain, but with this one I just keep getting this when I run 7z, despite both files being in the right place (i even renamed 7z.so to 7z.dll due to this error): 7-Zip 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,1 CPU) Can't load '/opt/lib/p7zip/7z.dll' (File not found) Can't load '/opt/lib/p7zip/Codecs/Rar29.so' (File not found) Formats: Codecs: I noticed the package in entware is the 7za which doesn't include rar. Just wondering if you ever got it work or wanted to help take a crack at it.
Sorry, no. p7zip is a heavy Windows archiver and it even can't store an owner/group info. It was compiled after several persistent requests Please, use unrar package.
Will do, its just odd that the shared compiles and runs fine under the Tomato toolchain and not entware's. Must be something about the newer gcc/uClibc combo and 7z's wacky way of accessing the shared library. Unrar's actually nicer it uses the same syntax and has a progress bar, what a pleasant surprise.
I'd like to request the modules needed to run sabnzbd. It needs par2cmdline, python-cheetah, python-openssl, python-yenc. From there I find it preferable to just grab the latest python source.
I'm re-trying to install this on cifs rather than USB. I mounted /opt into /cifs1/opt It seems to install fine but when I try to add packages it fails complaining about lack of space. After further investigation this seems to be related to a little tomato bug where cifs shares are mounted but reported as they where not and the cifs size is reported as 0. Code: root@tomato:/opt# opkg install nginx Installing nginx (1.2.2-1a) to root... Collected errors: * get_available_kbytes: Failed to statvfs for /opt: Value too large for defined data type. * verify_pkg_installable: Only have 0kb available on filesystem /opt, pkg nginx needs 277 * opkg_install_cmd: Cannot install package nginx. root@tomato:/opt# df -h Filesystem Size Used Available Use% Mounted on /dev/root 8.3M 8.3M 0 100% / tmpfs 61.9M 784.0K 61.1M 1% /tmp devfs 61.9M 0 61.9M 0% /dev df: /cifs1: Value too large for defined data type df: /cifs2: Value too large for defined data type df: /opt: Value too large for defined data type Is there any way to bypass this storage check and install any ways ignoring errors?
I don't know what you're doing but I have absolutely no problem using Entware / opkg on a CIFS/SMB share. The problem as I see it, from your df output, is that you HAVE no /cifs1 mount. Look here: Code: root@gw:/tmp/home/root# df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 6592 6592 0 100% / tmpfs 63500 216 63284 0% /tmp devfs 63500 0 63500 0% /dev - 943435012 433418284 510016728 46% /cifs1 - 943435012 433418284 510016728 46% /opt root@gw:/tmp/home/root# mount rootfs on / type rootfs (rw) /dev/root on / type squashfs (ro) proc on /proc type proc (rw) tmpfs on /tmp type tmpfs (rw) devfs on /dev type tmpfs (rw,noatime) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw) - on /cifs1 type cifs (rw,noatime,nodiratime,unc=\\192.168.1.51\tomato,username=tomato,domain=WORKGROUP,posixpaths,rsize=16384,wsize=57344) - on /opt type cifs (rw,noatime,nodiratime,unc=\\192.168.1.51\tomato,username=tomato,domain=WORKGROUP,posixpaths,rsize=16384,wsize=57344) Wondering where /opt came from in my example? Pretty simple: mount -o bind /cifs1/opt /opt You can put that command in Administration -> CIFS Client -> Execute When Mounted and never have to worry about it again.