Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Nov 2001 21:25:45 +0100
From:      Guido van Rooij <guido@gvr.org>
To:        freebsd-hackers@freebsd.org
Subject:   review: single step thoruggh the probe messages
Message-ID:  <20011126212545.A13597@gvr.gvr.org>

next in thread | raw e-mail | index | archive | help

--7AUc2qLy4jB3hD7Z
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Attached some patches that add a -p functionality to the boot process.
If booting with -p, every line printed during probing happens only
after one presses a key.

This was usefull to see the probe messages of a system that completely
hung (read: no scroll-back functionslity left) after probing.

-Guido

--7AUc2qLy4jB3hD7Z
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=patch

--- sbin/reboot/boot_i386.8.orig	Mon Nov 26 16:13:29 2001
+++ sbin/reboot/boot_i386.8	Sun Nov 25 16:46:57 2001
@@ -220,6 +220,8 @@
 and
 .Fl h
 options are automatically set.
+.It Fl p
+pause after each attached device during the device probing phase.
 .It Fl r
 use the statically configured default for the device containing the
 root file system
--- sys/boot/i386/libi386/bootinfo.c.orig	Mon Nov 26 16:13:16 2001
+++ sys/boot/i386/libi386/bootinfo.c	Sat Nov 24 00:10:23 2001
@@ -97,6 +97,9 @@
 		case 'h':
 		    howto |= RB_SERIAL;
 		    break;
+		case 'p':
+		    howto |= RB_PAUSE;
+		    break;
 		case 'r':
 		    howto |= RB_DFLTROOT;
 		    break;
--- sys/sys/reboot.h.orig	Mon Nov 26 16:13:05 2001
+++ sys/sys/reboot.h	Sat Nov 24 00:08:11 2001
@@ -61,6 +61,7 @@
 #define	RB_GDB		0x8000	/* use GDB remote debugger instead of DDB */
 #define	RB_MUTE		0x10000	/* Come up with the console muted */
 #define	RB_SELFTEST	0x20000	/* don't boot to normal operation, do selftest */
+#define	RB_PAUSE	0x40000	/* pause after each line during autoconfig */
 
 #define	RB_BOOTINFO	0x80000000	/* have `struct bootinfo *' arg */
 
--- sys/kern/tty_cons.c.orig	Mon Nov 26 16:12:31 2001
+++ sys/kern/tty_cons.c	Mon Nov 26 15:58:30 2001
@@ -98,6 +98,7 @@
 static d_close_t *cn_phys_close;	/* physical device close function */
 static d_open_t *cn_phys_open;		/* physical device open function */
        struct consdev *cn_tab;		/* physical console device info */
+static u_char cninit_notyetfinished=1;	/* zero if we left autoconfigure */
 
 CONS_DRIVER(cons, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
 
@@ -175,6 +176,7 @@
 	}
 	cn_dev_t = cn_tab->cn_dev;
 	cn_udev_t = dev2udev(cn_dev_t);
+	cninit_notyetfinished = 0;
 }
 
 static void
@@ -443,6 +445,12 @@
 		if (c == '\n')
 			(*cn_tab->cn_putc)(cn_tab->cn_dev, '\r');
 		(*cn_tab->cn_putc)(cn_tab->cn_dev, c);
+		if ((c == '\n') && (boothowto & RB_PAUSE) &&
+		    (cninit_notyetfinished)) {
+			printf("<pause>\r");
+			(void)cngetc();
+			printf("       \r");
+		}
 	}
 }
 

--7AUc2qLy4jB3hD7Z--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011126212545.A13597>