Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:2
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9G45/M10
L4linux
sasamy
Добавлено 04.07.2011 11:48
0
Сообщение: 1
sasamy
4.70

Пункты: 77214
Регистрация: 14.08.2009
L4linux - паравиртуализованное ядро Linux. Управление ресурсами осуществляет микроядро L4, ядро Linux работает как пользовательская задача микроядра.
Кратко для чего это нужно - благодаря микроядру возможно построить систему реального времени с высокой устойчивостью к сбоям и ошибкам в пользовательском ПО.
Знакомство можно начать отсюда
http://wiki.tudos.org/L4Linux

В архиве
ftp://pub@starterkit.ru/l4re-snapshot-2011042112-sk.tar.bz2
порт одного из снапшотов (ядро linux 2.6.38) на плату SK-AT91SAM9G45. В текущем варианте все драйверы взяты от ядра Linux (usb host к сожалению я не смог заставить работать).
Что нужно чтобы собрать
1 разархивировать

2 указать путь до своего кросскомпилятора, например:
#export GCC_PATH_PREFIX=/usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-

3 сконфигурировать, в корне исходников набрать:
#make setup
выбрать там архитектуру arm и вариант исполнения - at91 atmel.

4 после конфигурации будет предложено добавить путь с линками на кросскомпилятор в переменную окружения PATH:
NOTE: You should add the bin directory to your path:
export PATH=/home/sasa/test/l4re-snapshot-2011042112-sk/bin:$PATH
нужно просто скопировать-вставить предложенную строку

5 собственно сборка имиджа
#make

После сборки имиджи лежат тут
l4re-snapshot-2011042112-sk/obj/l4/arm-at91/bin/arm_armv5te/

Один из полученных имиджей будет называться bootstrap_L4Linux.uimage - это имидж который может загружать uboot, в принципе можно загружать его как угодно, мне удобнее с SD.
Сделать два раздела на SD карте, один с fat, второй например с ext3. в раздел с fat положить загрузчик, вот мой готовый
ftp://pub@starterkit.ru/BOOT.BIN
и переименованный имидж в image.bin, можно взять мой готовый для пробы
ftp://pub@starterkit.ru/image.bin

Корневая ФС на втором разделе - можно хоть от дебиана, я делал обычную из buildroot. Тут важно помнить - памяти RAM всего 27 Мбайт для Linux, чтобы корректно работала отладочная консоль,
нужно исправить в /etc/inittab
ttyLv0::respawn:/sbin/getty -L ttyLv0 115200 vt100

потому что последовательный порт там виртуальный - название у него ttyLv0, кроме этого добавить этот порт в /etc/securetty чтобы руту можно было залогиниться.

Это кратко - если кого заинтересуют подробности спрашивайте, что знаю - подскажу.
Спуститься к концу Подняться к началу
Персональная информация
Lampus
Добавлено 04.07.2011 15:51 Сообщение: 2
Lampus
5

Пункты: 3552
Регистрация: 26.04.2011
Ну и как оно по скорости?
Я вообще слабо представляю как оно работает, опиши кратенько. Насколько я понял драйвер fb и serial драйвер сделаны отдельными сервисами. А как с остальными драйверами? Что произойдёт если ядро грохнется в такой системе?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 04.07.2011 17:44 Редактировалось 04.07.2011 17:45 Сообщение: 3
sasamy
4.70

Пункты: 77214
Регистрация: 14.08.2009
По скорости - я даже что-то подобное видео видел в mplayer :) Скорость будет в любом случае ниже чем в обычном Linux - ядро Linux и его процессы - это потоки микроядра L4, все IPC идет через микроядро. Вообще близкая по скорости работа к нативному Linux на гипервизоре l4ka, Дрезденский вариант семейства микроядер L4 придерживается строгого разграничения ресурсов и построения на таком микроядре безоасной ОС. О том как работает микроядро и его окружение лучше посмотреть в официальной документации
http://os.inf.tu-dresden.de/L4Re/doc/main.html
l4linux для них - это побочный продукт, который просто позволяет использовать уже реализованные в linux сервисы - главное у них это построение микроядерной ОС со своими сервисами.
Цитата

Насколько я понял драйвер fb и serial драйвер сделаны отдельными сервисами. А как с остальными драйверами? Что произойдёт если ядро грохнется в такой системе?


последовательный порт - это разделяемый сервис микроядра, а вот все остальное - это все драйверы Linux. Если ядро грохнется то будет все как всегда в Linux - сейчас помоему нельзя перезапустить в тойже сессии микроядра ядро Linux, но я не уверен :) нужно писать нативные драйверы для L4Re. Там у них все в стадии разработок, очень много не реализовано. Пока я вижу реальное применение в том чтобы написать требующие высокой отказоустойчивости и реалтайма сервисы микроядра, а например gui, net, multimedia оставить в Linux. Теоретически взаимодействие можно наладить всего со всем :) у меня пока до практики не дошло писать сервисы L4Re, но я всеравно буду этим заниматься - нужно слишком много читать и вникать.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 07.07.2011 16:42 Сообщение: 4
sasamy
4.70

Пункты: 77214
Регистрация: 14.08.2009
Для того чтобы настроить и собрать имидж со своим ядром Linux после окончания сборки - в каталоге obj/l4linux/arm-up нужно сделать как обычно в Linux
#make L4ARCH=arm CROSS_COMPILE=arm-angstrom-linux-gnueabi- menuconfig
и после конфигурации
#make L4ARCH=arm CROSS_COMPILE=arm-angstrom-linux-gnueabi-

CROSS_COMPILE - префикс вашего кросскомпилятора

Для обновления имиджа с новым ядром в каталоге obj/l4/arm-at91
#make uimage E="L4linux"
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9G45/M10