четверг, 21 октября 2010 г.

Установить Ubuntu на PDX-057T/PDX-089T

Появились во временном распоряжении пара девайсов из заголовка поста.

Цель: установить linux с поддержкой Touchscreen (и остальных устройств), GPS-датчика (pl2303), возможностью запускать win32-приложения.

Поскольку для данных платформ есть патч ядра (linux-image-2.6.30-vortex86mx_1.0_i386.deb), который можно скачать с ftp производителя, решено ставить xubuntu-8.04.1-alternate-i386.

Этапы:
  1. Стандартная установка xubuntu-8.04.1-alternate-i386 (на карту памяти CF или SD) с использованием ПК.
  2. Стандартная настройка сети для дальнейшей установки...
  3. Установка доп. пакетов:
  • sudo apt-get update
  • sudo apt-get install mc console-cyrillic gpsd gpsd-clients
  • sudo dpkg-reconfigure locales
  • sudo dpkg –i linux-image-2.6.30-vortex86mx_1.0_i386.deb
  • sudo update-iniramfs –k 2.6.30-vortex86mx –c
4. Правим grub
  • cd /etc/default/grub
  • Комментируем grub-hidden
  • sudo Update-grub
5. Останавливаем систему, вставляем флеш-карту в девайс и загружаем систему...
6. Ставим дрова на видео и touchscreen с сайта производителя.
7. Перезагрузаемся. Если есть проблемы с запуском xorg, идем сюда или можно сразу сюда
8. Для PDX-089T рабочий xorg.conf

Section "ServerLayout"
        InputDevice "EETI" "SendCoreEvents"
    Identifier     "X.org Configured"
    Screen      0  "Screen0" 0 0
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
    RgbPath      "/etc/X11/rgb"
    ModulePath   "/usr/lib/xorg/modules"
    FontPath     "/usr/share/fonts/X11/misc"
    FontPath     "/usr/share/fonts/X11/cyrillic"
    FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
    FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
    FontPath     "/usr/share/fonts/X11/Type1"
    FontPath     "/usr/share/fonts/X11/100dpi"
    FontPath     "/usr/share/fonts/X11/75dpi"
    FontPath     "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
    Load  "dbe"
    Load  "record"
    Load  "xtrap"
    Load  "glx"
    Load  "GLcore"
    Load  "dri"
    Load  "extmod"
