Joined: 03 Nov 2012
|Posted: Sun May 24, 2015 2:50 pm Post subject: [Janus / twin Alix2] #2 Setup IPKG and add packages
I had already extended routers and NAS devices this way. I didn't have the toolchain to compile for them and even with the toolchain, due to provider's options, compatibility issues may remain with the binaries already installed... When you need to add only 1 or 2 utilities, it is a pain.
The projects NSLU2, Optware etc. feature many useful packages in ready-to-use binaries, were ported to various architectures, then finding the good repository is affair of luck.
Need to try...
For instance this promising repository was bad luck
root@janus2> file ssmtp
ssmtp: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked (uses shared libs), corrupted section header size
This one was bingo !
The packages above like to install in /opt then I don't want to stress them.
But /opt is mounted to RAM (and quite empty) in Zeroshell on Alix.
So at first I change that to make /opt persistent at reboot.
I create /DB/opt and bind /opt to it.
Here is my PreBoot script:
# Support for extensions from NSLU2 repository:
# We need a persistent /opt, then it is located at /DB/opt.
# Zeroshell defaultly mounts /opt to the RAM and just creates 2 links there:
# nmap -> /var/register/system/AutoUpdate/pkgs/40400/pkg/prefix/nmap
# shibboleth-sp -> /usr/local/shibboleth-sp/
mount -o bind /DB/opt /opt
# / is mounted to the RAM, only few subdirs are mounted to the CFlash, including /Database.
# Mount all fugitive data inside /Database to the RAM (it will also save the CFlash):
mount -t tmpfs -o mode=1755,nosuid,nodev tmpfs /Database/LOG
mount -t tmpfs -o mode=1755,nosuid,nodev tmpfs /Database/var/register/system/mrtg/counters
mount -t tmpfs -o mode=1755,nosuid,nodev tmpfs /Database/var/register/system/mrtg/html
mount -t tmpfs -o mode=1755,nosuid,nodev tmpfs /DB/opt/var/samba
(the optimizations using tempfs were added later)
Manually setup IPKG
root@janus2> wget http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/stable/ipkg-opt_0.99.163-10_i686.ipk
root@janus2> tar zxvf ipkg-opt_0.99.163-10_i686.ipk
root@janus2> tar zxvf data.tar.gz
root@janus2> vi ./opt/etc/ipkg.conf
=> add there:
src syno-i686 http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/stable
Then move the content of the 'opt' created locally to /opt.
Also add /opt/bin and /opt/sbin to the PATH and IPKG works. It will install the wanted packages properly in /opt/...
Then using IPKG I already installed several packages from this repository, all working fine:
You may find there others fitting your own needs. Enjoy !
Any idea of improvement is welcome too.