POS-терминал, Ubuntu 7.04 и тачскрин

В общем, Необходимо поставить Linux на вот такую POS-систему: Из-за особенностей дисплея, иксы запустились лишь на убунте. РедХат даже в текстмоде не смог работать с дисплеем. Встала лишь Ubuntu 7.04. Дрова нашлись на всё, кроме тачскрина и устройства чтения смарт-карт. Дрова есть лишь под RedHat. Ubuntu с ними работать не хочет. По мануалу установки дров многие системные каталоги различаются. Каким образом можно адаптировать эти драйвера на Ubuntu? Все самые популярные бесплатные проигрыватели музыки можно скачать бесплатно на сайте softkatalog.ru.

Вот что написано в мануале:
Installation

### Note capital letters and small letters. ###

2.1 In case of Red Hat Linux 6.2J and TurboLinux Server Japanese 6.1 .
(LINUX Kernel Version is 2.2.14 and Xfree86 Version is 3.3.6)

(1) Copy "FidFont" in the directory of "/etc"

(2) Copy "" in the directory of "/usr/X11R6/lib/modules"

(3) Modify the Xfree86 configuration file as the following 1) 2) 3).
In most cases the "XF86Config" file is located in "/etc/x11"
(or in "/etc").

1)Add "ModulePath" of the Files section.

Section "Files"
.
.
ModulePath "/usr/X11R6/lib/modules"
EndSection

2)Add the "Module" section.

Section "Module"
Load ""
EndSection

3)Add the "XInput" section.
1. Serial interface Touch Panel Setting

Section "XInput"
SubSection "FidTouchPanel"
DeviceName "fidtouch"
Port "/dev/ttyS0" # your serial port
interfacetype "serial"
SetRate 5
Beep 0
Freq 1000
Duration 50
BeepTiming 0
SpinTop 0
XYConvert 0
EEPROM 0
alwayscore
EndSubSection
EndSection

This sample parameter is the following setting.
* сonnected port = /dev/ttyS0
(In most cases the "/dev/ttyS0" is the Serial1(com1) port.)
* Coordinates sending interval = 25ms (5*5ms)
* Beep is not sounded
* Frequency of Beep = 1000Hz
* Beep time = 50ms
* Beep rings when touching.
* There is no coordinates rotation.
* X and Y coordinates are not converted.
* EEPROM Calibration Data isn't used.
* The touch panel is always used.

и второй:

1.Auto setting when Linux booting:
example:
Append to file /etc/l below

setserial /dev/ttyS2 uart 16550a port 0x3e8 irq 11 ^fourport
setserial /dev/ttyS3 uart 16550a port 0x2e8 irq 10 ^fourport
setserial /dev/ttyS4 uart 16550a port 0x2e0 irq 10 ^fourport
setserial /dev/ttyS5 uart 16550a port 0x3e0 irq 11 ^fourport

2. In case of Linux Red Hat 9

(1) Copy "FidTouch_drv.o" in the directory of "/usr/X11R6/lib/modules/input"

(2) Copy "FidFont" in the directory of "etc"

(3) Modify the Xfree86 configuration file as the following 1) 2).
In most cases the "XF86Config" file is located in "/etc/x11"

1)Add "InputDevice" of the ServerLayout section.

Section "ServerLayout"
.
.
InputDevice "TouchPanel" "alwaysCore"
EndSection

2)Add the "InputDevice" section.
1. Serial interface Touch Panel Setting

Section "InputDevice"
Identifier "TouchPanel"
Driver "FidTouch"
Option "DeviceName" "fidtouch"
Option "Device" "/dev/ttyS5"
Option "interfacetype" "serial"
Option "SetRate" "5"
Option "Beep" "1"
Option "Freq" "1000"
Option "Duration" "50"
Option "BeepTiming" "0"
Option "SpinTop" "0"
Option "XYConvert" "0"
Option "EEPROM" "0"
EndSection

Может это от того, что драйвер для XFree86, а в убунте - X.org?

Ну так возможно просто подстроить драйвер под Ubuntu? Или нужно полностью его переписывать?

Реально ли поставить на новое ядро эти дрова?

Евгений, так заочно трудно сказать.
Можно просто перенести ядро с нужным модулем в другой дистрибутив- правда, при этом могут быть проблемы с взаимодействием некоторых библиотек с модулями ядра, да и некрасиво это.
Во-вторых, можно посмотреть конфиг X.org и драйвер в Ubuntu, и использовать его там, где собирается модуль для тачскрина.
И, наконец, можно поступить правильным путем - включить драйвера тачскина в той системе, что Вам нравится, благо, они во многом стандартизированы.
А вообще, Вам на устройстве - проще. :)
Вот у меня тут есть планшетик японский на Geode GX1, вот с чем я уже не один день бьюсь - хоть Geode и 486-compatible, но... BIOSа там нет, только Windows CE loader во FLASH, и его т ак просто, скажем, на u-Boot не сменить...
Вот где проблема-то с Linux. :)

Александр, а почему не сменить? нечем зашить?

Ну, как бы есть - нужно делать переходник к программатору.
Но дело не в этом - было бы что зашивать... Это Geode и CS5530 I/O Companion, периферию нужно инициализировать, потом передавать уже код загрузчику, которому будут недоступны все вызовы BIOS (его просто нет), большинство периферии и т.д. Значит, ядро и initrd/initramfs нужно грузить ДО u-boot, и т.д.
Самый простой вариант - поместить загрузчик в , но подобные проекты (например, LinuxCE) мертвы уже лет 8, и имеющиеся в них наработки мне не помогли...

Нда... Складывается ощущение, что я куличики в песочнице леплю =)
А вообще, у меня есть плата на AT91RM9200. Там u-boot во флэше сидит и нормально работает. Ессно, биоса никакого нет. Не могу понять, зачем u-boot'у нужен биос?
Вот здесь Geode первой строкой идёт: . Возможно, поможет.

Спасибо, все это я знаю.
Да, u-boot работает на многих устройствах - у самого таких не одно и не два :) - в основном как раз на ARM. Но тут несколько иное...
Вообще-то, в первых строках там сказано:
"coreboot v3 is an alpha-stage development version of coreboot and is not meant for production use, yet!" :-D
coreboot (в девичье - LinuxBIOS) "в первой строке" (третьей версии) имеет упоминание о Geode LX - это совсем другой процессор, да и companion к нему - уже CS5536. GX1 поддерживается во второй версии, но о CS5530A сказано: WIP (Work In Progress).

Так что не все так просто.

Да, я потом уже внимательнее прочитал..