Find the answer to your Linux question:
Results 1 to 7 of 7
hi all, Can anyone tell me that "do we really need a file system to run a application on a embedded device..." please give advantages and dis advantages if i ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Jun 2012
    Posts
    3

    necessity of a file system in an embedded device?


    hi all,
    Can anyone tell me that "do we really need a file system to run a application on a embedded device..."
    please give advantages and dis advantages if i do so..

    regards,
    prasad

  2. #2
    Trusted Penguin
    Join Date
    May 2011
    Posts
    4,353
    well, working backwards...to run an application, you need a host operating system upon which to run it, and that OS needs to be installed onto some sort of storage, and the storage needs to be formatted in a way that the OS understands it (can read and write to it, manage free space and metadata, etc.). A filesystem (such as NTFS or ext4 or HPFS) is what is used to create this required structure on the storage.

    you could delve much deeper with this question, but that will hopefully lead you in the right direction.

  3. #3
    Just Joined!
    Join Date
    Jun 2012
    Posts
    3
    Hi Atreyu,

    Thanks for the reply. We meant the file system here is root file system(RFS) in the Embedded Linux running product. Can we run the application without having a root file system ? I heard some network routers will not have any root file system on it - but still executes its functionality. So what if i dont have a root file system ? What could be disadvantages of not having RFS ? Do we need to follow any specific methodolgy if i'm writing an application on a board having no RFS ?

    Regards,
    Prasad

  4. #4
    Trusted Penguin
    Join Date
    May 2011
    Posts
    4,353
    I would want to know more specifically what is meant by "no root filesystem". Do you have any documentation you can link? In other words, I don't quite buy that.

    Here's my stab at an explanation: Once the kernel is done booting, it hands over control to the init process (which can be overridden w/kernel configuration or boot time parameters - but this is the default). The init process then runs a startup script, whose job it is to kick off services/daemons, mount filesystems that are needed, set up /tmp and /var, etc. and finally, enable logins (via getty, etc.).

    This startup-script, along with services, daemons, login shells, and any binaries and libraries that are required them, must reside somewhere - even if on a CD or inside a compressed initrd (initial ramdisk).

  5. #5
    Just Joined!
    Join Date
    Jun 2012
    Posts
    3
    I have a router or any other simple network switch device. It does not require any shell, log files etc... Just a simple hardware device with some controlling pins on it. In this case can i run the application with out the root file system i.e /bin,/sbin,/dev, /proc etc... ? on the device. Is there any provision to have kernel and application running on it with out the root filesystem

  6. #6
    Trusted Penguin
    Join Date
    May 2011
    Posts
    4,353
    I'm going to go with "No" on that one. However, you can certainly have a minimal, stream-lined root filesystem. You say you want to run an application on this simple hardware, for example - okay, but where will that application (and any libraries, config files, other dependencies) be stored? Even if you have zero apps/software installed, you will at least have these directories, b/c the Linux kernel requires them:

    /var
    /tmp
    /proc
    /sys
    /dev

    that's just off the top of my head - i'd probably missing some others...

  7. #7
    Just Joined!
    Join Date
    Jun 2012
    Posts
    6
    Hey so my understanding of your question is you have embedded environment with small flash like storage and you have kernel & initial ramfs or initrd installed on to flash
    Normally you can embedded your initrd with your custom application in at some place ...let say /tmp or somewhere....and cross compile the the whole initrd...and once the system boots up...it will also load root file system into RAM....then you may start it manually if you have some console or else you can automate the application start up while compiling the initrd...
    Try googling about it....there is lot of info about this topic....



    For adding application you need to be well aware of the development environment of your platform...

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •