Bug#535026: Bug#534944: grub-pc: text mode virtual terminals blank
On Tue, Jun 30, 2009 at 6:40 PM, Robert Millan wrote: > On Tue, Jun 30, 2009 at 04:33:37PM +0200, Luca Tettamanti wrote: >> On Mon, Jun 29, 2009 at 7:28 PM, Robert Millan wrote: >> > Hi again, >> > >> > I'm uploading 1.96+20090629-1, which includes some cleanup in the Linux >> > loader. It's possible your problem might disappear with this version, >> > please report. >> >> No joy. > > Hi, > > Then your bug is #535026. #534944 was confirmed to be fixed by Arthur. I'm > changing CC to 535...@bugs.debian.org. I have radeon mobility (M76) card and I'm not using KMS. I also don't get stale content on text VTs (just black screen). >> I see the message that "vga" parameter is deprecated. The mode I'm >> using is 773 (1024x768x256). > > Ok. That's 0x305 aka 1024x768x8, which is supposed to be detected & handled > already. > >> This is the output of a patched kernel, loaded with linux16: >> >> orig_x = 0x0, orig_y = 0x0 >> ext_mem_k = 0x >> orig_video_page = 0x0 >> orig_video_mode = 0x3 >> orig_video_cols = 0x50 >> orig_video_ega_bx = 0x3 >> orig_video_lines = 0x19 >> orig_video_isVGA = 0x1 >> orig_video_points = 0x10 >> lfb_width / lfb_height / lfb_depth = 0x0x0 >> lfb_base = 0x0, lfb_size = 0x0 >> cl_magic = 0x0, cl_offset = 0x0 >> lfb_linelength = 0x0\n >> red_size = 0x0, red_pos = 0x0 >> green_size = 0x0, green_pos = 0x0 >> blue_size = 0x0, blue_pos = 0x0 >> rsvd_size = 0x0, rsvd_pos = 0x0 >> vesapm = 0x0:0x0 >> pages = 0x0 >> vesa_attributes = 0x0 >> capabilities = 0x0 > > This looks like text mode. I assume you didn't pass "vga=773" to linux16? > I need you to include that parameter in your test. Ops, right: orig_x = 0x0, orig_y = 0x1 ext_mem_k = 0x orig_video_page = 0x0 orig_video_mode = 0x3 orig_video_cols = 0x50 orig_video_ega_bx = 0x3 orig_video_lines = 0x19 orig_video_isVGA = 0x23 orig_video_points = 0x10 lfb_width / lfb_height / lfb_depth = 1024x768x8 lfb_base = 0xe000, lfb_size = 0x100 cl_magic = 0x0, cl_offset = 0x0 lfb_linelength = 0x400 red_size = 0x8, red_pos = 0x0 green_size = 0x8, green_pos = 0x0 blue_size = 0x8, blue_pos = 0x0 rsvd_size = 0x8, rsvd_pos = 0x0 vesapm = 0xc000:0x9eda pages = 0x12 vesa_attributes = 0xbb capabilities = 0x0 vesafb is not picking up the right options: vesafb: framebuffer at 0xe000, mapped to 0xc2001010, using 768k, total 768k vesafb: mode is 1024x768x8, linelength=1024, pages=0 vesafb: scrolling: redraw vesafb: Pseudocolor: size=0:0:0:0, shift=0:0:0:0 both pages and Pseudocolor values look wrong. With older grub I get: vesafb: framebuffer at 0xe000, mapped to 0xc2001010, using 1536k, total 16384k vesafb: mode is 1024x768x8, linelength=1024, pages=18 vesafb: scrolling: redraw vesafb: Pseudocolor: size=8:8:8:8, shift=0:0:0:0 Luca -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#535026: Bug#534944: grub-pc: text mode virtual terminals blank
On Tue, Jun 30, 2009 at 04:33:37PM +0200, Luca Tettamanti wrote: > On Mon, Jun 29, 2009 at 7:28 PM, Robert Millan wrote: > > Hi again, > > > > I'm uploading 1.96+20090629-1, which includes some cleanup in the Linux > > loader. It's possible your problem might disappear with this version, > > please report. > > No joy. Hi, Then your bug is #535026. #534944 was confirmed to be fixed by Arthur. I'm changing CC to 535...@bugs.debian.org. > I see the message that "vga" parameter is deprecated. The mode I'm > using is 773 (1024x768x256). Ok. That's 0x305 aka 1024x768x8, which is supposed to be detected & handled already. > This is the output of a patched kernel, loaded with linux16: > > orig_x = 0x0, orig_y = 0x0 > ext_mem_k = 0x > orig_video_page = 0x0 > orig_video_mode = 0x3 > orig_video_cols = 0x50 > orig_video_ega_bx = 0x3 > orig_video_lines = 0x19 > orig_video_isVGA = 0x1 > orig_video_points = 0x10 > lfb_width / lfb_height / lfb_depth = 0x0x0 > lfb_base = 0x0, lfb_size = 0x0 > cl_magic = 0x0, cl_offset = 0x0 > lfb_linelength = 0x0\n > red_size = 0x0, red_pos = 0x0 > green_size = 0x0, green_pos = 0x0 > blue_size = 0x0, blue_pos = 0x0 > rsvd_size = 0x0, rsvd_pos = 0x0 > vesapm = 0x0:0x0 > pages = 0x0 > vesa_attributes = 0x0 > capabilities = 0x0 This looks like text mode. I assume you didn't pass "vga=773" to linux16? I need you to include that parameter in your test. Thanks! -- Robert Millan The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and how) you may access your data; but nobody's threatening your freedom: we still allow you to remove your data and not access it at all." -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#534944: grub-pc: text mode virtual terminals blank
On Mon, Jun 29, 2009 at 7:28 PM, Robert Millan wrote: > Hi again, > > I'm uploading 1.96+20090629-1, which includes some cleanup in the Linux > loader. It's possible your problem might disappear with this version, > please report. No joy. > Note: Try it in text mode first (run "terminal_output console" in GRUB > prompt). If that _does_ work, try from gfxterm then. Nope, it doesn't make any difference. What seems important is the "vga" option on the kernel command line. If I leave it out then I see the console (using either terminal_output console or gfxterm). This change may be related: 2009-06-08 Robert Millan * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use as fallback an equivalent option without depth. I see the message that "vga" parameter is deprecated. The mode I'm using is 773 (1024x768x256). This is the output of a patched kernel, loaded with linux16: orig_x = 0x0, orig_y = 0x0 ext_mem_k = 0x orig_video_page = 0x0 orig_video_mode = 0x3 orig_video_cols = 0x50 orig_video_ega_bx = 0x3 orig_video_lines = 0x19 orig_video_isVGA = 0x1 orig_video_points = 0x10 lfb_width / lfb_height / lfb_depth = 0x0x0 lfb_base = 0x0, lfb_size = 0x0 cl_magic = 0x0, cl_offset = 0x0 lfb_linelength = 0x0\n red_size = 0x0, red_pos = 0x0 green_size = 0x0, green_pos = 0x0 blue_size = 0x0, blue_pos = 0x0 rsvd_size = 0x0, rsvd_pos = 0x0 vesapm = 0x0:0x0 pages = 0x0 vesa_attributes = 0x0 capabilities = 0x0 L -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#534944: grub-pc: text mode virtual terminals blank
Hi again, I'm uploading 1.96+20090629-1, which includes some cleanup in the Linux loader. It's possible your problem might disappear with this version, please report. Note: Try it in text mode first (run "terminal_output console" in GRUB prompt). If that _does_ work, try from gfxterm then. Note2: If you can't wait, the patch you want is: svn diff -r 2372:2375 svn://svn.savannah.gnu.org/grub/trunk/grub2 Thanks! -- Robert Millan The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and how) you may access your data; but nobody's threatening your freedom: we still allow you to remove your data and not access it at all." -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#534944: grub-pc: text mode virtual terminals blank
Hi, Since I'm unable to reproduce this, I will need some help. I need you to boot a modified Linux image with the "linux16" loader, e.g.: linux16 /boot/bzImage boot and then tell me the output (if you're using the older version of GRUB, linux16 won't be present, in that case use "linux" instead). You might be able to get it through a serial port with console=ttyS0 parameter, but I'm not sure if that will work at this point in the boot process. Otherwise, use pencil and paper! The patch you need to apply to Linux is attached. If it's more practical to you, you can use this prebuilt image instead: http://people.debian.org/~rmh/bzImage which is gpg-signed: http://people.debian.org/~rmh/bzImage.sig -- Robert Millan The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and how) you may access your data; but nobody's threatening your freedom: we still allow you to remove your data and not access it at all." diff --git a/arch/x86/boot/main.c b/arch/x86/boot/main.c index 140172b..8cb5195 100644 --- a/arch/x86/boot/main.c +++ b/arch/x86/boot/main.c @@ -172,6 +172,30 @@ void main(void) if (cmdline_find_option_bool("quiet")) boot_params.hdr.loadflags |= QUIET_FLAG; + puts ("screen_info dump:\n"); + printf ("orig_x = 0x%x, orig_y = 0x%x\n", boot_params.screen_info.orig_x, boot_params.screen_info.orig_y); + printf ("ext_mem_k = 0x%x\n", boot_params.screen_info.ext_mem_k); + printf ("orig_video_page = 0x%x\n", boot_params.screen_info.orig_video_page); + printf ("orig_video_mode = 0x%x\n", boot_params.screen_info.orig_video_mode); + printf ("orig_video_cols = 0x%x\n", boot_params.screen_info.orig_video_cols); + printf ("orig_video_ega_bx = 0x%x\n", boot_params.screen_info.orig_video_ega_bx); + printf ("orig_video_lines = 0x%x\n", boot_params.screen_info.orig_video_lines); + printf ("orig_video_isVGA = 0x%x\n", boot_params.screen_info.orig_video_isVGA); + printf ("orig_video_points = 0x%x\n", boot_params.screen_info.orig_video_points); + printf ("lfb_width / lfb_height / lfb_depth = %dx%dx%d\n", boot_params.screen_info.lfb_width, boot_params.screen_info.lfb_height, boot_params.screen_info.lfb_depth); + printf ("lfb_base = 0x%x, lfb_size = 0x%x\n", boot_params.screen_info.lfb_base, boot_params.screen_info.lfb_size); + printf ("cl_magic = 0x%x, cl_offset = 0x%x\n", boot_params.screen_info.cl_magic, boot_params.screen_info.cl_offset); + printf ("lfb_linelength = 0x%x\n", boot_params.screen_info.lfb_linelength); + printf ("red_size = 0x%x, red_pos = 0x%x\n", boot_params.screen_info.red_size, boot_params.screen_info.red_pos); + printf ("green_size = 0x%x, green_pos = 0x%x\n", boot_params.screen_info.green_size, boot_params.screen_info.green_pos); + printf ("blue_size = 0x%x, blue_pos = 0x%x\n", boot_params.screen_info.blue_size, boot_params.screen_info.blue_pos); + printf ("rsvd_size = 0x%x, rsvd_pos = 0x%x\n", boot_params.screen_info.rsvd_size, boot_params.screen_info.rsvd_pos); + printf ("vesapm = 0x%x:0x%x\n", boot_params.screen_info.vesapm_seg, boot_params.screen_info.vesapm_off); + printf ("pages = 0x%x\n", boot_params.screen_info.pages); + printf ("vesa_attributes = 0x%x\n", boot_params.screen_info.vesa_attributes); + printf ("capabilities = 0x%x\n", boot_params.screen_info.capabilities); + die (); + /* Do the last things and invoke protected mode */ go_to_protected_mode(); }
Bug#534944: grub-pc: text mode virtual terminals blank
Package: grub-pc Version: 1.96+20090628-1 Severity: normal I'm seeing the same behaviour, the problem appeared after upgrading from 1.96+20090603-2. I do not auto-start the graphical login screen (i.e. the system is configured to stay in text mode), so the problem seems unrelated to X. The kernel is configured to use vesafb, but not output is displayed (grub menu itself is fine). -- Package-specific info: ### BEGIN /etc/grub.d/40_custom ### [cut, sample entry] menuentry "2.6.30-08503-g4e8a237" { set root=(hd0,5) linux /bzImage-2.6.30-08503-g4e8a237 root=/dev/mapper/main-system ro vga=773 video=vesafb:ypan,mtrr:3 selinux=0 initrd /initrd.img-2.6.30-08503-g4e8a237 } *** END /boot/grub/grub.cfg -- System Information: Debian Release: squeeze/sid APT prefers unstable-i386 APT policy: (500, 'unstable-i386'), (500, 'transitional-i386'), (500, 'transitional'), (500, 'stable-i386'), (500, 'unstable'), (500, 'stable'), (1, 'experimental-i386'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.30-rc8-00034-g81ee1ba (SMP w/2 CPU cores; PREEMPT) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages grub-pc depends on: ii debconf [debconf-2.0]1.5.26 Debian configuration management sy ii grub-common 1.96+20090628-1 GRand Unified Bootloader, version ii libc62.9-13 GNU C Library: Shared libraries ii ucf 3.0018 Update Configuration File: preserv grub-pc recommends no packages. Versions of packages grub-pc suggests: ii desktop-base 5.0.5 common files for the Debian Deskto ii genisoimage 9:1.1.9-1 Creates ISO-9660 CD-ROM filesystem pn os-prober (no description available) -- debconf information: * grub-pc/linux_cmdline: * grub-pc/chainload_from_menu.lst: true * grub-pc/install_devices: /dev/sda -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org