Das U-Boot

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, универсальный загрузчик, возможно, является самым богатым, самым гибким и наиболее активно развивающимся из загрузчиков с открытым исходным кодом.

Поддерживаемые файловые системы 
 Squashfs (Cramfs)
 ext2
 ext4
 FAT
 FDOS
 JFFS2
 ReiserFS
 UBIFS
 YAFFS2
 ZFS

Используется 
Используется в некоторых моделях устройств от компании «ZTE».

Сетевое оборудование компании Ubiquiti все использует U-Boot, как линейка EgdeXxx, так и линейка Unifi.

Также U-Boot используется в роутерах TP-Link бытового сегмента.

Особенности 
Das U-Boot значительно отличается от загрузчиков, знакомых пользователям x86 PC. Он берет на себя большую часть задач, за которые на PC отвечает firmware системной платы, а потому требует портирования на каждое конкретное устройство для сборки работоспособного на этом устройстве образа, содержащего информацию про оборудование и драйверы. В коммерческих устройствах в firmware обычно определен фиксированный механизм загрузки со встроенного накопителя предоставленного производителем образа u-boot, в котором, в свою очередь, определен фиксированный механизм загрузки ядра ОС.

Таким образом, в подобных устройствах U-Boot по сути является частью firmware — в случае его стирания восстановление работоспособности устройства нетривиально, а загрузка со съёмных накопителей принятым на PC способом невозможна.

См. также 
 Coreboot
 Barebox
 NTLDR
 GRUB
 LILO
 Загрузчик ОС

Примечания

Ссылки 
 Домашняя страница проекта
 Barebox — также известен как U-Boot-V2

Программное обеспечение с лицензией GNU GPL
Свободные загрузчики операционных систем