PDA

Bekijk de volledige versie : Unslung/WL500g packages available for Oleg's firmware



rwhitby
29-03-2005, 14:38
Oleg's latest custom firmware now has support for downloadable packages. The package format is the same "ipkg" format used in OpenZaurus, OpenWRT, OpenSlug, and other embedded linux projects.

The NSLU2-Linux project (www.nslu2-linux.org) has a repository of about 280 packages which have been ported to the Linksys NSLU2 device. That repository of package build source files is called the "Unslung" build system, and it lives in the Unslung CVS repository at http://sf.net/projects/nslu.

We have now modified the Unslung build system to support both the NSLU2 with the "Unslung" firmware, and the WL500g with Oleg's custom firmware. Note that the NSLU2 is an XScale (armeb) device running glibc, whilst the WL500g is a Broadcom (mipsel) device running uclibc, so a number of packages will need further modifications to compile for the WL500g. Also be aware that the startup scripts and configuration files have been designed for the NSLU2, and will probably need modification for the WL500g in many cases.

The current status is that the following packages compile for the wl500g:

adns_1.1-1_armeb.ipk appweb_1.2.3-3_armeb.ipk
automake_1.9.4-2_armeb.ipk bash_2.05b-3_armeb.ipk bc_1.06-1_mipsel.ipk
bind_9.3.0-1_mipsel.ipk bitchx_1.1-final-1_mipsel.ipk
busybox_1.00-8_armeb.ipk bzip2_1.0.2-2_armeb.ipk
ccxstream_1.0.15-1_armeb.ipk classpath_0.13-1_armeb.ipk
coreutils_5.2.1-4_armeb.ipk ctags_5.5.4-1_mipsel.ipk
cyrus-sasl_2.1.20-4_armeb.ipk dhcp_3.0.1-1_armeb.ipk
distcc_2.18.3-1_armeb.ipk dnsmasq_2.15-5_armeb.ipk
dropbear_0.44test4-1_armeb.ipk ed_0.2-1_armeb.ipk
expat_1.95.8-1_armeb.ipk ffmpeg_0.4.9-pre1-1_armeb.ipk
fixesext_2.0.1+cvs20050130-1_mipsel.ipk flac_1.1.2-2_armeb.ipk
fontconfig_2.2.99-2_mipsel.ipk freetype_2.1.9-1_mipsel.ipk
ghostscript_8.50-1_armeb.ipk gift-fasttrack_0.8.9-1_armeb.ipk
gift-gnutella_0.0.10-1_armeb.ipk gift-openft_0.2.1.5-1_armeb.ipk
gift-opennap_20050212-1_armeb.ipk gift_0.11.8.1-1_mipsel.ipk
groff_1.19.1-2_armeb.ipk inetutils_1.4.2-4_mipsel.ipk
iptables_1.2.11-1_armeb.ipk ircd-hybrid_7.0.3-2_armeb.ipk
joe_3.1-1_armeb.ipk jove_4.16.0.65-1_armeb.ipk lame_3.96.1-1_armeb.ipk
libcurl_7.12.2-1_armeb.ipk libdvdread_0.9.4-1_armeb.ipk
libevent_0.9-1_armeb.ipk libgd_2.0.33-2_mipsel.ipk
libid3tag_0.15.1b-1_mipsel.ipk libjpeg_6b-2_armeb.ipk
libogg_1.0-1_mipsel.ipk libpng_1.2.8-2_armeb.ipk
libtool_1.5.10-2_mipsel.ipk libvorbis_1.0-1_mipsel.ipk
lua_5.0.2-1_mipsel.ipk lynx_2.8.5-2_armeb.ipk lzo_1.08-2_mipsel.ipk
m4_1.4.1-1_armeb.ipk make_3.80-1_armeb.ipk man-pages_2.01-1_armeb.ipk
man_1.5p-1_armeb.ipk mc_4.1.35-1_armeb.ipk
mt-daapd_0.2.1.1-1_armeb.ipk nano_1.2.4-1_armeb.ipk
ncftp_3.1.8-2_armeb.ipk openvpn_2.0_rc17-1_mipsel.ipk
patch_2.5.4-2_armeb.ipk pkgconfig_0.15.0-1_mipsel.ipk
portmap_4-2_armeb.ipk postgresql_8.0.1-2_mipsel.ipk
proftpd_1.2.10-4_mipsel.ipk python_2.4-1_mipsel.ipk
recordext_1.13+cvs20050130-1_mipsel.ipk
renderext_0.8+cvs20050130-1_mipsel.ipk tcpwrappers_7.6-2_armeb.ipk
torrent_1.0-1_armeb.ipk ttf-bitstream-vera_1.10-1_mipsel.ipk
vdr-mediamvp_0.1.4-2_armeb.ipk w3cam_0.7.2-1_mipsel.ipk
xau_0.1.1+cvs20050130-1_mipsel.ipk
xdmcp_0.1.3+cvs20050130-1_mipsel.ipk xextensions_1.0.2-1_mipsel.ipk
xproto_6.6.2+cvs20050130-1_mipsel.ipk
xtrans_0.1+cvs20050130-1_mipsel.ipk

[Note that I have tested very few of those packages, so even though they compile, they still may not run correctly. Over time we will sort out which is which.]

If a package listed above has "_mipsel" in the name, then it has been modified to emit an installable ipk correctly targetted for the WL500g. If the package has "_armeb" in the name, it means that it compiles, but still requires a simple (but tedious when there are a lot of them) modification to emit the correct ipk for the WL500g.

You can find out how to build these packages here: http://www.nslu2-linux.org/wiki/Unslung/AddAPackageToUnslung

I presume that someone (perhaps Oleg, or one of the other Chupa administrators) will make the "_mipsel" binary packages available somewhere for direct download. Until that time, you can build them yourself following the instructions referenced above. It's a one line ("TARGET=wl500g") change to the top-level Unslung Makefile to retarget it from the NSLU2 to the WL500g and build the packages.

If someone wants to send me a patch for any or all of the "_armeb" packages above to make them generate the correct ipkg control file, I'll be happy to include that patch in the Unslung CVS repository. All that is involved is updating each package's <foo>.mk file to match the control file generation code in the template.mk file. Simple but tedious.

Note that I do not intend to (nor do I have the time to) update packages that I don't personally need on my wl500g, but I am happy to accept patches from others and apply them to the Unslung CVS repository. For frequent contributors, we should be able to grant write access directly to the repository (remembering that the repository was originally set up for the NSLU2-Linux project, and that remains the primary target for the packages, so any contributed packages need to take that into account). Oleg already has write access, and I expect that at least a couple of other experienced developers here will end up being contributors with write access to the Unslung package repository too ...

-- Rod

rwhitby
01-04-2005, 15:15
I presume that someone (perhaps Oleg, or one of the other Chupa administrators) will make the "_mipsel" binary packages available somewhere for direct download.

They are now available at:

http://ipkg.nslu2-linux.org/feeds/unslung/wl500g

That feed will be updated from the list of packages in the WL500G_PACKAGES variable in the Unslung top-level Makefile.

Note that I am not offering to personally support these packages in any way - they are provided on an as-is basis. In particular, I probably will not personally be answering any "how do I use this package" questions. If you wish to make changes or contribute new packages, then follow the instructions at:

http://www.nslu2-linux.org/wiki/Unslung/AddAPackageToUnslung

My hope is that a number of wl500g package developers will take on the task of porting many of the Unslung packages to the wl500g. There are already two developers (Oleg and Jean-Fabrice) who have CVS write access to the Unslung source repository.

-- Rod

Oleg
01-04-2005, 15:56
Rod, you've done a great job, I will remove my unslung repository shortly as it's outdated now. :)
Also, I will update ipkg package, so it would point to the right place and include rc.unslung to it.

hugo
01-04-2005, 17:47
Just a quick note about some big package requesting readline, and readline libs. Is it compiling for wl-500, or does it needs more work?

rwhitby
01-04-2005, 22:11
Just a quick note about some big package requesting readline, and readline libs. Is it compiling for wl-500, or does it needs more work?

Fixed - there were some packages that were built as required for other packages but had not been converted.

-- Rod

Oleg
03-04-2005, 08:02
Several new packages added, including gift plugins, madplay and microperl.
I've removed unslung directory from my server, so from now use this ipkg.conf line:


src unslung http://ipkg.nslu2-linux.org/feeds/unslung/wl500g

Oleg
03-04-2005, 10:22
I've also updated ipkg package, so it's now pointing to the unslung repository. This new version also adds rc.unslung script to the /opt/etc/init.d/rc.unslung, so if some services depends on it, then just add


[ -x /opt/etc/init.d/rc.unslung ] && /opt/etc/init.d/rc.unslung

to the end of your post-mount/post-boot script (this depends on the moment then /opt is get mounted).

verwilst
03-04-2005, 22:47
Hello!

There are 2 packages i would die for to have ;) Namely OpenVPN 2.0 and a PHP4 enabled webserver :$ Could it be possible to package those too? :$ I'm willing to pay for it!

Thanks in advance

Bart

Styno
04-04-2005, 10:10
Webserver + PHP4 is allready available on this forum (not as an ipkg package though, just a binary).

Jean-Fabrice
04-04-2005, 11:43
$ I'm willing to pay for it!

Sounds interesting... :) How much ?

Well, for 2 cents, I can give you the following URL :
http://www.bobo-rousselin.com/wl/ipkg/

EDIT : and openvpn seems to build perfectly from unslung

Oleg
04-04-2005, 13:28
Jean-Fabrice, could you please add your thttpd+php package to the unslung? ;-)
Feel free to send patches or files to me for review.

verwilst
05-04-2005, 13:56
Well, i'm looking into setting up my own build env. to compile openvpn 2.0 ( it has to be 2.0 ) on my gentoo.. Ofcourse if you want to make the openvpn2 pkg yourself for a certain amount, just let me know :) Thanks for the thttpd link ;)

ela002
06-04-2005, 01:43
Can you add as a package open dc hub?

rwhitby
06-04-2005, 01:55
Can you add as a package open dc hub?

Who are you asking?

The Unslung packages come about by people contributing the packages that they personally need. We have 50+ developers, each of whom only contributed those packages that they personally need (and that weren't there already).

So you should not expect someone to jump into gear and add a package just because someone asks for it ... that is not the way these things work.

You might like to picque someone's interest by at least describing what the package is, what it is used for, and why it would be in someone's self-interest to add it.

Having said that, you might get lucky and someone might just add it out of the goodness of their heart :-)

-- Rod

tomilius
08-04-2005, 06:58
Can you add as a package open dc hub?

Though you could try that wish list thread (http://wl500g.info/showthread.php?p=13300)...

xlephant
08-04-2005, 14:32
anybody already compiled the affix bluetooth stack?

Niall
09-04-2005, 23:01
Can anyone let me know how to install an ipkg file on the WL500g running the latest firmware? The command I am using ipkg install chillispot_1.0RC3-1_mipsel.ipk does not seem to work when I try to install the chillispot program in the root dir. Please let me know if you can help.

Niall

rwhitby
10-04-2005, 00:37
Is it a chillispot ipkg for the wl500g or for openwrt on the wrt54g?

The two are not compatible. Whilst the binary may well work, ipk's for the wrt54g expect a completely different root filesystem layout.

If you have the source package.mk file from openwrt, then it is very easy to convert this to an Unslung package (as the Unslung build system was derived from the OpenWRT system).

-- Rod

Niall
10-04-2005, 01:37
Hi Rod,

Thanks for the advice. It is indeed for the WRT54G. I am a real amateur when it comes to this hacking so please forgive any stupid questions. Are the instructions for adapting the WRT files in the new Unslung repository?

Cheers,

Niall

rwhitby
10-04-2005, 04:36
Are the instructions for adapting the WRT files in the new Unslung repository?

No, there are no instructions. You need to know a little bit about package development to adapt the files. See make/template.mk in the Unslung source code repository, and study the other packages that are there. Perhaps examine the differences between the wrt54g .mk file and the Unslung .mk file for a package which is in common between the two repositories.

-- Rod

Jean-Fabrice
10-04-2005, 08:26
Jean-Fabrice, could you please add your thttpd+php package to the unslung? ;-)

