LINUX.ORG.RU

Вышел GRUB 1.99

 ,


0

1

Сегодня было объявлено о выходе GRUB 1.99. Скорее всего, это будет последняя экспериментальная версия на пути к стабильному выпуску 2.0, о чем сигнализирует факт переезда проекта c сервера http://alpha.gnu.org на ftp://ftp.gnu.org. Исходный код проекта теперь, соответственно, доступен по адресу ftp://ftp.gnu.org/gnu/grub/

Наиболее интересные изменения:

  • Официальная поддержка загрузки с файловой системы ZFS. Как известно, GRUB лицензирован под GPLv2, несовместимой с лицензией CDDL, под которой распространяется код ZFS. Тем не менее, компания Oracle поставляет базовый код для чтения ZFS-раздела в составе измененной версии GRUB, используемой в ОС Solaris, приняв таким образом условия лицензии GPL (GRUB, распространяется под GPL, соответственно, его модификации тоже наследуют эту лицензию). Именно этот код и был импортирован в GRUB 1.99.
  • Поддержка файловых систем BtrFS и NILFS2. Исправлена ошибка при чтении каталогов reiserfs.
  • Поддержка устройств DM-RAID.
  • Поддержка в MIPS multiboot2 таблиц разделов sunpc.
  • Поддержка изменения раскладки клавиатуры, двунаправленного текста и диакритических знаков.
  • Завершить работу загрузчика теперь можно средствами ACPI.
  • Новые команды: lsacpi и sendkey (i386), cmostest (i386/x86_64), lsefisystab, lssal, lsefimmap (EFI).
  • Упрощена процедура генерации PXE-образов. Добавлена утилита grub-mknetdir, генерирующая каталоговую структуру для сетевой загрузки.
  • Команда grub-mkconfig теперь поддерживает Xen, образы initrd Fedora 13 и NetBSD. Также с помощью grub-mkconfig теперь можно установить фоновое изображение загрузочного меню.
  • Добавлена возможность адресации памяти ниже 16 Мб и выше 3 Гб в i386-qemu.
  • Появилась поддержка горячего подключения/отключения USB-устройств, USB-хабов, и USB-эмуляторов последовательного порта.
  • Команда grub-mkrescue теперь использует GNU xorriso для создания CD-образов вместо grub-mkisofs. Устройство CD-ROM теперь именуются «cd».
  • Теперь загрузчик может быть установлен во вложенный раздел (например, BSD-раздел). Предпочтительный способ указания вложенных разделов теперь выглядит так: (hd0,msdos1,bsd1), а не (hd0,1,a).
  • Во встроенный скриптовый язык GRUB добавлены следующие языковые конструкции: for, while, until, elif, break, continue, shift, return, маски файлов, регулярные выражения, параметры функций, позиционные параметры в setparams.
  • Добавлен новый скрипт с реализацией автодополнения в стиле bash.
  • Возможность использования GRUB в качестве прошивки в Yeeloong, полностью свободном нетбуке на базе MIPS-совместимого процессора Loongson-2F.
  • Добавлен парсер для файлов конфигурации устаревших версий GRUB.
  • Реализованы фильтры для прозрачной распаковки.
  • Поддержка мета-данных mdadm 1.x.
  • Поддержка горячих клавиш в меню.
  • Ну и много других изменений, не приведённых краткости ради.

GRUB поддерживает широкий спектр платформ, включая обычные ПК с BIOS, платформы IEEE-1275 (OLPC и оборудование на базе PowerPC/Sparc64), EFI-системы и устройства, использующие свободный пакет CoreBoot (LinuxBIOS). Из ранее реализованных в рамках проекта Grub2 улучшений, можно отметить: использование нового загрузчика Multiboot2; поддержку выполнения скриптов; динамическую загрузку модулей; доступ к файлам на ФС NTFS, Reiserfs, EXT4, AFS, UDF, RAID 4/6/10 и данным внутри cpio/tar архивов; создание графических меню с интегрированными виджетами; вывод локализованного текста в отличных от ASCII кодировках; использование шифрованных паролей; поддержку загрузки ядра FreeBSD, NetBSD, OpenBSD и MacOS X (XNU).

>>> Подробности

★★

Проверено: post-factum ()
Последнее исправление: post-factum (всего исправлений: 5)

