From: devzero@web.de
To: linux-kernel@vger.kernel.org
Cc: Matt.Domsch@dell.com, hpa@zytor.com
Subject: [PATCH] [RFC] be more verbose when probing EDD
Date: Sun, 16 Dec 2007 16:34:47 +0100 [thread overview]
Message-ID: <49015158@web.de> (raw)
Hello!
i`m sysadmin for quite some time and while being that, i have come across the one or another system, which refused to boot a linux kernel. typical symptom i have seen is a blinking cursor in the upper left just after kernel/initrd were loaded.
i never spent much time on that and either choose another system for linux or choose "failsafe" option, if the installer of my favourite distro gave that option.
since a colleague of mine was hit by that problem some weeks ago and i also came across that again recently, i started to investigate deeper and found, that EDD Bios probe is the problem here.
i found more than a handful of references on the net where people report similar problems. many discussion threads contained that typical smattering babble and seldom somebody gave that essential hint "try edd=off" for which i`m sure it would have helped many times.
that`s why i started to spend some thoughts on this how to make this easier/better for the user.
so
- it seems there are buggy Bios implementations out there which have problems with EDD
- your favourite distro may have set CONFIG_EDD=y|m , so EDD probe is on by default quite often nowadays.
- setting "edd=off" when you get that hang on boot is _not_ obvious.
- adressing this issue may be a little bit late, since i have mostly seen that problem on older machines, but not on recently bought
- i have at least two different systems with different types of chipsets to demonstrate this
on one of those, i added some printf`s to edd.c and this routine seems to be problematic and never returns
/* Extended Get Device Parameters */
ei->params.length = sizeof(ei->params);
ax = 0x4800;
dx = devno;
asm("pushfl; int $0x13; popfl"
: "+a" (ax), "+d" (dx), "=m" (ei->params)
: "S" (&ei->params)
: "ebx", "ecx", "edi");
i had a short conversation with matt domsch and hpa, who both think that additional printf`s would be an easy solution and not too bad to be added.
here is a quick and dirty initial patch from me:
--- linux-2.6.23/arch/x86/boot/main.c.orig 2007-12-09 11:40:24.315346712 +0100
+++ linux-2.6.23/arch/x86/boot/main.c 2007-12-09 16:11:43.644512504 +0100
@@ -152,7 +152,10 @@
/* Query EDD information */
#if defined(CONFIG_EDD) || defined(CONFIG_EDD_MODULE)
- query_edd();
+ printf("Probing EDD (query Bios for boot-device information)\n");
+ printf("If boot hangs here, you may have a buggy Bios. Try edd=skipmbr or edd=off");
+ query_edd();
+ printf("\rOK \n");
#endif
/* Do the last things and invoke protected mode */
go_to_protected_mode();
ok, fore sure it`s better to do that stuff in query_edd() itself, but before making a better version, i`d like to discuss if such patch would get accepted at all and if it`s a valid approach to let the kernel print some line which get`s overwritten ("\rOK + lot`s of whitespaces") milliseconds later on successful function return.
regards
roland
______________________________________________________________________________
Jetzt neu! Im riesigen WEB.DE Club SmartDrive Dateien freigeben und mit
Freunden teilen! http://www.freemail.web.de/club/smartdrive_ttc.htm/?mc=021134
next reply other threads:[~2007-12-16 15:34 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-16 15:34 devzero [this message]
2007-12-16 17:34 ` [PATCH] [RFC] be more verbose when probing EDD Parag Warudkar
2007-12-16 18:17 ` H. Peter Anvin
2007-12-22 1:15 ` Andi Kleen
2007-12-22 1:48 ` H. Peter Anvin
2007-12-22 1:57 ` Andi Kleen
2007-12-22 2:22 ` H. Peter Anvin
2007-12-22 2:41 ` Andi Kleen
-- strict thread matches above, loose matches on Subject: below --
2007-12-16 19:11 devzero
2007-12-16 19:59 ` Parag Warudkar
2007-12-16 20:18 ` Alan Cox
2007-12-17 23:25 ` Jan Engelhardt
2007-12-17 23:27 ` H. Peter Anvin
2007-12-18 0:10 ` Alan Cox
2007-12-18 0:22 ` H. Peter Anvin
2007-12-16 19:19 devzero
2007-12-16 21:04 devzero
2007-12-16 21:01 ` Alan Cox
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49015158@web.de \
--to=devzero@web.de \
--cc=Matt.Domsch@dell.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.