thttpdphp ipk has been added to unslung feed : http://ipkg.nslu2-linux.org/feeds/unslung/wl500g/

Does not support a lot of extensions as I get trouble compiling some unslung available (and php needed) libs.
Still looking for more extension support. help is appreciated (libxml2 would be great).

Niall
10-04-2005, 11:09
Thanks Rod,

I will check it out today. I will post the adapted files if I succeed as I think it would be a great addition.

Cheers,

Niall

Styno
12-04-2005, 14:18
There's now an ipkg installation HOWTO available on the WebTools website: http://webtools.wl500g.info/wiki/doku.php?id=docs:howtoipkgonasus

Perhaps we need to copy/paste the info into an HOWTO on this forum as well...

oldudu
12-04-2005, 19:34
Hi,

I've seen that there were a fetchmail & xmail package.... does it mean that it should work on the wl500g ???? !

I'm really interested ... !

Oldudu

rwhitby
13-04-2005, 02:26
Thanks Rod,

I will check it out today. I will post the adapted files if I succeed as I think it would be a great addition.


Please do. Let me know when you've got a .mk file ready, and I will grant you write access to the Unslung CVS repository.

Read the pages at
http://www.nslu2-linux.org/wiki/Unslung/AddAPackageToUnslung
for the instructions on how to contribute a new package.

-- Rod

barsju
16-04-2005, 00:28
Hmm. I try to install ncurses but my router reboots. I'm guessing I run out of memory. I have a USB stick, but don't boot from it. I have installed ipkg using the loop-filesystem trick (a file on my FAT usb stick).

My question is should I have:
dest root /
in my ipkg.conf? Does this mean that I try to download to root, and that is why I run out of memory? Should it be /tmp/harddisk/ or /opt/ ? Or is ncurses just to big for me to install, so that I need to boot from USB to make it work?

S.

rwhitby
16-04-2005, 00:41
All Unslung packages are designed to install everything under /opt, so "dest root /" is correct.

You might want to consider creating a swap file if you are running out of memory.

-- Rod

Styno
16-04-2005, 14:35
You might want to consider creating a swap file if you are running out of memory.I use a (non rootfs) setup with additional swap memory which works fine (no short of memory) from an USB harddisk, so that would be a good solution. However I don't think that using a Flash USB drive is suitable for swapmemory because of the extensive writes performed on a swapfile and the limited write cycles sustained by Flash memory.

rwhitby
16-04-2005, 14:43
However I don't think that using a Flash USB drive is suitable for swapmemory because of the extensive writes performed on a swapfile and the limited write cycles sustained by Flash memory.

Agreed. But it might be a good temporary solution to be able to install a large package. Then you turn it off again (assuming the package fits in memory when it is running).

-- Rod

barsju
16-04-2005, 15:56
So how would I go about setting up a swapfile and the removing it again on a FAT drive? Does it matter that it is FAT? If it doesn't I guess I can find instructions on the forum..

S.

rwhitby
16-04-2005, 16:03
So how would I go about setting up a swapfile and the removing it again on a FAT drive?

Hmmm - I don't think you can on FAT. You will need to partition the drive and make one partition a linux swap partition.

-- Rod

hugo
16-04-2005, 16:40
No, you can create a swap on fat, as a file. Just make and empty file with dd, then use mkswap and you can use it.

Oleg
16-04-2005, 18:12
So how would I go about setting up a swapfile and the removing it again on a FAT drive? Does it matter that it is FAT? If it doesn't I guess I can find instructions on the forum..

S.
That's easy, first you need to create swap file and initalize it (this would create 64MB swap file):


dd if=/dev/zero of=/tmp/harddisk/linux.swp bs=1048576 count=64
mkswap /tmp/harddisk/linux.swp

And then activate it in the post-mount:


swapon /tmp/harddisk/linux.swp

Jean-Fabrice
26-04-2005, 08:49
Here is the current package list of the 135 availables wl500g packages built using the unslung build system.
Again, thanks a lot to rwhitby, oleg and all the nslu2-linux staff.

adns_1.1-1_mipsel.ipk
appweb_1.2.3-5_mipsel.ipk
atftp_0.7-5_mipsel.ipk
audiofile_0.2.6-1_mipsel.ipk
autoconf_2.59-2_mipsel.ipk
automake_1.9.4-3_mipsel.ipk
bash_2.05b-4_mipsel.ipk
bc_1.06-1_mipsel.ipk
bitchx_1.1-final-1_mipsel.ipk
busybox-base_1.00-10_mipsel.ipk
busybox-links_1.00-10_mipsel.ipk
busybox_1.00-10_mipsel.ipk
bzip2_1.0.2-3_mipsel.ipk
ccxstream_1.0.15-3_mipsel.ipk
chillispot_1.0RC3-1_mipsel.ipk
classpath_0.13-3_mipsel.ipk
coreutils_5.2.1-5_mipsel.ipk
cpio_2.5-2_mipsel.ipk
cron_4.1-4_mipsel.ipk
ctags_5.5.4-1_mipsel.ipk
cyrus-sasl-libs_2.1.20-6_mipsel.ipk
cyrus-sasl_2.1.20-6_mipsel.ipk
diffutils_2.8.1-3_mipsel.ipk
distcc_2.18.3-2_mipsel.ipk
dnsmasq_2.15-6_mipsel.ipk
e2fsprogs_1.35-3_mipsel.ipk
expat_1.95.8-1_mipsel.ipk
fetchmail_6.2.5-5_mipsel.ipk
file_4.12-2_mipsel.ipk
findutils-doc_4.1.20-3_mipsel.ipk
findutils_4.1.20-3_mipsel.ipk
fixesext_2.0.1+cvs20050130-1_mipsel.ipk
flex_2.5.4a-2_mipsel.ipk
fontconfig_2.2.99-5_mipsel.ipk
freeradius-doc_1.0.2-1_mipsel.ipk
freeradius_1.0.2-1_mipsel.ipk
freetype_2.1.9-1_mipsel.ipk
ftpd-topfield_1.0-4_mipsel.ipk
gconv-modules_2.2.5-4_mipsel.ipk
gdb_6.3-2_mipsel.ipk
gdbm_1.8.3-2_mipsel.ipk
gift-ares_20050212-1_mipsel.ipk
gift-fasttrack_0.8.9-1_mipsel.ipk
gift-gnutella_0.0.10-1_mipsel.ipk
gift-openft_0.2.1.5-1_mipsel.ipk
gift_0.11.8.1-1_mipsel.ipk
git_pasky-0.6.2-1_mipsel.ipk
grep_2.4.2-4_mipsel.ipk
gzip_1.2.4-2_mipsel.ipk
hdparm_5.9-1_mipsel.ipk
inetutils_1.4.2-4_mipsel.ipk
joe_3.1-2_mipsel.ipk
lame_3.96.1-3_mipsel.ipk
less_381-2_mipsel.ipk
libcurl_7.12.2-1_mipsel.ipk
libdb_4.2.52-2_mipsel.ipk
libevent_1.0b-1_mipsel.ipk
libgd_2.0.33-2_mipsel.ipk
libid3tag_0.15.1b-1_mipsel.ipk
libjpeg_6b-2_mipsel.ipk
libmad_0.15.1b-1_mipsel.ipk
libogg_1.0-1_mipsel.ipk
libol_0.3.15-2_mipsel.ipk
libosip2_2.0.9-1_mipsel.ipk
libpng_1.2.8-3_mipsel.ipk
libtool_1.5.10-2_mipsel.ipk
libusb_0.1.8-2_mipsel.ipk
libvorbis_1.0-1_mipsel.ipk
libxslt_1.1.12-2_mipsel.ipk
logrotate_3.7-2_mipsel.ipk
lua_5.0.2-1_mipsel.ipk
lynx_2.8.5-3_mipsel.ipk
lzo_1.08-2_mipsel.ipk
m4_1.4.1-2_mipsel.ipk
madplay_0.15.2b-1_mipsel.ipk
make_3.80-2_mipsel.ipk
man-pages_2.01-2_mipsel.ipk
man_1.5p-3_mipsel.ipk
mc_4.1.35-2_mipsel.ipk
miau_0.5.3-9_mipsel.ipk
microperl_5.8.6-3_mipsel.ipk
minicom_2.1-1_mipsel.ipk
mktemp_1.5-1_mipsel.ipk
mt-daapd_0.2.1.1-3_mipsel.ipk
nano_1.2.4-2_mipsel.ipk
ncftp_3.1.8-2_mipsel.ipk
ncurses_5.4-3_mipsel.ipk
ntpclient_2003_194-3_mipsel.ipk
nylon_1.2-3_mipsel.ipk
openssl_0.9.7d-3_mipsel.ipk
openvpn_2.0_rc17-1_mipsel.ipk
patch_2.5.4-3_mipsel.ipk
php-dev_5.0.3-7_mipsel.ipk
php-gd_5.0.3-7_mipsel.ipk
php-mysql_5.0.3-7_mipsel.ipk
php-thttpd_2.25b-5.0.3-4_mipsel.ipk
php_5.0.3-7_mipsel.ipk
pkgconfig_0.15.0-1_mipsel.ipk
popt_1.7-1_mipsel.ipk
portmap_4-3_mipsel.ipk
procps_3.2.3-4_mipsel.ipk
proftpd_1.2.10-5_mipsel.ipk
puppy_1.8-2_mipsel.ipk
rdate_1.4-2_mipsel.ipk
readline_5.0-1_mipsel.ipk
recordext_1.13+cvs20050130-1_mipsel.ipk
renderext_0.8+cvs20050130-1_mipsel.ipk
rsync_2.6.3-7_mipsel.ipk
siproxd_0.5.10-1_mipsel.ipk
sqlite_3.2.1-1_mipsel.ipk
strace_4.5.8-1_mipsel.ipk
stunnel_4.07-7_mipsel.ipk
syslog-ng_1.6.6-2_mipsel.ipk
tar_1.14-3_mipsel.ipk
tcpdump_3.8.3-1_mipsel.ipk
tcpwrappers_7.6-2_mipsel.ipk
termcap_1.3.1-2_mipsel.ipk
textutils_2.1-1_mipsel.ipk
thttpd_2.25b-1_mipsel.ipk
unfs3_0.9.10-1_mipsel.ipk
units_1.80-2_mipsel.ipk
vorbis-tools_1.0.1-1_mipsel.ipk
vsftpd_2.0.1-7_mipsel.ipk
w3cam_0.7.2-1_mipsel.ipk
wakelan_1.1-2_mipsel.ipk
wget-ssl_1.9.1-2_mipsel.ipk
which_2.16-2_mipsel.ipk
xau_0.1.1+cvs20050130-1_mipsel.ipk
xdmcp_0.1.3+cvs20050130-1_mipsel.ipk
xextensions_1.0.2-1_mipsel.ipk
xinetd_2.3.13-4_mipsel.ipk
xproto_6.6.2+cvs20050130-1_mipsel.ipk
xtrans_0.1+cvs20050130-1_mipsel.ipk
xvid_20050214-2_mipsel.ipk
zlib_1.2.2-2_mipsel.ipk