>компания Oracle поставляет базовый код для чтения ZFS-раздела в составе измененной версии GRUB, используемой в ОС Solaris, приняв таким образом условия лицензии GPL

Что это? Это то, о чём я подумал?

adepto
()
Ответ на: комментарий от adepto

Базовый код: прочитать Фс, найти ядро, загрузить в память. Никаких дополнительных фичей типа дедупликации и т.д.

Dorif ★★
() автор топика

Как известно, GRUB лицензирован под GPLv2 ... (GRUB, распространяется под GPL, соответственно, его модификации тоже наследуют эту лицензию)

Спасибо, что повторил для Ъ :)

leave ★★★★★
()

Поддержка файловых систем BtrFS
/boot теперь может быть на BtrFS?
> Во встроенный скриптовый язык GRUB добавлены следующие языковые конструкции: for, while, until, elif, break, continue, shift, return, маски файлов, регулярные выражения, параметры функций, позиционные параметры в setparams.
Ъ!

RussianNeuroMancer ★★★★★
()

GRUB - это вещь в себе. И как следствие - абсолютно непредсказуемая. Никогда нельзя точно сказать, как он встанет, как он обновится, как и когда он сломается и сможешь ли ты его починить. Не люблю подобные вещи: Windows, 1C, Delphi, GRUB - и стараюсь не быть обязанным работать с ними.

Nebuchadnezzar ★★★★
()

> Во встроенный скриптовый язык GRUB добавлены следующие языковые конструкции: for, while, until, elif, break, continue, shift, return, маски файлов, регулярные выражения,

Осталось завести собственный формат исполняемых файлов и получим свою операционную систему.

JustGuest
()
Ответ на: комментарий от JustGuest

(вспоминая дос) Интересно, а на дискетку оно влезет?

JustGuest
()

Осталось встроить туда браузер и линукс станет не нужен.

true_admin ★★★★★
()

GRUB2 - это пока единственная вещь в линуксе, в которую я, после всех отчаянных попыткок, абсолютно не вдупляю. Вообще. Я ничего не могу с ним сделать тем образом, которым это предполагается делать по мнению его разработчиков, даже тупо добавить нужный пункт в меню. По-моему, это звездец.
Плюс, GRUB2 в убунте и Арче отличаются по организации, похоже, не меньше, чем пакетные менеджеры.
В общем, толи лыжи не едут... Может, кто знает руководство по GRUB2, после прочтения которого я не буду чувствовать себя идиотом?

Axon ★★★★★
()
Ответ на: комментарий от Nebuchadnezzar

> GRUB - это вещь в себе. И как следствие - абсолютно непредсказуемая.

GRUB, приготовленный в debian'е меня ещё ни разу не подводил при обновлении.

ZhAN ★★
()
Ответ на: комментарий от Axon

wiki.archlinux.org[\url] :) а вообще из выхаживаний вокруг нового груба я вынес мысль, что оно хавает старый конфиг толи с минимальными, толи вообще без изменений, так что всё в порядке

OldWiseCat ★★
()

Среди действительно хорошего ГНУсного софта был замечательный загрузчик GRUB 1. Возможно, лучший загрузчик из когда-либо написанных. Потом до него дотянулись шаловливые ручки велосипедистов и превратили его в тяжёлое, ненадёжное, непредсказуемое дерьмо под названием GRUB 2.

Oleaster ★★★
()
Ответ на: Шел 2020 год от elverion

tar наносит ответный удар

Ждём встроенного редактора векторной графики.

Manhunt ★★★★★
()

Ну что за фигня, на dm-raid, несмотря на с помпой объявленную поддержку он не ставится, заявляя что core.img слишком велик для встраивания.
Причём 1.99-rc1, который я и использовал как раз потому что все более ранние версии не работали с dm-raid - прекрасно всё встраивал.
Недовольные уже понаклепали багрепорты, и даже получили классный совет от добрейшей команды разработчиков - нужно оказывается оставит 1 мегабайт неразмеченного диска в начале, перед всеми разделами, тогда типа окей будет. Спасибо, офигенный совет! Лучше я вернусь на 1.99-rc1, который грузится без этих приколов, а больше от него ничего и не надо.

anonymous
()

smallcms@#linux

долбаные извращенцы! это же всего лишь загрузчик!

И почему-то я с ним согласен!

hired777
()

