PD: el installer de wifislax necesitará un rework profundo. va a sufrir una regresión severa.
Eso ya me lo estaba temiendo... No se cuando fue la última vez que curioseaste la iso, aunque es probable que tu recuerdes por que algunas cosas están ahi. Pero yo aún no le he encontrado las instrucciones, es como buscar el tesoro sin mapa.
documenté todo lo que pude de los devel scripts y del sistema de arranque en un repositorio, que es lo que usa actualmente usuarionuevo, pero la parte del installer nunca la toqué personalmente; no sé desarrollar scripts K.
el problema viene dado por grub, como ya podrás imaginar. aunque el kernel proporcione a grub la capacidad de reconocer las tablas de partición GPT, el mbr no tiene efecto en una UEFI, y la única manera de acondicionar un PC para que arranque wifislax es copiando un cargador de arranque en forma de aplicacion .EFI a la partición EFISYS del sistema, y luego tienes que establecer una entrada de boot en la UEFI usando efibootmgr.
lista de los módulos syslinux generados en una compilación exclusiva para efi32:
alex@engetsu:~/syslinux_6/efi32$ find . -name "*.c32"
./com32/cmenu/display.c32
./com32/cmenu/simple.c32
./com32/cmenu/complex.c32
./com32/cmenu/libmenu/libmenu.c32
./com32/cmenu/test2.c32
./com32/cmenu/test.c32
./com32/hdt/hdt.c32
./com32/gfxboot/gfxboot.c32
./com32/mboot/mboot.c32
./com32/sysdump/sysdump.c32
./com32/lua/src/lua.c32
./com32/lua/src/liblua.c32
./com32/menu/menu.c32
./com32/menu/vesamenu.c32
./com32/lib/libcom32.c32
./com32/chain/chain.c32
./com32/samples/keytest.c32
./com32/samples/advdump.c32
./com32/samples/entrydump.c32
./com32/samples/serialinfo.c32
./com32/samples/fancyhello.c32
./com32/samples/localboot.c32
./com32/samples/resolv.c32
./com32/samples/hello.c32
./com32/modules/kontron_wdt.c32
./com32/modules/vesainfo.c32
./com32/modules/pmload.c32
./com32/modules/cptime.c32
./com32/modules/vpdtest.c32
./com32/modules/pxechn.c32
./com32/modules/ethersel.c32
./com32/modules/cat.c32
./com32/modules/zzjson.c32
./com32/modules/prdhcp.c32
./com32/modules/ifplop.c32
./com32/modules/cpuid.c32
./com32/modules/ifcpu64.c32
./com32/modules/cmd.c32
./com32/modules/host.c32
./com32/modules/reboot.c32
./com32/modules/poweroff.c32
./com32/modules/hexdump.c32
./com32/modules/sanboot.c32
./com32/modules/kbdmap.c32
./com32/modules/elf.c32
./com32/modules/whichsys.c32
./com32/modules/ifmemdsk.c32
./com32/modules/pcitest.c32
./com32/modules/sdi.c32
./com32/modules/disk.c32
./com32/modules/config.c32
./com32/modules/meminfo.c32
./com32/modules/dmitest.c32
./com32/modules/ifcpu.c32
./com32/modules/gpxecmd.c32
./com32/modules/ls.c32
./com32/modules/cpuidtest.c32
./com32/modules/linux.c32
./com32/modules/pwd.c32
./com32/libutil/libutil.c32
./com32/rosh/rosh.c32
./com32/gpllib/libgpl.c32
cotejamiento contra los módulos actualmente presentes en wifislax (carpeta boot)
alex@engetsu:~/syslinux_6/efi32$ find /media/wifislax/ -name "*.c32"
/media/wifislax/boot/keyboard_map/kbdmap.c32
/media/wifislax/boot/system_tools/chain.c32
/media/wifislax/boot/system_tools/hdt.c32
/media/wifislax/boot/system_tools/p/chain.c32
/media/wifislax/boot/system_tools/reboot.c32
/media/wifislax/boot/system_tools/vesamenu.c32
Syslinux variants booting (U)EFI firmware also require at least two files; the syslinux.efi boot loader (from the respective efi32 or efi64 directories), and the respective ldlinux module: ldlinux.e32 for EFI IA32, ldlinux.e64 for EFI X64.
Since version 5.00, some c32 modules need additional files (libraries) so to work correctly.
This might sound as an unnecessary complication for users already used to the "stand alone" ways, but it will eventually allow to add new features that are otherwise not possible or more difficult to achieve.
Since version 5.00, all Syslinux variants require an additional module, ldlinux, to be loaded too. Specifically, ldlinux.c32 (BIOS), ldlinux.e32 (EFI IA32) or ldlinux.e64 (EFI X64). Note that EFI is supported since Syslinux 6.00.
Syslinux ".c32" modules now depend on library modules such as libcom32.c32, libgpl.c32, liblua.c32, libmenu.c32, libutil.c32.
Since Syslinux 6.00, there are respective binary files (e.g. boot loaders, Syslinux modules) under respective bios, efi32, efi64 directories.
por tanto, si sumamos los modulos syslinux c32 que usaba wifislax tradicionalmente junto con los modulos nuevos que actuan como biblioteca y que aportan funciones que antes estaban incrustadas estáticamente dentro del bootloader, tenemos la siguiente lista:
alex@engetsu:~/efi32boot/modules$ ls
chain.c32 kbdmap.c32 libgpl.c32 libmenu.c32 reboot.c32
hdt.c32 libcom32.c32 liblua.c32 libutil.c32 vesamenu.c32
In case the necessary library modules (lib*.c32) are added and the relevant c32 module fails anyway, please look for more information regarding the
PATH directive (also introduced in version 5.00), about the location where the lib*.c32 files are searched for in the boot device.
The variants that do not have an "installation" directory (ISOLINUX,
PXELINUX) do operate slightly differently in that there's a list of
directories in which we search for ldlinux.c32, e.g.
static const char *search_directories[] = {
"/boot/isolinux",
"/isolinux",
"/boot/syslinux",
"/syslinux",
"/",
NULL
};
But for all variants, wherever we find ldlinux.c32, that's used as the
initial PATH string.
--
Matt Fleming, Intel Open Source Technology Center
According to UEFI 2 specifications, the default bootloader location is `[EFI System Partition]\EFI\BOOT\BOOTx64.EFI' for 64bit systems (and `[EFI System Partition]\EFI\BOOT\BOOTIA32.EFI' for 32bit systems).