Bug#565160: Linux console garbled after experimental grub-pc boot
Robert Millan wrote: On Wed, Jan 20, 2010 at 05:09:13AM -0600, Jonathan Nieder wrote: This is odd, since the only places I can see that set orig_video_isVGA are [...] You're looking at legacy code. When using modern 32-bit boot protocol, this variable is passed by bootloader. Oh! Looking at Documentation/x86/boot.txt now with much interest. Thanks for the explanation, Jonathan -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#565160: Linux console garbled after experimental grub-pc boot
Yves-Alexis Perez wrote: [0.00] Console: colour dummy device 80x25 So the VGA console was not initialized. I asked Linux why, and here is what I learned: ... [0.00] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes [0.00] Hierarchical RCU implementation. [0.00] NR_IRQS:16 [0.00] CPU 0 irqstacks, hard=c03f2000 soft=c03f3000 [0.00] --- no vga --- [0.00] screen_info.orig_video_isVGA: 23 [0.00] Console: colour dummy device 80x25 [0.00] console [tty0] enabled ... 0x23 is VIDEO_TYPE_VLFB. This is odd, since the only places I can see that set orig_video_isVGA are - vesa_store_mode_params_graphics() in arch/x86/boot/video-vesa.c and - vga_probe() in arch/x86/boot/video-vga.c The latter sets it to 1, not 0x23, so the former looks to be at fault. The former is only called by vesa_set_mode() in the same file, and only if is_graphic is 1; and is_graphic only can be 1 if CONFIG_FB_BOOT_VESA_SUPPORT; and adding a #error line shows that for me, CONFIG_FB_BOOT_VESA_SUPPORT is not defined ('make arch/x86/boot/video-vesa.lst' confirms). I’m not sure where to go from here. printf()s so early do not get logged, and the screen is not in text mode so I cannot see messages on the console. Maybe there are enough clues for a GRUB hacker to approach it from their end. I would be happy to try patches to either GRUB or Linux to help figure this out. Hope that helps, Jonathan The patch used to produce the above output is attached. Unfortunately, I think the more useful information is what I don't know how to tell it to print. diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c index cc4bbbe..cb61ab1 100644 --- a/drivers/video/console/vgacon.c +++ b/drivers/video/console/vgacon.c @@ -378,6 +378,9 @@ static const char *vgacon_startup(void) if (screen_info.orig_video_isVGA == VIDEO_TYPE_VLFB) { no_vga: + printk(KERN_WARNING --- no vga ---\n); + printk(KERN_WARNING screen_info.orig_video_isVGA: %x\n, + (int) screen_info.orig_video_isVGA); #ifdef CONFIG_DUMMY_CONSOLE conswitchp = dummy_con; return conswitchp-con_startup(); @@ -389,16 +392,20 @@ static const char *vgacon_startup(void) /* boot_params.screen_info initialized? */ if ((screen_info.orig_video_mode == 0) (screen_info.orig_video_lines == 0) - (screen_info.orig_video_cols == 0)) + (screen_info.orig_video_cols == 0)) { + printk(KERN_WARNING screen_info not initialized\n); goto no_vga; + } /* VGA16 modes are not handled by VGACON */ if ((screen_info.orig_video_mode == 0x0D) ||/* 320x200/4 */ (screen_info.orig_video_mode == 0x0E) ||/* 640x200/4 */ (screen_info.orig_video_mode == 0x10) ||/* 640x350/4 */ (screen_info.orig_video_mode == 0x12) ||/* 640x480/4 */ - (screen_info.orig_video_mode == 0x6A)) /* 800x600/4 (VESA) */ + (screen_info.orig_video_mode == 0x6A)) /* 800x600/4 (VESA) */ { + printk(KERN_WARNING VGA16 mode %x\n, screen_info.orig_video_mode); goto no_vga; + } vga_video_num_lines = screen_info.orig_video_lines; vga_video_num_columns = screen_info.orig_video_cols; @@ -520,6 +527,7 @@ static const char *vgacon_startup(void) if (scr_readw(p) != 0xAA55 || scr_readw(p + 1) != 0x55AA) { scr_writew(saved1, p); scr_writew(saved2, p + 1); + printk(KERN_WARNING vga_vram_base not writable\n); goto no_vga; } scr_writew(0x55AA, p); @@ -527,6 +535,7 @@ static const char *vgacon_startup(void) if (scr_readw(p) != 0x55AA || scr_readw(p + 1) != 0xAA55) { scr_writew(saved1, p); scr_writew(saved2, p + 1); + printk(KERN_WARNING vga_vram_base not rewritable\n); goto no_vga; } scr_writew(saved1, p);
Bug#565160: Linux console garbled after experimental grub-pc boot
Le 20/01/2010 12:09, Jonathan Nieder a écrit : Yves-Alexis Perez wrote: [0.00] Console: colour dummy device 80x25 So the VGA console was not initialized. Might it be related to the fact I use KMS? It's the standard linux kernel, with KMS enabled through the intel module (modeset=1 in the module option inside the initrd). Regards, -- Yves-Alexis -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#565160: Linux console garbled after experimental grub-pc boot
Yves-Alexis Perez wrote: Le 20/01/2010 12:09, Jonathan Nieder a écrit : Yves-Alexis Perez wrote: [0.00] Console: colour dummy device 80x25 So the VGA console was not initialized. Might it be related to the fact I use KMS? Maybe. If so, then our symptoms must come from different causes. (I am not using KMS.) That does seem possible. Consider: - you are using 2.6.32-trunk -5, Intel graphics, seems to try to switch modes but the screen remains black until X starts. [0.397178] vesafb: framebuffer at 0xd000, mapped to 0xc9001098, using 7552k, total 7552k [0.397182] vesafb: mode is 1600x1200x32, linelength=6400, pages=0 [0.397185] vesafb: scrolling: redraw [0.397188] vesafb: Truecolor: size=8:8:8:8, shift=24:16:8:0 [0.499776] Console: switching to colour frame buffer device 200x75 [0.602218] fb0: VESA VGA frame buffer device [1.304414] fb: conflicting fb hw usage inteldrmfb vs VESA VGA - removing generic driver [1.304567] fb1: inteldrmfb frame buffer device [1.304570] registered panic notifier [1.304592] [drm] Initialized i915 1.6.0 20080730 for :00:02.0 on minor 0 [ 35.335041] [drm] DAC-6: set mode 1920x1200 21 - I tried 2.6.33-rc4-00399-g24bc734 and recent linux-next, fairly old ATI graphics with no KMS support, framebuffer driver not loaded in kernel, boot menu remains on screen, no attempted mode switch shown in the kernel log. When I just tried 2.6.32-trunk -5, the console looked okay! (But the boot does not finish because the root filesystem, which uses ext4, does not get mounted for some reason. This happens regardless of the version of grub I use.) - Jussi gets a black screen with 2.6.32-trunk -5, which tries to use vesafb to draw the console; but gets a working console with 2.6.33-rc4 using inteldrmfb. All this seems to suggest there are three things going on: - grub leaves the GPU in a graphical mode - vesafb can’t use it or switch out of it - various KMS drivers _can_ switch out of it, though - without a framebuffer driver, Linux can’t switch out of it. grub’s behavior here might not even be a bad thing (it would avoid flicker, maybe), except that some Linux drivers can’t handle it. But I am only grasping at straws here. Jonathan -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#565160: Linux console garbled after experimental grub-pc boot
On Wed, Jan 20, 2010 at 05:09:13AM -0600, Jonathan Nieder wrote: This is odd, since the only places I can see that set orig_video_isVGA are - vesa_store_mode_params_graphics() in arch/x86/boot/video-vesa.c and - vga_probe() in arch/x86/boot/video-vga.c The latter sets it to 1, not 0x23, so the former looks to be at fault. The former is only called by vesa_set_mode() in the same file, and only if is_graphic is 1; and is_graphic only can be 1 if CONFIG_FB_BOOT_VESA_SUPPORT; and adding a #error line shows that for me, CONFIG_FB_BOOT_VESA_SUPPORT is not defined ('make arch/x86/boot/video-vesa.lst' confirms). You're looking at legacy code. When using modern 32-bit boot protocol, this variable is passed by bootloader. GRUB does this in order to enable seamless transition (to avoid flicker, as you realized). But it seems we need to do a better job at ensuring Linux was built with the necessary options, otherwise it can get confused. -- Robert Millan Be the change you want to see in the world -- Gandhi -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#565160: Linux console garbled after experimental grub-pc boot
On Wed, Jan 20, 2010 at 04:00:44PM +0100, Robert Millan wrote: But it seems we need to do a better job at ensuring Linux was built with the necessary options, otherwise it can get confused. Would you please try attached patch and regenerate grub.cfg ? It can be applied directly to /etc/grub.d/10_linux -- Robert Millan Be the change you want to see in the world -- Gandhi === modified file 'util/grub.d/10_linux.in' --- util/grub.d/10_linux.in 2010-01-14 14:04:44 + +++ util/grub.d/10_linux.in 2010-01-20 15:14:24 + @@ -53,6 +53,11 @@ linux_entry () version=$2 recovery=$3 args=$4 + if ! grep -qx CONFIG_FB_VESA=y /boot/config-${version} 2 /dev/null ; then +cat EOF + set gfxpayload=text +EOF + fi if ${recovery} ; then title=$(gettext %s, with Linux %s (recovery mode)) else
Bug#565160: Linux console garbled after experimental grub-pc boot
On Wed, Jan 20, 2010 at 08:44:27AM -0600, Jonathan Nieder wrote: All this seems to suggest there are three things going on: That's four things ;-) - grub leaves the GPU in a graphical mode Correct. Although it needs to be more careful not to do this unless it is supported (unfortunately Linux boot protocol doesn't provide this information in a parseable header like Multiboot does). - vesafb can’t use it or switch out of it vesafb should be able to use it. If it can't, it's definitely a bug (not sure where, maybe in GRUB or maybe in Linux). - various KMS drivers _can_ switch out of it, though If they can't, it's an internal conflict between Linux components, but this seems to be getting better on their side. - without a framebuffer driver, Linux can’t switch out of it. Correct. That's why we need to be more careful. Please test the patch I attached in previous mail. Thanks! -- Robert Millan Be the change you want to see in the world -- Gandhi -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#565160: Linux console garbled after experimental grub-pc boot
Robert Millan wrote: Would you please try attached patch and regenerate grub.cfg ? It can be applied directly to /etc/grub.d/10_linux I made a small change to output the gfxpayload lines below each menuentry line. It’s working great now. Thanks! diff --git a/etc/grub.d/10_linux.in b/etc/grub.d/10_linux.in index e7fd297..5c46de3 100755 --- a/etc/grub.d/10_linux +++ b/etc/grub.d/10_linux @@ -63,6 +63,11 @@ linux_entry () title=$(gettext %s, with Linux %s) fi printf menuentry \${title}\ ${CLASS} {\n ${os} ${version} + if ! grep -qx CONFIG_FB_VESA=y /boot/config-${version} 2 /dev/null ; then +cat EOF + set gfxpayload=text +EOF + fi save_default_entry | sed -e s/^/\t/ if [ -z ${prepare_boot_cache} ]; then prepare_boot_cache=$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e s/^/\t/) -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#565160: Linux console garbled after experimental grub-pc boot
On Wed, Jan 13, 2010 at 08:43:18AM -0600, Jonathan Nieder wrote: Version 1.98~experimental.20091229-1 is similar: though the boot menu looks like text mode, when Linux boots, it is garbled and I cannot make out anything until I start X. Please could each of you attach your dmesg? Thanks -- Robert Millan Be the change you want to see in the world -- Gandhi -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#565160: Linux console garbled after experimental grub-pc boot
Robert Millan wrote: On Wed, Jan 13, 2010 at 08:43:18AM -0600, Jonathan Nieder wrote: Version 1.98~experimental.20091229-1 is similar: though the boot menu looks like text mode, when Linux boots, it is garbled and I cannot make out anything until I start X. Please could each of you attach your dmesg? Three files are attached: 1. dmesg.bad-grub.txt: dmesg after boot with grub-pc 1.98~experimental.20100111.1-1 2. good-bad-diff.txt: diff -u between boot with grub from sid and grub from experimental. Most importantly, we find -[0.00] Console: colour VGA+ 80x25 +[0.00] Console: colour dummy device 80x25 3. kconfig.txt.xz: compressed .config for this kernel $ egrep 'VGA|CON(SOLE|_)' /boot/config-2.6.33-rc3-next-20100113-03029-ge0ba2ee # CONFIG_NETCONSOLE is not set CONFIG_CONSOLE_TRANSLATIONS=y CONFIG_VT_CONSOLE=y CONFIG_HW_CONSOLE=y # CONFIG_VT_HW_CONSOLE_BINDING is not set CONFIG_FIX_EARLYCON_MEM=y CONFIG_VGA_ARB=y # CONFIG_VGASTATE is not set CONFIG_VGA_CONSOLE=y # CONFIG_VGACON_SOFT_SCROLLBACK is not set CONFIG_DUMMY_CONSOLE=y # CONFIG_USB_SISUSBVGA is not set Hope that helps, Jonathan [0.00] Linux version 2.6.33-rc3-next-20100113-03029-ge0ba2ee (j...@progeny) (gcc version 4.4.3 20100108 (prerelease) (Debian 4.4.2-9) ) #6 PREEMPT Wed Jan 13 07:28:51 CST 2010 [0.00] BIOS-provided physical RAM map: [0.00] BIOS-e820: - 0009fc00 (usable) [0.00] BIOS-e820: 0009fc00 - 000a (reserved) [0.00] BIOS-e820: 0010 - 0bfdb000 (usable) [0.00] BIOS-e820: 0bfdb000 - 0c00 (reserved) [0.00] BIOS-e820: 100a - 1010 (reserved) [0.00] BIOS-e820: ffe0 - 0001 (reserved) [0.00] Notice: NX (Execute Disable) protection missing in CPU or disabled in BIOS! [0.00] DMI 2.3 present. [0.00] last_pfn = 0xbfdb max_arch_pfn = 0x100 [0.00] MTRR default type: uncachable [0.00] MTRR fixed ranges enabled: [0.00] 0-9 write-back [0.00] A-B uncachable [0.00] C-C write-protect [0.00] D-E uncachable [0.00] F-F write-protect [0.00] MTRR variable ranges enabled: [0.00] 0 base 0 mask FF800 write-back [0.00] 1 base 00800 mask FFC00 write-back [0.00] 2 base 0100A mask E write-through [0.00] 3 disabled [0.00] 4 disabled [0.00] 5 disabled [0.00] 6 disabled [0.00] 7 disabled [0.00] PAT not supported by CPU. [0.00] initial memory mapped : 0 - 00e0 [0.00] init_memory_mapping: -0bfdb000 [0.00] 00 - 20 page 4k [0.00] 20 - 000be0 page 2M [0.00] 000be0 - 000bfdb000 page 4k [0.00] kernel direct mapping tables up to bfdb000 @ 7000-d000 [0.00] RAMDISK: 08eba000 - 090237c8 [0.00] ACPI: RSDP 000f4c80 00014 (v00 DELL ) [0.00] ACPI: RSDT 0bff 0002C (v01 DELLCPi R 27D20B07 ASL 0061) [0.00] ACPI: FACP 0bff0400 00074 (v01 DELLCPi R 27D20B07 ASL 0061) [0.00] ACPI: DSDT 0bff0800 02ACA (v01 INT430 SYSFexxx 1001 MSFT 010E) [0.00] ACPI: FACS 0bfff800 00040 [0.00] ACPI: BOOT 0bff07c0 00028 (v01 DELLCPi R 27D20B07 ASL 0061) [0.00] 191MB LOWMEM available. [0.00] mapped low ram: 0 - 0bfdb000 [0.00] low ram: 0 - 0bfdb000 [0.00] node 0 low ram: - 0bfdb000 [0.00] node 0 bootmap 5000 - 67fc [0.00] (8 early reservations) == bootmem [00 - 000bfdb000] [0.00] #0 [00 - 001000] BIOS data page == [00 - 001000] [0.00] #1 [10 - 953b2c]TEXT DATA BSS == [10 - 953b2c] [0.00] #2 [0008eba000 - 00090237c8] RAMDISK == [0008eba000 - 00090237c8] [0.00] #3 [09fc00 - 10]BIOS reserved == [09fc00 - 10] [0.00] #4 [954000 - 95b198] BRK == [954000 - 95b198] [0.00] #5 [001000 - 005000] ACPI WAKEUP == [001000 - 005000] [0.00] #6 [007000 - 009000] PGTABLE == [007000 - 009000] [0.00] #7 [005000 - 007000] BOOTMAP == [005000 - 007000] [0.00] Zone PFN ranges: [0.00] DMA 0x - 0x1000 [0.00] Normal 0x1000 - 0xbfdb [0.00] Movable zone start PFN for each node [0.00] early_node_map[2] active PFN ranges [0.00] 0: 0x - 0x009f [0.00] 0: 0x0100 - 0xbfdb [0.00] On node 0 totalpages: 49018 [0.00] free_area_init_node: node 0, pgdat c0421038,
Bug#565160: Linux console garbled after experimental grub-pc boot
On mer., 2010-01-20 at 04:15 +0100, Robert Millan wrote: On Wed, Jan 13, 2010 at 08:43:18AM -0600, Jonathan Nieder wrote: Version 1.98~experimental.20091229-1 is similar: though the boot menu looks like text mode, when Linux boots, it is garbled and I cannot make out anything until I start X. Please could each of you attach your dmesg? Attached. This is on the box without full disk encryption. Using KMS. -- Yves-Alexis Perez [0.00] Initializing cgroup subsys cpuset [0.00] Initializing cgroup subsys cpu [0.00] Linux version 2.6.32-trunk-amd64 (Debian 2.6.32-5) (b...@decadent.org.uk) (gcc version 4.3.4 (Debian 4.3.4-6) ) #1 SMP Sun Jan 10 22:40:40 UTC 2010 [0.00] Command line: BOOT_IMAGE=//vmlinuz-2.6.32-trunk-amd64 root=/dev/mapper/fitz-root ro quiet [0.00] KERNEL supported cpus: [0.00] Intel GenuineIntel [0.00] AMD AuthenticAMD [0.00] Centaur CentaurHauls [0.00] BIOS-provided physical RAM map: [0.00] BIOS-e820: - 0009f800 (usable) [0.00] BIOS-e820: 0009f800 - 000a (reserved) [0.00] BIOS-e820: 000f - 0010 (reserved) [0.00] BIOS-e820: 0010 - 7f7f (usable) [0.00] BIOS-e820: 7f7f - 7f7f3000 (ACPI NVS) [0.00] BIOS-e820: 7f7f3000 - 7f80 (ACPI data) [0.00] BIOS-e820: e000 - f000 (reserved) [0.00] BIOS-e820: fec0 - 0001 (reserved) [0.00] DMI 2.4 present. [0.00] Phoenix BIOS detected: BIOS may corrupt low RAM, working around it. [0.00] e820 update range: - 0001 (usable) == (reserved) [0.00] last_pfn = 0x7f7f0 max_arch_pfn = 0x4 [0.00] MTRR default type: uncachable [0.00] MTRR fixed ranges enabled: [0.00] 0-9 write-back [0.00] A-E uncachable [0.00] F-F write-through [0.00] MTRR variable ranges enabled: [0.00] 0 base 0 mask F8000 write-back [0.00] 1 base 07F80 mask FFF80 uncachable [0.00] 2 disabled [0.00] 3 disabled [0.00] 4 disabled [0.00] 5 disabled [0.00] 6 disabled [0.00] 7 disabled [0.00] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106 [0.00] initial memory mapped : 0 - 2000 [0.00] init_memory_mapping: -7f7f [0.00] 00 - 007f60 page 2M [0.00] 007f60 - 007f7f page 4k [0.00] kernel direct mapping tables up to 7f7f @ 1-14000 [0.00] RAMDISK: 376bb000 - 37fefe67 [0.00] ACPI: RSDP 000f7820 00014 (v00 ACRSYS) [0.00] ACPI: RSDT 7f7f3040 00034 (v01 ACRSYS ACRPRDCT 42302E31 AWRD ) [0.00] ACPI: FACP 7f7f30c0 00074 (v01 ACRSYS ACRPRDCT 42302E31 AWRD ) [0.00] ACPI: DSDT 7f7f3180 03A97 (v01 ACRSYS ACRPRDCT 1000 MSFT 010E) [0.00] ACPI: FACS 7f7f 00040 [0.00] ACPI: SLIC 7f7f6d80 00176 (v01 ACRSYS ACRPRDCT 42302E31 AWRD 0020) [0.00] ACPI: MCFG 7f7f6f40 0003C (v01 ACRSYS ACRPRDCT 42302E31 AWRD ) [0.00] ACPI: APIC 7f7f6c80 00084 (v01 ACRSYS ACRPRDCT 42302E31 AWRD ) [0.00] ACPI: Local APIC address 0xfee0 [0.00] No NUMA configuration found [0.00] Faking a node at -7f7f [0.00] Bootmem setup node 0 -7f7f [0.00] NODE_DATA [00012000 - 00019fff] [0.00] bootmap [0001a000 - 00029eff] pages 10 [0.00] (7 early reservations) == bootmem [00 - 007f7f] [0.00] #0 [00 - 001000] BIOS data page == [00 - 001000] [0.00] #1 [006000 - 008000] TRAMPOLINE == [006000 - 008000] [0.00] #2 [000100 - 000165d9d4]TEXT DATA BSS == [000100 - 000165d9d4] [0.00] #3 [00376bb000 - 0037fefe67] RAMDISK == [00376bb000 - 0037fefe67] [0.00] #4 [09f800 - 10]BIOS reserved == [09f800 - 10] [0.00] #5 [000165e000 - 000165e10c] BRK == [000165e000 - 000165e10c] [0.00] #6 [01 - 012000] PGTABLE == [01 - 012000] [0.00] found SMP MP-table at [880f36b0] f36b0 [0.00] [ea00-ea0001bf] PMD - [880001c0-8800037f] on node 0 [0.00] Zone PFN ranges: [0.00] DMA 0x0010 - 0x1000 [0.00] DMA320x1000 - 0x0010 [0.00] Normal 0x0010 - 0x0010 [0.00] Movable zone start PFN for each node [
Bug#565160: Linux console garbled after experimental grub-pc boot
I'm having a similar problem, but instead of the grub menu hanging around, the console is completely blank until X starts. I'm using Intel graphics with KMS. grub from unstable is working fine. -- Cheers, Sven Arvidsson http://www.whiz.se PGP Key ID 760BDD22 signature.asc Description: This is a digitally signed message part
Bug#565160: Linux console garbled after experimental grub-pc boot
Package: grub-pc Version: 1.98~experimental.20100111.1-1 Severity: serious Hi, Trying the experimental grub. Like Fabian reported in http://bugs.debian.org/564844, text does not show up in the graphical boot menu. But that is fine for now; I blindly hit enter, and grub boots the default item, which is Linux 2.6.33-rc3-next-20100111-02660-g364764 (a recent snapshot of the linux-next tree). But the screen with some bullets, a rectangle, and no text does not go away. Did grub not notice I pressed enter? No, I hear the hard drive accessed in the same pattern as a normal boot. So I blindly log in and start X; X is fine. If I switch back to the text-mode console now, I get something similar to the boot menu screen, but with some snow mixed in. Back to X, fine. Rebooting Linux with kexec does nothing to help this. Odd. Version 1.98~experimental.20091229-1 is similar: though the boot menu looks like text mode, when Linux boots, it is garbled and I cannot make out anything until I start X. Version 1.98~20100110-1, on the other hand, seems to initialize the console correctly. Video card is ATI Technologies Inc Rage Mobility M3 AGP 2x [1002:4c46], which is to say, an r128. Bugscript output attached. Despite the glitches, this does look promising. :-) Hope that helps, Jonathan *** BEGIN /proc/mounts /dev/disk/by-uuid/3b48df60-83e0-4fd2-a152-22b942ab5599 / ext4 rw,relatime,errors=remount-ro,barrier=1,data=ordered 0 0 *** END /proc/mounts *** BEGIN /boot/grub/device.map (hd0) /dev/hda *** END /boot/grub/device.map *** BEGIN /boot/grub/grub.cfg # # DO NOT EDIT THIS FILE # # It is automatically generated by /usr/sbin/grub-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub # ### BEGIN /etc/grub.d/00_header ### if [ -s $prefix/grubenv ]; then load_env fi set default=0 if [ ${prev_saved_entry} ]; then set saved_entry=${prev_saved_entry} save_env saved_entry set prev_saved_entry= save_env prev_saved_entry set boot_once=true fi function savedefault { if [ -z ${boot_once} ]; then saved_entry=${chosen} save_env saved_entry fi } insmod ext2 set root=(/dev/sda,1) search --no-floppy --fs-uuid --set 3b48df60-83e0-4fd2-a152-22b942ab5599 if loadfont /usr/share/grub/unicode.pf2 ; then set gfxmode=640x480 insmod gfxterm insmod vbe if terminal_output gfxterm ; then true ; else # For backward compatibility with versions of terminal.mod that don't # understand terminal_output terminal gfxterm fi insmod ext2 set root=(/dev/sda,1) search --no-floppy --fs-uuid --set 3b48df60-83e0-4fd2-a152-22b942ab5599 insmod gfxmenu set theme=($root)/boot/grub/debian-theme/theme.txt set menuviewer=gfxmenu fi set locale_dir=/boot/grub/locale set lang=en insmod gettext set timeout=5 ### END /etc/grub.d/00_header ### ### BEGIN /etc/grub.d/05_debian_theme ### set gfxpayload=keep insmod png loadfont /boot/grub/dejavu_sans_10.pf2 loadfont /boot/grub/dejavu_sans_12.pf2 loadfont /boot/grub/dejavu_sans_bold_14.pf2 set menu_color_normal=cyan/blue set menu_color_highlight=white/blue ### END /etc/grub.d/05_debian_theme ### ### BEGIN /etc/grub.d/10_linux ### menuentry Debian GNU/Linux, with Linux 2.6.33-rc3-next-20100111-02660-g364764e --class debian --class gnu-linux --class gnu --class os { insmod ext2 set root=(/dev/sda,1) search --no-floppy --fs-uuid --set 3b48df60-83e0-4fd2-a152-22b942ab5599 echoLoading Linux 2.6.33-rc3-next-20100111-02660-g364764e ... linux /boot/vmlinuz-2.6.33-rc3-next-20100111-02660-g364764e root=UUID=3b48df60-83e0-4fd2-a152-22b942ab5599 ro quiet echoLoading initial ramdisk ... initrd /boot/initrd.img-2.6.33-rc3-next-20100111-02660-g364764e } menuentry Debian GNU/Linux, with Linux 2.6.33-rc3-next-20100111-02660-g364764e (recovery mode) --class debian --class gnu-linux --class gnu --class os { insmod ext2 set root=(/dev/sda,1) search --no-floppy --fs-uuid --set 3b48df60-83e0-4fd2-a152-22b942ab5599 echoLoading Linux 2.6.33-rc3-next-20100111-02660-g364764e ... linux /boot/vmlinuz-2.6.33-rc3-next-20100111-02660-g364764e root=UUID=3b48df60-83e0-4fd2-a152-22b942ab5599 ro single echoLoading initial ramdisk ... initrd /boot/initrd.img-2.6.33-rc3-next-20100111-02660-g364764e } menuentry Debian GNU/Linux, with Linux 2.6.33-rc2-00304-g9ab1276 --class debian --class gnu-linux --class gnu --class os { insmod ext2 set root=(/dev/sda,1) search --no-floppy --fs-uuid --set 3b48df60-83e0-4fd2-a152-22b942ab5599 echoLoading Linux 2.6.33-rc2-00304-g9ab1276 ... linux /boot/vmlinuz-2.6.33-rc2-00304-g9ab1276 root=UUID=3b48df60-83e0-4fd2-a152-22b942ab5599 ro quiet echoLoading initial ramdisk ... initrd /boot/initrd.img-2.6.33-rc2-00304-g9ab1276 } menuentry Debian