А ведь у нас же монолитное ядро. Давайте интегрируем прямо в него загрузчик. Такое даже уже было, ядро могло грузиться напрямую с дискетки, если его туда залить с помощью dd.

PolarFox ★★★★★
()
Ответ на: комментарий от lucentcode

>Величайший из загрузчиков обновился!

Угу. По размерам его не переплюнуть.

devl547 ★★★★★
()
Ответ на: комментарий от Dorif

>Толсто же. Есть же куча людей, юзающих эти фичи.

Во первых, ни одного. Эти фичи только добавили. Во вторых, еть раздельчик /boot на кошерной ext2 или ext3, а все остальное не грубьего ума дело.

И самое главное, если в загрузчике потебовались циклы, то это уже неправильный загрузчик.

AVL2 ★★★★★
()
Ответ на: комментарий от OldWiseCat

wiki.archlinux.org

С неё я начал. Раньше там вообще сначала писали, что ни в коем случае не надо вручную редактировать grub.cfg, а потом описывали, как это делать. Нет, этот способ работает, но именно так, по идее, делать нельзя. И в той же убунте такое не прокатывает. А теперь там просто обрывочная информация, по кототорой у меня ничего не получилось. К слову, до этого АрчВики меня ни разу не подводила.

Axon ★★★★★
()
Ответ на: комментарий от elverion

>Я надеюсь что в нём найдется неисправимая ошибка на уровне дизайна и оно шумно рипнется.

оно шумно рипнется.

Скорее, как это всегда происходит, будут делать десятки тысяч костылей и подпорок, говоря, что это фича :)

drakmail ★★★★
()
Ответ на: комментарий от Axon

Посмотрел ещё раз. Опять выпилили всё, кроме ручной правки grub.cfg. Про использование grub-mkconfig вообще ровно одна строчка. Мда.

Axon ★★★★★
()
Ответ на: комментарий от AVL2

Во- первых: люди не только релизной версией пользовались, релиз- кандидаты тоже юзались. И в диструбутивных загрузчиках это же с помощью патчей реализовывали. Во- вторых: у многих /boot на / расположен. А там не всегда екст.

Dorif ★★
() автор топика

> Поддержка изменения раскладки клавиатуры, двунаправленного текста и диакритических знаков.

Очень полезная штука в загрузчике, да.

Расширенное форматирование не намечается ещё?

Во встроенный скриптовый язык GRUB добавлены следующие языковые конструкции: for, while, until, elif, break, continue, shift, return, маски файлов, регулярные выражения, параметры функций, позиционные параметры в setparams.

Это вообще ужас.

Около года назад пробовал GRUB2. Но увидев этого монстра, для элементарной настройки которого нужно писать скрипты, перелопачивать конфиги и запускать какие-то дополнительные утилиты, сразу же удалил и вернул на место GRUB1, который действительно является загрузчиком.

bloodredfrog ★★
()
Ответ на: комментарий от bloodredfrog

Установить груб как обычно, потом grub-mkconfig и потом любым текстовым редактором конфиг подредактировать уже никак, да? Где здесь скриптописание? Если бы ты ставил первогруб с нуля- тебе бы тоже это понадобилось бы сделать.

Dorif ★★
() автор топика
Ответ на: комментарий от ZhAN

>GRUB, приготовленный в debian'е меня ещё ни разу не подводил при обновлении

Значит повезло. А у меня банально не хватило места в MBR при обновлении до 2-ой версии. В следующий раз Груб сдох из-за моих кривых рук и я не смог его восстановить с помощью встроеных средств, после двух дней безуспешного чтения манов и вики разных дистрибутивов я поставил lilo и больше не морочил себе голову этой фигнёй.

Nebuchadnezzar ★★★★
()
Ответ на: комментарий от Dorif

корень расово верно держать на lvm или/и софтраиде вместе со всеми служебными разделами. А бутовый раздел можно держать один на все системы, если их несколько.

А там не всегда екст.

Сами себе злобные буратины. Так им и нада.

AVL2 ★★★★★
()
Ответ на: комментарий от Dorif

> любым текстовым редактором конфиг подредактировать

Какой из конфигов? Про главный конфигурационный файл неоднократно читал, что редактировать его вручную нельзя. Его генерирует сам grub. И все внесённые изменения всё равно при обновлении потрёт.

Где здесь скриптописание?

«Во встроенный скриптовый язык GRUB добавлены следующие…»