rwhitby
26-04-2005, 11:37
Here is the current package list of the 135 availables wl500g packages built using the unslung build system.
Again, thanks a lot to rwhitby, oleg and all the nslu2-linux staff.

And a big thanks to Jean-Fabrice for taking on the job of Unslung/WL500g packages release manager, and performing it so well. It is good to see Jean-Fabrice and Josh (our Unslung/NSLU2 packages release manager) working together to keep a single source for both WL500g and NSLU2 packages, and to drive both sets of packages forward!

-- Rod

jago25_98
07-05-2005, 11:39
Can I draw attention to:
this comment from barsju:

Join Date: Nov 2004
Posts: 141
Hmm. I try to install ncurses but my router reboots. I'm guessing I run out of memory. I have a USB stick, but don't boot from it. I have installed ipkg using the loop-filesystem trick (a file on my FAT usb stick).

My question is should I have:
dest root /
in my ipkg.conf? Does this mean that I try to download to root, and that is why I run out of memory? Should it be /tmp/harddisk/ or /opt/ ? Or is ncurses just to big for me to install, so that I need to boot from USB to make it work?

S.

I need to know whether dest root needs to be changed too

barsju
07-05-2005, 18:05
No dest root is fine. Once I setup a swap file, it installed fine. Once finished installing I switched off the swap file.

S.

llagendiijk
07-05-2005, 18:05
Can I draw attention to:
this comment from barsju:

Join Date: Nov 2004
Posts: 141
Hmm. I try to install ncurses but my router reboots. I'm guessing I run out of memory. I have a USB stick, but don't boot from it. I have installed ipkg using the loop-filesystem trick (a file on my FAT usb stick).

My question is should I have:
dest root /
in my ipkg.conf? Does this mean that I try to download to root, and that is why I run out of memory? Should it be /tmp/harddisk/ or /opt/ ? Or is ncurses just to big for me to install, so that I need to boot from USB to make it work?

S.

I need to know whether dest root needs to be changed too
No, / is the base for al packages. Root just gives the base for where to install packages
You may have to add some swap in order to be able to install larger packages. Details on how to do that have been given in other threats
like http://wl500g.info/showthread.php?t=2036&highlight=swapon or do a search for swapon
/Louis

Oleg
05-06-2005, 19:49
I've updated ipkg to 0.99.149. rc.unslung, ipkg.conf are included. Use


ipkg update
ipkg upgrade ipkg

to update to latest.

kdudl
06-06-2005, 13:47
Hello Oleg,

Installation of the new version ended successfully, but now if I try to update:

"ipkg update" returns following:

ipkg: Cannot create directory `//usr/lib/ipkg': Read-only file system
ipkg: Cannot create directory `/usr/lib/ipkg': Read-only file system
ipkg: Cannot create directory `//usr/lib/ipkg': Read-only file system
ipkg: Cannot create directory `/usr/lib/ipkg': Read-only file system
An error ocurred, return value: 22.
Collected errors:
ipkg_update_cmd: ERROR: failed to make directory /usr/lib/ipkg/lists: Read-only file system

Is this new version not compatible (path) with the earlier version installed with the how-to of macsat?

Oleg
06-06-2005, 13:50
will check on this... seems to be a bug...

Oleg
06-06-2005, 17:30
Ok, fixed this. If anyone if already installed bad ipkg (i.e. it fails to work), then just type these lines


cd /opt/bin
wget http://wl500g.dyndns.org/ipkg/ipkg

This would download correct version and fix the things.

kdudl
07-06-2005, 08:02
All things are OK now !
Thank you for your quick reaction.

Jethro
11-08-2005, 19:25
Just curious:

What good is php-mysql_5.0.3-7_mipsel.ipk when there is no MySQL support present?

macsat
11-08-2005, 21:45
I guess it can be used to connect to a remote MySQL server, if you have access to one that allows external connections ?

rwhitby
12-08-2005, 00:56
Just curious:

What good is php-mysql_5.0.3-7_mipsel.ipk when there is no MySQL support present?

Incentive for someone to contribute the MySQL support? ;)

-- Rod

Jean-Fabrice
12-08-2005, 08:56
Any idea on how to get libstdc++ (needed by mysql and many others unslung optware) support in the actual toolchain ?

Oleg
12-08-2005, 09:16
The idea is to recompile everything with latest uclibc. :)
It's possible, but requires some time, which I do not have at the moment. :(

Jethro
12-08-2005, 14:17
The idea is to recompile everything with latest uclibc. :)
It's possible, but requires some time, which I do not have at the moment. :(
You have my blessing. :D I'll be patiently awaiting this version. :)

Jean-Fabrice
14-08-2005, 20:25
The idea is to recompile everything with latest uclibc. :)
It's possible, but requires some time, which I do not have at the moment. :(

Could you give some hints to achieve this ?

I build a fresh toolchain using uclibc buildroot but it doesn't let me choose kernel 2.4.20. The minimum that be be used is 2.4.25... As for gcc / binutils, oldest ones I can use are 3.3.5 / 2.14.90.0.8. The final toolchain doesn't build the firmware, as expected ;)

Questions are :
1) Since Asus tarball uses a modified 2.4.20 kernel, I think I can't use an other one for my toolchain, correct ? other idea : are kernel sources involved in toolchain setup ?
2) Is there a particular gcc / binutils version that should be used to create the toolchain ?
3) Is my way the good way (i.e rebuild a full toolchain from scratch) or should I only try to build a uclibc toolchain using uclibc 0.9.28 ?

Thank ou for your help,

JF

Oleg
15-08-2005, 13:12
I build a fresh toolchain using uclibc buildroot but it doesn't let me choose kernel 2.4.20. The minimum that be be used is 2.4.25... As for gcc / binutils, oldest ones I can use are 3.3.5 / 2.14.90.0.8. The final toolchain doesn't build the firmware, as expected ;)

Kernel version only make sense for include files, so you could safely use 2.4.25. My original idea was to use gcc and binutils which are supplied by broadcom and compile toolchain with uclibc 0.9.27.



1) Since Asus tarball uses a modified 2.4.20 kernel, I think I can't use an other one for my toolchain, correct ? other idea : are kernel sources involved in toolchain setup ?

Actual kernel headers are not used, so use 2.4.25.



2) Is there a particular gcc / binutils version that should be used to create the toolchain ?

Perhaps the same as supplied by broadcom in the source dir.



3) Is my way the good way (i.e rebuild a full toolchain from scratch) or should I only try to build a uclibc toolchain using uclibc 0.9.28 ?

You mean 0.9.27? Anyway, the only way with latest uclibcs is to rebuild toolchain from scratch. Once you will do this, post here - I will then adjust firmware.

Jean-Fabrice
17-08-2005, 21:34
okay, here is what I did since my last post :)

My goal is to build a completely new uclibc toolchain based on uclibc 0.9.27, binutils 2.6.12, gcc 3.2.3 and kernel 2.4.25.

I'm using uclibc buildroot (http://buildroot.uclibc.org/) to build the new toolchain. Since latest snapshot of buildroot doesn't let me choose binutils 2.6.12 and gcc 3.2.3, I applied some patches to it to be able to do so.

