LINUX.ORG.RU

История изменений

Исправление 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 ?

%) %)