Форумы Серверы Суспільство
Игры Серверы VBIOS General Soft & Hard Увлечения А поговорить... Культура Полезная информация Межигір'я Чат

Пользователь Сообщение: Убунту удалось запустить на 8-битном контроллере        (Тема#61506)
NaCl 
предатель Родины
С нами с 28.08.08
Посты: 24065
02.04.12 23:04 Ukraine #1302767
Дмитрий Гринберг, российский программист, проживающий в США, опубликовал в своем блоге интересную заметку с объяснением того, как ему удалось запустить Linux-дистрибутив Ubuntu 9.04 с ядром 2.6.34 на микроконтроллере ATmega1284p с 8-битным процессором, лишенном блока управления памятью (MMU) и общим объемом встроенной оперативной памяти 256 Кб.

Чтобы добиться запуска ядра Linux на микроконтроллере пришлось применить несколько трюков, оснастив микроконтроллер дополнительным модулем памяти и SD-картой для хранения операционной системы. В качестве дополнительной памяти использован модуль SIMM объемом 16 Мб, чтение и запись ячеек которого осуществляется с помощью программного контроллера, позволяющего добиться производительности примерно в 300 Кб/с при потере около 3% процессорного времени на обновление ячеек памяти каждые 62 мс (эта операция требуется из-за особенностей работы SIMM-памяти).

В качестве хранилища для операционной системы использована SD-карта объемом 1 Гб, которая также управляется с помощью программного SPI-контрллера (мастера), позволяющего достичь производительности в 200 Кб/с. Аппаратный SPI-контроллер, установленный в ATmega1284p Дмитрию так и не удалось заставить работать корректно.

Особого внимания заслуживает метод, примененный для запуска Linux на 8-битном процессоре. Так как портировать ядро на 8-битную архитектуру не представляется возможным, Дмитрий написал эмулятор процессорной архитектуры ARMv5TE и системы на кристалле PXA255, способный работать на процессоре ATmega1284p и реализующий, кроме всего прочего модуль MMU, также необходимый для запуска ядра Linux. По прикидкам Дмитрия, производительность эмулятора оказалась в районе 6.5 кГц, при производительности реального процессора ATmega1284p в 24 Мгц (разгон со штатных 20 Мгц). Во-многом этому поспособствовала реализация кэша инструкций с помощью встроенной в микроконтроллер оперативной памяти, производительностью 5 Мб/с.

С помощью описанных техник на получившейся системе удалось запустить Ubuntu 9.04, загрузка которого до приглашения bash (init=/bin/bash) заняла около двух часов, а загрузка полной версии ОС без X Window до приглашения входа в систему - 6 часов. При этом оказалось возможным даже запустить X-сервер и окружение GNOME, но эта операция требует значительно больше времени. Интересно, что по окончанию загрузки система оказалась вполне пригодной к использованию; на выполнение стандартных команд терминала требовалось не больше одной минуты.



Все наработки проекта находятся в публичном доступе. Список используемых компонентов перечислен в самой статье, исходный код программных компонентов можно получить по этой ссылке. Также доступен полный образ диска готовый к копированию на SD-карту. Видео-демонстрация процесса загрузки и работы:
Milky Way 
No Limit Infinite
Milky Way
С нами с 18.01.02
Посты: 33612
02.04.12 23:27 [Re: NaCl] Ukraine #1302788
до чего только люди не докатываются они бы еще на перфокарты записали убунту, или на кассеты и потом долго и упорно ее грузили
NaCl 
предатель Родины
С нами с 28.08.08
Посты: 24065
02.04.12 23:40 [Re: Milky Way] Ukraine #1302805
зато доказал, что линукс совершенно не требователен к системным ресурсам
На китайских роутерах ТП-линк уже давно линух - у меня на работе товарищ там и самбу развернул и еще кучу всяких плюшек... подсоеденил винт....
????
ПРОФИТ!!!
экономия электроэнергии значительная. и такой себе роутер-сервачек.

Отредактировано GAZ 03.04.12 11:23. Причина редактирования: Причина не указана.
Milky Way 
No Limit Infinite
Milky Way
С нами с 18.01.02
Посты: 33612
03.04.12 13:22 [Re: NaCl] Ukraine #1303136
Ну тут палка о двух концах. Для нормального роутинга требуется процессорное время. Если там висят доп сервисы, значит они жрут это самое время, что может привести к замедленной обработке пакетов и их маршрутизации. А это приведет к "уменьшению пропускной способности сети", проще говоря - скорости соединения.
GAZ 
?"чынитаплаП"
GAZ
: Coruscant
С нами с 12.02.07
Посты: 14398
03.04.12 13:41 [Re: Milky Way] Ukraine #1303161
Если вы заметите разницу на домашнем ТПлинке, то с меня пиво...
NaCl 
предатель Родины
С нами с 28.08.08
Посты: 24065
03.04.12 21:46 [Re: GAZ] Ukraine #1303721
с тебя будет многапива, потому что тп-линк, таки роутер.
тут асус и д-линк рулит)
процессор!
кэш!
ПЗУ!
охлаждение!
тп-линк греется при трех активных клиентах - асус и д-линк держат все слоты, причем на парочке висят свичи (с клиентами)
Icon Legend Права Настройки темы
Распечатать тему


896 Просмотры
164 сейчас в онлайне
7 пользователей (махно, Silent Dude, powerp, CJlOH, monkey55, Din0saur) и 2 скрытых, а также 155 гостей сейчас онлайн.
     
VBIOS Version 3.0 FINAL | ©1999-2020
Execution time: 0.058 seconds.   Total Queries: 45   Zlib сжатие вкл.
All times are (GMT+3). Current time is 10:33
Top