My latest tests gave me the following results :
1. binutils build fine
2. first pass of gcc ( --disable-shared ) builds fine
3a. uclibc does'nt build if I let the option 'Support global constructors and destructors' defaultly selected (UCLIBC_CTOR_DTOR=y). The build of uclibc terminates with 'crtbeginS.o : no such file or directory'. It seems that crtbeginS.o is not generated by the previous gcc build stage. Dunno why ! but since crtbeginS.o is not present in the broadcom toolchain, I thought I was walking the wrong way.
3b. uclibc builds if I don't select the UCLIBC_CTOR_DTOR option
==> At this point, in order to continue, I decided to use 3b.
4. second pass of gcc (with --enable-shared) fails with some errors on decl.c ("decl.c:561: invalid lvalue in assignment")
5. no more :( I can't continue
Any idea how I could solve 4 or maybe 3a ?

Attached are my buildroot patch and .config, uclibc's .config is the default generated one.

JF

Jean-Fabrice
17-08-2005, 22:54
4. second pass of gcc (with --enable-shared) fails with some errors on decl.c ("decl.c:561: invalid lvalue in assignment")

okay, 4. solved thanks to http://66.102.9.104/search?q=cache:r0n8KNOkQvkJ:www.geocrawler.com/mail/msg.php3%3Fmsg_id%3D6464982+current_binding_level+ assignment&hl=fr

now gcc build ends with


/home/buildroot/build_mipsel/staging_dir/mipsel-linux-uclibc/bin/ld: libgcc/./_muldi3.o: compiled for a little endian system and target is big endian
File in wrong format: failed to merge target specific data of file libgcc/./_muldi3.o


any idea ?

Jean-Fabrice
18-08-2005, 08:41
Problem solved again using 'mips' as ARCH (not MIPSEL) at the buildroot 'make menuconfig' stage. (This should be a problem since MIPS is big endian while MIPSEL is a shorcut for MIPS Little Endian)

So compilation restarts... and now fails with :


/home/buildroot/toolchain_build_mips/gcc-3.2.3-final/gcc/xgcc -B/home/buildroot/toolchain_build_mips/gcc-3.2.3-final/gcc/ -B/home/buildroot/build_mips/staging_dir/mips-linux-uclibc/bin/ -B/home/buildroot/build_mips/staging_dir/mips-linux-uclibc/lib/ -isystem /home/buildroot/build_mips/staging_dir/mips-linux-uclibc/include -O2 -DIN_GCC -DCROSS_COMPILE -DUSE_UCLIBC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc/./libgcc.map -o libgcc_s.so.1 libgcc/./_muldi3.o libgcc/./_negdi2.o libgcc/./_lshrdi3.o libgcc/./_ashldi3.o libgcc/./_ashrdi3.o libgcc/./_ffsdi2.o libgcc/./_clz.o libgcc/./_cmpdi2.o libgcc/./_ucmpdi2.o libgcc/./_floatdidf.o libgcc/./_floatdisf.o libgcc/./_fixunsdfsi.o libgcc/./_fixunssfsi.o libgcc/./_fixunsdfdi.o libgcc/./_fixdfdi.o libgcc/./_fixunssfdi.o libgcc/./_fixsfdi.o libgcc/./_fixxfdi.o libgcc/./_fixunsxfdi.o libgcc/./_floatdixf.o libgcc/./_fixunsxfsi.o libgcc/./_fixtfdi.o libgcc/./_fixunstfdi.o libgcc/./_floatditf.o libgcc/./_clear_cache.o libgcc/./_trampoline.o libgcc/./__main.o libgcc/./_exit.o libgcc/./_absvsi2.o libgcc/./_absvdi2.o libgcc/./_addvsi3.o libgcc/./_addvdi3.o libgcc/./_subvsi3.o libgcc/./_subvdi3.o libgcc/./_mulvsi3.o libgcc/./_mulvdi3.o libgcc/./_negvsi2.o libgcc/./_negvdi2.o libgcc/./_ctors.o libgcc/./_divdi3.o libgcc/./_moddi3.o libgcc/./_udivdi3.o libgcc/./_umoddi3.o libgcc/./_udiv_w_sdiv.o libgcc/./_udivmoddi4.o libgcc/./_pack_sf.o libgcc/./_unpack_sf.o libgcc/./_addsub_sf.o libgcc/./_mul_sf.o libgcc/./_div_sf.o libgcc/./_fpcmp_parts_sf.o libgcc/./_compare_sf.o libgcc/./_eq_sf.o libgcc/./_ne_sf.o libgcc/./_gt_sf.o libgcc/./_ge_sf.o libgcc/./_lt_sf.o libgcc/./_le_sf.o libgcc/./_unord_sf.o libgcc/./_si_to_sf.o libgcc/./_sf_to_si.o libgcc/./_negate_sf.o libgcc/./_make_sf.o libgcc/./_sf_to_df.o libgcc/./_thenan_sf.o libgcc/./_sf_to_usi.o libgcc/./_usi_to_sf.o libgcc/./_pack_df.o libgcc/./_unpack_df.o libgcc/./_addsub_df.o libgcc/./_mul_df.o libgcc/./_div_df.o libgcc/./_fpcmp_parts_df.o libgcc/./_compare_df.o libgcc/./_eq_df.o libgcc/./_ne_df.o libgcc/./_gt_df.o libgcc/./_ge_df.o libgcc/./_lt_df.o libgcc/./_le_df.o libgcc/./_unord_df.o libgcc/./_si_to_df.o libgcc/./_df_to_si.o libgcc/./_negate_df.o libgcc/./_make_df.o libgcc/./_df_to_sf.o libgcc/./_thenan_df.o libgcc/./_df_to_usi.o libgcc/./_usi_to_df.o libgcc/./unwind-dw2.o libgcc/./unwind-dw2-fde.o libgcc/./unwind-sjlj.o -lc && rm -f libgcc_s.so && ln -s libgcc_s.so.1 libgcc_s.so
/home/buildroot/build_mips/staging_dir/mips-linux-uclibc/bin/ld: cannot open crtbeginS.o: No such file or directory

As usual, no crtbeginS.o in my toolchain's dirs. :(

Jean-Fabrice
20-08-2005, 21:19
I wasn't able to get rid of the crtbeginS.o problem :(

So I start a new way :
I rebuild a full libc toolchain using gcc 3.2.3, binutils 2.13.2.1 and glibc 2.2.5.
This seems to be ok after some hard work and many hours...

Now, how can I build mipsel-uclibc-gcc since compiling latest uclibc doesn't create it ? uclibc building only produce libs.

JF

Oleg
21-08-2005, 12:40
I wasn't able to get rid of the crtbeginS.o problem :(

So I start a new way :
I rebuild a full libc toolchain using gcc 3.2.3, binutils 2.13.2.1 and glibc 2.2.5.
This seems to be ok after some hard work and many hours...

Now, how can I build mipsel-uclibc-gcc since compiling latest uclibc doesn't create it ? uclibc building only produce libs.

JF
JF, no way. You've to use uclibc instead of glibc...
BTW, have you checked openwrt buildroot for correct uclibc config? We should use the same. As for gcc/binutils - well, we would probably switch to gcc-3.3.x then...

Oleg
21-08-2005, 12:45
P.S. Sorry for delay, I've missed this post somehow.

Jean-Fabrice
21-08-2005, 14:29
I was trying a glibc toolchain since broadcom uclibc toolchain seems to make use of the glibc one they provide (mipsel-uclibc-gcc is very small. is it a wrapper for mipsel-linux-gcc which links against uclibc ?)

I'll give a look at openwrt uclibc and check their config file.
I'm now making a last try with gcc 3.2.3 & uclibc snapshot and switch to gcc 3.3 if no success.
JF

Oleg
21-08-2005, 15:47
I was trying a glibc toolchain since broadcom uclibc toolchain seems to make use of the glibc one they provide (mipsel-uclibc-gcc is very small. is it a wrapper for mipsel-linux-gcc which links against uclibc ?)

Yes, this is a wrapper. Actually, uclibc switched from wrappers to real toolchain at some point.

Oleg
21-08-2005, 15:48
P.S. uclibc 0.9.28 released a few days ago.

Jean-Fabrice
21-08-2005, 17:11
uclibc 0.9.28 crosstoolchain based on gcc 3.3.6 / binutils 2.16 builds without error using uclibc buildroot plus openwrt uclibc config file.
There's no challenge here :(

JF

oleo
23-12-2005, 09:43
My suggestion is to take one step at the time.

Upgrade just uClibc to 0.9.28 and keep broadcom 3.2.3 toolchain.

Here is my uClibc build script which proves this:

#!/bin/sh
PATH="/opt/brcm/hndtools-mipsel-linux/bin:/opt/brcm/hndtools-mipsel-uclibc/bin:${PATH}"
export PATH

VERSION=0.9.28
UCLIBC=uClibc-${VERSION}
CONFIG=uClibc-${VERSION}.config

[ ! -f ${UCLIBC}.tar.bz2 ] && wget http://www.uclibc.org/downloads/${UCLIBC}.tar.bz2
rm -rf ${UCLIBC}
tar xjf ${UCLIBC}.tar.bz2
patch -d${UCLIBC} -p1 < Makefile.patch
make -C ${UCLIBC} clean
cat ${CONFIG} > ${UCLIBC}/.config
make -C ${UCLIBC} all install CROSS=mipsel-linux- TARGET_ARCH=mips


Attached Oleg config aligned for new uClibc, build script and tiny install tar conformance patch for Makefile.

Of course, one should take a look for changes of patches from http://wl500g.dyndns.org/uClibc-0.9.19/ and possible reintroduction.

oleo
07-03-2006, 14:27
After many hours I have managed to port uClibc++ library to 3.2.3 toolchain used to build Oleg firmware. This port enabled many previously non working optware packages to start working! (eg. python, py-*, mysql, ctorrent, groff, man, mutt, nmap, nload, nagios-plugins & nrpe, appweb, cdargs, cogito, cherokee, ruby, ...) Visit http://ipkg.nslu2-linux.org/feeds/unslung/wl500g/ for complete list of packages.

See Optware wl-500g Build (http://www.nslu2-linux.org/wiki/FAQ/OptwareWl500gBuild) FAQ page for details of this wl500g toolchain upgrade.

There are still many packages that we wish to be built but they are limited with current firmware uClibc library. The biggest limitation is lack of wchar support needed by many packages. There are also some issues with linking of shared libraries (resolved in uClibc 0.9.22). I hope that with all this advances Oleg will take an effort and resolve this issues with upgrade to latest uClibc in his upcoming firmware.

Here are some of my notes on still broken packages:

WL500G_BROKEN_PACKAGES = \
asterisk = xscale dependent
atk = glib
bitlbee = glib iconv
bzflag = c++
cvs = wchar
dict = ?
elinks = xbel.c:15:19: expat.h: No such file or directory
erlang = Makefile Cross compile problem \
ficy = http.cc:20: `getline' not declared
freetds = ld: cannot find -lreadline
gawk = wchar
gettext = ?
giftcurs = glib
git-core = iconv
glib = iconv
gnupg = wchar
gtk = iconv
hnb = uClib stdio problem
ice = x11
iperf = missing thread
iptables = conntrack?
ivorbis-tools = ASM problem
jabber = modf undefined
jamvm = mipsel not supported
ldconfig = ?
libdvb = fpros
libftdi = linking PIC files with non-PIC files
libgc = esdep.h
libtorrent = ambiguous overload for `std::basic_istream
libvorbisidec = ASM problem
lsof = configure
mdadm = ftw.h
mod-fastcgi = ipkg problem
mod-python = configure
monotone = libboost_filesystem failure
mtr = resolver missing
nail = define problem
nfs-server = innetgr undefined
nfs-utils = download problem
nget = C++ map
ntp = tm_gmtoff
pango = iconv
py-mssql = -lreadline
py-sqlobject = svn download
unslung-devel \
qemu = unslung
qemu-libc-i386 = unslung
rtorrent = bencode c++
sdl = x11
ser = undefined reference to `__res_search'
sm = MB_CUR_MAX' undeclared
snownews = wctomb
sqsh = -lreadline
sudo = errx
tethereal = No iconv()
transcode = libiconv missing
unrar = unicode.cpp
vte = No iconv()
wget-ssl = clock_getres
x11 = stdc_wcstocts
xauth
xaw
xchat
xcursor
xdpyinfo
xext
xfixes
xft
xmu
xpdf
xpm
xrender

Cryptic
19-05-2006, 13:23
All wl500g packages on http://ipkg.nslu2-linux.org/feeds/unslung/wl500g/
are gone. Does anybody have any idea what happened and when they will be back ;)?

oleo
19-05-2006, 23:44
The problem is with sourceforge which happend to change their repositories names. jp30 is responsible for update change. And maybe rwhitby will help with this. I suggest to wait a day or two for rebuild.

rwhitby
17-06-2006, 23:09
We have moved the Optware source code repository from sourceforge.net to our new svn.nslu2-linux.org site.

http://svn.nslu2-linux.org/svnroot/optware

You can also browse the source with the nice Trac interface at:

http://trac.nslu2-linux.org/optware

If you are an Optware developer, you need an NSLU2-Linux SSL client certficate to write to the new repository. All sourceforge.net write access has been disabled. Contact me if you need a certificate.

There is no change to the feed contents or location.

-- Rod

oleo
21-07-2006, 15:17
After many rip & build cycles, buildroot uClibc toolchain is finished and
ready for testing on mipsel arch.

It provides:

uclibc-0.9.28 with wchar support target for base instalation into /opt/lib
target toolchain 3.4.6 for packages cross compilation w/ ccache
native toolchain for compilation on embeded system w/ ccache
uClibc++ 0.2.0 for C++ packages

I have prepared uClibc buildroot toolchain to compile within optware. It
creates both host and target toolchain along with uClibc 0.9.28.
Target uClibc is installed into /opt/lib along with loader ld-uClibc.so

For testing purposes I've prebuild packages at http://www.wlan-sat.com/boleo/optware/oleg

Instalation scenario should be:

Prepare /opt directory as usual
ipkg.sh update
ipkg install ipkg
ipkg install uclibc
edit /opt/etc/ipkf.conf to src unslung http://www.wlan-sat.com/boleo/optware/oleg
ipkg update
ipkg install foobar



For people wanting native compiling on router one should install buildroot package instead of uclibc package only. Please note that this should be clean install of /opt packages to prevent search path clashes.

I have tested many packages on stock WL500gx-1.9.2.7-7f-pre4.trx and
confirmed that they works as expected. Native compilation verified.

Many packages now works as intended. Most notable mysql, svn, enhanced-ctorrent, elinks, ...

Here is complete list of 400+ AVAILABLE packages for Oleg firmware for testing: http://www.wlan-sat.com/boleo/optware/oleg/Packages

I am talking to Rod Whitby to provide official support for package download from nslu2-linux.org for Oleg and DD-WRT firmware.

oleo
13-08-2006, 21:26
Today official support for Oleg firmwares got additional package feed which completely replaces buggy uClibc 0.9.19 provided in firmware.

The main feature of this packages is that it installs all required files under /opt with 400+ ported applications. With buildroot toolchain is added also system library indenpendence. This means that packages now depends od /opt/lib/uClibc.so and dynamic loader also in /opt/lib with separate /opt/etc/ld-opt.so.conf for custom .so cache. Applications are built with wchar and locale support which makes uClibc library somewhat greater than other uClibc packages, but still far smaller than glibc based aplications.


Buildroot toolchain features:


GCC 3.4.6
uClibc 0.9.28 with patches
uClibc++ 0.2.1
Native POSIX Threads Library (NPTL) Support for uClibc


Users using package feed should change /opt/etc/ipkg.conf to

src unslung http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable
dest root /

And then run ipkg update.

First we will install uClibc library which is required by all packages.

~ # ipkg install uclibc
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/uclibc_0.9.28-1_mipsel.ipk ...
Connecting to ipkg.nslu2-linux.org[212.18.63.81]:80
uclibc_0.9.28-1_mips 100% |************************************************* ************| 440 KB 00:00:00 ETA
Done.
Unpacking uclibc...Done.
Configuring uclibc...Updating /opt/etc/ld-opt.so.cache
Done.

Alternatively if one wants to have C and C++ compiler to do native compiling on router, ipkg install buildroot can be issued instead. But this requires al least 100MB of free space for the whole toolchain.

Old application from http://ipkg.nslu2-linux.org/feeds/unslung/wl500g should be reinstalled with
ipkg install -force-reinstall package
Tho get a list of installed packages use:
ipkg list_installed

jensm
10-10-2006, 16:38
Hi,

I am afraid that I don't have the skills to compile packages myself - anybody interested in having a go at sdparm and sg_start as described in http://www.wl500g.info/showthread.php?t=6197&page=2 ?

Thanks,

Jens

ptnemot
29-10-2006, 12:37
Oleo mentions above that he has succeeded in providing an updated uClibc package removing some of the issues with the current uClibc package - which is great news because I'm actually stuck on some of the current packages I want to get compiled because of uClibc issues.

However from the post I can't understand how I am supposed to be using this new package. I am currently compiling packages following the instructions at http://www.nslu2-linux.org/wiki/Unslung/AddAPackageToUnslung, together WL500g recommendations at http://www.nslu2-linux.org/wiki/FAQ/OptwareWl500gBuild and I don't get how I should get the new uClibc from oleo installed (probably because I'm still not very clear on the whole toolchain story). So I'd like to have some concrete guidance on how to use this or if possible a complete step-by-step overview on how to cross-compile C/C++ programs for the WL-500g.

Any help on this would be very much appreciated!

oleo
29-10-2006, 20:08
Wrong pointer. Build is not wl500g but oleg. See http://www.nslu2-linux.org/wiki/FAQ/Optware-uClibcBuild

ptnemot
30-10-2006, 08:39
Hi Oleo,

Thanks for the fast reply - indeed I was compiling with the wrong target (wl500g instead of oleg). So I will adjust my MakeFile to use the right target. But I will off course also need to get the correct toolchain (with uClibc 0.9.28) installed. I was using the one mentioned at the build page for WL500g (downloaded from http://www.wlan-sat.com/boleo/optware/hndtools-mipsel-uclibc-3.2.3-uClibc++-0.1.12.tar.bz2 which included uClibc 0.9.19. How can I now get/create a toolchain with uClibc 0.9.28?

And another question: in order to use these packages on my WL-500g I guess I will have to use the "oleg" feed (mentioned in your post), so this means I have to reinstall all packages I already had installed from the "wl500g" feed right?

Sorry for these probably basic questions but I'm still quite new to the whole cross-compiling topic...

Kind regards,

Peter.

oleo
30-10-2006, 09:05
Reinstall is necessary due to built in /opt//lib search path for shared libs in wl500g package feed.

Building toolchain is simple enough:

svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware
cd optware
export OPTWARE_TARGET=oleg
make directories
make toolchain

toolchain will reside in toolchain/mipsel-linux-uclibc. Add toolchain/mipsel-linux-uclibc/gcc-3.4.6-uclibc-0.9.28/bin to search path and use toolchain/mipsel-linux-uclibc/gcc-3.4.6-uclibc-0.9.28/lib and toolchain/mipsel-linux-uclibc/gcc-3.4.6-uclibc-0.9.28/include
for building.
Although I recomend using Optware build facilities with

make make/mypackage.mk
and edit make/mypackage.mk
When finished, I can include this package in the Optware.

ptnemot
30-10-2006, 12:39
Hi Oleo,

Thanks for the info - I think I'm actually starting to understand the whole "chain". I'll give your suggestion a try later on when I get home (and can access my router), in the meantime I have tried to summarise all info about this updated uClibc topic on one single webpage (mainly to make sure I understand and remember myself, but also to share with others who may be in my position...)

I have put this online at http://www.freewebs.com/ptnemot/wl500g/oleguclibcsumm.html, feel free to have a look and give any comments you may have. If you think this is useful it can also be added to the Unslung Wiki.

Kind regards,

Peter.

oleo
30-10-2006, 20:06
Great introduction. Feel free to include this info on nslu2 wiki page.

Bear in mind that updated uClibc is also available for dd-wrt firmware. See http://www.dd-wrt.com/wiki/index.php/Optware and maybe the same introduction is missing there.

My wonder firmware would be dd-wrt GUI, QOS, with NFS, ext3 and other server functionality from Oleg firmware. But until then Oleg is a choice no.1.

ptnemot
30-10-2006, 22:31
I'll update the page with some DD-WRT info (won't be a lot as I actually only have experience with Oleg - I'm more looking for file/ftp/news servers/clients on my router than the actual WLAN tuning which as I understand is the DD-WRT strength?) and see if I can get it into the Wiki.

Now I have installed your updated uClibc library on my router and reinstalled all packages from the oleg feed. Most things seem to be working (including unrar - one of my main missing items) however python now gives an error message. Whenever I start it up it says "python: can't load library 'libstdc++.so.6'". I'll try compiling it myself (my buildroot is still compiling at this moment so I'll need to be patient) but do you have already any idea what could be the problem here?

Kind regards,

Peter.

oleo
31-10-2006, 19:33
There are two versions of python 2.4 and 2.5 separated. 2.4 worked with much troubles on 0.9.19. When I moved to 0.9.28 I did not check python. libstdc++ is wrong link as it should be linked with libuclibc++.

ptnemot
06-11-2006, 10:12
It seems that python25 is indeed better - I tried it and it actually works (at least it starts to run my program). However the program I am needing it for also depends on some other python packages (py-cherrypy, py-cheetah and py-elementtree) so I don't get very far. All of these packages are also available from the feed but they all are assuming a Python24 installation, they don't work with Python25. I'm trying to get them working also on Python25, let's hope this works...

Once that is working the final missing piece I need to get me setup working is par2cmdline. As this one is not available from the feeds I tried compiling it myself. It worked but once loaded on my router I got the "cannot find libstdc++" message again. I created a patch for the Makefile.am file not to add this library anymore, however when compiling I noticed that it still showed up. After some googling it appears that actually the g++ compiler is adding the "-lstdc++" itself automatically! There are some workarounds I have been thinking about (e.g. using the "-nodefaultlibs" option in g++) but as this must be a common problem for everyone using the build environment do you have any idea on the best/standard way to solve this?

oleo
06-11-2006, 13:10
I have changed shared library linking option in python24_2.4.4-2_mipsel.ipk and now python works. Run regression tests with

cd /opt/lib/python2.4/test
for f in test_[a-z]*.py; do python $f 2>/dev/null>/dev/null || echo "$f failed with error #$?" ; done > /tmp/harddisk/tmp/python-regression-test.txt

Xander
29-12-2006, 17:09
Hi oleo,
buildroot_3.4.6-8_mipsel.ipk (or maybe uclibc-opt_0.9.28-8_mipsel.ipk) package seems to be broken (lies in http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable feed):
1. it misses /opt/sbin/ldconfig
2. even after I properly updated library cache every program in /opt doesn't work (as if libraries are missed or broken).

I reverted package to the version I had before upgrade (3.4.6-5 in particular) and everything works fine now.
Please, take a look. Merry Christmas! :)

oleo
30-12-2006, 08:28
buildroot_3.4.6-8_mipsel.ipk and uclibc-opt_0.9.28-8_mipsel.ipk are now split in such way that it does not provide common files. There is builtin dependency that buildroot and any other package needs uclibc-opt package.

With uclibc-opt-0.9.28-9 and buildroot_4.1.1-9 I have backported some patches to uClibc and upgraded GCC to latest stable version. Try it out. All apps should work. The problem was with -7 and not with -8 from my testings.

Xander
30-12-2006, 14:35
With uclibc-opt-0.9.28-9 and buildroot_4.1.1-9 I have backported some patches to uClibc and upgraded GCC to latest stable version. Try it out. All apps should work. The problem was with -7 and not with -8 from my testings.
Works fine, thanks a lot!

oleo
04-01-2007, 20:37
Recent advances brings complete native toolchain for all Asus routers with external storage. Supported firmwares are Oleg, DD-WRT, X-Wrt, OpenWrt, ...

Example instalation and native building of optware packages on router itself:


ipkg install optware-devel
cd /tmp/harddisk
svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware
cd optware
export OPTWARE_TARGET=oleg
make bc


This toolchain brought also perl and its 70+ packages that depend on perl. Spamassasin and similar packages are now ready for use.

CountZero
04-01-2007, 22:49
Great work!

Cant wait to try it out!

Xavi
11-01-2007, 20:49
as far as I can see, the 0.9.7 version is the latest ipkg module available. Could anyone please compile the 0.9.8 version for the WL-500g?
Thanks.

oleo
11-01-2007, 21:38
as far as I can see, the 0.9.7 version is the latest ipkg module available. Could anyone please compile the 0.9.8 version for the WL-500g?
Thanks.
done in http://trac.nslu2-linux.org/optware/changeset/5144

Xavi
11-01-2007, 23:17
done in http://trac.nslu2-linux.org/optware/changeset/5144

Thanks a lot. I guess the ipk package should appear later on http://ipkg.nslu2-linux.org/feeds/optware/wl500g/cross/unstable/

Am I right? Or should the feed be manually updated?

Edit: ushare 0.9.8 is now up and running. There is a problem in finding the config file, since it refers to "/etc/opt//etc/opt/ushare.conf" but it can be manually started with the command line switches and most important, it finally makes my WL-500gx kindda work together with the Telegent TG100 media receiver, which was not possible until now!! (AVI files do not work though :-()

oleo
12-01-2007, 08:15
Fixed conf location in http://trac.nslu2-linux.org/optware/changeset/5153

Xavi
12-01-2007, 17:54
Fixed conf location in http://trac.nslu2-linux.org/optware/changeset/5153

Thanks again. It works like a breeze now!

oleo
19-01-2007, 15:17
We have rebuilded all packages for oleg (http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/) and ddwrt (http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable/) repository as suggested by Oleg due to major change of buildroot from gcc3.4.6->gcc-4.1.1 and binutils from
http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/?C=M;O=D

As usual, if some package is giving segmentation fault, users are instructed to update, upgrade and refresh packege and its dependent packages. Sometimes dependent packages are upgraded without rebuilding package which relies on them. Optware maintainers are aware of this problem which can cause loading incompatible libraries. Testing for such incompatibilities is difficult and thus we rely on user reports.

Sample forcing package upgrade.

[admin@oleo root]$ ipkg update
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/Packages.gz
Inflating http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/Packages.gz
Updated list of available packages in /opt/lib/ipkg/lists/optware
Successfully terminated.
[admin@oleo root]$ ipkg install -force-reinstall svn
Reinstalling svn (1.4.2-1) on /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/svn_1.4.2-1_mipsel.ipk
Configuring svn
Successfully terminated.


As this can be tedious job I recommend the following one line package-refresh command:

awk '/^Package:/{system("ipkg install -force-reinstall -force-defaults " $2)}' /opt/lib/ipkg/status

For more info visit http://www.nslu2-linux.org/wiki/FAQ/Optware-uClibcBuild

I hope that with upcoming -7g firmware this will become default repository for Oleg firmware and that "wl500g" will be obsoleted.

cimarron
19-01-2007, 15:29
So does everybody needs to upgrade?
(Sorry for this n00b question, I know, I shouldn't be snooping around in this dev forum... but.... it's... hard.... to.... resist.....)

oleo
19-01-2007, 15:34
So does everybody needs to upgrade?

No.

There are many packages. If someone is getting segfault. Then refreshing all packages is a good idea. We also refreshed repository. So there should be no problems.

zeus24
02-02-2007, 23:02
Hi!

What is the status with unrar? I would really need it and haven't found it yet. Is there any chance that somebody will make a package for the wl-500gp?

zeus

oleo
03-02-2007, 11:11
Unrar is available for almost a year now.

Matteo
23-02-2007, 08:15
...

Hi Oleo.
I would like you to ask about a compilation possibility (for Asus WL500g deluxe) for one little project called MoBlock.
It uses p2p databases from a well known program PeerGuardian.
Source code locacted here:
http://developer.berlios.de/project/showfiles.php?group_id=2509
Do you think it's possible, Oleg has told me that it might be a problem (depends on how this module works with iptables).
Thanks

oleo
23-02-2007, 11:34
Moblock added with http://trac.nslu2-linux.org/optware/changeset/5590

I've included default script. Send me updated startup script for /opt/etc/init.d if it works.

Matteo
26-02-2007, 13:59
Moblock added with http://trac.nslu2-linux.org/optware/changeset/5590

I've included default script. Send me updated startup script for /opt/etc/init.d if it works.

Hm.
Thanks. It looks like this script depends on
/lib/modules/2.4.20/kernel/net/ipv4/netfilter
and this library is not present on my system or even in ipkg repository. pity...

oleo
27-02-2007, 07:17
Hm.
Thanks. It looks like this script depends on
/lib/modules/2.4.20/kernel/net/ipv4/netfilter
and this library is not present on my system or even in ipkg repository. pity...

I see
[admin@oleo netfilter]$ ls -l /lib/modules/2.4.20/kernel/net/ipv4/netfilter/
total 70
-rw-r--r-- 1 admin root 4264 Jan 15 19:49 ip_nat_starcraft.o
-rw-r--r-- 1 admin root 3296 Jan 15 19:49 ipt_MIRROR.o
-rw-r--r-- 1 admin root 2508 Jan 15 19:49 ipt_NETMAP.o
-rw-r--r-- 1 admin root 4916 Jan 15 19:49 ipt_TARPIT.o
-rw-r--r-- 1 admin root 2840 Jan 15 19:49 ipt_TTL.o
-rw-r--r-- 1 admin root 4764 Jan 15 19:49 ipt_condition.o
-rw-r--r-- 1 admin root 2200 Jan 15 19:49 ipt_helper.o
-rw-r--r-- 1 admin root 1908 Jan 15 19:49 ipt_length.o
-rw-r--r-- 1 admin root 2068 Jan 15 19:49 ipt_mport.o
-rw-r--r-- 1 admin root 2000 Jan 15 19:49 ipt_multiport.o
-rw-r--r-- 1 admin root 2724 Jan 15 19:49 ipt_nth.o
-rw-r--r-- 1 admin root 3580 Jan 15 19:49 ipt_psd.o
-rw-r--r-- 1 admin root 2152 Jan 15 19:49 ipt_quota.o
-rw-r--r-- 1 admin root 2352 Jan 15 19:49 ipt_random.o
-rw-r--r-- 1 admin root 19008 Jan 15 19:49 ipt_recent.o
-rw-r--r-- 1 admin root 4036 Jan 15 19:49 ipt_string.o
-rw-r--r-- 1 admin root 2184 Jan 15 19:49 ipt_ttl.o


So what modules do you need additionally?

Matteo
28-02-2007, 07:29
I see

So what modules do you need additionally?

Sorry, I'm just a user and I'm not so familiar with Linux systems. About additional modules I can say only what's written in a readme for MoBlock and make dummy tests. Do you have your own WL500G or I may give an access to my router?

oleo
28-02-2007, 07:46
So read the README. I am jus a developer who do not read READMEs unles this is absolutely neccessary. I've prepared moblock to you. Waiting for your experience report.

Matteo
28-02-2007, 08:15
...

OK. I'll try to post here the requirements:

--------------------

iptables and kernel support for connection and state tracking (
ip_conntrack,ipt_state) and
ip_queue or ipt_NFQUEUE kernel modules/built-in.

At least kernel 2.6.14 is required to use the NFQUEUE interface

libnfnetlink 0.0.14
libnetfilter_queue 0.0.11


These are the kernel modules compiled with MoBlock running
on 2.6.9-ac6:

iptable_filter 2016 1
ipt_state 1312 4
ip_conntrack 37716 1 ipt_state
ip_tables 14496 2 iptable_filter,ipt_state
ip_queue 7608 0



...and these with kernel 2.6.15 using new NFQUEUE interface:

nfnetlink_queue 9280 1
nfnetlink 4824 2 nfnetlink_queue
ipt_NFQUEUE 1408 2
ipt_state 1472 0
ip_conntrack 40044 1 ipt_state
iptable_filter 2176 1
ip_tables 17600 3 ipt_NFQUEUE,ipt_state,iptable_filter

--------------------
probably it helps.

oleo
28-02-2007, 10:01
Oleg uses iptables-1.2.7a from 2002-Aug-26. Current stable version is iptables-1.3.7 from december last year. Ask him if he could possibly upgrade iptables to latest stable. Then I can change moblock to ipq.

gdraanen
16-03-2007, 09:15
Rod (e.a.),

Is there a mechanism/ procedure to request other known packages from e.g. sourceforge to be included in the ipkg list ?

Specifically, I'd like to get libmtp, mtpfs, mtpfsync to be added as an installable package for the wl500g. I am however not a developper !

It will allow me to connect my Creative Zen Vision:M (or any other 'MTP' or 'PlayforSure') device to be connected via usb to the wl-hdd / wl500g.
This means that the mediaplayer can then be accessed through WiFi, can work as external-HDD, and can sync with music dirs on wl-hdd's internal HDD.

Would you ?
Please ?

Gerard.

oleo
16-03-2007, 13:33
http://trac.nslu2-linux.org/optware/changeset/5782
adds MTP library for Oleg feed but not for wl500g as it is broken somehow.

Did not find mtpfs, mtpfsync projects on sourceforge. Respond with exact URL locations to source download and project page!

gdraanen
16-03-2007, 17:06
Oleo, thank you very much ..... BUT
I have no experience with these 'trunk' files, and your message indicates that the 'build' for the wl500g is broken "somehow".
So... what do I need to do to get a working libmtp on my WL-HDD ?
Can you help me out a little here ?

On the libmtp page
( http://libmtp.sourceforge.net/ )
the mtpsync ( http://www.adebenham.com/mtpsync/ ) and
mtpfs ( http://www.adebenham.com/mtpfs/ ) are mentioned as 'downstream'.
The links show their .tar files

It seems that where mtpsync does the 'obvious', mtpfs may also be needed because it supports r/w of files while allowing determination of the fileTYPE.
This results in the player properly recognizing the video and m3u filetypes, and facilitating a /Playlist directory.

Also, the applications Gnomad2 (http://gnomad2.sourceforge.net/ ) and mtpdude (http://sourceforge.net/projects/mtpdude ) are mentioned.

In looking up info on these, the mtpdude seems a likely candidate for usage as it has a command line based interface (where gnomad2 has a gui ... which is difficult for the wl-hdd)

Thanks for picking up on this,

Gerard.

oleo
16-03-2007, 21:56
mtpsync uses gtk and that means that you must run X on router. But xlibraries were not fully ported to uclibc. There are provisions for command line in mtpsync, but sources neeed to be patched to exclude gtk part. This is hard to do as command line is merely convenience feature.
So, no mptsync.

mtpfs uses FUSE userspace filesystem than needs to be included in kernel This could be done by creating custom Oleg firmware as in http://trac.nslu2-linux.org/optware/browser/trunk/make/firmware-oleg.mk
Kernel 2.4 needs to be patched. Another obstacle, but can be done.

gnomad is another gtk application. no go.

MTPdude also requires gtk. Sorry.

gdraanen
16-03-2007, 22:15
Countless references through mtpdude, gnomad2, forums, recompile-threads... others, I ended up at libgphoto2

Interest in mtpdude and libmtp versions seems to have dried-out in favour of this libgphoto2 project.
It has a bit of a misleading name, because the project does a lot more than enable connection of camera's. They also support most-any MTP device.
And the Creative Zen Vision:M is specifically mentioned as 'supported' !!

See ( http://www.gphoto.org/news/ ) or its download pages ( http://sourceforge.net/project/showfiles.php?group_id=8874 )

libgphoto2 is the library,
gphoto2 is the command-line interface to it, and
gphotofs seemingly allows to mount a camera (or mediaplayer)

So... can someone cross-compile these to the wl500g 'unslung' --or wherever precisely-- that would allow it to be used via the ipkg ?

And sorry for requesting libmtp first. It seems a lot of people have been struggling with the applications built on top of that (like mtpdude's versions and the sudden-stop on development efforts in that area)

Gerard

gdraanen
17-03-2007, 22:25
libgphoto2 (v2.3.1, dec'06) :
http://sourceforge.net/project/showfiles.php?group_id=8874&package_id=8957

gphoto2 (v 2.3.1, dec'06) :
http://sourceforge.net/project/showfiles.php?group_id=8874&package_id=66654

gphotofs (v 0.3, sep'06) :
http://sourceforge.net/project/showfiles.php?group_id=8874&package_id=174361

Or, from second source ? ... the various versions in ftp:
http://ftp3.ie.freebsd.org/pub/sourceforge/g/gp/gphoto/

==
The bad news is that I saw gphoto2 and libgphoto2 in the 'broken packages' in http://trac.nslu2-linux.org/optware/browser/trunk/platforms/packages-wl500g.mk
===

How would I know which 'version' is the 'broken' one listed for wl500g ?
Who is able to spend some time on figuring this out ?

I am not a developer, don't have a linux machine (apart from the mini-mini wl-hdd that's running on Oleg's firmware at 125MHz ), and really wouldn't know how to get these packages bundled for the ipkg system. My last experience with build, compile etcetera is from more then 15yrs ago...(making OS/2 EE).

Gerard

oleo
18-03-2007, 09:24
GTK library depends on X libraries. They ar broken an all dependent packages.
wl500g package feed os not supported any more. I use oleg package feed.

There are the following obstacles that prevent you:

X, GTK and dependent packages are not upgraded to uclibc
wl-hdd has only 16MB ant htus running X applications is hard on it
You need X display for running X programs. This normally means running Linux and Xorg. There are some free X display emulators for Windows, byt support for them is minimal.
Porting X and dependent packages requres at least 3 days of hard work.


The best way for you is to find console application, if exists. Then I can spend some time to port this. Meanwhile read this explanation: http://www.nslu2-linux.org/wiki/FAQ/Optware-uClibcBuild

gdraanen
18-03-2007, 12:06
The mentioned libgphoto2, gphoto2 and ghpotofs should not have a dependency to X or GTK.
gphoto2 uses a CLI.

gtkam DOES have a GUI, but is not needed to get MTP -media- devices to connect to the WL-HDD.

You state that the wl500g is not active ? using the 'oleg' builds instead ?
But then.... I will probably have to change something in my
ipkg update, because that one uses the listing provided for the wl500g ?

Gerard.

gdraanen
18-03-2007, 12:24
From the link you gave, I understand there's a "better" uclibc, allowing code to be less platform dependent.

Am I to understand that I should be transferring the 'source' of my ipkg available packages from wl500g to 'oleg' ?
The link shows some details:

===========
# get the better ipkg
wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ipkg-opt_0.99.163-9_mipsel.ipk
#install it (ignore tne missing lists/wl500g error)
ipkg.sh install ipkg-opt_0.99.163-9_mipsel.ipk

# get the better uclibc
wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/uclibc-opt_0.9.28-12_mipsel.ipk
# install it (ignore tne missing lists/wl500g error)
ipkg.sh install uclibc-opt_0.9.28-12_mipsel.ipk

# update the list using the improved ipkg
ipkg update
===============

Is this what I should be doing ?

I understand also, that you did already cross-compile the libmtp which has now become obsolete with the availability of libgphoto2.
While you spend some time on the gphoto2 stuff, I would then at least be able to do some initial testing through the libmtp.
Once you have an oleg build, I can then transfer to the libgphoto2 and gphoto2 parts.

Correct ??

gdraanen
18-03-2007, 16:17
Conform the instructions on
http://www.nslu2-linux.org/wiki/FAQ/Optware-uClibcBuild
I updated from the 'wl500g' to the 'oleg' feed.

I seem to have been able to re-install / update my installed packages from the new 'package' source:
====
[..] $ ipkg update
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/Packages.gz
Inflating http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/Packages.gz
Updated list of available packages in /opt/lib/ipkg/lists/optware
Successfully terminated.
=====
I now have some newer versions re-installed:
[admin@wlhdd /opt]$ ipkg list_installed
adduser - 1.1.3-9 - a multi-call binary for login and user account administration
findutils - 4.2.29-2 - File finding utilities
findutils - 4.1.20-2 -
findutils-doc - 4.2.29-2 - Documentation for file finding utilities
findutils-doc - 4.1.20-2 -
ftpcopy - 0.6.7-3 - A simple FTP client written to copy files or directories (recursively) from a FTP server.
groff - 1.19.2-1 - front-end for the groff document formatting system
hdparm - 6.9-1 - Linux hard drive parameter utility
ipkg - 0.99.149-2 -
ipkg-opt - 0.99.163-9 - The Itsy Package Manager
less - 394-3 - Less file browser
libjpeg - 6b-2 - collection of jpeg tools
libstdc++ - 0.2.0-6 -
libuclibc++ - 0.1.12-4 -
libuclibc++ - 0.2.2-4 - C++ standard library designed for use in embedded systems
libusb - 0.1.10a-6 - Library for interfacing to the USB subsystem.
man - 1.5p-4 - unix manual page reader
man-pages - 2.33-3 - unix manual pages
nano - 2.0.2-1 -
nano - 2.0.3-1 - A pico like editor
ncftp - 3.2.0-2 - Nice command line FTP client
ncurses - 5.6-1 - NCurses libraries
ncursesw - 5.6-1 - NCurses libraries with wide char support.
openssh - 4.5p1-1 - a FREE version of the SSH protocol suite of network connectivity tools.
openssl - 0.9.7l-3 -
openssl - 0.9.7m-1 - Openssl provides the ssl implementation in libraries libcrypto and libssl, and is needed by many other applications and librari
palantir - 2.6-1 - Multichannel interactive streaming solution
uclibc-opt - 0.9.28-12 - micro C library for embedded Linux systems
unzip - 5.52-1 - A (de)compression library for the ZIP format
usbutils - 0.11-2 - USB enumeration utilities
vsftpd - 2.0.1-7 - ftp daemon with an emphasis on speed and security
xinetd - 2.3.14-6 - Highly configurable, modular and secure inetd
zlib - 1.2.3-2 - zlib is a library implementing the 'deflate' compression system.
Successfully terminated.
====
I did see some 'complaining' message from vsftpd / xinetd pass, so I re-checked their .conf files. Also, some packages were complaining on non-availability of md5.sum but that seems to have no visible effect.
==
Next i did a flashfs save/commit and a system reboot.

Then, after ipkg install libmtp,
Creative Zen Vision:M is listed in /proc/devices , but still Driver=(none)
A $cat drivers lists: usbdevfs, hub, usblp, audio, usb-storage .... but sadly nothing specific to the Zen yet.

....... but I can feel I'm getting closer to getting this media-device connection item resolved ....
With a little more help from oleo ... or one of the other viewers.

Gerard.

oleo
18-03-2007, 17:30
Ask LIBGPHOTO2_MAINTAINER=Marcel Nijenhof <nslu2@pion.xs4all.nl> to fix
uClibc port for lib and dependent packages. If not, I can try.

gdraanen
18-03-2007, 22:23
Oleo,
You noted that the packages may need some attention to ensure that all dependencies are met.
I've mailed the maintainer (Marcel ...) with your request, and some of my further information.

Hopefully he is in a position to spend some time on this.

Let's give it a few days at least.
.....but later I'll start nagging you again ;)

Gerard

oleo
19-03-2007, 14:00
OK. I've had some problems with linking libgphoto2.

oleo
19-03-2007, 16:51
With upgrade to latest version and som hunk align in http://trac.nslu2-linux.org/optware/changeset/5790 ligphoto2 and gphoto2 now builds with uClibc.

gdraanen
21-03-2007, 09:34
With upgrade to latest version and som hunk align in http://trac.nslu2-linux.org/optware/changeset/5790 ligphoto2 and gphoto2 now builds with uClibc.

Oleo, thanks very much for getting this cross-compile done !!
The maintainer of gphoto2 also responded via e-mail, so I can now take-up a few matters on completion with him.

Currently: ipkg libgphoto2 and gphoto2 --> success
gphoto2 sees, recognized the device --> Mij Zen is connected !!

In a 'summary' it reports a number of capabilities from the Zen correctly, like size of harddisk etc. (it is however reported as RAM ?!)
It seems that the gphoto2 people have still some work to do on properly supporting the file-structure in the zen. The directory info currently has a lot of '???????????' characters in it, and doesn't quite look good .... YET !

Anyway....
Thanks again for the cross-compile. You might also want to look into FUSE allowing gphotofs to be packaged.

I'll report back here when I have some 'real' progress to report.
Gerard.

gdraanen
29-03-2007, 18:39
Oleo,

I noticed that nslu2 already has the cross-compile for fuse in
http://ipkg.nslu2-linux.org/feeds/openwrt/snapshots/ixp4xx-2.6/
(fuse-utils_xxxxxx)

Does this mean that 'transporting' this to the
http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/
becomes easier ?
IF it would be there, would that indicate that I could download it and get it installed as an ipkg? or are there extra steps ?

Have any of the developers from gphoto2 / libmtp contacted you ?

I'm just hoping to see some progress here, while http://sourceforge.net/sendmessage.php?touser=48092 (MarcusMessner) is working on my bug report at http://sourceforge.net/tracker/index.php?func=detail&aid=1685025&group_id=8874&atid=108874

Steps seem to be
1) verify that libmtp / mtpfs has now become a subset of libgphoto2 / gphotofs (it seems so, because gphoto2 also supports playlists..)
2) get libgphoto2 /gphoto2 to properly display the details of my Creative Zen
3) get someone to 'allow' FUSE (fuse-utils_xxxxxx cross-compile)
4) get someone to cross-compile either mtpfs or gphotofs

And sadly, this is not something that I can directly help with.

oleo
29-03-2007, 21:53
Fuse is integral part of kernel. This means that there should be some code that produce fuse module for kernel. I have included kernel as whole package called firmware-oleg. I can add some patches to kernel to support fuse. There is no way for transporting ixp fuse. Just Ideas maybe.

But really you should send requests for kernel upgrades to Oleg, not to me. If he wil not respond to your requests there are other options also. For example OpenWRT and X-wrt firmware already includes fuse module. And optware also runs on them. So we could prepare mtpfs for ddwrt feed only.

Nobody contacted me on this matter.

Oleg
02-04-2007, 11:07
Does it (module) requires kernel patching or could be build outside kernel tree?

Also, I need an url to this module sources.

oleo
02-04-2007, 13:30
Link: http://sourceforge.net/projects/fuse
There is Optware make file for 2.6 kernel: http://trac.nslu2-linux.org/optware/browser/trunk/make/ds101g-kernel-modules-fuse.mk

I've tried to do this for 2.4 and provided kernel dir with http://trac.nslu2-linux.org/optware/browser/trunk/make/firmware-oleg.mk

But fuse configure did not understand it. So I've figured out that this could be a problem of 2.4.20 kernel that will need a patch to include fuse at all.

From Fuse FAQ:

What version of FUSE do I need to use FUSE with Linux 2.4?

FUSE 2.5.3 (supports 2.4.21 or later); later versions include a kernel module compatible with Linux 2.6 only (Linux 2.6.9 or later, as of FUSE 2.6.1).

The latest version of the FUSE libraries retains compatibility with the module for 2.4.x .

I think, I've tried latest but it seems that I should 2.5.3 but this seems to be suported by 2.4.21 and not 2.4.20.
So some kernel patch will still be needed. Or maybe some previous fuse release.

Will report this ASAP.

oleo
02-04-2007, 23:13
http://pastebin.ca/421577 describes make/fuse.mk that fails to build kernel module.

Oleg
04-04-2007, 20:03
oleo, please post error messages too.

At the moment I've no host to build optware stuff.

oleo
04-04-2007, 23:22
Build log for make fuse:
http://pastebin.ca/424607 with default toolchain

with 4.1.1 is almost the same.

Oleg
05-04-2007, 13:35
Look:

gcc -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -pipe -msoft-float -I/home/leon/optware/wl500g/builds/firmware-oleg/src/linux/linux/include -I. -D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DFUSE_VERSION=\"2.5.3\" -c dev.c -o dev.o

Why does it call gcc, not the mipsel-linux-gcc? Also, some kernel defines seems to be missing too...

oleo
05-04-2007, 15:34
UH. This is really true. I will take a look why mipsel is not used.

oleo
05-04-2007, 21:51
Standard module like USB gets compiled with:
# mipsel-linux-gcc -D__KERNEL__ -I/home/leon/optware/wl500g/builds/firmware-oleg/src/linux/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -I/home/leon/optware/wl500g/builds/firmware-oleg/src/linux/linux/../../include -DBCMDRIVER -I /home/leon/optware/wl500g/builds/firmware-oleg/src/linux/linux/include/asm/gcc -G 0 -mno-abicalls -fno-pic -pipe -mcpu=r4600 -mips2 -Wa,--trap -m4710a0kern -DMODULE -mlong-calls -fno-common -nostdinc -iwithprefix include -DKBUILD_BASENAME=usb -DEXPORT_SYMTAB -c usb.c

Following this sample I've changed fuse/kernel/Makefile to

CC = /opt/brcm/hndtools-mipsel-linux/bin/mipsel-linux-gcc
LD = /opt/brcm/hndtools-mipsel-linux/bin/mipsel-linux-ld
CFLAGS = -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -pipe -fno-common -fomit-frame-pointer -mcpu=r4600 -mips2 -Wa,--trap -m4710a0kern
CPPFLAGS = -I/home/leon/optware/wl500g/builds/firmware-oleg/src/linux/linux/include -I. -D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DFUSE_VERSION=\"$(VERSION)\"


After that change I've got:

leon@duo:~/optware/wl500g/builds/fuse/kernel$ make
/opt/brcm/hndtools-mipsel-linux/bin/mipsel-linux-gcc -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -pipe -fno-common -fomit-frame-pointer -mcpu=r4600 -mips2 -Wa,--trap -m4710a0kern -I/home/leon/optware/wl500g/builds/firmware-oleg/src/linux/linux/include -I. -D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DFUSE_VERSION=\"2.5.3\" -c dev.c -o dev.o
/opt/brcm/hndtools-mipsel-linux/bin/mipsel-linux-gcc -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -pipe -fno-common -fomit-frame-pointer -mcpu=r4600 -mips2 -Wa,--trap -m4710a0kern -I/home/leon/optware/wl500g/builds/firmware-oleg/src/linux/linux/include -I. -D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DFUSE_VERSION=\"2.5.3\" -c dir.c -o dir.o
/opt/brcm/hndtools-mipsel-linux/bin/mipsel-linux-gcc -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -pipe -fno-common -fomit-frame-pointer -mcpu=r4600 -mips2 -Wa,--trap -m4710a0kern -I/home/leon/optware/wl500g/builds/firmware-oleg/src/linux/linux/include -I. -D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DFUSE_VERSION=\"2.5.3\" -c file.c -o file.o
/opt/brcm/hndtools-mipsel-linux/bin/mipsel-linux-gcc -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -pipe -fno-common -fomit-frame-pointer -mcpu=r4600 -mips2 -Wa,--trap -m4710a0kern -I/home/leon/optware/wl500g/builds/firmware-oleg/src/linux/linux/include -I. -D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DFUSE_VERSION=\"2.5.3\" -c inode.c -o inode.o
inode.c:598: unknown field `alloc_inode' specified in initializer
inode.c:598: warning: initialization from incompatible pointer type
inode.c:599: unknown field `destroy_inode' specified in initializer
inode.c:599: warning: initialization from incompatible pointer type
inode.c: In function `fuse_inode_init_once':
inode.c:702: warning: implicit declaration of function `inode_init_once'
make: *** [inode.o] Error 1

Where offending lines are:

static struct super_operations fuse_super_operations = {
.alloc_inode = fuse_alloc_inode,
.destroy_inode = fuse_destroy_inode,
.read_inode = fuse_read_inode,
.clear_inode = fuse_clear_inode,
.put_super = fuse_put_super,
.statfs = fuse_statfs,
.show_options = fuse_show_options,
};


And if I comment out

// .alloc_inode = fuse_alloc_inode,
// .destroy_inode = fuse_destroy_inode,
Module gets compiled :)

The problematic 2.4.20 header that lacks alloc_inode and destroy_inode is include/linux/fs.h that looks like:

struct super_operations {
void (*read_inode) (struct inode *);

/* reiserfs kludge. reiserfs needs 64 bits of information to
** find an inode. We are using the read_inode2 call to get
** that information. We don't like this, and are waiting on some
** VFS changes for the real solution.
** iget4 calls read_inode2, iff it is defined
*/
void (*read_inode2) (struct inode *, void *) ;
void (*dirty_inode) (struct inode *);
void (*write_inode) (struct inode *, int);
void (*put_inode) (struct inode *);
void (*delete_inode) (struct inode *);
void (*put_super) (struct super_block *);
void (*write_super) (struct super_block *);
void (*write_super_lockfs) (struct super_block *);
void (*unlockfs) (struct super_block *);
int (*statfs) (struct super_block *, struct statfs *);
int (*remount_fs) (struct super_block *, int *, char *);
void (*clear_inode) (struct inode *);
void (*umount_begin) (struct super_block *);

/* Following are for knfsd to interact with "interesting" filesystems
* Currently just reiserfs, but possibly FAT and others later
*
* fh_to_dentry is given a filehandle fragement with length, and a type flag
* and must return a dentry for the referenced object or, if "parent" is
* set, a dentry for the parent of the object.
* If a dentry cannot be found, a "root" dentry should be created and
* flaged as DCACHE_NFSD_DISCONNECTED. nfsd_iget is an example implementation.
*
* dentry_to_fh is given a dentry and must generate the filesys specific
* part of the file handle. Available length is passed in *lenp and used
* length should be returned therein.
* If need_parent is set, then dentry_to_fh should encode sufficient information
* to find the (current) parent.
* dentry_to_fh should return a 1byte "type" which will be passed back in
* the fhtype arguement to fh_to_dentry. Type of 0 is reserved.
* If filesystem was exportable before the introduction of fh_to_dentry,
* types 1 and 2 should be used is that same way as the generic code.
* Type 255 means error.
*
* Lengths are in units of 4bytes, not bytes.
*/
struct dentry * (*fh_to_dentry)(struct super_block *sb, __u32 *fh, int len, int fhtype, int parent);
int (*dentry_to_fh)(struct dentry *, __u32 *fh, int *lenp, int need_parent);
int (*show_options)(struct seq_file *, struct vfsmount *);
};


Should missing functions be ommited or reconnected to some other func?

I suggest to backport fs.o from 2.4.21 or higher. And I really miss ext2 in Oleg firmware. So much that I've created
package that builds firmware-oleg with mine enables. See http://trac.nslu2-linux.org/optware/browser/trunk/make/firmware-oleg.mk for details.

wengi
07-08-2007, 08:31
hi there,

transmission is missing in http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/Packages.
Is this a mistake? The ipkg files are still there. I did not check if any other packages are missing in the list.

wengi

rwhitby
07-08-2007, 12:32
hi there,

transmission is missing in http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/Packages.
Is this a mistake? The ipkg files are still there. I did not check if any other packages are missing in the list.

wengi

This means that the transmission package failed to build on the autobuilder machine.

Just manually download the latest ipkg and ipkg install it from the local directory.

-- Rod

Cowgoesmoo
01-05-2008, 16:21
I am interested in getting Openswan or some other ipsec software running on my wl500pg.(Have asterkisk running on it fine now just need a tunnel back to the office and I can wear pajamas for the rest of my life.)

Can someone point me in the direction of where to start?

oleo
01-05-2008, 18:08
1. get some linux box (virtualbox and such)
2. Read http://trac.nslu2-linux.org/optware/wiki
3. make oleg-target
4. cd oleg
5. make directories toolchain
6. make make/openswan.mk
7. edit openswan.mk to get buildable package with make openswan-check
8. post me openswan.mk or contact rwhitby for svn access

dl5ark
31-05-2008, 12:27
Hi,

i have a problem with an ipkg package for the WL-500GP.
I would like to install the new Version oww_0.82.1-1_mipsel.ipk (One Wire Weather) on my Asus WL-500GP. Until now i have installed it from http://ipkg.nslu2-linux.org/feeds/unslung/wl500g . Now, there is no new Version available, only the oww_0.82.0-1_mipsel.ipk. I will use the oww_0.82.1-1_mipsel.ipk from the http://ipkg.nslu2-linux.org/feeds/optware/openwrt-brcm24/cross/unstable directory. But after install (when i will start owwnogui) i get an "Segmentation fault".
Is this a problem with the transmission package on the autobuilder machine? Who can build the new version for the http://ipkg.nslu2-linux.org/feeds/unslung/wl500g directory ? Or is it normally the same as the http://ipkg.nslu2-linux.org/feeds/optware/openwrt-brcm24/cross/unstable ?
But if it is so, whats the "Segmentation fault" problem? I have now reinstalled oww_0.82.0-1_mipsel.ipk from http://ipkg.nslu2-linux.org/feeds/unslung/wl500g, all is o.k. (with the old version).
At http://www2.buoy.com/pipermail/weather/2008-May/008787.html i have talked with the developer of the oww package, but he canīt help me with the package for the WL-500GP.
On http://ipkgfind.nslu2-linux.org/ i cant find oww_0.82.1-1_mipsel.ipk for /unslung/wl500g.

Holger

oleo
23-06-2008, 09:12
wl500g is deprecated! Use oleg feed. openwrt-brcm2 4feed is for OpenWRT kamikaze 7.09.


RTFM Links:
http://trac.nslu2-linux.org/optware
http://www.nslu2-linux.org/wiki/FAQ/Optware-uClibcBuild
http://www.nslu2-linux.org/wiki/FAQ/OptwareWl500gBuild
http://www.nslu2-linux.org/wiki/Optware/Transmission
http://www.nslu2-linux.org/wiki/Optware/OpenWRT-brcm24Build

bzhou
23-12-2008, 18:07
Hello all Optware users,

If you use Optware packages from nslu2-linux.org, please help us keep them coming as we are running out of disk space.

Over the years, the nslu2-linux.org group has been developing Optware packages for well over 20 NAS/router devices. As we enable more and more Optware packages and feeds, the disk and bandwidth usage for hosting, autobuilder, and testing server keeps climbing. Right now, >80% of nslu2-linux.org access are for Optware feeds. And the disk on autobuilder is approaching 90% capacity.

We ask your help with your generous donation to nslu2-linux.org http://nslu2-linux.org/wiki/Main/Donate. We are targeting US$1000 total in this donation drive. This is to cover the immediate purchase of 5 1.5 TB hard disks to be used in a RAID5 plus hotspare configuration, and also for other expenses such as domain fees, hosting costs. So far all nslu2-linux.org infrastructure has been paid for by previous donations from the nslu2 and nas-central community. Previous donation and spending can be seen at http://nslu2-linux.org/wiki/Info/DonationList .

Thank you very much,

Brian Zhou (Optware feed manager)
On behalf of the nslu2-linux.org team

rod178
23-04-2009, 16:37
Not sure whether or not this is the correct place to post, nevertheless -

I'm interested in running Ruby on my WL-500W / Oleg router.

I desire to create PABX functionality with a Ruby script that I've developed. My understanding is that there is a mini-Ruby available.

Any feedback on the potential viability of running a Ruby script on Oleg appreciated. A seach has yielded very limited results, mostly in Russian.

al37919
23-04-2009, 20:16
and what about this?:

root@wl500g,~> ipkg list | grep ruby
ruby - 1.9.1.0-1 - An interpreted scripting language for quick and easy object-oriented programming.
rubygems - 1.1.1-1 - Ruby packaging and installation framework.

rod178
24-04-2009, 15:54
and what about this?:

root@wl500g,~> ipkg list | grep ruby
ruby - 1.9.1.0-1 - An interpreted scripting language for quick and easy object-oriented programming.
rubygems - 1.1.1-1 - Ruby packaging and installation framework.

Thanks. Are you aware of anyone who is doing anything with this Ruby ipkg?
Found the following only so far http://www.wingding.demon.nl/