dadv: (Default)

Долгая история проблемы совместимости бутменеджера FreeBSD по имени BootEasy (или проще boot0) получила логическое завершение (на текущем этапе ;-)

Больше четырех лет назад напоролся на то, что WinXP иногда (зависит от дисковой конфигурации системы) не может загрузиться, если в MBR установлен сторонний бутменеджер, потому что XP ищет там свою 4-байтную "метку", которую она туда прописывает при установке. По результатам обсуждения сделал патч на BootEasy (тогда от FreeBSD 4), который делал его и системные утилиты FreeBSD совместимыми с этой виндовой меткой. Патч в том же обсуждении опубликовал и долгое время нормально жил с патченным загрузчиком, благо обновлять его в MBR после однократной установки не требуется.

В 2006-м обновил патч для BootEasy от FreeBSD 6.1, чтобы опять же подружить его с WinXP в особой дисковой конфигурации.

В январе этого года обнаружил, что BootEasy с Vista не совместим вообще, в любых конфигурациях - Vista без своей метки не грузится безусловно, в отличие от XP, которой метка нужна не всегда. Обновил патч опять, теперь уже для BootEasy от семерки. Попутно обнаружив, что какой-то австралиец нашел мой код и засамбитил его в PR: bin/127764. Откуда его подобрал luigi@ и со своими редакторскими изменениями прокоммитил его сначала в CURRENT, а потом и в RELENG_7.

И вот сегодня вышла FreeBSD 7.2-RELEASE, где в Release Notes объявлено, что "The boot(8) now supports 4-byte volume ID that certain versions of Windows® put into the MBR and invoking PXE by pressing F6 key on some supported BIOSes."

К поддержке PXE отношения никакого не имею, а вот что больше не надо будет патчить загрузчик - приятно.

Update: В 7.2-RELEASE код загрузчика, обеспечивающий совместимость, по умолчанию не вкомпилирован. Загрузчик необходимо пересобирать в режиме совместимости. В 8.0-RELEASE уже всё работает по умолчанию.

Profile

dadv: (Default)
Choose your future

June 2017

M T W T F S S
   1234
56 7891011
12131415161718
19202122232425
2627282930  

Syndicate

RSS Atom

Tags

Style Credit

Powered by Dreamwidth Studios