How to autorun applications in uClinux

Good day to all,

Hi, in my previous question I asked how one can configure u-boot to automatically load the kernel (uimage) after booting in my BF537 board. Thanks to the help that I received I was able to do so. However, another problem arose. After doing some research and readings from different sources, I still haven't found the answer to how one can configure the uimage to automatically run the application I have done. As an example, say I want to run the simple "Hello World" application written in C, I need to do lrz to transfer it to the board then run ./helloworld (or whatever file name I have set it); now I am wondering what are the methods I need to do in order for my "Hello World" application to run after the uimage has boot without me having to manually input the commands to run it.

As added info, I believe that one can incorporate the application to the image file through 'make', but still the question remains how I can have that application run automatically. Also, I am unsure if etc/rc or etc/inittab is the right way to go, if so are there any documents that can guide me to set this up? Any form of help would be greatly appreciated!

Thank you in advance!


  • You can't use relative paths to run your application.

    The only exception seems to be if it is installed in /bin directory.

    So if you have the executable installed to /home/angelo/hello you need:


    to start the application.

  • 0
    •  Analog Employees 
    on Nov 8, 2012 8:51 PM

    Hi James,

    Very good summary. Since this is a frequent asked question, would you mind I turn it into a Q&A thread?



  • Hi Sonic,

    No, I don't mind.

    But, you may want to elaborate a bit more on the details... the 2 documents I pointed out are good references to get started on getting the user application and building a vendor point (which may or may not be needed).

    The rc script when run in alongside the busybox command shell that environment variables that set the time-zone, search path, and etc are not properly exported to the applications that run from the rc script file.  I haven't been able to find a good solution for this other than it is a known issue with busybox implementation.

    Even if you aren't a vendor, it helps to keep your stuff separate from changes upstream.  But, it does mean you may have to make changes as upstream changes.