Das U-Boot
Das U-Boot | |||
---|---|---|---|
Тип | свободное и открытое программное обеспечение и загрузчик операционной системы | ||
Разработчик | DENX Software Engineering | ||
Написана на | Си и язык ассемблера | ||
Первый выпуск | 15 октября 1999 | ||
Последняя версия | |||
Репозиторий | source.denx.de/u-boot/u-… | ||
| |||
Лицензия | GNU GPL 2[2] | ||
Сайт | docs.u-boot.org/en/lates… |
Das U-Boot (англ. Universal bootloader — универсальный загрузчик, от нем. Das U-Boot — подводная лодка) — компьютерный загрузчик операционной системы, ориентированный на встроенные устройства архитектур MIPS, PowerPC, ARM и другие. Может быть установлен в загрузочную ПЗУ. Разработка ориентирована на Linux. Распространяется под лицензией GNU GPL.
История
Началом проекта является 8xx загрузчик PowerPC, называемый 8xxROM, написанный Магнусом Даммом. В октябре 1999 года Вольфганг Денка переместил проект на SourceForge.net и переименовал его в PPCBoot, потому что SF.net не позволял называть проект именами, начинающимися с цифр. Версия 0.4.1 PPCBoot впервые была публично выпущена 19 июля 2000.
В 2002 году предыдущая версия исходного кода была на короткое время раздвоена в продукте под названием ARMBoot, но вскоре после этого была обратно объединена в проект PPCBoot.
В ноябре 2002 — был выпущен PPCBoot 2.0.0. Это был последний выпуск под названием PPCBoot, так как он был переименован, чтобы отразить поддержку ARM-архитектуры в дополнение к PPC ISA.
PPCBoot-2.0.0 стал U-Boot-0.1.0 в ноябре 2002 г. с добавлением поддержки архитектуры x86. Дополнительная поддержка архитектуры была добавлена в последующие месяцы: MIPS32 — в марте 2003 года, MIPS64 — в апреле, Altera NIOS-32 — в октябре, Coldfire — в декабре, а Microblaze — в апреле 2004 года. В мае 2004 года выпуска U-Boot-1.1.2 включена поддержка 216 различных производителей плат с различными архитектурами.
В нынешнее название «Das U-Boot» добавлен немецкий определенный артикль, чтобы создать двуязычный каламбур с немецким словом «подводная лодка».
Это свободное программное обеспечение, распространяемое по условиям лицензии GNU GPL. Оно может применяться на любой поддерживаемой архитектуре с использованием кросс-разработки GNU-инструментария, например, crosstool, Embedded Linux Development Kit (ELDK) или OSELAS.Toolchain.
Важность Das U-Boot в Embedded Linux систем достаточно лаконично изложена в книге Embedded Linux системы, Карим Ягмур. Текст о U-Boot начинается словами:
Хотя существует довольно много других загрузчиков, Das U-Boot, универсальный загрузчик, возможно, является самым богатым, самым гибким и наиболее активно развивающимся из загрузчиков с открытым исходным кодом.
Поддерживаемые файловые системы
Используется
Используется в некоторых моделях устройств от компании «ZTE».
Сетевое оборудование компании Ubiquiti все использует U-Boot, как линейка EgdeXxx, так и линейка Unifi.
Также U-Boot используется в роутерах TP-Link бытового сегмента.
Особенности
Das U-Boot значительно отличается от загрузчиков, знакомых пользователям x86 PC. Он берет на себя большую часть задач, за которые на PC отвечает firmware системной платы, а потому требует портирования на каждое конкретное устройство для сборки работоспособного на этом устройстве образа, содержащего информацию про оборудование и драйверы. В коммерческих устройствах в firmware обычно определен фиксированный механизм загрузки со встроенного накопителя предоставленного производителем образа u-boot, в котором, в свою очередь, определен фиксированный механизм загрузки ядра ОС.
Таким образом, в подобных устройствах U-Boot по сути является частью firmware — в случае его стирания восстановление работоспособности устройства нетривиально, а загрузка со съёмных накопителей принятым на PC способом невозможна.