setdbg.c 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #include <efi.h>
  2. #include <efilib.h>
  3. EFI_GUID GRUB_EFI_GRUB_VARIABLE_GUID = {0x91376aff,0xcba6,0x42be,{0x94,0x9d,0x06,0xfd,0xe8,0x11,0x28,0xe8}};
  4. EFI_GUID SHIM_GUID = {0x605dab50,0xe046,0x4300,{0xab,0xb6,0x3d,0xd8,0x10,0xdd,0x8b,0x23}};
  5. char grubenv[] = "# GRUB Environment Block\n\
  6. debug=tcp,http,net\n\
  7. ####################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################";
  8. EFI_STATUS
  9. efi_main (EFI_HANDLE image, EFI_SYSTEM_TABLE *systab)
  10. {
  11. EFI_STATUS status;
  12. InitializeLib(image, systab);
  13. #if 0
  14. UINT8 data = 1;
  15. status = RT->SetVariable(L"SHIM_DEBUG", &SHIM_GUID,
  16. EFI_VARIABLE_NON_VOLATILE |
  17. EFI_VARIABLE_BOOTSERVICE_ACCESS |
  18. EFI_VARIABLE_RUNTIME_ACCESS,
  19. sizeof(data), &data);
  20. if (EFI_ERROR(status))
  21. Print(L"SetVariable failed: %r\n", status);
  22. #endif
  23. status = RT->SetVariable(L"GRUB_ENV", &SHIM_GUID,
  24. EFI_VARIABLE_NON_VOLATILE |
  25. EFI_VARIABLE_BOOTSERVICE_ACCESS |
  26. EFI_VARIABLE_RUNTIME_ACCESS,
  27. sizeof(grubenv)-1, grubenv);
  28. if (EFI_ERROR(status))
  29. Print(L"SetVariable(GRUB_ENV) failed: %r\n", status);
  30. return EFI_SUCCESS;
  31. }