caine's place

Мой угол в интернете

Изготовление загрузочной флешки с эмулятором EFI - DUET

В прошлом посте я описал возможность загрузки в режиме EFI для плат Intel со встроенным (хоть и хорошо замаскированным) “аппаратным” EFI. Теперь как же быть всем остальным, не имеющим “счастья” обладать интеловской материнкой? Тут все чуть сложнее, но выход также есть: существует эмулятор, практически полностью реализующий все функции efi на текущем железе - DUET. Скачать исходники его можно здесь (нужно зарегистрироваться), но для их сборки понадобится windows и visual studio 2005 (2008). Для сборки x64-файлов необходимо при установке Visual Studio 2005/2008 поставить галку “x64 compiler support” (или как-то так, точно не помню) в выборе опций. VS2003 не умеет собирать x64-файлы.

Как собирать?

  • Качаем релиз edk по вышеупомянутой ссылке и распаковываем его в c :\edk.
  • Ищем в интернете masm 6.15 (ссылок полно) и тоже распаковываем его, скажем, в c:\masm615
  • Создаем в папке c:\edk файлик env.cmd следующего содержания:
1
2
3
4
call "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
set EDK_SOURCE=c:\edk
set MASMPATH=c:\masm615
set EFI_BOOT_DISK=E:

скорректируйте пути, соответственно вашим.

  • редактируем файл c:\Edk\Sample\Platform\DUET\Build\config.env, дабы измнить в нем следующие строки:
1
2
3
EFI_BUILD_TARGET_X64           = YES
USE_VC8                        = YES
USE_VC8_X64                    = YES
  • редактируем файл c:\Edk\Sample\Platform\DUET\Build\duet.env, если хотим убрать/добавить какие-либо efi-фичи.

  • запускаем консоль (cmd.exe) и в ней:

1
2
3
c:\edk\env.cmd
cd c:\Edk\Sample\Platform\DUET\
nmake uefi64 (или uefi32)

сборка может занять продолжительное время.

  • готовим флешку: у меня она прописана в env.cmd как диск E:. Внимание: на флешине должна присутствовать mbr (т.е. она должна быть загрузочной, сделать ее такой можно с помощью, например, программки flashboot).
1
2
cd uefi64  (или uefi32)
nmake createusb

перевтыкните флешку и:

1
nmake usb
  • Готово, можно загружаться! С помощью этой флешки каждый теперь может получить вполне работающую систему с efi на любой плате!

Коментарии