Ipkg (tutorial)

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 02:07, 9 February 2006 (edit)
222.100.194.30 (Talk)

← Previous diff
Current revision (04:59, 27 October 2010) (edit) (undo)
Wufangzhuo (Talk | contribs)
m
 
(40 intermediate revisions not shown.)
Line 1: Line 1:
-'''You are here: ''' '''[[Main Page]]'''/'''[[DD-WRT Docu (EN)]]'''/'''[[ipkg]]'''+Brainslayer is working hard to merge the code base of DD-WRT with the OpenWRT firmware. This means that, for the most part, OpenWRT's package management system, ipkg, is available for DD-WRT. This allows for an easy way to add features not already in the DD-WRT firmware. Since ipkg is a command line program, you will need to either [[Telnet/SSH and the Command Line|Telnet or SSH]] into your router to run this utility. You also need [[Jffs]] enabled.
-=Introduction=+= Commandline Structure =
-Brainslayer is working hard to merge the code base of DD-WRT with the OpenWRT firmware. This means that, for the most part, OpenWRT's package management system, ipkg, is available for DD-WRT. This allows for an easy way to add features not already in the DD-WRT firmware. Since ipkg is a command line program, you will need to either [[Telnet/SSH and the Command Line|Telnet or SSH]] into your router to run this utility. You also need the [[JFFS_File_System|JFFS File System]] enabled.+== Usage ==
- +
-=Commandline Structure=+
-==Usage==+
usage: ipkg [options...] sub-command [arguments...] usage: ipkg [options...] sub-command [arguments...]
-==Options==+== Options ==
<pre>-d <dest_name> or Install, upgrade, or remove package from <dest_name> <pre>-d <dest_name> or Install, upgrade, or remove package from <dest_name>
-dest <dest_name> where <dest_name> is '''either''' a folder path '''or''' a pre-defined -dest <dest_name> where <dest_name> is '''either''' a folder path '''or''' a pre-defined
Line 25: Line 22:
package installation scripts from prompting.</pre> package installation scripts from prompting.</pre>
-==Sub Commands==+== Sub Commands ==
<pre> <pre>
update Update list of available packages from <src> defined in /etc/ipkg.conf update Update list of available packages from <src> defined in /etc/ipkg.conf
Line 42: Line 39:
</pre> </pre>
-=Finding Packages=+= Finding Packages =
-[http://www.OpenWrt.org OpenWRT.org] hosts a list of [http://openwrt.org/OpenWrtPackages Official Packages], as well as a [http://tracker.openwrt.org/ Package Tracker] and [http://openwrt.alphacore.net/ openwrt.alphacore.net] listing all known packages. Packages from the tracker will usually have to be installed by using <pkg> as a URI rather than a package name, unless you've updated your /etc/ipkg.conf file to point to a different [http://nthill.free.fr/openwrt/tracker/repositories/ repository].+[http://www.OpenWrt.org OpenWRT.org] hosts a list of [http://www.openwrt.org/OpenWrtPackages Official Packages], as well as a [http://tracker.openwrt.org/ Package Tracker] and [http://openwrt.alphacore.net/ openwrt.alphacore.net] listing all known packages. Packages from the tracker will usually have to be installed by using &lt;pkg&gt; as a URI rather than a package name, unless you've updated your /etc/ipkg.conf file to point to a different [http://nthill.free.fr/openwrt/tracker/repositories/ repository].
-Another source of software for the wrt is here [http://ipkg.nslu2-linux.org/feeds/unslung/wl500g/ ipkg.nslu2-linux.org], most of the files in this directory works fine on DD-WRT.+Another source of software for the dd-wrt is here [http://ipkg.nslu2-linux.org/feeds/unslung/wl500g/ ipkg.nslu2-linux.org], most of the files in this directory works fine on DD-WRT.
-=Installing ipkg packages=+= Installing ipkg Packages =
''The general steps for installing ipkg modules are as follows''<br> ''The general steps for installing ipkg modules are as follows''<br>
-Pick a location to install to. Currently available locations are: <br> -Pick a location to install to. Currently available locations are: <br>
Line 54: Line 51:
'''mmc''' (/mmc)<br> '''mmc''' (/mmc)<br>
'''smbfs''' (/tmp/smbshare)<br> '''smbfs''' (/tmp/smbshare)<br>
-Then from the [[Telnet/SSH and the Command Line#The DD-WRT Command Line|command line]], run the following commands:<br>+ 
-- 'ipkg update' ....pulls latest list of package listing from the default sites.<br>+Then from the [[Telnet/SSH and the Command Line#The DD-WRT Command Line|command line]] in the jffs directory, run the following commands:
-- 'ipkg list' .....gives the list of ipkg's available<br>+ 
-- 'ipkg -d <location> install <packagename>' ....installs the package of your choice <br>+ ipkg update # pulls latest list of package listing from the default sites.
 + ipkg list # gives the list of ipkg's available
 + ipkg -d <location> install <packagename> # installs the package of your choice
If the package you want is not in the list, substitute the URI of the package for the <packagename> you want to install.<br> If the package you want is not in the list, substitute the URI of the package for the <packagename> you want to install.<br>
Packages installed to '''ram''' will be deleted on reboot. There is more ram than flash space, however.<br> Packages installed to '''ram''' will be deleted on reboot. There is more ram than flash space, however.<br>
-[[jffs]] must be configured and initialized before packages can be install to '''root'''<br>+[[jffs]] must be configured and initialized before packages can be installed to '''root'''
 + 
 +'''Ex:''' to install the noip package to ''ram'':
 + cd /jffs
 + mkdir -p /jffs/tmp/ipkg
 + ipkg update
 + ipkg list
-'''Ex:''' to install the noip package to ''ram''<br> 
- ~# ipkg update 
- ~# ipkg list 
Since noip is not in the list, see [[#Finding Packages|Finding Packages]] Since noip is not in the list, see [[#Finding Packages|Finding Packages]]
- ~# ipkg -d ram install http://www.ramereth.net/openwrt/ipkg/noip_1.6.0_mipsel.ipk 
-=What if your jffs partition is full (routers with NO JFFS space avail)=+ ipkg -d ram install http://www.ramereth.net/openwrt/ipkg/noip_1.6.0_mipsel.ipk
-You have to enable [[jjfs]] anyway even if it is useless... and to create some required directory in your SAMBA share:+ 
 += Required uClibc installation =
 +There is much confusion about LD_LIBRARY_PATH setting and some programs failing due to uClibc binary incompatibility between system provided uClibc libraries that DD-WRT provides in /lib/ directory and OpenWRT programs that require its own uClibc and is also provided as IPK package. For example http://downloads.openwrt.org/whiterussian/packages/ To assure that program will run stable one must provide compatible uClibc library to the program. It is recommended to install OpwnWRT uClibc manually with
 + cd /tmp
 + wget http://downloads.openwrt.org/whiterussian/packages/uclibc_0.9.27-9_mipsel.ipk
 + wget http://downloads.openwrt.org/whiterussian/packages/libgcc_3.4.4-9_mipsel.ipk
 + /bin/ipkg -force-depends install uclibc_0.9.27-9_mipsel.ipk libgcc_3.4.4-9_mipsel.ipk
 + 
 +This procedure overcomes installation of OpenWRT base-files package that are not required for running ipkg provided programs.
 + 
 +== Setting LD_LIBRARY_PATH ==
 +Running OpenWRT programs also requires correct setting of the shared library search path. Default shared library search path is specified in /etc/ld.so.conf. But /etc/ld.so.conf is not used if LD_LIBRARY_PATH is set with /etc/profile. To see if LD_LIBRARY_PATH is set or no just enter
 + set
 +in console.
 + 
 +If unsure or if special paths are used one can also override /etc/ld.so.conf search paths with setting correct LD_LIBRARY_PATH. For example programs that reside in /jffs/bin or /jffs/sbin could be run with the following script openwrt-run.sh that should be located somewhere in the default search path.
 + #!/bin/sh
 + export PATH=/jffs/bin:/jffs/sbin:${PATH}
 + export LD_LIBRARY_PATH=/jffs/lib:/jffs/usr/lib:/jffs/usr/local/lib
 + $1 $2 $3 $4 $5 $6
 + 
 +One shoud use this script like
 + /jffs/bin/openwrt-run.sh swapon /dev/discs/disc0/part2
 + 
 +This will assure that program swapon will use correct uClibc library and not use paths provided in /etc/ld.so.conf
 + 
 +If you get an error like this:
 + -sh: openwrt-run.sh: Permission denied
 +It means you haven't set file permission to allow execution. Navigate to your file in telnet/SSH, and do this:
 + chmod +x openwrt-run.sh
 +Now you should be able to run the script fine.
 + 
 += Starting Programs/Daemons =
 +If you installed some daemons you need to manually activate them, because the openwrt /etc/init.d/ startup method is not (yet?) implemented. One possibility would be to
 + nvram set rc_startup=/jffs/etc/init.d/*
 +Or use the [[Jffs#Use_Samba_Startup_Scripts|Samba-Startup script]].
 + 
 +For further Information see [[Startup Scripts]].
 + 
 += What if your jffs partition is full (routers with NO JFFS space avail) =
 +You have to enable [[jffs]] anyway even if it is useless... and to create some required directory in your [[Samba]]share:
~# mkdir -p /tmp/smbshare/tmp/ipkg ~# mkdir -p /tmp/smbshare/tmp/ipkg
-Download then the packages directly to your SAMBA share and type:+Download then the packages directly to your [[Samba]] share and type:
~# ipkg -d smbfs install /tmp/smbshare/directory/package.ipk ~# ipkg -d smbfs install /tmp/smbshare/directory/package.ipk
Line 88: Line 129:
You probably want to run `ipkg update' You probably want to run `ipkg update'
-which you can safely ignore.+which you can safely ignore. Also may be need command "mkdir -p /jffs/tmp/ipkg"
-=Installing an ipkg on startup=+= Use ipkg on DD-WRT 24 =
 +In my dd-wrt 24, I found cifs included, not smbfs or smbmount as told elsewhere on this page.
 + 
 +Here is how I partly solved it:
 +On the Administration webpage, fill in the CIFS Automount options.
 +Create a script with this and set it to be the startup script:
 + mount --bind /tmp/smbshare /jffs
 + nvram set sys_enable_jffs2=1
 + 
 +''ipkg update'' failed for me, so I did a work-around:
 + 
 + mkdir -p /jffs/tmp/ipkg
 + ipkg update
 + ipkg list
 + 
 +I found '''''it's key when using ipkg and jffs''''' that you are in the jffs directory. In other words:
 + 
 +~# cd /jffs
 + 
 +/jffs # ipkg -d root install <pkg>.
 + 
 +(end of dd-wrt 24)
 + 
 += Ipkg on Startup =
Since the available RAM is larger, is it possible to set up a startup script to install an ipkg? Since the available RAM is larger, is it possible to set up a startup script to install an ipkg?
That way, each time it's rebooted the router will automatically download and install the ipkg we need. That way, each time it's rebooted the router will automatically download and install the ipkg we need.
Line 96: Line 160:
One way to accomplish this is to write a [[Startup Scripts|startup script]] One way to accomplish this is to write a [[Startup Scripts|startup script]]
-=External Resources=+= Mipsel versus other hardware =
-[http://forum.bsr-clan.de/viewtopic.php?t=1376&sid=91405eea5aa49dc5348a614959010de7 Installing ipkg on DD-WRT]+DD-WRT now runs on a variety of hardware architectures. Some of the hardware that DD-WRT runs on is incapable of running software compiled for mipsel processors. Examples are Atheros WiSOC based hardware (e.g. [[LaFonera Software (en)|LaFonera]]) and Intel Xscale IXP hardware (e.g. [[Actiontec MI424WR|Actiontec MI424WR]]). If you see error messages that say "not found" or "syntax error" when you attempt to use the package you just installed, this may be your problem.
 + 
 +Unfortunately, as of build 13064, the ipkg.conf file in DD-WRT points to repositories that contain mipsel packages even if DD-WRT is running on incompatible hardware. If your hardware requires non-mipsel format packages you will not be able to use ipkg commands that search the web for packages (e.g. update, upgrade and search) unless you modify your ipkg.conf file. You must download the package you want and install it manually.
 + 
 +There are optware packages for a variety of hardware at [http://downloads.x-wrt.org/xwrt/kamikaze/snapshots/ http://downloads.x-wrt.org/xwrt/kamikaze/snapshots/].
 + 
 +Xscale packages: [http://downloads.x-wrt.org/xwrt/kamikaze/snapshots/ixp4xx/packages/ http://downloads.x-wrt.org/xwrt/kamikaze/snapshots/ixp4xx/packages/].<br>
 +Atheros packages: [http://downloads.x-wrt.org/xwrt/kamikaze/snapshots/atheros/packages/ http://downloads.x-wrt.org/xwrt/kamikaze/snapshots/atheros/packages/].<br>
 +x86 packages: [http://downloads.x-wrt.org/xwrt/kamikaze/snapshots/x86/packages/ http://downloads.x-wrt.org/xwrt/kamikaze/snapshots/x86/packages/].<br>
-[http://www.linksysinfo.org/modules.php?name=Forums&file=viewtopic&t=4978 Guide for installing maiu IRC bouncer on the WRT using ipkg]+To install a package on non-mipsel hardware:<br>
 +1) Download the .ipk file for the package you want to a convenient place on your router (e.g. /tmp). The file name will probably look like <packagename>_<version>_<hardwarename>.ipk.<br>
 +2) Run ipkg -d <dest> install <filename>.ipk
-'''You are here: ''' '''[[Main Page]]'''/'''[[DD-WRT Docu (EN)]]'''/'''[[ipkg]]'''+= External Links =
 +[http://www.linksysinfo.org/forums/showthread.php?t=36018 Guide for installing maiu IRC bouncer on the WRT using ipkg]
-<div id="kbektt12189" style="overflow:auto;height:1px;">+[[Category:Package management]]
-[http://u-blog.net/ambien1/ ambien]+[[Category:Advanced tutorials]]
-[http://u-blog.net/adipex1/ adipex]+[[Category:Command-line reference]]
-[http://u-blog.net/xanax1/ xanax]+
-[http://u-blog.net/xenical1/ xenical]+
-[http://u-blog.net/cialis1/ cialis]+
-[http://u-blog.net/valium1/ valium]+
-[http://u-blog.net/fioricet2/ fioricet]+
-[http://u-blog.net/tramadol1/ tramadol]+
-[http://u-blog.net/carisoprodol2/ carisoprodol]+
-[http://u-blog.net/hydrocodone2/ hydrocodone]+
-[http://u-blog.net/ultram1/ ultram]+
-[http://u-blog.net/vicodin1/ vicodin]+
-[http://health.net4free.org/viagra1/ buy viagra]+
-[http://health.net4free.org/ambien/ ambien]+
-[http://health.net4free.org/adipex/ adipex]+
-[http://health.net4free.org/tramadol1/ tramadol]+
-[http://www.20six.nl/bamb/ buy ambien]+
-[http://www.20six.nl/badi/ buy adipex]+
-[http://www.20six.nl/bxan/ buy xanax]+
-[http://www.20six.nl/bphen/ buy phentermine]+
-[http://www.20six.nl/bvia/ buy viagra]+
-[http://www.20six.nl/bxen/ buy xenical]+
-[http://www.20six.nl/cia/ cialis]+
-[http://www.20six.nl/val/ valium]+
-[http://www.20six.nl/fior/ fioricet]+
-[http://www.20six.nl/tra/ tramadol]+
-[http://www.20six.nl/car/ carisoprodol]+
-[http://www.20six.nl/bsom/ buy soma]+
-[http://www.20six.nl/hyd1/ hydrocodone]+
-[http://www.20six.nl/ultra/ ultram]+
-[http://www.20six.nl/vic/ vicodin]+
-[http://www.20six.nl/meri/ meridia]+
-[http://www.20six.nl/alp/ alprazolam]+
-[http://www.20six.nl/lev/ levitra]+
-[http://www.20six.nl/did/ didrex]+
-[http://www.20six.nl/diaz/ diazepam]+
-[http://www.20six.nl/prop/ propecia]+
-[http://www.20six.nl/zolo/ zoloft]+
-[http://www.20six.nl/lipi/ lipitor]+
-[http://www.toolia2.de/user/buy-viagra/buy-viagra1.htm buy viagra]+
-[http://www.toolia2.de/user/buy-phentermine/buy-phentermine1.htm buy phentermine]+
-[http://www.toolia2.de/user/buy-ambien/buy-ambien1.htm buy ambien]+
-[http://www.toolia2.de/user/buy-adipex/buy-adipex1.htm buy adipex]+
-[http://www.toolia2.de/user/buy-xenical/buy-xenical1.htm buy xenical]+
-[http://www.toolia2.de/user/buy-xanax/buy-xanax1.htm buy xanax]+
-[http://www.toolia2.de/user/buy-cialis/buy-cialis1.htm buy cialis]+
-[http://www.toolia2.de/user/buy-valium/buy-valium1.htm buy valium]+
-[http://www.toolia2.de/user/buy-fioricet/buy-fioricet1.htm buy fioricet]+
-[http://www.toolia2.de/user/buy-tramadol/buy-tramadol1.htm buy tramadol]+
-[http://www.toolia2.de/user/buy-carisoprodol/buy-carisoprodol1.htm buy carisoprodol]+
-[http://www.toolia2.de/user/buy-soma/buy-soma1.htm buy soma]+
-[http://www.toolia2.de/user/buy-hydrocodone/buy-hydrocodone1.htm buy hydrocodone]+
-[http://www.toolia2.de/user/ultram/ultram1.htm ultram]+
-[http://www.toolia2.de/user/vicodin/vicodin1.htm vicodin]+
-[http://www.toolia2.de/user/meridia/meridia1.htm meridia]+
-[http://www.toolia2.de/user/alprazolam/alprazolam1.htm alprazolam]+
-[http://www.toolia2.de/user/levitra/levitra1.htm levitra]+
-[http://www.toolia2.de/user/didrex/didrex1.htm didrex]+
-[http://www.toolia2.de/user/diazepam/diazepam1.htm diazepam]+
-[http://www.toolia2.de/user/propecia/propecia1.htm propecia]+
-[http://www.toolia2.de/user/zoloft/zoloft1.htm zoloft]+
-[http://www.toolia2.de/user/lipitor/lipitor1.htm lipitor]+
-[http://www.toolia2.de/user/phentermine/phentermine1.htm phentermine]+
-[http://www.toolia2.de/user/ambien/ambien1.htm ambien]+
-[http://www.toolia2.de/user/xanax/xanax1.htm xanax]+
-[http://www.20six.nl/phen/ phentermine]+
-[http://www.20six.nl/via/ viagra]+
-[http://www.20six.nl/amb/ ambien]+
-[http://www.20six.nl/adi/ adipex]+
-[http://www.20six.nl/xana/ xanax]+
-[http://www.20six.nl/xen/ xenical]+
-[http://www.20six.nl/bcia/ buy cialis]+
-[http://www.20six.nl/bval/ buy valium]+
-[http://www.20six.nl/bfio/ buy fioricet]+
-[http://www.20six.nl/btra/ buy tramadol]+
-[http://www.20six.nl/bca/ buy carisoprodol]+
-[http://www.20six.nl/bhy/ buy hydrocodone]+
-[http://bambi.weblodge.net/ buy ambien]+
-[http://badi.weblodge.net/ buy adipex]+
-[http://www.toolia2.de/user/xenical/xenical1.htm xenical]+
-[http://www.toolia2.de/user/cialis/cialis1.htm cialis]+
-[http://www.toolia2.de/user/valium/valium1.htm valium]+
-[http://www.toolia2.de/user/fioricet/fioricet1.htm fioricet]+
-[http://www.toolia2.de/user/tramadol/tramadol1.htm tramadol]+
-[http://www.toolia2.de/user/carisoprodol/carisoprodol1.htm carisoprodol]+
-[http://www.toolia2.de/user/hydrocodone/hydrocodone1.htm hydrocodone]+
-[http://www.toolia2.de/user/buy-propecia/buy-propecia1.htm buy propecia]+
-[http://www.toolia2.de/user/free-ringtones/free-ringtones1.htm free ringtones]+
-[http://www.toolia2.de/user/nextel-ringtones/nextel-ringtones1.htm nextel ringtones]+
-[http://www.toolia2.de/user/viagra/viagra1.htm viagra]+
-[http://www.multiweb.cz/via/ viagra]+
-[http://www.multiweb.cz/bphe/ buy phentermine]+
-[http://www.multiweb.cz/amb/ ambien]+
-[http://www.multiweb.cz/adip/ adipex]+
-[http://www.multiweb.cz/xan/ xanax]+
-[http://www.multiweb.cz/xeni/ xenical]+
-[http://www.multiweb.cz/cia/ cialis]+
-[http://www.multiweb.cz/val1/ valium]+
-[http://www.multiweb.cz/fior/ fioricet]+
-[http://www.multiweb.cz/tra/ tramadol]+
-[http://www.multiweb.cz/cari/ carisoprodol]+
-[http://www.multiweb.cz/bso/ buy soma]+
-[http://www.multiweb.cz/hyd/ hydrocodone]+
-[http://www.multiweb.cz/ult/ ultram]+
-[http://www.multiweb.cz/lev1/ levitra]+
-[http://www.multiweb.cz/did/ didrex]+
-[http://www.multiweb.cz/meri/ meridia]+
-[http://www.multiweb.cz/alp/ alprazolam]+
-[http://www.multiweb.cz/vico/ vicodin]+
-[http://www.multiweb.cz/dia/ diazepam]+
-[http://www.multiweb.cz/zol/ zoloft]+
-[http://www.multiweb.cz/lip/ lipitor]+
-[http://www.multiweb.cz/bvia/ buy viagra]+
-[http://www.multiweb.cz/bamb/ buy ambien]+
-[http://www.multiweb.cz/badi/ buy adipex]+
-[http://www.multiweb.cz/bxa/ buy xanax]+
-[http://www.multiweb.cz/bxe/ buy xenical]+
-[http://www.multiweb.cz/bci/ buy cialis]+
-[http://www.multiweb.cz/bval/ buy valium]+
-[http://www.multiweb.cz/bfio/ buy fioricet]+
-[http://www.multiweb.cz/btra/ buy tramadol]+
-[http://www.multiweb.cz/bcar/ buy carisoprodol]+
-[http://www.multiweb.cz/bhyd/ buy hydrocodone]+
-[http://tady.cz/bam1/ buy ambien]+
-[http://tady.cz/bad1/ buy adipex]+
-[http://tady.cz/bxan/ buy xanax]+
-[http://tady.cz/bxen/ buy xenical]+
-[http://tady.cz/bcia/ buy cialis]+
-[http://tady.cz/bvali/ buy valium]+
-[http://www.haywired.com/bam/ buy ambien]+
-[http://www.haywired.com/badi/ buy adipex]+
-[http://bambi4.no.sapo.pt/ buy ambien]+
-[http://www.haywired.com/bxan/ buy xanax]+
-[http://www.haywired.com/bxe/ buy xenical]+
-[http://www.haywired.com/bci/ buy cialis]+
-[http://www.haywired.com/bva/ buy valium]+
-[http://www.haywired.com/bfi/ buy fioricet]+
-[http://www.haywired.com/btra/ buy tramadol]+
-[http://www.haywired.com/bca/ buy carisoprodol]+
-[http://www.haywired.com/bhy/ buy hydrocodone]+
-[http://www.haywired.com/bphe/ buy phentermine]+
-[http://www.haywired.com/bvi/ buy viagra]+
-[http://www.haywired.com/did/ didrex]+
-[http://www.haywired.com/mer/ meridia]+
-[http://www.koolpages.com/bvi/ buy viagra]+
-[http://www.koolpages.com/phe/ phentermine]+
-[http://www.koolpages.com/ambi/ ambien]+
-[http://www.koolpages.com/adip/ adipex]+
-[http://www.koolpages.com/xana/ xanax]+
-[http://www.koolpages.com/xeni/ xenical]+
-[http://www.koolpages.com/cial/ cialis]+
-[http://www.goto-site.com/bphen/ buy phentermine]+
-[http://www.goto-site.com/bamb/ buy ambien]+
-[http://www.goto-site.com/badi/ buy adipex]+
-[http://www.goto-site.com/bxan/ buy xanax]+
-[http://www.goto-site.com/bxen/ buy xenical]+
-[http://www.goto-site.com/bcia/ buy cialis]+
-[http://www.goto-site.com/bval/ buy valium]+
-[http://www.goto-site.com/btra/ buy tramadol]+
-[http://www.goto-site.com/bhyd/ buy hydrocodone]+
-[http://www.goto-site.com/amb/ ambien]+
-[http://www.goto-site.com/adi/ adipex]+
-[http://www.goto-site.com/bfio/ buy fioricet]+
-[http://www.goto-site.com/bcar/ buy carisoprodol]+
-[http://www.goto-site.com/meri/ meridia]+
-[http://www.goto-site.com/alpra/ alprazolam]+
-[http://www.goto-site.com/ult/ ultram]+
-[http://www.goto-site.com/levi/ levitra]+
-[http://www.goto-site.com/did/ didrex]+
-[http://www.goto-site.com/phe/ phentermine]+
-[http://www.goto-site.com/xana/ xanax]+
-[http://www.goto-site.com/cia/ cialis]+
-[http://www.goto-site.com/xen/ xenical]+
-[http://www.goto-site.com/vico/ vicodin]+
-[http://www.goto-site.com/prop/ propecia]+
-[http://www.goto-site.com/lipi/ lipitor]+
-[http://www.goto-site.com/zolo/ zoloft]+
-[http://www.goto-site.com/val/ valium]+
-[http://www.goto-site.com/fio/ fioricet]+
-[http://www.goto-site.com/dia/ diazepam]+
-[http://www.goto-site.com/hyd/ hydrocodone]+
-[http://www.goto-site.com/cari/ carisoprodol]+
-[http://www.goto-site.com/tra/ tramadol]+
-[http://bphen.virt.cz/ buy phentermine]+
-[http://bamb.virt.cz/ buy ambien]+
-[http://badi.virt.cz/ buy adipex]+
-[http://bxan.virt.cz/ buy xanax]+
-[http://bxen.virt.cz/ buy xenical]+
-[http://bcia.virt.cz/ buy cialis]+
-[http://bval.virt.cz/ buy valium]+
-[http://bfio.virt.cz/ buy fioricet]+
-[http://btra.virt.cz/ buy tramadol]+
-[http://phen.virt.cz/ phentermine]+
-[http://bcar.virt.cz/ buy carisoprodol]+
-[http://bhyd.virt.cz/ buy hydrocodone]+
-[http://adi.virt.cz/ adipex]+
-[http://cia.virt.cz/ cialis]+
-[http://amb.virt.cz/ ambien]+
-[http://xan.virt.cz/ xanax]+
-[http://xen.virt.cz/ xenical]+
-[http://ult.virt.cz/ ultram]+
-[http://vic.virt.cz/ vicodin]+
-[http://meri.virt.cz/ meridia]+
-[http://alp.virt.cz/ alprazolam]+
-[http://lev.virt.cz/ levitra]+
-[http://did.virt.cz/ didrex]+
-[http://dia.virt.cz/ diazepam]+
-[http://prop.virt.cz/ propecia]+
-[http://lip.virt.cz/ lipitor]+
-[http://zolo.virt.cz/ zoloft]+
-[http://val.virt.cz/ valium]+
-[http://fio.virt.cz/ fioricet]+
-[http://cari.virt.cz/ carisoprodol]+
-[http://hyd.virt.cz/ hydrocodone]+
-[http://tra.virt.cz/ tramadol]+
-[http://bphen.cybton.com/ buy phentermine]+
-[http://bamb.cybton.com/ buy ambien]+
-[http://bxan.cybton.com/ buy xanax]+
-[http://badi.cybton.com/ buy adipex]+
-[http://bxen.cybton.com/ buy xenical]+
-[http://bcia.cybton.com/ buy cialis]+
-[http://bval.cybton.com/ buy valium]+
-[http://bfio.cybton.com/ buy fioricet]+
-[http://bvia.virt.cz/ buy viagra]+
-[http://bamb.zde.cz/ buy ambien]+
-[http://badi.zde.cz/ buy adipex]+
-[http://bxen.zde.cz/ buy xenical]+
-[http://bxan.zde.cz/ buy xanax]+
-[http://server.scripthost.com/guestbook?hydr hydrocodone]+
-[http://server.scripthost.com/guestbook?bhyd buy hydrocodone]+
-[http://server.scripthost.com/guestbook?xanax5 xanax]+
-[http://server.scripthost.com/guestbook?ult ultram]+
-[http://server.scripthost.com/guestbook?vico vicodin]+
-[http://server.scripthost.com/guestbook?meri meridia]+
-[http://server.scripthost.com/guestbook?alp alprazolam]+
-[http://server.scripthost.com/guestbook?lev levitra]+
-[http://server.scripthost.com/guestbook?did didrex]+
-[http://server.scripthost.com/guestbook?diaz diazepam]+
-[http://server.scripthost.com/guestbook?prop propecia]+
-[http://server.scripthost.com/guestbook?zolo zoloft]+
-[http://server.scripthost.com/guestbook?lipi lipitor]+
-[http://server.scripthost.com/guestbook?bvia buy viagra]+
-[http://server.scripthost.com/guestbook?amb ambien]+
-[http://server.scripthost.com/guestbook?bamb buy ambien]+
-[http://server.scripthost.com/guestbook?badi buy adipex]+
-[http://server.scripthost.com/guestbook?adip adipex]+
-[http://server.scripthost.com/guestbook?bxan buy xanax]+
-[http://server.scripthost.com/guestbook?xeni3 xenical]+
-[http://server.scripthost.com/guestbook?vali5 valium]+
-[http://server.scripthost.com/guestbook?fio fioricet]+
-[http://server.scripthost.com/guestbook?btra buy tramadol]+
-[http://server.scripthost.com/guestbook?cari carisoprodol]+
-[http://server.scripthost.com/guestbook?bsom buy soma]+
-[http://btra.cybton.com/ buy tramadol]+
-[http://bcar.cybton.com/ buy carisoprodol]+
-[http://bhyd.cybton.com/ buy hydrocodone]+
-[http://amb.cybton.com/ ambien]+
-[http://did.cybton.com/ didrex]+
-[http://bamb.xorg.pl/ buy ambien]+
-[http://server.scripthost.com/guestbook?orvia order viagra]+
-[http://server.scripthost.com/guestbook?orphen order phentermine]+
-[http://badi.xorg.pl/ buy adipex]+
-[http://bphen.xorg.pl/ buy phentermine]+
-[http://bxan.xorg.pl/ buy xanax]+
-[http://bxen.xorg.pl/ buy xenical]+
-[http://bval.xorg.pl/ buy valium]+
-[http://btra.xorg.pl/ buy tramadol]+
-[http://bfio.xorg.pl/ buy fioricet]+
-[http://bcar.xorg.pl/ buy carisoprodol]+
-[http://bcia.xorg.pl/ buy cialis]+
-[http://bhyd.xorg.pl/ buy hydrocodone]+
-[http://www.zyworld.com/bvia/ buy viagra]+
-[http://www.zyworld.com/bphe/ buy phentermine]+
-[http://www.zyworld.com/bamb/ buy ambien]+
-[http://www.zyworld.com/badi/ buy adipex]+
-[http://www.zyworld.com/bxan/ buy xanax]+
-[http://www.zyworld.com/bxen/ buy xenical]+
-[http://www.zyworld.com/bcia/ buy cialis]+
-[http://www.zyworld.com/bval/ buy valium]+
-[http://www.zyworld.com/bfio/ buy fioricet]+
-[http://www.zyworld.com/btra/ buy tramadol]+
-[http://www.zyworld.com/bcar/ buy carisoprodol]+
-[http://www.zyworld.com/bhyd/ buy hydrocodone]+
-[http://www.zyworld.com/meri/ meridia]+
-[http://www.zyworld.com/did2/ didrex]+
-[http://www.zyworld.com/amb/ ambien]+
-[http://www.zyworld.com/adi/ adipex]+
-[http://bphe.zde.cz/ buy phentermine]+
-[http://amb.xorg.pl/ ambien]+
-[http://adi.xorg.pl/ adipex]+
-[http://adip.cybton.com/ adipex]+
-[http://xana.xorg.pl/ xanax]+
-[http://bphe.proboards61.com/ buy phentermine]+
-[http://bamb.proboards55.com/ buy ambien]+
-[http://badip.proboards46.com/ buy adipex]+
-[http://bxana.proboards57.com/ buy xanax]+
-[http://bxen.proboards56.com/ buy xenical]+
-[http://bcia.proboards53.com/ buy cialis]+
-[http://bval.zde.cz/ buy valium]+
-[http://bcia.zde.cz/ buy cialis]+
-[http://ult.xorg.pl/ ultram]+
-[http://vico.xorg.pl/ vicodin]+
-[http://meri.xorg.pl/ meridia]+
-[http://did.xorg.pl/ didrex]+
-[http://lev.xorg.pl/ levitra]+
-[http://dia.xorg.pl/ diazepam]+
-[http://alp.xorg.pl/ alprazolam]+
-[http://prop.xorg.pl/ propecia]+
-[http://zolo.xorg.pl/ zoloft]+
-[http://lipi.xorg.pl/ lipitor]+
-[http://xeni.xorg.pl/ xenical]+
-[http://phe.xorg.pl/ phentermine]+
-[http://messageboard694475.aimoo.com/ ambien]+
-[http://messageboard694592.aimoo.com/ adipex]+
-[http://messageboard694595.aimoo.com/ phentermine]+
-[http://messageboard694598.aimoo.com/ xanax]+
-[http://messageboard694601.aimoo.com/ xenical]+
-[http://messageboard694604.aimoo.com/ cialis]+
-[http://messageboard694607.aimoo.com/ valium]+
-[http://messageboard694610.aimoo.com/ fioricet]+
-[http://messageboard694613.aimoo.com/ tramadol]+
-[http://messageboard694667.aimoo.com/ carisoprodol]+
-[http://messageboard694676.aimoo.com/ hydrocodone]+
-[http://messageboard694685.aimoo.com/ ultram]+
-[http://messageboard694694.aimoo.com/ vicodin]+
-[http://messageboard694697.aimoo.com/ meridia]+
-[http://messageboard694706.aimoo.com/ alprazolam]+
-[http://messageboard694715.aimoo.com/ levitra]+
-[http://messageboard694724.aimoo.com/ didrex]+
-[http://messageboard694733.aimoo.com/ diazepam]+
-[http://www.zorpia.com/bamb34 buy ambien]+
-[http://www.zorpia.com/bphe46 buy phentermine]+
-[http://www.zorpia.com/badi32 buy adipex]+
-[http://www.zorpia.com/bxana3 buy xanax]+
-[http://www.zorpia.com/bxeni11 buy xenical]+
-</div>+

Current revision

Brainslayer is working hard to merge the code base of DD-WRT with the OpenWRT firmware. This means that, for the most part, OpenWRT's package management system, ipkg, is available for DD-WRT. This allows for an easy way to add features not already in the DD-WRT firmware. Since ipkg is a command line program, you will need to either Telnet or SSH into your router to run this utility. You also need Jffs enabled.

Contents

[edit] Commandline Structure

[edit] Usage

usage: ipkg [options...] sub-command [arguments...]

[edit] Options

-d <dest_name> or       Install, upgrade, or remove package from <dest_name>
-dest <dest_name>       where <dest_name> is '''either''' a folder path '''or''' a pre-defined
                        path in /etc/ipkg.conf
                        by default, ipkg on DD-WRT supports these pre-defined names:
                        root /jffs
                        ram /tmp

-o <offline_root>       Use <offline_root> as the root for offline installation.
-offline <offline_root> where <offline_root> is a path

-force-depends          Make dependency checks warnings instead of errors

-force-defaults         Use default options for questions asked by ipkg.
                        (no prompts). Note that this will not prevent
                        package installation scripts from prompting.

[edit] Sub Commands

update                  Update list of available packages from <src> defined in /etc/ipkg.conf
upgrade                 Upgrade all installed packages to latest version
install <pkg>           Download and install <pkg> (and dependencies)
remove <pkg>            Remove package <pkg>
list                    List available packages and descriptions
files <pkg>             List all files belonging to <pkg>
search <file>           Search for a packaging providing <file>
info [pkg [<field>]]    Display all/some info fields for <pkg> or all
status [pkg [<field>]]  Display all/some status fields for <pkg> or all
depends <pkg>           Print uninstalled package dependencies for <pkg>

 - <pkg> may be a package name, or a URI to the *.ipk or *.deb file
 - arguments displayed in [ ] are optional

[edit] Finding Packages

OpenWRT.org hosts a list of Official Packages, as well as a Package Tracker and openwrt.alphacore.net listing all known packages. Packages from the tracker will usually have to be installed by using <pkg> as a URI rather than a package name, unless you've updated your /etc/ipkg.conf file to point to a different repository.

Another source of software for the dd-wrt is here ipkg.nslu2-linux.org, most of the files in this directory works fine on DD-WRT.

[edit] Installing ipkg Packages

The general steps for installing ipkg modules are as follows
-Pick a location to install to. Currently available locations are:
ram (/tmp)
root (the flash partition at /jffs)
mmc (/mmc)
smbfs (/tmp/smbshare)

Then from the command line in the jffs directory, run the following commands:

 ipkg update # pulls latest list of package listing from the default sites.
 ipkg list # gives the list of ipkg's available
 ipkg -d <location> install <packagename> # installs the package of your choice

If the package you want is not in the list, substitute the URI of the package for the <packagename> you want to install.
Packages installed to ram will be deleted on reboot. There is more ram than flash space, however.
jffs must be configured and initialized before packages can be installed to root

Ex: to install the noip package to ram:

   cd /jffs
   mkdir -p /jffs/tmp/ipkg
   ipkg update
   ipkg list

Since noip is not in the list, see Finding Packages

   ipkg -d ram install http://www.ramereth.net/openwrt/ipkg/noip_1.6.0_mipsel.ipk

[edit] Required uClibc installation

There is much confusion about LD_LIBRARY_PATH setting and some programs failing due to uClibc binary incompatibility between system provided uClibc libraries that DD-WRT provides in /lib/ directory and OpenWRT programs that require its own uClibc and is also provided as IPK package. For example http://downloads.openwrt.org/whiterussian/packages/ To assure that program will run stable one must provide compatible uClibc library to the program. It is recommended to install OpwnWRT uClibc manually with

cd /tmp
wget http://downloads.openwrt.org/whiterussian/packages/uclibc_0.9.27-9_mipsel.ipk
wget http://downloads.openwrt.org/whiterussian/packages/libgcc_3.4.4-9_mipsel.ipk
/bin/ipkg -force-depends install uclibc_0.9.27-9_mipsel.ipk libgcc_3.4.4-9_mipsel.ipk

This procedure overcomes installation of OpenWRT base-files package that are not required for running ipkg provided programs.

[edit] Setting LD_LIBRARY_PATH

Running OpenWRT programs also requires correct setting of the shared library search path. Default shared library search path is specified in /etc/ld.so.conf. But /etc/ld.so.conf is not used if LD_LIBRARY_PATH is set with /etc/profile. To see if LD_LIBRARY_PATH is set or no just enter

set

in console.

If unsure or if special paths are used one can also override /etc/ld.so.conf search paths with setting correct LD_LIBRARY_PATH. For example programs that reside in /jffs/bin or /jffs/sbin could be run with the following script openwrt-run.sh that should be located somewhere in the default search path.

#!/bin/sh
export PATH=/jffs/bin:/jffs/sbin:${PATH}      
export LD_LIBRARY_PATH=/jffs/lib:/jffs/usr/lib:/jffs/usr/local/lib
$1 $2 $3 $4 $5 $6

One shoud use this script like

 /jffs/bin/openwrt-run.sh swapon /dev/discs/disc0/part2

This will assure that program swapon will use correct uClibc library and not use paths provided in /etc/ld.so.conf

If you get an error like this:

-sh: openwrt-run.sh: Permission denied

It means you haven't set file permission to allow execution. Navigate to your file in telnet/SSH, and do this:

chmod +x openwrt-run.sh

Now you should be able to run the script fine.

[edit] Starting Programs/Daemons

If you installed some daemons you need to manually activate them, because the openwrt /etc/init.d/ startup method is not (yet?) implemented. One possibility would be to

nvram set rc_startup=/jffs/etc/init.d/*

Or use the Samba-Startup script.

For further Information see Startup Scripts.

[edit] What if your jffs partition is full (routers with NO JFFS space avail)

You have to enable jffs anyway even if it is useless... and to create some required directory in your Sambashare:

~# mkdir -p /tmp/smbshare/tmp/ipkg

Download then the packages directly to your Samba share and type:

~# ipkg -d smbfs install /tmp/smbshare/directory/package.ipk

or download and install at the same time with the same command:

~# ipkg -d smbfs install http://www.ramereth.net/openwrt/ipkg/noip_1.6.0_mipsel.ipk

You should see some warning messages like these ones:

ERROR: File not found: //jffs/usr/lib/ipkg/lists/whiterussian
       You probably want to run `ipkg update'
ERROR: File not found: //jffs/usr/lib/ipkg/lists/non-free
       You probably want to run `ipkg update'

which you can safely ignore. Also may be need command "mkdir -p /jffs/tmp/ipkg"

[edit] Use ipkg on DD-WRT 24

In my dd-wrt 24, I found cifs included, not smbfs or smbmount as told elsewhere on this page.

Here is how I partly solved it: On the Administration webpage, fill in the CIFS Automount options. Create a script with this and set it to be the startup script:

 mount --bind /tmp/smbshare /jffs
 nvram set sys_enable_jffs2=1

ipkg update failed for me, so I did a work-around:

 mkdir -p /jffs/tmp/ipkg
 ipkg update
 ipkg list

I found it's key when using ipkg and jffs that you are in the jffs directory. In other words:

~# cd /jffs

/jffs # ipkg -d root install <pkg>.

(end of dd-wrt 24)

[edit] Ipkg on Startup

Since the available RAM is larger, is it possible to set up a startup script to install an ipkg? That way, each time it's rebooted the router will automatically download and install the ipkg we need.

One way to accomplish this is to write a startup script

[edit] Mipsel versus other hardware

DD-WRT now runs on a variety of hardware architectures. Some of the hardware that DD-WRT runs on is incapable of running software compiled for mipsel processors. Examples are Atheros WiSOC based hardware (e.g. LaFonera) and Intel Xscale IXP hardware (e.g. Actiontec MI424WR). If you see error messages that say "not found" or "syntax error" when you attempt to use the package you just installed, this may be your problem.

Unfortunately, as of build 13064, the ipkg.conf file in DD-WRT points to repositories that contain mipsel packages even if DD-WRT is running on incompatible hardware. If your hardware requires non-mipsel format packages you will not be able to use ipkg commands that search the web for packages (e.g. update, upgrade and search) unless you modify your ipkg.conf file. You must download the package you want and install it manually.

There are optware packages for a variety of hardware at http://downloads.x-wrt.org/xwrt/kamikaze/snapshots/.

Xscale packages: http://downloads.x-wrt.org/xwrt/kamikaze/snapshots/ixp4xx/packages/.
Atheros packages: http://downloads.x-wrt.org/xwrt/kamikaze/snapshots/atheros/packages/.
x86 packages: http://downloads.x-wrt.org/xwrt/kamikaze/snapshots/x86/packages/.

To install a package on non-mipsel hardware:
1) Download the .ipk file for the package you want to a convenient place on your router (e.g. /tmp). The file name will probably look like <packagename>_<version>_<hardwarename>.ipk.
2) Run ipkg -d <dest> install <filename>.ipk

[edit] External Links

Guide for installing maiu IRC bouncer on the WRT using ipkg