Re: linux kernel without file system

Kay Sievers
2009-01-14T10:34:18Z

On Wed, Jan 14, 2009 at 10:52, Xavier Bestel <xavier.bestel@free.fr> 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.

There are no device nodes in sysfs to talk to the device, only
attributes, which are mostly plain small text files. For some devices
there are a few writable and mappable files which can change the
device's state, but that's nothing like a device node.

Kay