История изменений
Исправление Xenius, (текущая версия) :
А что нужно для обновления coreboot? Такая же морока как и для его перепрошивки?
При сборке coreboot можно выбрать, будет он блокировать запись в BIOS или нет. Если не заблокирована, то можно из-под самой системы перепрошить.
А то с его компиляцией я не справился, завис на перечне ошибок, по борьбе с которыми руководств не нашёл.
Можно попробовать Libreboot или подобную штуку. Это набор скриптов для упрощения сборки и настройки Coreboot под нужное железо. Если ванильный coreboot не получается собрать, может будет проще с ним.
Но тем не менее, у меня уже установлена очень старая версия coreboot мастером. Что требуется для его обновления?
Собрать из исходников, возможно пересадить какие-то данные из старого биоса, но не обязательно, вроде mac-адреса сетевой карты. Но тут уже по желанию.
Затем прошить на свой ноутбук. Как это сделать вроде выше описывали.
По второму вопросу, я уже отвечал выше.
Надо понимать, что это такое, в процитированном сообщении тут путаница терминологии.
Есть два «стандартных» загрузки ОС на x86 компьютерах. BIOS, существующий в проприетарных реализациях от Phoenix, Award, AMI и свободной SeaBIOS и UEFI, существующий в проприетарных реализациях и в свободной TianoCore. Кроме этого есть «нестандартные» способы загрузки, из которых наиболее популярен GRUB. SeaBIOS, GRUB и TianoCore — это возможные «payload» для Coreboot, то есть дополнительные модули которые запускаются coreboot после того как он произведёт минимальную инициализацию железа.
Кроме того есть множество вариантов таблицы разметки диска. На x86-компьютерах наиболее популярны варианты разметки DOS (иногда называемый MBR) и GPT. Кроме этого есть разметки BSD, IRIX и тд.
Так вот, загрузить систему можно почти с любым сочетанием таблицы разделов и варианта загрузчика. Это независимые сущности, хотя их часто смешивают. Таблица разделов — это собственно структура данных, обычно размещаемая в первых блоках носителя, при этом это чисто софтверная штука.
Классический BIOS равнодушен к таблице разделов полностью, он просто загружает нулевой сектор накопителя по адресу 0x7c00 в оперативной памяти и передаёт управление процессору на этот адрес. Соответственно, с классическим BIOS подойдёт любой вариант разметки, где начало нулевого блока не содержит данных разметки. Можно загрузиться даже вообще без таблицы разделов.
Нулевой блок диска называется MBR (master boot record), и таблица разделов DOS находится в его конце, начиная с 448-го байта, состоит из четырёх записей по 16 байт. Из-за этого таблицу разделов DOS ещё называют таблицей MBR.
Таблица разделов GPT находится в нескольких следующих секторах после нулевого, при этом в нулевом секторе есть ещё и таблица разделов DOS, в которой как правило всего один раздел типа 0xEE. Но можно создать при желании любую комбинацию.
UEFI обычно работает только с разметкой DOS и GPT. Могут быть реализации UEFI, которые с MBR не работают, только с GPT, но я сомневаюсь, что тебе такие попадутся.
UEFI работает по-другому, чем BIOS, он читает таблицу разделов и ищет там раздел типа EFI System, в таблице DOS он имеет идентификатор 0xEF, в таблице GPT какой-то там GUID, который не имеет смысла запоминать, поскольку все программы разметки, поддерживающие GPT его и так знают. Но вообще это C12A7328-F81F-11D2-BA4B-00A0C93EC93B
, если вдруг интересно.
На этом разделе должна быть файловая система FAT32, хотя некоторые реализации UEFI поддерживают и другие файловые системы. Далее, в случае UEFI некоторые настройки загрузки хранятся в самом чипе, но по умолчанию запускается файл EFI/boot/bootx64.efi
или EFI/boot/bootia32.efi
. Если UEFI 64-битный, то первый, если 32-битный (встречается довольно редко, на очень старых маках и старых планшетах с Windows 10), то второй. Но если есть загрузочные записи, то запускается тот файл, который в них прописан, например EFI/Microsoft/Boot/BCD
или что-то вроде. На совсем уж кривых реализациях этот путь может быть захардкожен, но вообще у первого варианта приоритет должен быть.
Надеюсь всё понятно? Весь «дополнительный пердолинг» — это создание в GPT раздела BIOS boot partition, если требуется GRUB, а lilo вроде бы влезает в первый сектор, и ему это не обязательно. Ну и затем установка загрузчика. У разных загрузчиках разные требования, но в любом случае раздел BIOS boot partition не повредит, поскольку он всё равно маленкий и влезает в промежуток между GPT и первым нормальным разделом, начинающимся с сектора 2048 как правило, то есть занимает место, которое обычно пропадает без дела, у меня это сектора от 34 до 2047, например.
Исходная версия Xenius, :
А что нужно для обновления coreboot? Такая же морока как и для его перепрошивки?
При сборке coreboot можно выбрать, будет он блокировать запись в BIOS или нет. Если не заблокирована, то можно из-под самой системы перепрошить.
А то с его компиляцией я не справился, завис на перечне ошибок, по борьбе с которыми руководств не нашёл.
Можно попробовать Libreboot или подобную штуку. Это набор скриптов для упрощения сборки и настройки Coreboot под нужное железо. Если ванильный coreboot не получается собрать, может будет проще с ним.
Но тем не менее, у меня уже установлена очень старая версия coreboot мастером. Что требуется для его обновления?
Собрать из исходников, возможно пересадить какие-то данные из старого биоса, но не обязательно, вроде mac-адреса сетевой карты. Но тут уже по желанию.
Затем прошить на свой ноутбук. Как это сделать вроде выше описывали.
По второму вопросу, я уже отвечал выше.
Надо понимать, что это такое, в процитированном сообщении тут путаница терминологии.
Есть два «стандартных» загрузки ОС на x86 компьютерах. BIOS, существующий в проприетарных реализациях от Phoenix, Award, AMI и свободной SeaBIOS и UEFI, существующий в проприетарных реализациях и в свободной TianoCore. Кроме этого есть «нестандартные» способы загрузки, из которых наиболее популярен GRUB. SeaBIOS, GRUB и TianoCore — это возможные «payload» для Coreboot, то есть дополнительные модули которые запускаются coreboot после того как он произведёт минимальную инициализацию железа.
Кроме того есть множество вариантов таблицы разметки диска. На x86-компьютерах наиболее популярны варианты разметки DOS (иногда называемый MBR) и GPT. Кроме этого есть разметки BSD, IRIX и тд.
Так вот, загрузить систему можно почти с любым сочетанием таблицы разделов и варианта загрузчика. Это независимые сущности, хотя их часто смешивают. Таблица разделов — это собственно структура данных, обычно размещаемая в первых блоках носителя, при этом это чисто софтверная штука.
Классический BIOS равнодушен к таблице разделов полностью, он просто загружает нулевой сектор накопителя по адресу 0x7c00 в оперативной памяти и передаёт управление процессору на этот адрес. Соответственно, с классическим BIOS подойдёт любой вариант разметки, где начало нулевого блока не содержит данных разметки. Можно загрузиться даже вообще без таблицы разделов.
Нулевой блок диска называется MBR (master boot record), и таблица разделов DOS находится в его конце, начиная с 448-го байта, состоит из четырёх записей по 16 байт. Из-за этого таблицу разделов DOS ещё называют таблицей MBR.
Таблица разделов GPT находится в нескольких следующих секторах после нулевого, при этом в нулевом секторе есть ещё и таблица разделов DOS, в которой как правило всего один раздел типа 0xEE. Но можно создать при желании любую комбинацию.
UEFI обычно работает только с разметкой DOS и GPT. Могут быть реализации UEFI, которые с MBR не работают, только с GPT, но я сомневаюсь, что тебе такие попадутся.
UEFI работает по-другому, чем BIOS, он читает таблицу разделов и ищет там раздел типа EFI System, в таблице DOS он имеет идентификатор 0xEF, в таблице GPT какой-то там GUID, который не имеет смысла запоминать, поскольку все программы разметки, поддерживающие GPT его и так знают. Но вообще это C12A7328-F81F-11D2-BA4B-00A0C93EC93B
, если вдруг интересно.
На этом разделе должна быть файловая система FAT32, хотя некоторые реализации UEFI поддерживают и другие файловые системы. Далее, в случае UEFI некоторые настройки загрузки хранятся в самом чипе, но по умолчанию запускается файл EFI/boot/bootx64.efi
или EFI/boot/bootia32.efi
. Если UEFI 64-битный, то первый, если 32-битный (встречается довольно редко, на очень старых маках и старых планшетах с Windows 10), то второй. Но если есть загрузочные записи, то запускается тот файл, который в них прописан, например EFI/Microsoft/Boot/BCD
или что-то вроде. На совсем уж кривых реализациях этот путь может быть захардкожен, но вообще у первого варианта приоритет должен быть.
Надеюсь всё понятно? Весь «дополнительный пердолинг» — это создание в GPT раздела BIOS boot partition, если требуется GRUB, а lilo вроде бы влезает в первый сектор, и ему это не обязательно. Ну и затем установка загрузчика. У разных загрузчиках разные требования, но в любом случае раздел BIOS boot partition не повредит, поскольку он всё равно маленкий и влезает в промежуток между GPT и первым нормальным разделом, начинающимся с сектора 2048 как правило.