====== Additional software for DNS-300 ====== It's possible to install additional programs to DNS-300 without firmware's modification. I've compiled some programs for DNS-300 with my [[:software:toolchain|toolchain]]. For example: **Midnight Commander**, **screen**, **Perl**, **coreutils**, **findutils**, **make**, and more and more. All of them was compiled on DNS-300 natively, because it's much easier than cross-compilation. You can see list of IPK packages here: [[http://dns-300.sergeyzh.org/ipkg/feeds/dlink-firmware/packages|IPK packages]]\\ I've tested all IPK packages with newest DLink's firmware, but I think they can be compatible with oldest 1.0 firmware also. All additional programs are installing to: **/home/root/**. In the future I plan to replace all programs from internal flash by these ones and make **/home/root/** directory as root directory. Currently I'm working on **ipkg** utility to simplify installation of additional software... ===== IPKG ===== Now you can use 'ipkg' utility to install additional software for DNS-300, but first you should prepare your DNS-300 for ipkg and additional software. ==== Preparation for IPKG ==== All additional software are installing to /home/root/ directory, so your should be sure that here no any data - configure DNS-300 to access Internet from DNS-300 directly - download archive with static version of ipkg + wget + ipkg.conf from here: [[http://dns-300.sergeyzh.org/files/ipkg.static.tar.gz|ipkg.static.tar.gz]] - copy archive to some directory on your DNS-300. In my case, it's **/home/sergey/ipkg/** - login to DNS-300 by telnet as root: [[:howto:get_telnet_access]] - cd to directory with archive: **cd /home/sergey/ipkg** - unpack archive: tar -xzf ./ipkg.static.tar.gz - replace internal **wget** with new one: **ln -sf /home/sergey/ipkg/wget /bin/**. - update list of ipkg packages from Internet: **./ipkg-cl -f ./ipkg.conf update**. NOTE: I found some small trouble at least for my environment: ipkg-cl freezes on first update from Internet. Just press Ctrl-C, and start it again. It works in second time. :-) ==== Install necessary packages ==== You should install some set of absolutely necessary packages for my additional software: - **./ipkg-cl -f ./ipkg.conf install linklibs** - to restore links to additional libraries at /home/root/lib/ after DNS-300 restart. - **./ipkg-cl -f ./ipkg.conf install linketc** - to restore links to additional configuration at /home/root/etc/ after DNS-300 restart. - **./ipkg-cl -f ./ipkg.conf install newprofile** - to set new PATH environment variable with additional value: /home/root/opt/usr/bin/ - **./ipkg-cl -f ./ipkg.conf install libfloat** - to support binaries which compiled by gcc-4.1.1 - **./ipkg-cl -f ./ipkg.conf install ipkg** - to install IPKG package and use it without any tricks. If you've done all steps without errors, you can close telnet now and login by telnet again, to have update for your PATH environment.\\ Try to type **ipkg-cl** and - you should see help page of ipkg utility. If you see that - congratulations: you've configured your DNS-300 to work with my additional software! You can delete my packages easily if something goes wrong, by deleting directory: **/home/root** and reboot your DNS-300 ==== List of additional software ==== You can see full list of packages here: [[http://dns-300.sergeyzh.org/ipkg/feeds/dlink-firmware/packages|IPK packages]]\\ Currently I have packed only 2 useful programs: **screen** and **wget** to test how this system works.\\ **Screen** is useful if you plan to close **telnet** session to your DNS-300 and keep run some programs inside (like BitTorrent client). Just run **screen** before any other program, and start other programs after **screen**. Now you can press: to release screen and return to your telnet session without stop your programs. Type **screen -r** in your telnet session to restore screen session.\\ You can install **screen** by: **ipkg-cl install screen**.