mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Bjorn Helgaas <bjorn.helgaas@hp.com>
To: hpa@zytor.com
Cc: linux-kernel@vger.kernel.org, iss_storagedev@hp.com,
	Mike Miller <mike.miller@hp.com>
Subject: kinit problem with cciss root device
Date: Tue, 6 Jun 2006 16:40:48 -0600	[thread overview]
Message-ID: <200606061640.48644.bjorn.helgaas@hp.com> (raw)

kinit converts "root=/dev/cciss/c0d0p1" to "cciss.c0d0", which
doesn't exist under /sys/block because register_disk() converts
"cciss/c0d0" to "cciss!c0d0" (note "!", not ".").

I don't know whether it's the *right* fix, but the patch below
makes things work.  It still doesn't make kinit exactly match
the register_disk() behavior because register_disk() only changes
the first "/" in the string.

This was a nuisance to debug because when it failed, the only
output I got was this:

  ...
  Adding console on ttyS0 at I/O port 0x3f8 (options '115200')
  Time: tsc clocksource has been installed.
  Freeing unused kernel memory: 260k freed
    argc == 4
  Kernel panic - not syncing: Attempted to kill init!
    argv[0]: "/ini 

So you might consider something like the "drain output" hunk below,
which allowed all the useful messages to get out.


Index: work-mm8/usr/kinit/kinit.c
===================================================================
--- work-mm8.orig/usr/kinit/kinit.c	2006-06-05 19:04:46.000000000 -0600
+++ work-mm8/usr/kinit/kinit.c	2006-06-06 14:19:59.000000000 -0600
@@ -317,5 +317,10 @@
 	if (mnt_sysfs)
 		umount2("/sys", 0);
 
+	/*
+	 * Allow time for messages to drain before kernel panics
+	 * because init is exiting.
+	 * */
+	sleep(10);
 	exit(ret);
 }
Index: work-mm8/usr/kinit/name_to_dev.c
===================================================================
--- work-mm8.orig/usr/kinit/name_to_dev.c	2006-06-05 19:04:46.000000000 -0600
+++ work-mm8/usr/kinit/name_to_dev.c	2006-06-06 14:19:02.000000000 -0600
@@ -151,7 +151,7 @@
 
 	for (p = s; *p; p++)
 		if (*p == '/')
-			*p = '.';
+			*p = '!';
 	res = try_name(s, 0);
 	if (res)
 		return res;

             reply	other threads:[~2006-06-06 22:40 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-06 22:40 Bjorn Helgaas [this message]
2006-06-06 23:25 ` H. Peter Anvin
2006-06-06 23:38   ` H. Peter Anvin
2006-06-06 23:44 ` H. Peter Anvin

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=200606061640.48644.bjorn.helgaas@hp.com \
    --to=bjorn.helgaas@hp.com \
    --cc=hpa@zytor.com \
    --cc=iss_storagedev@hp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mike.miller@hp.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®