EndSection

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "kbd"
EndSection

Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option        "Protocol" "auto"
    Option        "Device" "/dev/input/mice"
    Option        "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
    HorizSync    30-107
    VertRefresh    48-120
    Modeline    "1024x600@60" 48.11 1024 1056 1232 1264 600 612 618 631
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "SWcursor"               # [<bool>]
        #Option     "HWcursor"               # [<bool>]
        #Option     "NoAccel"                # [<bool>]
        #Option     "TurboQueue"             # [<bool>]
        #Option     "FastVram"               # [<bool>]
        #Option     "NoHostBus"              # [<bool>]
        #Option     "RenderAcceleration"     # [<bool>]
        #Option     "ForceCRT1Type"          # <str>
        #Option     "ForceCRT2Type"          # <str>
        #Option     "YPbPrAspectRatio"       # <str>
        #Option     "ShadowFB"               # [<bool>]
        #Option     "DRI"                    # [<bool>]
        #Option     "AGPSize"                # <i>
        #Option     "GARTSize"               # <i>
        #Option     "Rotate"                 # <str>
        #Option     "NoXvideo"               # [<bool>]
        #Option     "Vesa"                   # [<bool>]
        #Option     "MaxXFBMem"              # <i>
        #Option     "ForceCRT1"              # [<bool>]
        #Option     "XvOnCRT2"               # [<bool>]
        #Option     "PanelDelayCompensation"     # <i>
        #Option     "PanelDelayCompensation1"     # <i>
        #Option     "PDC"                    # <i>
        #Option     "PDC1"                   # <i>
        #Option     "EMI"                    # <i>
        #Option     "LVDSHL"                 # <i>
        #Option     "SpecialTiming"          # <str>
        #Option     "TVStandard"             # <str>
        #Option     "UseROMData"             # [<bool>]
        #Option     "NoInternalModes"        # [<bool>]
        #Option     "UseOEMData"             # [<bool>]
        #Option     "NoYV12"                 # [<bool>]
        #Option     "CHTVType"               # [<bool>]
        #Option     "CHTVOverscan"           # [<bool>]
        #Option     "CHTVSuperOverscan"      # [<bool>]
        #Option     "CHTVLumaBandwidthCVBS"     # <i>
        #Option     "CHTVLumaBandwidthSVIDEO"     # <i>
        #Option     "CHTVLumaFlickerFilter"     # <i>
        #Option     "CHTVChromaBandwidth"     # <i>
        #Option     "CHTVChromaFlickerFilter"     # <i>
        #Option     "CHTVCVBSColor"          # [<bool>]
        #Option     "CHTVTextEnhance"        # <i>
        #Option     "CHTVContrast"           # <i>
        #Option     "XGITVEdgeEnhance"       # <i>
        #Option     "XGITVAntiFlicker"       # <str>
        #Option     "XGITVSaturation"        # <i>
        #Option     "XGITVCFilter"           # [<bool>]
        #Option     "XGITVYFilter"           # <i>
        #Option     "XGITVColorCalibFine"     # <i>
        #Option     "XGITVColorCalibCoarse"     # <i>
        #Option     "XGITVXScale"            # <i>
        #Option     "XGITVYScale"            # <i>
        #Option     "TVXPosOffset"           # <i>
        #Option     "TVYPosOffset"           # <i>
        #Option     "XGI6326TVAntiFlicker"     # <str>
        #Option     "XGI6326TVEnableYFilter"     # [<bool>]
        #Option     "XGI6326TVYFilterStrong"     # [<bool>]
        #Option     "XGI6326TVForcePlug"     # <str>
        #Option     "XGI6326FSCAdjust"       # <i>
        #Option     "UseColorHWCursor"       # [<bool>]
        #Option     "ColorHWCursorBlending"     # [<bool>]
        #Option     "ColorHWCursorBlendThreshold"     # <i>
        #Option     "RestoreBySetMode"       # [<bool>]
        #Option     "NoCRT2Detection"        # [<bool>]
        #Option     "ForceCRT2ReDetection"     # [<bool>]
        #Option     "SenseYPbPr"             # [<bool>]
        #Option     "CRT1Gamma"              # [<bool>]
        #Option     "CRT2Gamma"              # [<bool>]
        #Option     "StoredGammaBrightness"     # <str>
        #Option     "StoredGammaPreBrightness"     # <str>
        #Option     "XvGamma"                # <str>
        #Option     "XvDefaultContrast"      # <i>
        #Option     "XvDefaultBrightness"     # <i>
        #Option     "XvDefaultHue"           # <i>
        #Option     "XvDefaultSaturation"     # <i>
        #Option     "XvDefaultDisableGfx"     # [<bool>]
        #Option     "XvDefaultDisableGfxLR"     # [<bool>]
        #Option     "XvChromaMin"            # <i>
        #Option     "XvChromaMax"            # <i>
        #Option     "XvUseChromaKey"         # [<bool>]
        #Option     "XvInsideChromaKey"      # [<bool>]
        #Option     "XvYUVChromaKey"         # [<bool>]
        #Option     "XvDisableColorKey"      # [<bool>]
        #Option     "XvUseMemcpy"            # [<bool>]
        #Option     "ScaleLCD"               # [<bool>]
        #Option     "CenterLCD"              # [<bool>]
        #Option     "EnableHotkey"           # [<bool>]
        #Option     "EnableXGICtrl"          # [<bool>]
        #Option     "Virtual"                # <i>
        #Option     "VertRefresh"            # <i>
        #Option     "RunTimeDebug"           # [<bool>]
        #Option     "HWTransparentBitblt"     # [<bool>]
        #Option     "HWColorExp"             # [<bool>]
        #Option     "HWSolidLine"            # [<bool>]
        #Option     "HWDashedLine"           # [<bool>]
        #Option     "HWImageWrite"           # [<bool>]
        #Option     "MergedFB"               # [<bool>]
        #Option     "TwinView"               # [<bool>]
        #Option     "MergedFBAuto"           # [<bool>]
        #Option     "CRT2HSync"              # <str>
        #Option     "SecondMonitorHorizSync"     # <str>
        #Option     "CRT2VRefresh"           # <str>
        #Option     "SecondMonitorVertRefresh"     # <str>
        #Option     "CRT2Position"           # <str>
        #Option     "TwinViewOrientation"     # <str>
        #Option     "MetaModes"              # <str>
        #Option     "MergedDPI"              # <str>
        #Option     "NoMergedXinerama"       # [<bool>]
        #Option     "NoTwinviewXineramaInfo"     # [<bool>]
        #Option     "MergedXineramaCRT2IsScreen0"     # [<bool>]
        #Option     "SkipCRT1DDCRange"       # [<bool>]
        #Option     "SpecifyLVDSTiming"      # [<bool>]
        #Option     "LVDSHPolarity"          # <i>
        #Option     "LVDSVPolarity"          # <i>
        #Option     "LVDSVESAHPolarity"      # <i>
        #Option     "LVDSVESAVPolarity"      # <i>
        #Option     "LVDSHT"                 # <i>
        #Option     "LVDSVT"                 # <i>
        #Option     "LVDSHDE"                # <i>
        #Option     "LVDSVDE"                # <i>
        #Option     "LVDSHFP"                # <i>
        #Option     "LVDSVFP"                # <i>
        #Option     "LVDSHSYNC"              # <i>
        #Option     "LVDSVSYNC"              # <i>
        #Option     "LVDSDCLK"               # <i>
        #Option     "LVDSPSCS1"              # <i>
        #Option     "LVDSPSCS2"              # <i>
        #Option     "LVDSPSCS3"              # <i>
        #Option     "LVDSPSCS4"              # <i>
        #Option     "LVDSPSCS5"              # <i>
    Identifier  "Card0"
    Driver      "xgiz"
    VendorName  "Unknown Vendor"
    BoardName   "Unknown Board"
    BusID       "PCI:0:3:0"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    SubSection "Display"
        Viewport   0 0
        Depth     1
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     4
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     8
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     15
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     16
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

