Официальный форум СВД Встраиваемые Системы
10 Декабря, 2016, 07:57:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1] 2 3   Вниз
  Печать  
Автор Тема: FAQ по QNX  (Прочитано 33741 раз)
Олег Большаков
Администратор
Житель форума

Сообщений: 2934



WWW
« : 09 Декабря, 2009, 13:01:04 »

Попробуем в этой теме составить некую Базу знаний -- базу вопросов и ответов, возникающих у наших заказчиков и пользователей QNX.

Мне, как и многим (если не всем) сотрудникам СВД ВС так или иначе приходится участвовать в работе технической поддержки. Достаточно часто встречаются повторяющиеся вопросы, иногда бывают очень интересные и занимательные вопросы, а иногда встречаются такие вопросы, из которых сам узнаёшь много нового и полезного. Предлагаю делиться такими вопросами, но, главное, ответами на них. Smiley

Если вопросов накопится достаточно много, то я структурирую список в этом сообщении.

Вопросы по QNX4:
 - Какая техническая литература существует по QNX4?
 - На целевой системе не нужен login с его приглашением ввести пароль, должен сразу запуститься shell. Как это организовать?
 - В системе нет дисковода. Как в этом случае установить дистрибутив, распространяемый на дискетах?
 - Как изменить меню рабочего стола Photon?
 - Как настроить запуск необходимых приложений после запуска Photon?
 - Возможна ли кросс-платформенная разработка для QNX4 под Windows или Linux?
 - Существует ли в QNX4 поддержка 64-битных типов данных языка Си?
 - Как завершить работу Photon из скрипта?
 - Можно ли настроить дополнение пути в QNX4 по клавише Tab как в QNX6?
 - Как настроить печать русского текста из QNXWindows?
 - Можно ли настроить вывод утилиты sin?
 - Во время загрузки системы не запускаются файлы, расположенные в каталогах из переменной $PATH в /etc/profile. В чём может быть дело?
 - Где можно найти описание формата конфигурационного файла утилиты калибровки calib?
 - Как узнать, какие контроллеры поддерживает Fsys.atapi?
 - Как запустить универсальный графический драйвер Photon в QNX4?
 - Как узнать, какие графические режимы будут поддерживаться универсальным графическим драйвером?
 - Как сделать доступными для Tcpip большее количество сетевых интерфейсов?
 - Как правильно задавать параметры опции -S gdts ldts для Proc32 (количество глобальных и локальных сегментов)?
 - Как настроить автозапуск приложений в Photon (без авторизации)?

Вопросы по QNX6:
 - Какая техническая литература существует по QNX6?
 - Как настроить запуск необходимых приложений после запуска Photon?
 - Как настроить сервер SSH в QNX?
 - Как настроить вход по SSH по ключу?
 - Как настроить запуск сервера SSH из загрузочного образа (без файловой системы)?
 - Как в QNX Neutrino добавить специфическую раскладку клавиатуры для Photon?
 - Как в QNX 6 запустить Photon без shelf?
 - Как настроить печать для USB-принтера в QNX 6 через менеджер lpd?
 - Как настроить печать для сетевого принтера в QNX 6 через менеджер lpd?
 - Как настроить печать для сетевого принтера в QNX 6 с помощью утилиты spooler?
 - Как настроить печать для USB-принтера в QNX 6 с помощью утилиты spooler?
 - Как настроить сервер печати CUPS в QNX 6?

Общие вопросы по QNX:
 - Можно ли загрузить QNX при помощи LILO?
 - Можно ли загрузить QNX при помощи ntldr (загрузчика Windows)?
 - Можно ли загрузить QNX при помощи GRUB?
 - Можно ли загрузить QNX4/QNX6 при помощи загрузчика Windows 7/8?
 - Как сохранять историю команд при перезапуске shell?
 - Как изменить приглашение к вводу в shell?
 - Можно ли выполнить разархивацию утилитой tar так, чтобы файлы оказались в указанной директории (отличной от текущей)?
 - При удалённой работе с QNX из другой ОС отображаются некорректные символы или не работают управляющие клавиши. Можно как-то исправить ситуацию?
 - Как задавать CSI последовательности в терминале QNX?

Вопросы по Qt в QNX:
 - Как установить Qt в QNX Neutrino?
 - Можно ли запустить графическое приложение Qt в Photon?
 - Как запустить приложение Qt в QNX Neutrino с поддержкой мыши и клавиатуры?
 - Как настроить переключение языка ввода при использовании Qt в QNX Neutrino?
 - Как настроить переключение языка ввода при использовании Qt в QNX Neutrino под Screen?
 - Как интегрировать Qt в QNX Momentics?
 - Как собрать Qt-приложение для QNX Neutrino?

