Loading ...
Sorry, an error occurred while loading the content.

Re: Global profile for ash

Expand Messages
  • jl0242
    Cheers John, I m starting to think there is a bigger problem here. I ve been doing some googling on this No help available error and it actually sounds like
    Message 1 of 9 , Apr 26, 2009
    • 0 Attachment
      Cheers John,

      I'm starting to think there is a bigger problem here. I've been doing some googling on this "No help available" error and it actually sounds like it's a bug:
      http://www.mail-archive.com/busybox@.../msg00793.html

      I installed 'which' via ipkg. Have a look at this output (something's not right here IMO):

      # which find
      /opt/bin/find
      # find -maxdepth 1
      BusyBox v1.3.1 (2007-12-29 03:38:35 UTC) multi-call binary

      No help available.

      # /opt/bin/find -maxdepth 1
      .
      ./backup
      ./repair
      ./tmpmnt
      ./share
      ./share2
      #

      Not much more on the list about this problem, but I found a couple of examples:
      http://tech.groups.yahoo.com/group/nslu2-linux/message/20778
      http://tech.groups.yahoo.com/group/nslu2-linux/message/20842


      --- In nslu2-general@yahoogroups.com, John <jl.050877@...> wrote:
      >
      > On Fri, Apr 24, 2009 at 05:16:46PM -0000, jl0242 wrote:
      > > Okay, now I'm really confused. Looking at this output:
      > >
      > > http://pastebin.com/f5c759f53
      > >
      > > It looks like the path is set correctly. Ash seems to be using a
      > > version of 'find' that's not from /urs/bin *or* /opt/bin. Line
      > > 10 shows output from the version of 'find' that ash is using,
      > > line 15 shows the output from the version in /usr/bin, and line
      > > 29 shows the output from the version in /opt/bin (the findutils
      > > version, the version that I actually want). (don't know where
      > > this is being set from, but I suppose that doesn't matter)
      >
      > Actually, for some shells, it does matter when the path was
      > set. For speed, some shells will cache the location of an
      > executable and the cache is not necessarily flushed or updated when
      > you change the path. Ash, however, is likely too lightweight to have
      > this feature.
      >
      > > Since the steps clearly show that /opt/bin is at the front of the path
      >
      > According to the printout, /opt/bin is not at the front of the
      > path: /opt/sbin is. It may seem unlikely but did you check to see
      > if /opt/sbin has your third version of find?
      >
      > > - where on earth is ash getting getting this 3rd copy of find??
      >
      > Did you try "which find"? Most shells have a "which" command to
      > tell you the shell's opinion of the location of an executable.
      >
      > John
      >
    • Rod Whitby
      ... If your shell is actually a symlink to busybox, and busybox has find enabled as an applet, then I think it will find the applet first ahead of whatever
      Message 2 of 9 , Apr 26, 2009
      • 0 Attachment
        jl0242 wrote:
        > I'm starting to think there is a bigger problem here. I've been doing some googling on this "No help available" error and it actually sounds like it's a bug:
        > http://www.mail-archive.com/busybox@.../msg00793.html
        >
        > I installed 'which' via ipkg. Have a look at this output (something's not right here IMO):
        >
        > # which find
        > /opt/bin/find
        > # find -maxdepth 1
        > BusyBox v1.3.1 (2007-12-29 03:38:35 UTC) multi-call binary
        >
        > No help available.
        >

        If your shell is actually a symlink to busybox, and busybox has 'find'
        enabled as an applet, then I think it will find the applet first ahead
        of whatever is in the path. Only if you give a full pathname
        (/opt/bin/find) will it ignore the in-built find applet.

        -- Rod
      • jl0242
        Thanks Rod, you ve hit the nail on the head there. I m pretty sure I m seeing the busybox find applet in action here. A few questions: 1. Is there any
        Message 3 of 9 , Apr 27, 2009
        • 0 Attachment
          Thanks Rod, you've hit the nail on the head there. I'm pretty sure I'm seeing the busybox 'find' applet in action here. A few questions:

          1. Is there any problem in me symlinking /bin/sh to /opt/bin/bash? (I have bash installed). Will this affect any core Unslung (6.10) functionality?

          2. Has the 'find' applet always been included in the BusyBox config for Unslung? I'm not sure entirely certain why, but I never had these problems before I moved to Unslung 6.10 recently. The other examples I've found on the list all seem to have been posted since Unslung 6.10.

          3. Is there a reason that Unslung is still using BusyBox 1.3.1? They look to have got to 1.14.x now.

          Thanks for the help!

          Cheers,
          joe


          --- In nslu2-general@yahoogroups.com, Rod Whitby <rod@...> wrote:
          >
          > jl0242 wrote:
          > > I'm starting to think there is a bigger problem here. I've been doing some googling on this "No help available" error and it actually sounds like it's a bug:
          > > http://www.mail-archive.com/busybox@.../msg00793.html
          > >
          > > I installed 'which' via ipkg. Have a look at this output (something's not right here IMO):
          > >
          > > # which find
          > > /opt/bin/find
          > > # find -maxdepth 1
          > > BusyBox v1.3.1 (2007-12-29 03:38:35 UTC) multi-call binary
          > >
          > > No help available.
          > >
          >
          > If your shell is actually a symlink to busybox, and busybox has 'find'
          > enabled as an applet, then I think it will find the applet first ahead
          > of whatever is in the path. Only if you give a full pathname
          > (/opt/bin/find) will it ignore the in-built find applet.
          >
          > -- Rod
          >
        • Mike (mwester)
          ... Don t do that. As others have already pointed out, there are numerous other ways to ensure that you get the correct find utility. There are differences
          Message 4 of 9 , Apr 30, 2009
          • 0 Attachment
            jl0242 wrote:
            > Thanks Rod, you've hit the nail on the head there. I'm pretty sure I'm seeing the busybox 'find' applet in action here. A few questions:
            >
            > 1. Is there any problem in me symlinking /bin/sh to /opt/bin/bash? (I have bash installed). Will this affect any core Unslung (6.10) functionality?

            Don't do that. As others have already pointed out, there are numerous
            other ways to ensure that you get the correct "find" utility.

            There are differences between /bin/sh (the busybox "ash" shell) and bash
            -- these differences may result in strange behavior of your device, or
            may even prevent it from booting correctly.

            I'm still confused - why not just set the default shell for your login
            account to /bin/bash, and be done with all this? If you need to run
            bash for some reason from a startup script then just invoke bash
            directly from your startup script:

            S99MyStrangeProgram:

            #!/bin/bash
            do whatever stuff one needs...


            > 2. Has the 'find' applet always been included in the BusyBox config for Unslung? I'm not sure entirely certain why, but I never had these problems before I moved to Unslung 6.10 recently. The other examples I've found on the list all seem to have been posted since Unslung 6.10.

            No. A great deal of work was done to make it possible to use the
            busybox find applet, in order to save flash space.

            > 3. Is there a reason that Unslung is still using BusyBox 1.3.1? They look to have got to 1.14.x now.

            Er -- Unslung 6.x pre-dates busybox 1.14 by a loooong ways. You have to
            look at what was generally considered a stable version of busybox back
            when Unslung 6.x development was underway.

            Also, there's the need for flash space; the design goal for the 6.x
            busybox was to add the applets necessary to be able to do the unsling
            operation with a minimum of extra flash space consumed, and to do so
            while retaining compatibility with the busybox version shipped by
            Linksys (because of dependencies and custom Linksys patches to busybox).

            The intent is that should one require non-busybox utils, one would
            install procps, core-utils, bash, etc. and set the appropriate shells
            and paths (as has been suggested in previous emails).


            Mike (mwester)
          Your message has been successfully submitted and would be delivered to recipients shortly.