### Touch Configuration Beginning ###
Section "InputDevice"
        Identifier "EETI"
        Driver "egalax"
        Option "Device" "usbauto"
        Option "Parameters" "/var/lib/eeti.param"
        Option "ScreenNo" "0"
        Option "SkipClick" "1"
EndSection
### Touch Configuration End ### 
 9. Для PDX-057T в том же xorg.conf в секции Monitor заремарить 3 последние строки, будет работать на ура.
10. Wine... Alternative command Line Instructions for Installing Wine For Ubuntu Hardy (8.04):
  • sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/hardy.list -O /etc/apt/sources.list.d/winehq.list
  • sudo apt-get update
  • sudo apt-get install wine
Последовательные и параллельные порты
Последовательные и параллельные порты настраиваются почти как диски - просто создается символическая ссылка в директории ~/.wine/dosdevices с именем устройства. В Windows последовательные порты принято называть "com" с добавлением номера, например: com1, com2, etc. Аналогично параллельные порты называются "lpt" с добавлением номера, например: lpt1. Вам следует связывать их напрямую ссылками с соответствующими устройствами Unix, такими как /dev/ttyS0 и /dev/lp0. Для примера, чтобы настроить один последовательный и один параллельный порт запустите следующие команды.

ln -s /dev/ttyS0 com1
ln -s /dev/lp0 lpt1

