Официальный форум СВД Встраиваемые Системы
19 Мая, 2012, 14:58:15 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: OpenNTPD для QNX4  (Прочитано 1116 раз)
Олег Большаков
Администратор
Старожил

Сообщений: 2290


Читаю...


WWW
« : 04 Ноября, 2010, 22:43:02 »

OpenNTPD для QNX4



OpenNTPD -- это системный сервис Unix реализующий Network Time Protocol (NTP, сетевой протокол службы времени) для синхронизации локальных часов компьютерной системы с удалёнными серверами NTP. Также может выступать в качестве NTP-сервера для NTP-совместимых клиентов.

OpenNTPD преимущественно разрабатывается Хеннингом Брауэром (Henning Brauer) как часть проекта OpenBSD. Цели проекта -- безопасность (отсутствие возможностей для уязвимостей), лёгкая настройка, достаточная точность для большинства применений и исходный код, который может распространяться под лицензией BSD. Переносимая версия, как и для OpenSSH, разрабатывается как дочерний проект, который добавляет переносимость кода к OpenBSD версии и выпускается отдельно. Переносимая версия разрабатывается Дарреном Такером (Darren Tucker).


OpenNTPD 3.9p1

Существует специально подготовленная переносимая версия OpenNTPD, на данный момент это OpenNTPD 3.9p1. Эта версия уже должна поддерживать QNX4, что указано в документации. Но, по всей видимости, сборка должна осуществляться компилятором и утилитами GNU, что не всегда удобно. Ниже описывается процесс сборки при помощи OpenWatcom в среде Linux с использованием TCP/IP 5.0. Можно рассматривать нижеследующее описание как мини-курс по работе с OpenWatcom.

1. Подготовка исходных кодов

Скачиваем архив openntpd-3.9p1.tar.gz с официального сайта. Также понадобится патч исходных кодов для QNX4. В исходный код пришлось внести незначительные изменения, в основном касающиеся системы сборки. Распаковываем исходный код и накладываем патч следующими командами:

Код:
$ tar zxf openntpd-3.9p1.tar.gz
$ cd openntpd-3.9p1
$ zcat ../openntpd-3.9p1-qnx4.patch.gz | patch -p1

2. Конфигурация

Код:
$ CC=wacc CFLAGS=-D__QNX__ LDFLAGS=-lsocket ./configure --host=i386-unknown-qnx \
--prefix=/usr --sbindir=/usr/bin --sysconfdir=/etc --with-privsep-user=ntp

Здесь CC=wacc указывает компилятор Си, сам скрипт wacc можно скачать в этой теме. CFLAGS=-D__QNX__ -- специально определяем макрос __QNX__, как это было бы при сборке в самом QNX4.  LDFLAGS=-lsocket -- указывает необходимость линковки библиотеки socket. Параметр --host=i386-unknown-qnx -- указывает на то, что будет производиться кроссплатформенная сборка. Следующие три параметра задают соответственно каталог для установки, каталог для системных исполняемых файлов (задаём /usr/bin, т.к. в QNX4 нет /usr/sbin) и каталог для конфигурационных файлов. В опции --with-privsep-user задаём пользователя ntp (вместо _ntp). После выполнения команды configure будут созданы необходимые заголовочные и make файлы.

3. Сборка

Как ни странно, сборка осуществляется достаточно просто:

Код:
$ make

4. Подготовка дистрибутива

Сначала надо сделать предварительную установку:

Код:
$ make install prefix=../openntpd/usr sbindir=../openntpd/usr/bin sysconfdir=../openntpd/etc STRIP_OPT=

Специально переопределяются переменные prefix, sbindir и sysconfdir, чтобы установка прошла в каталог ../openntpd . Значения этих переменных аналогичны соответствующим ключам указываемым скрипту configure. Переменная STRIP_OPT устанавливается в пустую строку, иначе при выполнении команды make install установочный скрипт будет пытаться удалить отладочную информацию и завершится с ошибкой.

Переходим в каталог ../openntpd и готовим установочный дистрибутив:

Код:
$ cd ../openntpd
$ tar --owner=root --group=root -zcf ../openntpd-3.9p1-qnx4-bin-`date +%Y%m%d`.tar.gz *

Специально устанавливается владелец и группа root для файлов в архиве, зачастую это позволяет избежать некоторых проблем. Всё, дистрибутив готов.

5. Установка дистрибутива

Скопируйте файл openntpd-3.9p1-qnx4-bin-20101107.tar.gz в корневую директорию QNX4 и выполните от пользователя root:

Код:
# cd /
# /etc/install -u openntpd-3.9p1-qnx4-bin-20101107.tar.gz

После этого необходимо добавить пользователя ntp в систему, для этого добавляем в файл /etc/group:

Код:
ntp::201:

В файл /etc/passwd добавляем:

Код:
ntp::201:201::/usr/ntp:/bin/false

Создаём домашний каталог пользователя ntp:

Код:
# mkdir /usr/ntp
# chmod 700 /usr/ntp

Также необходимо добавить две следующие строчки в файл /etc/services:

Код:
ntp             123/tcp         # Network Time Protocol
ntp             123/udp         # Network Time Protocol

Для работы OpenNTPD необходимо установить сервис PRNGD, этот процесс описан в соответствующей теме. После этого можно запустить prngd и ntpd, например, так:

Код:
# prngd /etc/egd-pool
# ntpd


Ссылки

 - Официальный сайт
 - Описание в википедии + engl
 - Дистрибутив OpenNTPD 3.9p1 для QNX4
 - Патч OpenNTPD 3.9p1 для QNX4
 - PRNGD для QNX4
 - Настройка OpenWatcom для QNX4
 - Утилита wacc
« Последнее редактирование: 19 Ноября, 2010, 15:40:38 от Олег Большаков » Записан

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

Сообщений: 13


« Ответ #1 : 19 Ноября, 2010, 15:37:01 »

По ссылкам:
 - Дистрибутив OpenNTPD 3.9p1 для QNX4
 - Патч OpenNTPD 3.9p1 для QNX4
выдает:
"Запрашиваемая страница не найдена.
Вы попали сюда по ошибке. Предлагаем Вам перейти на Главную страницу сайта."
Записан
Олег Большаков
Администратор
Старожил

Сообщений: 2290


Читаю...


WWW
« Ответ #2 : 19 Ноября, 2010, 15:41:31 »

zh, спасибо за замечание. Исправил ссылки.
Записан

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

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

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

В последний раз google посещал эту страницу 12 Мая, 2012, 16:57:48