Re: linux kernel without file system

Philippe De Muyter
2009-01-14T10:18:44Z

On Wed, Jan 14, 2009 at 10:52:24AM +0100, Xavier Bestel wrote:
>
> On Wed, 2009-01-14 at 10:34 +0100, Philippe De Muyter wrote:
> > On Wed, Jan 14, 2009 at 09:46:48AM +0100, Tomasz Chmielewski wrote:
> > >> I need to design a very small embedded system that must only control
> > >> one ethernet port and two serial lines and must fit in a very small flash
> > >> memory. So I thought about replacing the call to /etc/init by my
> > >> application
> > >> program and removing all the file-system part of linux.
> > >> Is that doable ?
> > >> Is there a 'standard' way of doing that ?
> > >> The first problem I see is accessing my serial lines. How could I do that
> > >> without using open("/dev/ttySx"), which requires a file system ?
> > >> Is there a way to access devices that does not require a file-system ?
> > >
> > > You could put everything in initramfs (and embed it in the kernel).
> >
> > Actually, I was thinking about reducing the footprint of my kernel by
> > removing all the fs-related system calls, so the problem is not where
> > the file-system is, but how to access (serial) devices without giving their
> > "/dev/..." name.
>
> You can still mount sysfs somewhere and access the device nodes from
> there.

Keeping thinking about it, I now think that my 'application program'
(basically a serial-to-ethernet converter) should be a kernel thread,
because of the small memory constraints.

The question is thus how to access the serial lines from a kernel thread.

Philippe