В нашем случае в rc.local добавляем следующую строку
ln -sb /dev/ttyUSB0 /dev/ttySX # где Х - № желаемого com-порта


#################################GRUB###########################
Мысли по поводу универсальной загрузки c разных карт (CF, SD):
Попробовать при установке писать загрузчик не в MBR, а в первый сектор раздела.
После чего в MBR можно писать GRUB, который будет загружать загрузчик из первого сектора раздела и передавать управление ему… что то в этом роде…

################################################################

Не стартует DHCPD3 на Ubuntu

Описание проблемы

команда sudo update-rc.d dhcp3-server defaults

выдает:
update-rc.d: warning: dhcp3-server stop runlevel arguments (0 1 6) do not match LSB Default-Stop values (1)
 System start/stop links for /etc/init.d/dhcp3-server already exist.

естественно загрузки нету.

руками все стартует нормально, критичного в логах нет. Интерфейс для dhcp прописан.

chkconfig --list dhcp3-server
dhcp3-server              0:off  1:off  2:on   3:on   4:on   5:on   6:off


Причина вероятно такая...

в /etc/default/dhcp3-server было - INTERFACES=""  поменял на eth0 -  не заработало.

Но есть простое решение:

в файл /etc/rc.local добавляем строку
/etc/init.d/dhcp3-server start

после этого демон поднимается :)

Ubuntu upgrade: the symbol `grub_xputs` not found

Второй раз при обновлении релиза Ubuntu возникает сабж, который решается второй раз одним и тем же способом...
(ссылка на оригинал >> здесь)

  1. Запускаем Ubuntu с CD
  2. Запускаем терминал

sudo fdisk -l

Видим перечень жестких дисков и их разделов (на одном из которых установлена Ubuntu, у меня это был /dev/sdb6)

Даем следующую команду:
 
sudo mount /dev/sdb6 /mnt

 Где /dev/sdb6 - корневая файловая система (root).

Поскольку /boot у меня на отдельном разделе, /dev/sdb1 , то его придется примонтировать теперь уже в /mnt/boot , поэтому даем следующую команду:

 
sudo mount /dev/sdb1 /mnt/boot
 
Все, теперь порядок, остальные разделы нас пока что не интересуют.

Даем следующие команды:

 
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt


Теперь проверяем, установлен ли Grub2:
 
apt-get install grub-pc


Затем создаем конфигурационный файл:
 
grub-mkconfig -o /boot/grub/grub.cfg


И, наконец, устанавливаем Grub2:
grub-install /dev/sdb

Можно перезагружаться.
Если после загрузки все еще остались проблемы (например, у меня потерялся в меню Grub2 пункт для загрузки WinXP), даем команду:


sudo update-grub


Все!
 
Спасибо автору оригинальной статьи!!!

Xfce 4 - очистка рабочего стола

Пришла мысль, как доработать Xfce для eBox2300sx
  1. Оставить верхнюю панель вместо нижней, т.к. обе панели из диспетчера настроек убрать не удается.
  2. Верхнюю панель сделать автоматически скрываемую.
  3. Разместить на ней 2 кнопки: запуск приложени (loader.sh for gps...), выключение компьютера через скрипт shutdown.sh, т.к. стандартная кнопка неактивна, хотя у данного пользователя есть право выполнять команду shutdown
##########################
#!/bin/bash
shutdown -h now

exit 0
##########################

Debian на eBox2300sx

Пишу по памяти, что делал...

1. Загружаем Debian netinst CD image
(http://cdimage.debian.org/debian-cd/4.0_r5/i386/iso-cd/)

2.Прожиг, загрузка....
При загрузке вписать доп. параметр: linux pnpbios=off

Далее стандартная установка....
Сеть определилась - очень обрадовало

Минимальная установка производится стандартно

Ядро при загрузке немного жалуется на нестандартную архитектуру, но при этом работает стабильно. Патчей на данную версию пока что нет.

Далее ставим по мере надобности пакеты через apt-get update
apt-get install mc less patch sudo gpsd

Важные этапы...

X Window

apt-get install xorg

apt-get install xfce4

startx - запустилось :)