Вопросы виртуализации:
 - Какие виртуальные машины позволяют запускать QNX?
 - Есть ли виртуальные машины работающие в QNX?
 - Поддерживается ли технология Xen (Dom0/DomU)?
« Последнее редактирование: 04 Августа, 2016, 15:15:36 от Олег Большаков » Записан

Олег Большаков
Администратор
Житель форума

Сообщений: 2934



WWW
« Ответ #1 : 09 Декабря, 2009, 13:44:12 »

На целевой системе не нужен login с его приглашением ввести пароль, должен сразу запуститься shell. Как это организовать?

Для запуска командной оболочки на первой консоли без процедуры идентификации/аутентификации необходимо в файле-сценарии sysinit.<NODE> вместо команды tinit вызвать команду:

Код:
on -t /dev/con1 /bin/sh

Аналогично можно запустить оболочку на других доступных логических консолях.
Записан

Олег Большаков
Администратор
Житель форума

Сообщений: 2934



WWW
« Ответ #2 : 09 Декабря, 2009, 13:59:04 »

В системе нет дисковода. Как в этом случае установить дистрибутив, распространяемый на дискетах?

Установить дистрибутив с дискеты на систему без дисковода можно несколькими способами.

Способ 1. Если компьютер с дисководом и целевая система находятся в сети QNX, то  на  целевой системе выполнить команду:

Код:
# /etc/install //2/dev/fd0

здесь 2 - номер узла компьютера с дисководом.

Способ 2. Если сеть не доступна.

(щёлкните чтобы показать/скрыть)

Способ 3. Дальнейшее развитие способа 2.

Можно воспользоваться модифицированной версией скрипта /etc/install, который позволяет выполнять установку с файлов-образов дискет. Распакуйте приложенный архив в каталог /etc, сделайте образ дискеты на другой машине с рабочим дисководом (например, при помощи утилиты dd) и скопируйте этот образ в QNX4. Пример запуска:

Код:
# cd /
# /etc/install_img /path/to/floppy.img

install_img-20131218.tar

Код:
$ cksum install_img-20131218.tar
2386486511 7168 install_img-20131218.tar
« Последнее редактирование: 22 Декабря, 2013, 14:55:07 от Олег Большаков » Записан

Олег Большаков
Администратор
Житель форума

Сообщений: 2934



WWW
« Ответ #3 : 29 Декабря, 2009, 23:03:19 »

Существует ли в QNX4 поддержка 64-битных типов данных языка Си?

Основной компилятор для QNX4 это Watcom C. Последняя версия выпущенная для QNX4 имеет номер 10.6, а поддержка 64-битных типов данных появилась в Watcom C 11.0.

Однако, существует возможность кросс-платформенной сборки приложений для QNX4 в Windows или Linux с помощью Watcom или Open Watcom. Мы успешно использовали Open Watcom в некоторых наших проектах. Более подробно об Open Watcom и его использовании при сборке программ для QNX4 Вы можете почитать в публикации Open Watcom для QNX4.
Записан

Олег Большаков
Администратор
Житель форума

Сообщений: 2934



WWW
« Ответ #4 : 29 Декабря, 2009, 23:31:09 »

Возможна ли кросс-платформенная разработка для QNX4 под Windows или Linux?

Кросс-платформенная разработка приложений для QNX4 возможна. Компилятор Watcom С/C++ поддерживает кросс-компиляцию. Стоит обратить внимание на проект Open Watcom -- развитие компилятора Watcom. В наших проектах мы использовали компилятор Open Watcom для Linux для сборки приложений для QNX4. Более подробное описание этой технологии можно посмотреть в публикации Open Watcom для QNX4. В ближайшее время планируется публикация инструкций по установке и настройки для кросс-компиляции приложений для QNX4 под Windows и Linux.
Записан

Олег Большаков
Администратор
Житель форума

Сообщений: 2934



WWW
« Ответ #5 : 30 Декабря, 2009, 14:04:42 »

Какие виртуальные машины позволяют запускать QNX?

ОСРВ QNX4 и QNX6 работают во многих известных виртуальных машинах. В качестве хост-системы может выступать Windows, Mac OS X или Linux. На сегодняшний день работоспособность QNX подтверждена в следующих виртуальных машинах:

 - VMWare Workstation, VMWare Fusion
 - Microsoft VirtualPC
 - VirtualBox
 - Parallels
 - QEMU/KVM

Работа QNX в виртуальных машинах под Mac OS X обсуждается в теме Виртуальные машины в Mac OS и QNX.
« Последнее редактирование: 26 Марта, 2010, 09:18:05 от Олег Большаков » Записан

Олег Большаков
Администратор
Житель форума

Сообщений: 2934



