Среда:
- Buildroot 2024.02.9
- GRUB 2.06
- Цель: x86_64 гибридный ISO (BIOS + EFI)
Моя конфигурация:
В Buildroot defconfig:Мой сценарий после сборки создает этот grub.cfg:Код: Выделить всё
BR2_TARGET_GRUB2=y BR2_TARGET_GRUB2_I386_PC=y BR2_TARGET_GRUB2_X86_64_EFI=y BR2_TARGET_GRUB2_BOOT_PARTITION="cd0" BR2_TARGET_GRUB2_BUILTIN_MODULES_PC="boot linux ext2 fat squash4 part_msdos part_gpt normal biosdisk iso9660 search search_fs_file search_fs_uuid search_label" BR2_TARGET_GRUB2_BUILTIN_CONFIG_PC="" BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop iso9660 search search_fs_file search_fs_uuid search_label" BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="" BR2_TARGET_ROOTFS_ISO9660=y BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="$(BR2_EXTERNAL_PPPWN_LIVE_PATH)/board/pppwn/grub.cfg"Что я пробовал:Код: Выделить всё
set default="0" set timeout="5" if [ "${grub_platform}" = "efi" ]; then set prefix=(cd0)/boot/grub menuentry "PPPwnLive" { linux (cd0)/boot/bzImage root=/dev/ram0 console=tty1 initrd (cd0)/boot/initrd } else set prefix=(cd)/boot/grub menuentry "PPPwnLive" { linux (cd)/boot/bzImage root=/dev/ram0 console=tty1 initrd (cd)/boot/initrd } fi- Различные пути к устройствам (cd0, cd, hd0)
- Добавление модулей GRUB (iso9660, part_msdos, part_gpt и т. д.)
- Установка разных значений загрузочного раздела
- Явное включение всего необходимого Модули GRUB во встроенной конфигурации
Фактическое поведение:- И BIOS, и загрузка EFI переходят в аварийную оболочку GRUB.
- В аварийной оболочке ls показывает устройства, но не могу найти конфигурацию
- Нет сообщений об ошибках, просто открывается подсказка о восстановлении
- неверным именем/путями устройства.
- отсутствием важных модулей GRUB.
- Неверные настройки префикса.
- Неправильная настройка встроенных модулей/конфигурации в Buildroot.
Подробнее здесь: https://stackoverflow.com/questions/793 ... o-bios-efi