@Sebastian-Roth said in Lenovo 300e ipxe boots ok but ipxe.efi can't resolve the system:
@mjaskowski Ok, now we are on the right track!! Well done. Can you post the modified part of your eboot.c file here so we know where exactly you added the “Text output” prints.
struct desc_ptr *gdt = NULL;
efi_printk(sys_table, "Text output\n");
efi_loaded_image_t *image;
efi_printk(sys_table, "Text output\n");
struct setup_header *hdr = &boot_params->hdr;
efi_printk(sys_table, "Text output\n");
efi_status_t status;
efi_printk(sys_table, "Text output\n");
struct desc_struct *desc;
efi_printk(sys_table, "Text output\n");
void *handle;
efi_system_table_t *_table;
unsigned long cmdline_paddr;
efi_printk(sys_table, "Text output\n");
efi_early = c;
_table = (efi_system_table_t *)(unsigned long)efi_early->table;
handle = (void *)(unsigned long)efi_early->image_handle;
efi_printk(sys_table, "Text output\n");
sys_table = _table;
/* Check if we were booted by the EFI firmware */
if (sys_table->hdr.signature != EFI_SYSTEM_TABLE_SIGNATURE)
goto fail;
efi_printk(sys_table, "Text output\n");
if (efi_is_64bit())
setup_boot_services64(efi_early);
else
setup_boot_services32(efi_early);
efi_printk(sys_table, "Text output\n");
/*
* make_boot_params() may have been called before efi_main(), in which
* case this is the second time we parse the cmdline. This is ok,
* parsing the cmdline multiple times does not have side-effects.
*/
cmdline_paddr = ((u64)hdr->cmd_line_ptr |
((u64)boot_params->ext_cmd_line_ptr << 32));
efi_parse_options((char *)cmdline_paddr);
efi_printk(sys_table, "Text output\n");
/*
* If the boot loader gave us a value for secure_boot then we use that,
* otherwise we ask the BIOS.
*/
if (boot_params->secure_boot == efi_secureboot_mode_unset)
boot_params->secure_boot = efi_get_secureboot(sys_table);
efi_printk(sys_table, "Text output\n");
/* Ask the firmware to clear memory on unclean shutdown */
efi_enable_reset_attack_mitigation(sys_table);
efi_retrieve_tpm2_eventlog(sys_table);
efi_printk(sys_table, "Text output\n");
setup_graphics(boot_params);
efi_printk(sys_table, "Text output\n");
setup_efi_pci(boot_params);
efi_printk(sys_table, "Text output\n");
setup_quirks(boot_params);
efi_printk(sys_table, "Text output\n");
efi_printk(sys_table, "Text output\n");
if (status != EFI_SUCCESS) {
efi_printk(sys_table, "efi_relocate_kernel() failed!\n");
goto fail;
}
efi_printk(sys_table, "Text output\n");