Digitado pela alma do kernel e encontrei minha resposta: O modo de vídeo é definido muito cedo no x86 - mesmo antes de mudar para o modo protegido ( set_video()
em main()
(arch / x86 / boot / main.c). CONFIG_CMDLINE_OVERRIDE
é feito mais tarde em setup_arch()
(arch / x86 / kernel / setup.c) Não tenho uma correção real, mas pelo menos uma solução alternativa:
em ./arch/x86/boot/video.c, substitua
for (;;) {
if (mode == ASK_VGA)
mode = mode_menu();
if (!set_mode(mode))
break;
printf("Undefined video mode number: %x\n", mode);
mode = ASK_VGA;
}
boot_params.hdr.vid_mode = mode;
com
boot_params.hdr.vid_mode = 785;
set_mode(785);
(ou qualquer outro modo de vídeo desejado). Isso pode quebrar o modo de mudar, mas eu não quero mudar de modos;)