Bug#565160: Linux console garbled after experimental grub-pc boot

2010-01-21 Thread Jonathan Nieder
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

2010-01-20 Thread Jonathan Nieder
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

2010-01-20 Thread Yves-Alexis Perez
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

2010-01-20 Thread Jonathan Nieder
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

2010-01-20 Thread Robert Millan
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

2010-01-20 Thread Robert Millan
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

2010-01-20 Thread Robert Millan
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

2010-01-20 Thread Jonathan Nieder
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

2010-01-19 Thread Robert Millan
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

2010-01-19 Thread Jonathan Nieder
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

2010-01-19 Thread Yves-Alexis Perez
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

2010-01-14 Thread Sven Arvidsson
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

2010-01-13 Thread Jonathan Nieder
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