После почти пяти лет разработки официально представлен (http://lists.gnu.org/archive/html/grub-devel/2017-04/msg0007...) стабильный релиз модульного многоплатформенного менеджера загрузки GNU GRUB (http://www.gnu.org/software/grub/) 2.02 (GRand Unified Bootloader). GRUB поддерживает широкий спектр платформ, включая обычные ПК с BIOS, платформы IEEE-1275 (оборудование на базе PowerPC/Sparc64), EFI-системы, оборудование на основе MIPS-совместимого процессора Loongson 2E, системы Itanium, ARM, ARM64 и ARCS (SGI), устройства, использующие свободный пакет CoreBoot.
Основные новшества:
- Добавлена поддержка новых платформ: ARM (U-Boot и EFI), ARM64 (EFI), Xen PV и Hyper-V Gen2 . Добавлена поддержка процессоров Loongson 2E, ноутбука Yeeloong 3A, отладочных USB-брелков, little-endian powerpc, систем Oracle sun4v с vnet-устройствами. Добавлена новая платформа "none", при выборе которой собираются только пользовательские утилиты;- Добавлен режим проверки корректности цифровой подписи для всех файлов загружаемых базовым образом c диска (в случае несоответствия подписи загрузка блокируется);
- Добавлена поддержка файловых систем и разделов: CBFS (coreboot), LVM RAID1, XFS V5, поддержка LZ4 и флагов подключаемой функциональности в ZFS, сжатый HFS+, GPT PReP, ext2 64-bit, Big-endian UFS1, разделы DragonFly BSD, налажена работа с разделами DM-RAID и LVM. Добавлен фреймворк с ФС /proc для LUKS;
- Реализована команда "nativedisk" для использования своих драйверов вместо драйверов, предоставляемых прошивкой;
- Добавлен модуль "progress" для отображения информации о прогрессе выполнения операции при чтении файлов;- Обеспечена возможность вывода информации через системный динамик с использованием азбуки морзе или используя специальный софтмодемный протокол ("spkmodem");
- Добавлен режим монохромного вывода, соответствующий режиму "hercules" в старом GRUB;
- Добавлена поддержка вывода с использованием coreboot framebuffer;
- Обеспечена встроенная поддержка терминала vt100 для grub-emu, не привязанная к библиотеке curses;
- В GUI gfxmenu добавлены новые опции для позиционирования окна терминала, выбора оформления фона, размещения изображений, прокрутки, подсветки и выбора стиля;- Добавлена поддержка новых загрузочных протоколов: ISO-загрузчик TrueCrypt, Apple FAT, FreeDOS, linux16. Добавлена поддержка спецификаций multiboot2 boot-services EFI, multiboot2 EFI memory map,
multiboot2 full-file;- Улучшены сетевые возможности: обеспечена автозагрузка модулей http и tftp, повышена надёжность работы TFTP, добавлены переменные net_default_* с настройками сетевого интерфейса, улучшена поддержка IPv6;
- Расширена поддержка Coreboot: возможность использования ФС CBFS для дисковых образов и flash, возможность запуска другого обработчика (http://www.coreboot.org/Payloads) (payload), поддержка фреймбуфера, поддержка средств ведения и инспектирования логов CBMEMC, добавлены команды coreboot_boottime иlscoreboot для установки проверки времени и таблиц Coreboot;
- В grub-mkrescue добавлена поддержка PowerPC, i386-ieee1275, sparc64, и систем с bootinfo, таких как pSeries и mips-arc. Улучшена поддержка Mac-систем Apple с CPU Intel;- Добавлены новые команды "efifwsetup" и "lsefi" для EFI,
"cmosdump" и "cmosset" для CMOS, "pcidump" для PCI;- Для EFI добавлена поддержка разбора файлов конфигурации классического GRUB (Legacy);
- В утилитах добавлена поддержка ОС AROS и Haiku;
- Добавлена утилита grub-macbless для улучшения интеграции с прошивками компьютеров Apple в grub-install;
- Добавлена поддержка "*-emu" для Windows и всех платформ (ранее поддерживались только i386 и x86_64);- Представлен новый фреймворк для анализа времени загрузки ("./configure --enable-boot-time");
- Проведена оптимизация производительности, обеспечена инициализация LVM/mdraid и USB в асинхронном режиме без блокирования загрузки.
- Добавлена команда "testspeed" для тестирования скорости чтения файла;- В средства для разработки скриптов добавлены новые команды "eval" и "tr";
- Добавлена опция для сжатия файлов при инсталляции или создании образа;
- Добавлено определение системных разделов EFI (требуется os-prober 1.58);
- В grub-mount добавлена поддержка символических ссылок на директории;- Утилиты grub-install, grub-mknetdir, grub-mkrescue и grub-mkstandalone переписаны на языке Си;
- Добавлена поддержка инструментария mingw;
- Добавлена возможность установки на EFI из ОС Windows. В grub-mkpasswd добавлена поддержка Windows;
- Добавлена команда "file" и утилита "grub-file" для проверки типов файлов;
- Реализован парсер файлов конфигурации syslinux;
- Реализована экспериментальная поддержка сборки с использоватнием Clang;
- Добавлена поддержка сборки и работы утилит в окружении OpenBSD.
URL: http://lists.gnu.org/archive/html/grub-devel/2017-04/msg0007...
Новость: http://www.opennet.me/opennews/art.shtml?num=46458
Наконец-то
То есть grub поддерживает lvm и шифрование luks?
>lvmВсегда поддерживал. Grub читает файловые системы из логических томов LVM, как и из обычных разделов. В случае, если он установлен _не на LVM_, а образы ядра он должен прочесть с тома LVM, можно предварительно загрузить его модуль командой "insmod lvm".
Как бы очень давно уже.
Морзе от загрузчика...
... _ _ _ ...
Ээ... А f2fs?
>с использованием азбуки морзеЮстас Алексу....
>оответствующий режиму "hercules" в старом GRUBкомпании Hercules много лет уже нет. про видеокарты не помнят уже и старожилы ( на моём первом компе 95 год, это ужо было как мамонты), но имя живёт до сих пор!
Почему же, в 95'ом геркулесы вполне себе были и актуальные - Hercules Terminator на базе S3 Virge, Hercules Dynamite на базе Tseng ET4000 :) А в 97'ом Вуды от Hercules (Stringray) активно пытались продать в рекламных блоках и тп в журнальчиках типа Компьютер Прайс. Баксов за $200 так, насколько я помню. Так что.. они не умерли от горя из-за того, что стандарт 80'ых годов потерял актуальность ;)
А ISOшки так и не умеет грузить?
Руки кривые?
Мне кажется имелась ввиду загрузка ISO-шек с El-Torito. Ее, насколько я знаю, так и не запилили?
Поясняю:
Я считаю что есть grub4dos который может грузить iso напрямую. без копирования в оперативку. Например:
title Windows XP Live CD
map (hd0,0)/grub4dos/iso/Windows_XP_Live_CD_Mini.iso (hd32)
map --hook
root (hd32)
chainloader (hd32)
bootА есть обычный груб, он может только загрузить iso в оперативку а потом загрузится. При этом установить что-либо с такого ISO - на практике невозможно т.к. 90% дистрибутивов пытаются монтировать CD. В итоге приходится залезать в ISO, и вручную подгружать ядро, ramdisk, фс (а они отличаются у всех дистрибутивов и геморно это).
Вот я и спрашиваю почему не сделать как в grub4dos.
Если неправ/остал от жизни - поправте.
Уже лет 8 как умеет. Может больше.
когда успел 'grand unified bootloader' превратиться в менеджера по загрузке-разгрузке?
с разморозкой
grub давно можно считать OS для загрузки других OS
c блэкджеком^W картинками и ш^W анимациями
> когда успел 'grand unified bootloader' превратиться в менеджера по загрузке-разгрузке?когда автор первой версии сделался вечно живой, и проектом занялись люди из gnu.
> Утилиты grub-install, grub-mknetdir, grub-mkrescue и grub-mkstandalone переписаны на языке Си;А можно дополнить новость информацией с какого языка? Shell, Python?
/usr/lib/grub/i386-pc/grub-install: POSIX shell script, ASCII text executable
/usr/lib/grub/i386-pc/grub-mknetdir: POSIX shell script, ASCII text executable
/usr/bin/grub-mkrescue: POSIX shell script, ASCII text executable
Хм, мне казалось, что grub-install уже довольно давно переписали на C. Причём настолько криво, что он в результате разучился работать с файловыми образами, замапленными через kpartx.
жаба и гадюка
Если он армы поддерживает - можно его на смартфон поставить и разные rom-ы грузить?
>ARM (U-Boot...)И зачем в embedded этот монстр (GRUB)?
Щаз бы в 2к17 шутить про то, что арм — только эмбеддед.
U-Boot, оно как бы намекает.Смысл городить тогда цепочку из U-Boot -> GRUB -> ядро -> initramfs -> ... ?
Тут или сразу ядро с initramfs грузить с U-Boot, или нафиг там вообще U-Boot? Сразу GRUB и поехали.
> U-Boot, оно как бы намекает.
>
> Смысл городить тогда цепочку из U-Boot -> GRUB -> ядро -> initramfs -> ... ?
> Тут или сразу ядро с initramfs грузить с U-Boot, или нафиг там вообще U-Boot? Сразу GRUB и поехали.а какой смысл на каждой моделе ARM-устройства выдумывать свою собственную уникальную версию U-Boot (с уникальными патчами и поведением) ?
очевидно же что загрузчик хотелось бы иметь -- с возможностями его обновления (по желанию владельца устройства, а не по желанию производителя модели ARM-устройства) и с возможностями иметь *весь* полностью ожидаемый функционал..
GRUB например может загрузить ядро-и-initramfs из соседнего BTRFS-раздела .. а U-Boot -- может? (и может ли U-Boot это делать -- на любой своей версии, учитывая все вариации моделей всех ARM-устройств?)
>очевидно же что загрузчик хотелось бы иметь -- с возможностями его обновления (по желанию владельца устройства, а не по желанию производителя модели ARM-устройства) и с возможностями иметь *весь* полностью ожидаемый функционал..Что мешает скомпиллить последний релиз U-Boot и перезаписать его на NAND средствами старого загрузчика?
Для этого, для начала, старую версию отреверсить придется, ибо никто тебе исходников на платформоспецифичные компоненты не даст.
Очевидно для дуалбута уж точно нужен, а не как сейчас скриптами из каждой операционки подсовывать нужный образ
Приличный списочек. В кои-то веки программы переписывают на C, а не наоборот, и улучшают совместимость, а не наоборот.
Вы правы, это даже удивляет. Сейчас же мода на великую Java-у, всякие GO, RUST-ы и прочую дребедень. Самый мегамоднявый тренд: написать ОС на каком-то из этих платформо-абстрагированных языков. И не важно, нужно это или нет. Главное - ИДЕЯ...
Мамадорогая!...
Сколько процентов объёма в этом пакете занимает сам BootLoader?
> Мамадорогая!...
> Сколько процентов объёма в этом пакете занимает сам BootLoader?Ну так на то он и Grand Unified. Я его очень уважаю, но для своих задач давно переехал на Syslinux - минимум функционала, но зато очень быстрый и простой как три рубля.
оно btrfs умеет?