Автологин (вход без ввода пароля).


/etc/init.d/rc.local, выполняет скрипт /etc/rc.local, в который мы и вставим команду, которая:
  1. обеспечит вход в систему пользователя с именем luser (подставьте своего);
  2. запустит графический сервер Х (далее нужные приложения - автозагрузка).
Открываем в редакторе файл /etc/rc.local
user@host:~$ sudo editor /etc/rc.local
и добавляем в конец, перед последней строкой «exit 0», строки:
Bash
# автологин пользователя с именем "luser" с последующим запуском графической оболочки
/bin/su - luser -c "/bin/sh -lc startx"
Однако это ещё не всё. Теперь нужно определить кто может запускать сервер X.
Варианты:
  • только root;
  • пользователь с консоли;
  • кто-угодно (выберите этот вариант).
Debian/Ubunty
user@host:~$ sudo dpkg-reconfigure x11-common
user@host:~$ sudo /etc/init.d/x11-common restart

Полезная ссылка


Далее стандартная установка драйвера на eGalaxTouche, калибровка - заработало :)
(ссылка на сайт производителя)

Wine for Debian Lenny


Remove old version

Open a terminal
su #to log as root
apt-get remove libwine wine #to remove outdated version of wine

Add the repository

Open a terminal
su #to log as root
gedit /etc/apt/sources.list #to open repository file with a text editor (you can use gedit or another)
Add this line for Lenny: deb http://www.lamaresh.net/apt lenny main
Save and close sources.list
wget -O - http://www.lamaresh.net/apt/key.gpg | apt-key add - #to add gpg key
apt-get update #to update package list
apt-get install wine #to install latest wine version


Отмена заставки и выключения дисплея
В xfce4 по умолчанию служба screensaver отсутствует, поэтому параметрами отключения монитора рулит dpms
Пишем скрипт следующего содержания и помещаем его в автозагрузку:
###########
#!/bin/sh
xset -dpms
xset s noexpose
xset s noblank

exit 0
###########

How to allow non-super users to shutdown 

(ссылка на оригинал)

  1. Login or switch users to root
    you can switch users to root by typing su at a command prompt.









  2. Edit /etc/groups
    • add a line for group shutdown and add your user name to it
    • Example: shutdown:x:510:yourUserName
    • Execute: groups to display you group membership









  3. Change ownership of /sbin/shutdown giving access to group shutdown
    • Execute: chown root:shutdown /sbin/shutdown
    • ls -l /sbin/shutdown should display similar to the following
      ... root shutdown 19K Jan 23 10:50 /sbin/shutdown


















  4. Change permissions to allow the shutdown group read and execute permission.
    • Execute: chmod 750 /sbin/shutdown
    • ls -l /sbin/shutdown should display similar to the following
      -rwxr-x--- 1 root shutdown 19K Jan 23 10:50 /sbin/shutdown


















  5. shutdown can only be run by root so you need to have group shutdown execute the program as if you were root.
    • Execute chmod u+s /sbin/shutdown
    • ls -l /sbin/shutdown should display similar to the following
      -rwsr-x--- 1 root shutdown 19K Jan 23 10:50 /sbin/shutdown


















  6. To test execute: shutdown -k now and shutdown will pretend to shutdown.









  7. To shutdown, execute shutdown -h now. For Details on this command, execute shutdown --help 









 Автозапуск win-приложения в wine
Были проблемы с переменными окружения, победились следующим образом:
1. разместил папку с win-программой в ~/.wine/drive_c/windows/system32/
2. создал следующий сценарий запуска и поместил его в автозагрузку

###################
 #!/bin/bash
cd /home/ubuntu/.wine/drive_c/windows/system32/
wine  /home/ubuntu/.wine/drive_c/windows/system32/programname.exe
##################

Полезная ссылка