Optware-ByHand
From DD-WRT Wiki
Revision as of 07:00, 5 June 2009 (edit) Ausimus1 (Talk | contribs) (Removing all content from page) ← Previous diff |
Revision as of 08:50, 5 June 2009 (edit) (undo) Markus (Talk | contribs) (Undo revision 25504 by Ausimus1 (Talk)) Next diff → |
||
Line 1: | Line 1: | ||
+ | === Preparing /jffs for /opt === | ||
+ | First step is to prepare /opt mount point for Optware and create ipkg.conf file for packages download | ||
+ | ~ # mkdir /jffs/opt | ||
+ | ~ # mkdir /jffs/tmp | ||
+ | ~ # mkdir /jffs/tmp/ipkg | ||
+ | ~ # mount -o bind /jffs/opt /opt | ||
+ | ~ # mkdir /opt/etc | ||
+ | ~ # vi /opt/etc/ipkg.conf | ||
+ | Edit and insert the following content | ||
+ | src optware http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable | ||
+ | dest root /jffs | ||
+ | Now we will point /bin/ipkg script to this config with setting environment variable | ||
+ | ~ # export IPKG_CONF_DIR=/opt/etc | ||
+ | This is enough to retrieve list of available packages with | ||
+ | ~ # ipkg update | ||
+ | Downloading http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable/Packages ... | ||
+ | Connecting to ipkg.nslu2-linux.org[140.211.166.82]:80 | ||
+ | Packages 100% |**********************************************| 259 KB 00:00:00 ETA | ||
+ | Done. | ||
+ | Updated list of available packages in //jffs/usr/lib/ipkg/lists/optware | ||
+ | If nothing is reported after /bin/ipkg update then probably /etc/resolv.conf does not contain | ||
+ | proper name server address like: | ||
+ | search local.lan | ||
+ | nameserver 192.168.1.1 | ||
+ | |||
+ | |||
+ | Manual installing package ipkg-opt will automatically install also uclibc-opt package. | ||
+ | ~ # /bin/ipkg -d root install ipkg-opt | ||
+ | |||
+ | Downloading http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable/uclibc-opt_0.9.28-12_mipsel.ipk ... | ||
+ | Connecting to ipkg.nslu2-linux.org[140.211.166.82]:80 | ||
+ | uclibc-opt_0.9.28-12 100% |******************************************| 832 KB 00:00:00 ETA | ||
+ | Done. | ||
+ | Unpacking uclibc-opt...Done. | ||
+ | Configuring uclibc-opt...Updating /opt/etc/ld.so.cache | ||
+ | Done. | ||
+ | |||
+ | Downloading http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable/ipkg-opt_0.99.163-9_ | ||
+ | mipsel.ipk ... | ||
+ | Connecting to ipkg.nslu2-linux.org[140.211.166.82]:80 | ||
+ | ipkg-opt_0.99.163-9_ 100% |******************************************| 75896 00:00:00 ETA | ||
+ | Done. | ||
+ | Unpacking ipkg-opt...Done. | ||
+ | Configuring ipkg-opt...Configuration file `/opt/etc/ipkg.conf' | ||
+ | ==> File on system created by you or by a script. | ||
+ | ==> File also in package provided by package maintainer. | ||
+ | What would you like to do about it ? Your options are: | ||
+ | Y or I : install the package maintainer's version | ||
+ | N or O : keep your currently-installed version | ||
+ | D : show the differences between the versions (if diff is installed) | ||
+ | The default action is to keep your current version. | ||
+ | *** ipkg.conf (Y/I/N/O/D) [default=N] ? y | ||
+ | Done. | ||
+ | |||
+ | Note that we answered 'y' to install maintainer /opt/etc/ipkg.conf with the following contents: | ||
+ | #Uncomment the following line for native packages feed (if any) | ||
+ | #src/gz native http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/native/stable | ||
+ | src/gz optware http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable | ||
+ | dest /opt/ / | ||
+ | |||
+ | If anything goes wrong when installing ipkg-opt then I recommend erasing /jffs/jffs and /jffs/usr directories | ||
+ | with | ||
+ | rm -rf /jffs/jffs | ||
+ | rm -rf /jffs/usr | ||
+ | and repeat /bin/ipkg update and /bin/ipkg install ipkg-opt | ||
+ | |||
+ | Installing ipkg-opt package will maintain all packages installed in /opt directory along with its /opt/lib/ipkg | ||
+ | directory where /opt/bin/ipkg maintains its status files. There is also /opt/bin/ipkg-opt to save us from confusion. To update list of available packages issue | ||
+ | ~ # /opt/bin/ipkg-opt update | ||
+ | Downloading http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable/Packages.gz | ||
+ | Inflating http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable/Packages.gz | ||
+ | Updated list of available packages in /opt/lib/ipkg/lists/optware | ||
+ | Successfully terminated. | ||
+ | |||
+ | List of available packages is provided with | ||
+ | ~ # /opt/bin/ipkg-opt list | ||
+ | |||
+ | List of installed packages | ||
+ | ~ # /opt/bin/ipkg-opt list_installed | ||
+ | Successfully terminated. | ||
+ | will not show ipkg-opt and uclibc-opt as status file is now located in /opt/lib/ipkg/status and not /jffs/jffs/usr/lib/ipkg/status . To correct this issue we will reinstall the package itself with | ||
+ | ~ # /opt/bin/ipkg-opt install ipkg-opt | ||
+ | Installing ipkg-opt (0.99.163-9) to /opt/... | ||
+ | Downloading http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable/ipkg-opt_0.99.163-9_mipsel.ipk | ||
+ | package uclibc-opt suggests installing ipkg-opt | ||
+ | Installing uclibc-opt (0.9.28-12) to /opt/... | ||
+ | Downloading http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable/uclibc-opt_0.9.28-12_mipsel.ipk | ||
+ | Configuring ipkg-opt | ||
+ | Configuring uclibc-opt | ||
+ | Updating /opt/etc/ld.so.cache | ||
+ | Successfully terminated. | ||
+ | |||
+ | With clean Optware install two packages should be listed | ||
+ | ~ # /opt/bin/ipkg list_installed | ||
+ | ipkg-opt - 0.99.163-9 - The Itsy Package Manager | ||
+ | uclibc-opt - 0.9.28-12 - micro C library for embedded Linux systems | ||
+ | Successfully terminated. | ||
+ | |||
+ | From now on no files outside /opt tree will be required for maintaining Optware packages. I even recommend erasing | ||
+ | spurious files with | ||
+ | # rm -rf /jffs/jffs /jffs/usr | ||
+ | Exporting IPKG_CONF_DIR is not neeeded any more. |
Revision as of 08:50, 5 June 2009
Preparing /jffs for /opt
First step is to prepare /opt mount point for Optware and create ipkg.conf file for packages download
~ # mkdir /jffs/opt ~ # mkdir /jffs/tmp ~ # mkdir /jffs/tmp/ipkg ~ # mount -o bind /jffs/opt /opt ~ # mkdir /opt/etc ~ # vi /opt/etc/ipkg.conf
Edit and insert the following content
src optware http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable dest root /jffs
Now we will point /bin/ipkg script to this config with setting environment variable
~ # export IPKG_CONF_DIR=/opt/etc
This is enough to retrieve list of available packages with
~ # ipkg update Downloading http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable/Packages ... Connecting to ipkg.nslu2-linux.org[140.211.166.82]:80 Packages 100% |**********************************************| 259 KB 00:00:00 ETA Done. Updated list of available packages in //jffs/usr/lib/ipkg/lists/optware
If nothing is reported after /bin/ipkg update then probably /etc/resolv.conf does not contain proper name server address like:
search local.lan nameserver 192.168.1.1
Manual installing package ipkg-opt will automatically install also uclibc-opt package.
~ # /bin/ipkg -d root install ipkg-opt Downloading http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable/uclibc-opt_0.9.28-12_mipsel.ipk ... Connecting to ipkg.nslu2-linux.org[140.211.166.82]:80 uclibc-opt_0.9.28-12 100% |******************************************| 832 KB 00:00:00 ETA Done. Unpacking uclibc-opt...Done. Configuring uclibc-opt...Updating /opt/etc/ld.so.cache Done. Downloading http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable/ipkg-opt_0.99.163-9_ mipsel.ipk ... Connecting to ipkg.nslu2-linux.org[140.211.166.82]:80 ipkg-opt_0.99.163-9_ 100% |******************************************| 75896 00:00:00 ETA Done. Unpacking ipkg-opt...Done. Configuring ipkg-opt...Configuration file `/opt/etc/ipkg.conf' ==> File on system created by you or by a script. ==> File also in package provided by package maintainer. What would you like to do about it ? Your options are: Y or I : install the package maintainer's version N or O : keep your currently-installed version D : show the differences between the versions (if diff is installed) The default action is to keep your current version. *** ipkg.conf (Y/I/N/O/D) [default=N] ? y Done.
Note that we answered 'y' to install maintainer /opt/etc/ipkg.conf with the following contents:
#Uncomment the following line for native packages feed (if any) #src/gz native http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/native/stable src/gz optware http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable dest /opt/ /
If anything goes wrong when installing ipkg-opt then I recommend erasing /jffs/jffs and /jffs/usr directories with
rm -rf /jffs/jffs rm -rf /jffs/usr
and repeat /bin/ipkg update and /bin/ipkg install ipkg-opt
Installing ipkg-opt package will maintain all packages installed in /opt directory along with its /opt/lib/ipkg directory where /opt/bin/ipkg maintains its status files. There is also /opt/bin/ipkg-opt to save us from confusion. To update list of available packages issue
~ # /opt/bin/ipkg-opt update Downloading http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable/Packages.gz Inflating http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable/Packages.gz Updated list of available packages in /opt/lib/ipkg/lists/optware Successfully terminated.
List of available packages is provided with
~ # /opt/bin/ipkg-opt list
List of installed packages
~ # /opt/bin/ipkg-opt list_installed Successfully terminated.
will not show ipkg-opt and uclibc-opt as status file is now located in /opt/lib/ipkg/status and not /jffs/jffs/usr/lib/ipkg/status . To correct this issue we will reinstall the package itself with
~ # /opt/bin/ipkg-opt install ipkg-opt Installing ipkg-opt (0.99.163-9) to /opt/... Downloading http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable/ipkg-opt_0.99.163-9_mipsel.ipk package uclibc-opt suggests installing ipkg-opt Installing uclibc-opt (0.9.28-12) to /opt/... Downloading http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable/uclibc-opt_0.9.28-12_mipsel.ipk Configuring ipkg-opt Configuring uclibc-opt Updating /opt/etc/ld.so.cache Successfully terminated.
With clean Optware install two packages should be listed
~ # /opt/bin/ipkg list_installed ipkg-opt - 0.99.163-9 - The Itsy Package Manager uclibc-opt - 0.9.28-12 - micro C library for embedded Linux systems Successfully terminated.
From now on no files outside /opt tree will be required for maintaining Optware packages. I even recommend erasing spurious files with
# rm -rf /jffs/jffs /jffs/usr
Exporting IPKG_CONF_DIR is not neeeded any more.