NSLU2-Linux
view · edit · print · history

HowTo.RestoreWorkingIpkgFromJffs2 History

Hide minor edits - Show changes to markup

July 18, 2005, at 01:26 AM by tman --
Changed line 20 from:

3. Check that JFFS2 partition is mounted on /initrd. Issuing mount | grep jffs2 should normally return:

to:

3. Check that the JFFS2 partition is mounted on /initrd. Issuing mount | grep jffs2 should normally return:

Changed lines 39-44 from:

ipkg update => This should produce some lines saying "Downloading... Inflating... Downloading... Inflating... Successfully terminated."

ipkg list => This should list all optware availables in the feeds

ipkg list_installed => This should list all your installed packaged

to:
ipkg update => This should produce some lines saying "Downloading... Inflating... Downloading... Inflating... Successfully terminated."
ipkg list => This should list all optware availables in the feeds
ipkg list_installed => This should list all your installed packaged
July 18, 2005, at 01:25 AM by tman --
Changed lines 1-2 from:

Between Tue May 17 16:27:00 2005 UTC and Thu May 19 22:51:19 2005 UTC (maybe a bit more due to lag time for cleaning the feeds), a bad ipkg package (named 'ipkg_0.99.148-number_armeb.ipk' where number can be from 1 to 4) has been made available in the uslung optware feeds.

to:

Between Tue May 17 16:27:00 2005 UTC and Thu May 19 22:51:19 2005 UTC (maybe a bit more due to lag time for cleaning the feeds), a bad ipkg package (named 'ipkg_0.99.148-number_armeb.ipk' where number can be from 1 to 4) has been made available in the Unslung optware feeds.

Changed lines 14-16 from:

1. Telnet or ssh your slug (for telnet, don't forget to activate telnet using http://<you_slug_address>/Management/telnet.cgi)

2. Check that the following directories, which came with the original unslung ipkg system, are still present and populated:

to:

1. Telnet or SSH into your slug (for telnet, don't forget to activate telnet using http://<you_slug_address>/Management/telnet.cgi)

2. Check that the following directories, which came with the original Unslung ipkg system, are still present and populated:

Changed line 20 from:

3. Check that jffs2 partition is mounted on /initrd. Issuing mount | grep jffs2 should normally return:

to:

3. Check that JFFS2 partition is mounted on /initrd. Issuing mount | grep jffs2 should normally return:

Changed line 25 from:

4. Delete ipkg wrong stuff:

to:

4. Delete the malfunctioning ipkg files:

Changed line 31 from:

5. We will reinstall lost ipkg binary from its jffs2 location:

to:

5. We will now reinstall ipkg from the flash copy:

Changed lines 37-38 from:

6. Original ipkg should now be fully operational. You can test it issuing the following:

to:

6. The original ipkg should now be fully operational. You can test it by issuing the following:

Changed line 45 from:

7. That's end.

to:

7. That's it.

June 07, 2005, at 01:10 PM by jf --
Added lines 1-45:

Between Tue May 17 16:27:00 2005 UTC and Thu May 19 22:51:19 2005 UTC (maybe a bit more due to lag time for cleaning the feeds), a bad ipkg package (named 'ipkg_0.99.148-number_armeb.ipk' where number can be from 1 to 4) has been made available in the uslung optware feeds.

If you have installed this package (using ipkg install ipkg)or did an ipkg upgrade during this period, you may have catch this non fully-qualified package, resulting in an unworking or unstable 'ipkg' sub-system.

Symptoms are :

  • You're unable to install new packages
  • /usr/bin/ipkg symlinks to a non existent /usr/bin/ipkg-cl
  • /opt/bin/ipkg doesn't work as expected ( ipkg list_installed and ipkg list return empty)
  • /opt/etc/ipkg.conf only contains 'dest root /'

Here is a procedure to retrieve you original ipkg sub-system as it was before upgrading

1. Telnet or ssh your slug (for telnet, don't forget to activate telnet using http://<you_slug_address>/Management/telnet.cgi)

2. Check that the following directories, which came with the original unslung ipkg system, are still present and populated:

  • /usr/lib/ipkg/*
  • /etc/ipkg/*

3. Check that jffs2 partition is mounted on /initrd. Issuing mount | grep jffs2 should normally return:

  • /dev/sda1 on /initrd type jffs2 (rw)
or
  • /dev/sda2 on /initrd type jffs2 (rw)

4. Delete ipkg wrong stuff:

  • rm /opt/bin/ipkg
  • rm /opt/etc/ipkg.conf
  • rm -r /opt/lib/ipkg
  • rm -r /opt/etc/ipkg

5. We will reinstall lost ipkg binary from its jffs2 location:

  • cp -p /initrd/usr/bin/ipkg* /usr/bin
  • cp -p /initrd/usr/bin/update-alternatives /usr/bin
  • cp -p /initrd/lib/libipkg* /lib

6. Original ipkg should now be fully operational. You can test it issuing the following:

ipkg update => This should produce some lines saying "Downloading... Inflating... Downloading... Inflating... Successfully terminated."

ipkg list => This should list all optware availables in the feeds

ipkg list_installed => This should list all your installed packaged

7. That's end.

view · edit · print · history · Last edited by tman.
Based on work by tman.
Originally by jf.
Page last modified on July 18, 2005, at 01:26 AM