Страница 1 из 1
QNX Neutrino на дискете
Добавлено: 03 дек 2004, 13:01
M@XX
Про QNX.
Итак, задача сделать рабочий QNX Neutrino 6.2.1 с дискеты без рамдиск.
Форматируем
fdformat /dev/fd0
Инициализируем/ставим загрузчик и дефолтный образ ядра
dinit -f /.boot /dev/fd0
Монтируем
mount /dev/fd0 /fs/flop
Ставим маркер корневой файловой системы .diskroot
cp /.diskroot /fs/flop
Перегружаемся...
Грузится ядро...
И вот оно:
Не может найти .diskroot на файловых системах!
Переходит в safe mode
И не может найти fs-pkg (ну ясно, что не может! Я его не кидал, да и кинуть его на дискету навозможно! Весит 49 метров! Его-то мне и нужно представить в уже "распакованном" виде на дискете, предварительно убрать лишнее, типа фотона, мультимедиа, левых либов, ксш)
А дискрут точно есть на дискете!
Вот и бьёмся-с...
Параметры инициализации -r, и -R не помогают. Дискрут не видит.
Кстати, MaxR, а для чего мы всё делаем? Какова конечная цель всей работы?
Кстати, а обязательно на дискету?
Если на машинах не будет флопа, а будет флеш, то мож и мне на флеше сразу всё делать?
Добавлено: 03 дек 2004, 21:53
M@XX
Хм. Без коммерческой версии не обойтись, видимо.
Кернел не монтирует дискету. Посему и не может получить доступ к дискрут.
Придётся 6.3 PE Evaluation сливать... Ээээх... Ладна, зато там есть ВСЁ.
Добавлено: 04 дек 2004, 08:43
Evgen
А разве где-то в /boot/build/ не лежат т.н. файлы строители?
Берёшь там какойнибудь *.build , редактируешь в соответствии со своим видением, mkifs'ом создаётся образ который можно и на дискету записать.
Это вроде не ramdisk.
В итоге всё сводится к приведению сценария загрузки в нужный вид, добавлению библиотек и программ.
Добавлено: 04 дек 2004, 16:32
M@XX
Нейтрина некоммерческая!!! Это было описано в "Проекты".
Хых! Если было бы так просто! мкифс и скрипты образа ядра!
Давно бы сделал рабочий образ!
Вот и пойду Профешнл Эдишн эвальюэйшн качать... Хоть и 30 дней живёт, но зато там есть ВСЁ.
Я даже и не пытался рамдиск делать. Посему и разговора нет.
Добавлено: 10 дек 2004, 21:50
MaxR
M@XX писал(а):Кстати, MaxR, а для чего мы всё делаем? Какова конечная цель всей работы? Кстати, а обязательно на дискету?
Если на машинах не будет флопа, а будет флеш, то мож и мне на флеше сразу всё делать?
Приоткрываю некоторые планы кафедры. Автоматизировать объекты можно, как минимум, двумя путями. (1) с использованием контроллера, (2) с использованием промышленного компьютера. Разница в том, что вариант (2) более гибок, т.к. компьютер хоть и промышленный, но позволяет встраивать операционку и использовать открытые и доступные всем средства разработки. Контроллеры же в своей массе это закрытые системы.
Интересно, что сегодня предпочтительный вариант (1). Второй почему-то сильно отстает. С одной стороны, соответствующие устройства только сейчас получается сделать достаточно миниатюрными (мне известны полнофункциональные экземпляры с процессором и еще чем полагается размером в 2,5 дюйма). В этом есть и наша вина - мы никогда не преподавали это направление.
Теперь же к нам уже пришла QNX PE (кстати по условиям лицензии ее можно пользовать только в аудитории и на компьютере преподавателя - всего восемь ключей - плюс нужна активация на сайте). Теперь дело за железом, которое будем использовать при преподавании. Соответственно нужны проекты - например FloppyBot - нужная идея - считаю, что масштабы проекта надо поднять (использовать вместо контроллера полноценный компьютер) - при этом условии можно говорить об универсальности, современности и потенциале разработки. Заодно параллельно изучать кучу других полезных вещей. Например, пока дело дойдет до робота в железе - можно писать алгоритм его работы, например, в QNX (создание соответствующих драйверов и минимальной конфигурации системы). Можно вместо фотоэлементов пристроить web-камеру и анализировать движение. Постепенно оформиться и необходимое железо. Это путь сверху. Но никто на этом не настаивает и можно также успешно двигаться снизу. Главное состыковаться в итоге.
Глобальная же цель это встраивание ОС куда только можно и встраивание железа с ОС туда же.
Теперь про идею создания загрузочной дискеты. Во-первый другие способы загрузки пока нам недоступны - нет железа (разве что писать загрузчик и грузить систему из BIOS или по сети). Когда речь идет о минимальной конфигурации (имеется в виду минимальность загрузочного образа), то необходимо файловую систему с различными программами писать в ПЗУ, а в загрузочный образ помещать только то, что необходимо для загрузки ядра и монтирования файловой системы. Этот образ может грузиться хоть откуда. В ПЗУ может тоже быть что угодно (хоть Photon и среда разработки). После этого необходимые программы запускаются из ПЗУ - это экономит ОЗУ.
Как раз с такими конфигурациями я раньше не работал. Поэтому мне интересна их реализация. Прецедент есть - это дискета с которой я сейчас гружу свою QNX, которая физически находиться в файле на FAT32 HDD-диске, но там много лишнего.
M@XX писал(а):Хых! Если было бы так просто! мкифс и скрипты образа ядра! Давно бы сделал рабочий образ!
Я делаю обычные образы еще на QNX NC 6.1 - все получается. В чем проблема?
Добавлено: 11 дек 2004, 18:31
M@XX
В 6.2.1 некоммерческой нет мкифс и /boot/build...
В 6.1 да, было.
Но качал я 6.2.1. Ибо тогда мкифс и /boot/build меня мало интересовали.
Так всё-таки загрузочную дискету (образ, умеющий находить фс на ПЗУ, и загрузчик)? Или полноценную QNX на дискете?
А можно взять ПЕ у Вас и использовать свой Эвальюэйшн ключ? А то в нет-салон я так и не сходил... Да и денег тратить тогда на скачку не придётся...
Кстати, о том, что Вы говорите, загрузка с дискеты и фс в файле где-нить с ХДД у меня есть. Я-то хотел полноценную систему прям на дискету...
Добавлено: 14 дек 2004, 19:28
MaxR
M@XX писал(а):Но качал я 6.2.1. Ибо тогда мкифс и /boot/build меня мало интересовали.
Что тебя интересует в 6.2.1? Там диапазон приоритетов у потоков больше. Есть дополнительные механизмы диспетчиризации. Что еще?
M@XX писал(а):Так всё-таки загрузочную дискету (образ, умеющий находить фс на ПЗУ, и загрузчик)? Или полноценную QNX на дискете?
Первое предпочтительней. Т.к. необходимо обеспечить минимальное время загрузки.
Добавлено: 01 янв 2005, 01:40
M@XX
Дискета с QNX 6.3.0 сделана.
Правда, пока - без почты (в процессе нахождения подходящего демона).
В ближайшее время опишу процесс создания.
Благодаря IDE процесс создания и конфигурирования упростился во много раз.
К слову, дискета была сделана за часа 3 (исключая время на перерывы и пр., включая время на изучение хэлпа для создания такой дискеты в первый раз).
В ней есть:
1. В качестве шелла - ksh
2. сеть (ethernet-интерфейс с получением настроек по dhcp)
3. утилита ping
4. управление (терминал ksh) на COM1
Добавлено: 01 янв 2005, 17:01
VDen
Правда, пока - без почты (в процессе нахождения подходящего демона).
Уже с почтой. Самодельный порт линуксового popclient прекрасно работает.
Добавлено: 26 янв 2005, 11:07
MaxR
Я с большим трудом поставил QNX PE. Однако у меня осталась проблема, которая может превратиться в интересную задачу. О проблеме я спрашивал в группу
http://groups.google.ru/groups?hl=ru&lr ... omp.os.qnx. Если интересно, то ищите в этой группе слово MaxR. Там мне ответили, но это не то...