Перейти к тексту

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

При первом входе в developerWorks для Вас будет создан профиль. Выберите информацию отображаемую в Вашем профиле — скрыть или отобразить поля можно в любой момент.

Вся введенная информация защищена.

  • Закрыть [x]

При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

Вся введенная информация защищена.

  • Закрыть [x]

Создание с нуля дистрибутива Linux для встраиваемых устройств

Питер Сибах, автор, plethora.net
Питер Сибах (Peter Seebach) работает с компьютерами много лет и постепенно приспособился. Хотя он до сих пор не понимает, почему мышку надо чистить так часто.

Описание:  В этом руководстве рассказывается о том, как собрать специализированный дистрибутив Linux® для использования во встраиваемых системах, в данном случае для работы одноплатного компьютера Technologic Systems TS-7800. Обсуждаются кросс-компиляция, загрузчик, файловые системы, корневая файловая система, образы дисков и процесс загрузки. Все это рассматривается через призму конкретных решений, принимаемых по мере построения системы и создания дистрибутива.

Дата:  24.02.2009
Уровень сложности:  средний

Активность:  24758 просмотров
Комментарии:  

Обзор процесса загрузки

Что делает init?

Программа init управляет запуском системы, а затем поддерживает работу системы. Например, когда процессы умирают, именно init собирает значения их статуса выхода, чтобы ядро могло выполнить их выгрузку. Конкретные процедуры запуска меняются от одной версии Linux к другой. В данном случае нашу тестовую систему будет запускать версия init из busybox.

Возможно, возникнет вопрос, почему в предыдущем стартовом скрипте используется exec /sbin/init вместо того, чтобы просто запустить init. Причина этого в том, что стартовый скрипт был прежним initи у него был специальный ID 1. Программа init становится системным стартовым демоном, только если ее ID равен 1; exec заставляет ее перехватить идентификатор процесса вызывающей оболочки, а не запрашивать новый.

Начальный запуск

Программа init начинает работу с запуска первого системного стартового скрипта, /etc/init.d/rcS. (Если такого файла нет, она выводит предупреждающее сообщение и продолжает без него.) После этого она работает в соответствии с инструкциями в /etc/inittab, если он существует. В отсутствие /etc/inittab программа init из busybox запускает командный процессор в консоли и аккуратно обрабатывает запросы на перезагрузку и останов.

Теперь все вместе

Теперь, когда у нас есть свое ядро, слегка изменённый initrd и своя собственная корневая файловая система, можно загрузить систему до получения приглашения командной строки. Если есть файл rcS система должна выдать приветствие по завершении загрузки. Теперь имеется рабочая, хоть и довольно скромная, Linux-система, собранная целиком из исходных текстов и вручную

Что делать дальше, зависит от потребностей. Я предлагаю установить какие-нибудь видеоигры, но кто-то может предпочесть сконфигурировать систему под сервер базы данных или веб-сервер. Если планируется делать что-то, что потребует большой дисковой активности, следует рассмотреть использование внешнего жесткого диска, подключенного через USB.

10 из 12 | предыдущая | следующая

Комментарии



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Linux
ArticleID=372644
TutorialTitle=Создание с нуля дистрибутива Linux для встраиваемых устройств
publish-date=02242009
author1-email=dw@seebs.net
author1-email-cc=

Теги

Help
Используйте форму поиска, чтобы найти любой контент с данным тегом в My developerWorks. Используйте ползунок, чтобы отразить больше или меньше тегов.

КнопкаПопулярные теги отображает самые распространенные теги для данной области контента (например: Java, Linux, WebSphere).

Кнопка Мои теги отображает Ваши теги для данной области контента (например: Java, Linux, WebSphere).

Используйте форму поиска, чтобы найти любой контент с данным тегом в My developerWorks. Кнопка Популярные теги отображает самые распространенные теги для данной области контента (например: Java, Linux, WebSphere). Кнопка Мои теги отображает Ваши теги для данной области контента (например: Java, Linux, WebSphere).