WWW
« Ответ #6 : 30 Декабря, 2009, 14:07:43 »

Есть ли виртуальные машины работающие в QNX?

В качестве хост платформы QNX6 может выступать при работе с Qemu. Страница проекта Qemu для QNX6 расположена по адресу http://community.qnx.com/sf/projects/qemu .

Также обратите внимание на темы по QEMU на нашем форуме:

 - QEMU для QNX
 - Настройка сети при работе с QEMU в QNX
« Последнее редактирование: 26 Августа, 2010, 22:14:55 от Олег Большаков » Записан

Олег Большаков
Администратор
Житель форума

Сообщений: 2934



WWW
« Ответ #7 : 30 Декабря, 2009, 14:11:31 »

Поддерживается ли технология Xen (Dom0/DomU)?

В настоящее время нет информации о примерах запуска QNX в DomU XEN. Однако, реализация такого решения возможна. Для этого необходимо  разработать BSP для XEN. Возможно, понадобится собрать специальное ядро.

Поддержка работы QNX в Xen Dom0 отсутствует.
Записан

Олег Большаков
Администратор
Житель форума

Сообщений: 2934



WWW
« Ответ #8 : 22 Марта, 2010, 22:05:18 »

Можно ли загрузить QNX при помощи LILO?

Чтобы загрузчик Linux LILO загружал QNX надо добавить следующие строки в файл /etc/lilo.conf :

Код:
# QNX4 bootable partition config begins
other = /dev/sda1
label = QNX4
table = /dev/sda
# QNX4 bootable partition config ends

/dev/sda -- имя диска.
/dev/sda1 -- раздел на диске. Номер раздела можно узнать, например, запустив в Linux команду cfdisk /dev/sda .

Аналогично можно загружать QNX6.
« Последнее редактирование: 22 Марта, 2010, 22:09:42 от Олег Большаков » Записан

Олег Большаков
Администратор
Житель форума

Сообщений: 2934



WWW
« Ответ #9 : 22 Марта, 2010, 22:16:54 »

Можно ли загрузить QNX при помощи ntldr (загрузчика Windows)?

Можно использовать родной загрузчик windows NT/2000/XP -- ntloader. Для этого надо:

1. Сохранить в файл первый сектор (512 байт) с раздела QNX, например так:

Код:
# dd if=/dev/hd0.0t77 of=./bootsect.qnx count=1

2. Поместить файл bootsect.qnx в корневую директорию диска C:

3. Добавить в раздел [operating systems] файла boot.ini на диске с Windows следующую строку:

Код:
C:\bootsect.qnx="QNX 4.25"

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

Таким образом можно загружать и QNX6. Этот способ хорош в тех случаях, когда не требуется чего-то нестандартного от процесса загрузки и не хочется разбираться с новыми программами.
Записан

kukabu
Пользователь

Сообщений: 44


« Ответ #10 : 23 Марта, 2010, 07:01:06 »

Поддерживается ли технология Xen (Dom0/DomU)?

В настоящее время нет информации о примерах запуска QNX в DomU XEN. Однако, реализация такого решения возможна. Для этого необходимо  разработать BSP для XEN. Возможно, понадобится собрать специальное ядро.

Поддержка работы QNX в Xen Dom0 отсутствует.

http://community.qnx.com/sf/go/projects.core_os/discussion.metawiki.topc1865
я уже приводил ссылку в другой теме, одним bsp не отделаешся
Записан
Олег Большаков
Администратор
Житель форума

Сообщений: 2934



WWW
« Ответ #11 : 23 Марта, 2010, 08:28:35 »

http://community.qnx.com/sf/go/projects.core_os/discussion.metawiki.topc1865
я уже приводил ссылку в другой теме, одним bsp не отделаешся

Спасибо за ссылку. Естественно, я видел её. Ещё раз обращаю внимание на то, что скорее всего понадобится собирать специальное ядро.

С другой стороны, к нам не поступало конкретных запросов по поводу Xen. Wink
Записан

Александр Молодцов
Сотрудник СВД ВС
Опытный пользователь

Сообщений: 129

Gravatar


WWW
« Ответ #12 : 01 Июля, 2010, 11:58:31 »

Как настроить сервер SSH в QNX?
Для запуска сервера SSH необходимо:

Сгенерировать RSA ключи:
Код:
# ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
Your identification has been saved in /etc/ssh/ssh_host_rsa_key.
Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub.
The key fingerprint is:
2c:b0:63:a6:11:11:0a:cd:de:62:a7:ea:e1:58:cd:73 root@localhost

Сгенерировать DSA ключи:
Код:
# ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''
Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:
76:7c:f4:ec:64:ca:c7:d2:54:ba:94:87:06:c4:0a:ac root@localhost