Если бы ты ставил первогруб с нуля- тебе бы тоже это понадобилось бы сделать.

А как его ещё можно поставить, если не с нуля? Я его с нуля неоднократно ставил. И вся настройка — это открыть один единственный файл, написать название пункта(ов) меню и к ней пару строчек. И всё, можно забыть о загрузчике навсегда. С сабжем так сделать нельзя. Единственный вариант его использования — осилить единожды его настройку, после чего добавит пакет в список игнорируемых при обновлении.

bloodredfrog ★★
()
Ответ на: комментарий от bloodredfrog

Описанное вами- это не «ставить». это «конфигурять». А «ставится» он через те же скрипты, что и во втором грубе, только если вы с Убунты- они выполнялись автоматически, а вы попытались обновить груб по инструкциям каноникал и почему- то сочли это сложным.Так ведь? Наличие скриптового языка, кстати не предполагает его всенепременное использование.) Да, файл /boot/grub/grub.conf создаёт груб. но он не трёт сделанные там изменения. А /boot/menu.lst- это симлинк на /boot/grub/grub.cfg, сделанный для простоты обычных юзеров(хотя обычные юзеры туда всё равно не полезут).

Dorif ★★
() автор топика

Сколько интересных изменений, девелоперы молодцы :)

f1xmAn ★★★★★
()
Ответ на: комментарий от Nebuchadnezzar

> Значит повезло.

Там при обновлении работал следующий механизм: второй груб ставился отдельным пакетом. При загрузке стартовал первый и предлагал либо запустить систему напрямую, либо — второй груб для проверки. Уже после проверки можно было подменить их какой-то командой.

В общем для меня это произошло прозрачно и безболезнено.

ЗЫ Правда насчёт «ни разу» я слукавил. Когда сидел на нестабильной ветке, тогда ещё первый груб меня подвёл и не стартанул. Вылечилось, правда, быстро rescue-mod'ом.

ZhAN ★★
()
Ответ на: комментарий от lucentcode

А что, grub 1 не работает с «современными ОС»? Ему что-то мешает, кроме тупизны разработчиков, выкидывающих его из репозиториев? LVM вообще требуется менее чем на одном проценте компов. Это вообще не аругмент.

Oleaster ★★★
()

Загрузчик должен быть надёжным, а при такой сложности я просто не представляю себе количество усилий разработчиков, после которых он станет надёжным

argin ★★★★★
()
Ответ на: комментарий от Dorif

Хватит болтать чепухой. Достаточно сравнить инструкцию «что делать, если я снёс MBR» для первого груба (три строки) и для второго (три страницы).

Oleaster ★★★
()
Ответ на: комментарий от argin

Учитывая, что его усердно продолжают усложнять, ответ — НИКОГДА.

Oleaster ★★★
()

> Завершить работу загрузчика теперь можно средствами ACPI.

ГРУБ всё ближе и ближе подходит к званию операционной системы...

Да. Я уже знаю, что я далеко не первый, кто оставил это здесь.

hobbit ★★★★★
()
Ответ на: комментарий от Dorif

> Описанное вами- это не «ставить». это «конфигурять».

Так я, собственно, про конфигурирование и говорил. Установить его я, видимо, осилил, раз уж говорил о настройке. :)

если вы с Убунты- они выполнялись автоматически, а вы попытались обновить груб по инструкциям каноникал и почему- то сочли это сложным.Так ведь?

Нет, я с арча. Ставил новый GRUB из любопытства. И счёл это попросту избыточным. Я честно не понимаю, зачем это всё в загрузчике. И зачем нужна такая, скажем, нетривиальная настройка чего-то, что я вижу пару раз в месяц по две секунды каждый раз. Для подавляющего большинства случаев возможностей первой версии достаточно.

А /boot/menu.lst- это симлинк на /boot/grub/grub.cfg, сделанный для простоты обычных юзеров(хотя обычные юзеры туда всё равно не полезут).

Это во втором? Довольно странное решение. Всё равно ведь синтаксис этого конфигурационного файла не имеет ничего общего с синтаксисом menu.lst от старого grub'а.

bloodredfrog ★★
()

Вопрос с холодного севера:
-А поддержку DNS там сделали?
Ещё в первом грубе такая идея напращивалась.

anonymous
()

>Поддержка горячих клавиш в меню.

Как же мы раньше то, а…

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.