next up previous contents
Next: Contents   Contents

Reconstruction of the TTY layer for linux to deal with Embedded techology

James Simmons
jsimmons@transvirtual.com

April 2002



http://linuxconsole.sf.net/


Acknowledgement

I would like to acknowledge my employer Transvirtual Technologies Inc, who granted me time to work on this project. Special thanks goes to Vojtech Buxton for his valuable assistance.




Licence

This paper is copyright 2002 James Simmons and is released under the terms of the GNU General Public Licence, a copy of which is distributed with the source for this document.

All trademarks and software are the property of their respective owners.

Presented

Ottowa Linux Symposium
25th - 28th July 2002
Ottowa Congress Centre
Ottowa, Ontario, Canada

Abstract:

Linux continues to be ported to different types of hardware devices. As it expands into different hardware sectors we see that these different sectors have very different needs and are very different from the classical PC. The initial Linux kernel code was designed on the standard PC which had a large influence on the code design. As Linux appears on new types of hardware devices we began to see limitations of some of the central designs. As Linux kept evolving and expanding to new platforms, hardware was encountered that didn't fit the "PC" model. So instead often an extra interface of some kind, either userland or in kernel space, was developed to compensate.

One of the major areas of the kernel affected by this is the tty layer. Here we witness things like the classical definition for a virtual terminal starting to break down and the handling of complex human input devices addressed by the tty layer. Also for embedded devices size is critical especially when dealing with boot loaders which often make certain assumptions or place certain limitations. Modularity is also lacking. Often with modern embedded devices we have removable pieces of hardware including things like keyboards which were in a classic PC sense critical to have.

A major way of rethinking was needed to rework the tty layer. That way was to reverse the flow of development. The current way of thinking is to expand the tty features with new device interfaces that influence the behavior of the TTY. An example of this is for a framebuffer console we use a /dev/fb interface to resize a tty device. The proper method to resize would be to use a standard that already exist i.e the POSIX tty ioctl call TIOCSWINSZ.




next up previous contents
Next: Contents   Contents
James Simmons 2002-4-5