summaryrefslogtreecommitdiff
path: root/sys/boot
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@FreeBSD.org>2006-02-14 06:20:16 +0000
committerRuslan Ermilov <ru@FreeBSD.org>2006-02-14 06:20:16 +0000
commit5ce6174b07830f01be9021970e1f6354759e77f0 (patch)
tree51f247d0fa6b5d0373ca44b6d721fffdf91a7344 /sys/boot
parent8ac02f3842eec53a747230f0e90fa09b62d7175b (diff)
Notes
Diffstat (limited to 'sys/boot')
-rw-r--r--sys/boot/common/help.common24
-rw-r--r--sys/boot/common/loader.811
-rw-r--r--sys/boot/efi/libefi/bootinfo.c10
-rw-r--r--sys/boot/forth/loader.conf3
-rw-r--r--sys/boot/forth/loader.conf.55
-rw-r--r--sys/boot/i386/libi386/bootinfo.c17
-rw-r--r--sys/boot/i386/libi386/libi386.h1
-rw-r--r--sys/boot/i386/loader/main.c2
-rw-r--r--sys/boot/ia64/ski/bootinfo.c10
-rw-r--r--sys/boot/powerpc/loader/metadata.c10
-rw-r--r--sys/boot/sparc64/loader/metadata.c10
11 files changed, 88 insertions, 15 deletions
diff --git a/sys/boot/common/help.common b/sys/boot/common/help.common
index a2c2ff7b4cbd..ce787184f4a2 100644
--- a/sys/boot/common/help.common
+++ b/sys/boot/common/help.common
@@ -170,6 +170,14 @@
proceeding to initialize when booted.
################################################################################
+# Tset Sboot_dfltroot DUse default root file system
+
+ set boot_dfltroot
+
+ Instructs the kernel to mount the statically compiled-in root
+ file system.
+
+################################################################################
# Tset Sboot_gdb DSelect gdb-remote mode for the kernel debugger
set boot_gdb
@@ -186,6 +194,22 @@
by the conscontrol(8) utility.
################################################################################
+# Tset Sboot_mute DMute the console
+
+ set boot_mute
+
+ All console output is suppressed when console is muted.
+ In a running system, the state of console muting can be
+ manipulated by the conscontrol(8) utility.
+
+################################################################################
+# Tset Sboot_pause DPause after each line during device probing
+
+ set boot_pause
+
+ During the device probe, pause after each line is printed.
+
+################################################################################
# Tset Sboot_serial DUse serial console
set boot_serial
diff --git a/sys/boot/common/loader.8 b/sys/boot/common/loader.8
index 3e99eeaca98b..41d14f4d9493 100644
--- a/sys/boot/common/loader.8
+++ b/sys/boot/common/loader.8
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd August 18, 2005
+.Dd September 22, 2005
.Dt LOADER 8
.Os
.Sh NAME
@@ -370,6 +370,8 @@ Instructs the kernel to try to mount the root file system from CD-ROM.
.It Va boot_ddb
Instructs the kernel to start in the DDB debugger, rather than
proceeding to initialize when booted.
+.It Va boot_dfltroot
+Instructs the kernel to mount the statically compiled-in root file system.
.It Va boot_gdb
Selects gdb-remote mode for the kernel debugger by default.
.It Va boot_multicons
@@ -378,6 +380,13 @@ In a running system, console configuration can be manipulated
by the
.Xr conscontrol 8
utility.
+.It Va boot_mute
+All console output is suppressed when console is muted.
+In a running system, the state of console muting can be manipulated by the
+.Xr conscontrol 8
+utility.
+.It Va boot_pause
+During the device probe, pause after each line is printed.
.It Va boot_serial
Force the use of a serial console even when an internal console
is present.
diff --git a/sys/boot/efi/libefi/bootinfo.c b/sys/boot/efi/libefi/bootinfo.c
index 44fde4661134..964596887428 100644
--- a/sys/boot/efi/libefi/bootinfo.c
+++ b/sys/boot/efi/libefi/bootinfo.c
@@ -54,11 +54,14 @@ static struct
{"boot_askname", RB_ASKNAME},
{"boot_cdrom", RB_CDROM},
{"boot_ddb", RB_KDB},
+ {"boot_dfltroot", RB_DFLTROOT},
{"boot_gdb", RB_GDB},
- {"boot_single", RB_SINGLE},
- {"boot_verbose", RB_VERBOSE},
{"boot_multicons", RB_MULTIPLE},
+ {"boot_mute", RB_MUTE},
+ {"boot_pause", RB_PAUSE},
{"boot_serial", RB_SERIAL},
+ {"boot_single", RB_SINGLE},
+ {"boot_verbose", RB_VERBOSE},
{NULL, 0}
};
@@ -103,6 +106,9 @@ bi_getboothowto(char *kargs)
case 'h':
howto |= RB_SERIAL;
break;
+ case 'p':
+ howto |= RB_PAUSE;
+ break;
case 'r':
howto |= RB_DFLTROOT;
break;
diff --git a/sys/boot/forth/loader.conf b/sys/boot/forth/loader.conf
index 4617aac78a64..fb3ae70721f6 100644
--- a/sys/boot/forth/loader.conf
+++ b/sys/boot/forth/loader.conf
@@ -67,8 +67,11 @@ module_path="/boot/modules" # Set the module search path
#boot_askname="" # -a: Prompt the user for the name of the root device
#boot_cdrom="" # -C: Attempt to mount root file system from CD-ROM
#boot_ddb="" # -d: Instructs the kernel to start in the DDB debugger
+#boot_dfltroot="" # -r: Use the statically configured root file system
#boot_gdb="" # -g: Selects gdb-remote mode for the kernel debugger
#boot_multicons="" # -D: Use multiple consoles
+#boot_mute="" # -m: Mute the console
+#boot_pause="" # -p: Pause after each line during device probing
#boot_serial="" # -h: Use serial console
#boot_single="" # -s: Start system in single-user mode
#boot_verbose="" # -v: Causes extra debugging information to be printed
diff --git a/sys/boot/forth/loader.conf.5 b/sys/boot/forth/loader.conf.5
index f8deb8cac8ba..15583a37f0f7 100644
--- a/sys/boot/forth/loader.conf.5
+++ b/sys/boot/forth/loader.conf.5
@@ -165,13 +165,12 @@ a bitmap will be loaded to be displayed on screen while booting.
Name of the bitmap to be loaded.
Any other name can be used.
.It Va comconsole_speed
-.Po Dq 9600
+.Dq ( 9600
or the value of the
.Va BOOT_COMCONSOLE_SPEED
variable when
.Xr loader 8
-was compiled
-.Pc .
+was compiled).
Sets the speed of the serial console.
If the previous boot loader stage specified that a serial console
is in use then the default speed is determined from the current
diff --git a/sys/boot/i386/libi386/bootinfo.c b/sys/boot/i386/libi386/bootinfo.c
index 623351cec2c5..8a67e39409ad 100644
--- a/sys/boot/i386/libi386/bootinfo.c
+++ b/sys/boot/i386/libi386/bootinfo.c
@@ -47,11 +47,14 @@ static struct
{"boot_askname", RB_ASKNAME},
{"boot_cdrom", RB_CDROM},
{"boot_ddb", RB_KDB},
+ {"boot_dfltroot", RB_DFLTROOT},
{"boot_gdb", RB_GDB},
- {"boot_single", RB_SINGLE},
- {"boot_verbose", RB_VERBOSE},
{"boot_multicons", RB_MULTIPLE},
+ {"boot_mute", RB_MUTE},
+ {"boot_pause", RB_PAUSE},
{"boot_serial", RB_SERIAL},
+ {"boot_single", RB_SINGLE},
+ {"boot_verbose", RB_VERBOSE},
{NULL, 0}
};
@@ -150,6 +153,16 @@ bi_getboothowto(char *kargs)
return(howto);
}
+void
+bi_setboothowto(int howto)
+{
+ int i;
+
+ for (i = 0; howto_names[i].ev != NULL; i++)
+ if (howto & howto_names[i].mask)
+ setenv(howto_names[i].ev, "YES", 1);
+}
+
/*
* Copy the environment into the load area starting at (addr).
* Each variable is formatted as <name>=<value>, with a single nul
diff --git a/sys/boot/i386/libi386/libi386.h b/sys/boot/i386/libi386/libi386.h
index 749957689a14..39c618f6ba69 100644
--- a/sys/boot/i386/libi386/libi386.h
+++ b/sys/boot/i386/libi386/libi386.h
@@ -104,6 +104,7 @@ void gateA20(void);
int i386_autoload(void);
int bi_getboothowto(char *kargs);
+void bi_setboothowto(int howto);
vm_offset_t bi_copyenv(vm_offset_t addr);
int bi_load32(char *args, int *howtop, int *bootdevp, vm_offset_t *bip,
vm_offset_t *modulep, vm_offset_t *kernend);
diff --git a/sys/boot/i386/loader/main.c b/sys/boot/i386/loader/main.c
index 1e2f568bb787..f2d484898391 100644
--- a/sys/boot/i386/loader/main.c
+++ b/sys/boot/i386/loader/main.c
@@ -98,8 +98,8 @@ main(void)
* We can use printf() etc. once this is done.
* If the previous boot stage has requested a serial console, prefer that.
*/
+ bi_setboothowto(initial_howto);
if (initial_howto & RB_MULTIPLE) {
- setenv("boot_multicons", "YES", 1);
if (initial_howto & RB_SERIAL)
setenv("console", "comconsole vidconsole", 1);
else
diff --git a/sys/boot/ia64/ski/bootinfo.c b/sys/boot/ia64/ski/bootinfo.c
index 5bc1797520a1..a003d989757f 100644
--- a/sys/boot/ia64/ski/bootinfo.c
+++ b/sys/boot/ia64/ski/bootinfo.c
@@ -49,11 +49,14 @@ static struct
{"boot_askname", RB_ASKNAME},
{"boot_cdrom", RB_CDROM},
{"boot_ddb", RB_KDB},
+ {"boot_dfltroot", RB_DFLTROOT},
{"boot_gdb", RB_GDB},
- {"boot_single", RB_SINGLE},
- {"boot_verbose", RB_VERBOSE},
{"boot_multicons", RB_MULTIPLE},
+ {"boot_mute", RB_MUTE},
+ {"boot_pause", RB_PAUSE},
{"boot_serial", RB_SERIAL},
+ {"boot_single", RB_SINGLE},
+ {"boot_verbose", RB_VERBOSE},
{NULL, 0}
};
@@ -99,6 +102,9 @@ bi_getboothowto(char *kargs)
case 'h':
howto |= RB_SERIAL;
break;
+ case 'p':
+ howto |= RB_PAUSE;
+ break;
case 'r':
howto |= RB_DFLTROOT;
break;
diff --git a/sys/boot/powerpc/loader/metadata.c b/sys/boot/powerpc/loader/metadata.c
index fdeaa5960a1c..37c2bb717000 100644
--- a/sys/boot/powerpc/loader/metadata.c
+++ b/sys/boot/powerpc/loader/metadata.c
@@ -51,11 +51,14 @@ static struct
{"boot_askname", RB_ASKNAME},
{"boot_cdrom", RB_CDROM},
{"boot_ddb", RB_KDB},
+ {"boot_dfltroot", RB_DFLTROOT},
{"boot_gdb", RB_GDB},
- {"boot_single", RB_SINGLE},
- {"boot_verbose", RB_VERBOSE},
{"boot_multicons", RB_MULTIPLE},
+ {"boot_mute", RB_MUTE},
+ {"boot_pause", RB_PAUSE},
{"boot_serial", RB_SERIAL},
+ {"boot_single", RB_SINGLE},
+ {"boot_verbose", RB_VERBOSE},
{NULL, 0}
};
@@ -98,6 +101,9 @@ md_getboothowto(char *kargs)
case 'h':
howto |= RB_SERIAL;
break;
+ case 'p':
+ howto |= RB_PAUSE;
+ break;
case 'r':
howto |= RB_DFLTROOT;
break;
diff --git a/sys/boot/sparc64/loader/metadata.c b/sys/boot/sparc64/loader/metadata.c
index 3fe767799d0e..3f6af23abcaa 100644
--- a/sys/boot/sparc64/loader/metadata.c
+++ b/sys/boot/sparc64/loader/metadata.c
@@ -59,11 +59,14 @@ static struct
{"boot_askname", RB_ASKNAME},
{"boot_cdrom", RB_CDROM},
{"boot_ddb", RB_KDB},
+ {"boot_dfltroot", RB_DFLTROOT},
{"boot_gdb", RB_GDB},
- {"boot_single", RB_SINGLE},
- {"boot_verbose", RB_VERBOSE},
{"boot_multicons", RB_MULTIPLE},
+ {"boot_mute", RB_MUTE},
+ {"boot_pause", RB_PAUSE},
{"boot_serial", RB_SERIAL},
+ {"boot_single", RB_SINGLE},
+ {"boot_verbose", RB_VERBOSE},
{NULL, 0}
};
@@ -106,6 +109,9 @@ md_getboothowto(char *kargs)
case 'h':
howto |= RB_SERIAL;
break;
+ case 'p':
+ howto |= RB_PAUSE;
+ break;
case 'r':
howto |= RB_DFLTROOT;
break;