Установить права доступа на каталог /var/chroot/sshd:
Код:
# chmod 755 /var/chroot/sshd

Права доступа на публичные и личные RSA и DSA ключи ssh-keygen выставляет самостоятельно.

В файле /etc/ssh/sshd_config следует раскомментировать строки:
Код:
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
Если требуется регистрироваться в системе как root, то следует добавить строку:
Код:
PermitRootLogin yes

Если для пользователя (в данном случе root) не установлен пароль, то его следует установить, т.к. ssh не разрешает использование пустых паролей:
Код:
# passwd
changing password for root
New password:

Retype new password:


Запускаем ssh сервер:
Код:
# /usr/sbin/sshd

Чтобы sshd запускался при загрузке системы в /etc/rc.d/rc.local следует добавить:
Код:
#!/bin/sh
/usr/sbin/sshd &

После этого можно подключаться к серверу:
Код:
# ssh root@192.168.0.2
The authenticity of host '192.168.0.2 (192.168.0.2)' can't be established.
RSA key fingerprint is 2c:b0:63:a6:11:11:0a:cd:de:62:a7:ea:e1:58:cd:73.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.2' (RSA) to the list of known hosts.
root@192.168.0.2's password:
Welcome to QNX Neutrino!
Fri Jun 25 13:03:53 2010 on /dev/ttyp0
Last login: Fri Jun 25 12:36:08 2010 on /dev/con1
edit the file .profile if you want to change your environment.
To start the Photon windowing environment, type "ph".
#
« Последнее редактирование: 01 Июля, 2010, 12:00:26 от Александр Молодцов » Записан

Александр Молодцов
Сотрудник СВД ВС
Опытный пользователь

Сообщений: 129

Gravatar


WWW
« Ответ #13 : 01 Июля, 2010, 11:58:50 »

Как настроить вход по SSH по ключу?
Чтобы не указывать пароль при входе, на компьтере-клиенте следует сгенерировать ключи SSH и добавить их в список доверенных на сервере.

Генерируем ключи:
Код:
# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
d1:d2:fb:ce:7a:31:84:5f:35:57:62:9e:4f:5f:48:58 las@calculate
The key's randomart image is:
+--[ RSA 2048]----+
|             oE o|
|         o  .+ =o|
|        o o.  +.=|
|         o... .oo|
|        S .o .  o|
|           .+    |
|            .o   |
|           o.    |
|          .oo    |
+-----------------+

Передаем публичный ключ на сервер (например с помощью scp):
Код:
# scp ~/.ssh/id_rsa.pub root@192.168.0.2:~/id_rsa_client.pub
root@192.168.0.2's password:
id_rsa.pub                                    100%  395     0.4KB/s   00:00

Подключаемся к серверу по SSH (или выполняем следующие команды непосредственно на сервере, в этом случае данный шаг пропускаем):
Код:
# ssh root@192.168.0.2
Создаем каталог .ssh (если он не существует) и устанавливаем права:
Код:
# mkdir ~/.ssh
# chmod 700 ~/.ssh
Добавляем ключ в список доверенных:
Код:
# cat ~/id_rsa_client.pub >> ~/.ssh/authorized_keys

Последние действия (передача ключа и добавление его в список доверенных) можно проделать одной командой:
Код:
# cat ~/.ssh/id_rsa.pub | ssh root@192.168.0.2 'umask 0077 && mkdir -p ~/.ssh && cat - >> ~/.ssh/authorized_keys'

Подключаемся серверу:
Код:
# ssh root@192.168.0.2
Enter passphrase for key '/home/user/.ssh/id_rsa':
Welcome to QNX Neutrino!
Fri Jun 25 13:08:38 2010 on /dev/ttyp0
Last login: Fri Jun 25 13:03:53 2010 on /dev/ttyp0
edit the file .profile if you want to change your environment.
To start the Photon windowing environment, type "ph".
#
« Последнее редактирование: 01 Июля, 2010, 12:00:38 от Александр Молодцов » Записан

Олег Большаков
Администратор
Житель форума

Сообщений: 2934



WWW
« Ответ #14 : 27 Августа, 2010, 11:20:58 »

Можно ли загрузить QNX при помощи GRUB?

Чтобы загрузчик GRUB загружал QNX надо добавить следующие строки в файл /boot/grub/menu.lst :

Код:
# (2) QNX4
title QNX 4.25
rootnoverify (hd0,0)
chainloader +1

Здесь в (hd0,0) первый ноль это номер диска, а второй -- номер раздела на диске. Номер раздела можно узнать, например, запустив в Linux команду cfdisk /dev/sda .

Аналогично можно загружать и QNX6.
Записан

Страниц: [1] 2 3   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2016 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 10 Декабря, 2016, 01:37:49