embedded gnu
DESCRIPTION
Автор: Петър Николовhttp://www.openfestruse.org/downloads/openfest08/embedded_GNU.pptTRANSCRIPT
embedded GNU/Linuxfor dummies
Проекта
• Основни положения
• Необходимости
• Изисквания
• Налични материали
• СРОК – 45 дена – ЕП Варна 2005
Схема
• Секретариат• Управляващи
лаптопи• Табла
Главен компютър (секретариат)
Лаптоп 1 Лаптоп 2 Лаптоп 3
Табло 1 Табло 2 Табло 3
Лаптоп 4
Табло 4
Обзор
Управляващ лаптоп
• OS – Windows• Софтуер – наш• Хардуер – вече закупен
Табло
• OS – неизвестна• Софтуер – зависи от OS• Хардуер – зависи от OS• Монитори – вече
закупени
Embedded OS
• DOS• OS/2• Windows 98/XP• Embedded Windows CE• Embedded Windows XP• VxWorkx, QNX• GNU/Linux
GNU/Linux
Kernel space
• Kernel• Drivers• Firmware
User space
• Libraries – libc, libpng, libjpeg
• Applications – ls, X, Perl, OpenOffice
• Demons – OpenSSH, Apache, imapd
GNU/Linux
FAT GNU/Linux
• По-бърз процес на компилация
• По-големи системни изисквания
• Загуба на контрол върху системата
Thin GNU/Linux
• По-сложен процес на компилация
• Минимални изисквания
• Стриктен контрол върху системата
Ядро
• Премахване на излишните неща
• Оптимизиране за конкретен хардуер
• /dev или devfs
• Monolitic или Modular
Библиотеки
libc – glibc
• Не е библиотека, ами е Библиотеката
• Намира се навсякъде
• Голяма ~ 2MB• Никакви особенности при
компилация• Никакви особенности при
свързване
uClibc
• Олекотена библиотека
• Намира приложение в embedded системите
• Малка ~500KB• Компилира се особенно
(toolchain & buildroot)• Свързва се особенно
Оптимизации
• Статично или динамично свързване
• Busybox
• Собствен init скрипт
• Компилиране (и оптимизиране) на X.org
• Собствен скрипт за стартиране на X
• Cramfs
Трудности
• Липса на информация
• Трудно проследяване на зависимостите
• Всичко трябва да се прекомпилира и свърже с uClibc
• Крос компилация
• Непрекъснати рестарти