On Wed, Jul 5, 2017 at 12:07 PM, Michael Brown <[email protected]> wrote: > On 05/07/17 10:27, dangdehua wrote: >> >> Recently came across this problem: the resolution is not valid in OS when >> I set “vga=0x314” in kernel cmdline with ipxe.efi boot. >> >> In EFI BIOS platform, Although I set “vga=0x314” in kernel cmdline, the >> actual resolution is 0x317(1024*768) when boot in OS. >> >> Is there any method/command to set VGA resolution? Which code will be >> changed to support the feature? > > > In a BIOS boot, the "vga=..." parameter is interpreted by the bootloader > (i.e. iPXE) and used to modify the vid_mode field within the bzImage header. > > In a UEFI boot, iPXE treats the kernel as being a generic UEFI executable, > and just passes along the "vga=..." parameter together with all other > parameters as part of the kernel command line. It would then be the > responsibility of the kernel's EFI stub to interpret this. There is no > dedicated method equivalent to the vid_mode field for iPXE to express the > concept of "desired video mode". > > From a very quick look at the kernel, it seems that the EFI stub doesn't > currently have any handling for a "vga=" parameter. There may be some > UEFI-specific equivalent kernel command line parameter that I am not aware > of. > > Michael
Best way to handle this in EFI land is probably to use the kernels EFIFB implementation which reads the native EFI resolution, I believe that this resolution can be changed by iPXE if the console command and FB is enabled on compile time. Another option is to use the video= kernel cmdline option instead with uvesa_fb or similar. /Christian _______________________________________________ ipxe-devel mailing list [email protected] https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel

