Das U-Boot
Эта статья или раздел нуждается в переработке. |
Das U-Boot (англ. Universal bootloader — универсальный загрузчик, от нем. Das U-Boot — подводная лодка) — компьютерный загрузчик операционной системы, ориентированный на встроенные устройства архитектур MIPS, PowerPC, ARM и другие. Может быть установлен в загрузочную ПЗУ. Разработка ориентирована на Linux. Распространяется под лицензией GNU GPL.
Das U-Boot | |
---|---|
Тип | свободное и открытое программное обеспечение и загрузчик операционной системы |
Разработчик | DENX Software Engineering |
Написана на | Си и язык ассемблера |
Первый выпуск | 15 октября 1999; 23 года назад (1999-10-15) |
Последняя версия | |
Читаемые форматы файлов | Btrfs, Cramfs, Ext2, Ext3, Ext4, FAT, JFFS2, ReiserFS, Squashfs, UBIFS, ZFS и U-Boot uImage[d] |
Лицензия | GNU GPL 2[2] |
Сайт | denx.de/wiki/U-Boot/ |
ИсторияПравить
Началом проекта является 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 способом невозможны.