История изменений
Исправление user_id_68054, (текущая версия) :
суть такая:
UEFI-переменная «MokAuth» должна быть выставленна в некое-нужное значение — ещё *ДО* запуска программы «MokManager»...
...и даже ДО запуска самой (более главной) программы «shim»!
вот фрагмент начального кода shim.c [ https://github.com/rhinstaller/shim/blob/0.8/shim.c#L1772 ] :
/*
* If the OS has set any of these variables we need to drop into MOK and
* handle them appropriately
*/
EFI_STATUS check_mok_request(EFI_HANDLE image_handle)
{
EFI_STATUS efi_status;
if (check_var(L"MokNew") || check_var(L"MokSB") ||
check_var(L"MokPW") || check_var(L"MokAuth") ||
check_var(L"MokDel") || check_var(L"MokDB")) {
efi_status = start_image(image_handle, MOK_MANAGER);
if (efi_status != EFI_SUCCESS) {
perror(L"Failed to start MokManager: %r\n", efi_status);
return efi_status;
}
}
return EFI_SUCCESS;
}
но остаётся не совсем ясно следущее:
правильно ли я понимаю что эти переменные нужно инициализировать через:
«/sys/firmware/efi/efivars/» (файловая система «efivarfs» )
в *уже* успешно загруженной операционной системе.
или же я должен как-то инициализировать эти переменные в момент ДО загрузки «shim»? :) через UEFI Shell ?
%) %)
Исходная версия user_id_68054, :
вообщем частично разрбоался!
суть такая:
UEFI-переменная «MokAuth» должна быть выставленна в некое-нужное значение — ещё *ДО* запуска программы «MokManager»...
...и даже ДО запуска самой (более главной) программы «shim»!
вот [url=]фрагмент начального кода из исходного кода shim.c [ https://github.com/rhinstaller/shim/blob/0.8/shim.c#L1772 ] :
/*
* If the OS has set any of these variables we need to drop into MOK and
* handle them appropriately
*/
EFI_STATUS check_mok_request(EFI_HANDLE image_handle)
{
EFI_STATUS efi_status;
if (check_var(L"MokNew") || check_var(L"MokSB") ||
check_var(L"MokPW") || check_var(L"MokAuth") ||
check_var(L"MokDel") || check_var(L"MokDB")) {
efi_status = start_image(image_handle, MOK_MANAGER);
if (efi_status != EFI_SUCCESS) {
perror(L"Failed to start MokManager: %r\n", efi_status);
return efi_status;
}
}
return EFI_SUCCESS;
}
остаётся не совсем ясно следущее: правильно ли я понимаю что эти переменные нужно инициализировать через:
«/sys/firmware/efi/efivars/» (файловая система «efivarfs» )
в *уже* успешно загруженной операционной системе.
или же я должен как-то инициализировать эти переменные в момент ДО загрузки «shim»? :) через UEFI Shell ?
%) %)