Add 'C' option to bootblock to enable serial console.
This commit is contained in:
parent
921295db8e
commit
2aacffe133
|
@ -1,4 +1,4 @@
|
|||
.\" $NetBSD: boot.8,v 1.12 2009/09/05 11:37:52 wiz Exp $
|
||||
.\" $NetBSD: boot.8,v 1.13 2016/01/15 08:27:04 mlelstv Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 1990, 1991 The Regents of the University of California.
|
||||
.\" All rights reserved.
|
||||
|
@ -85,13 +85,11 @@ typing in an alternate command sequence.
|
|||
The command line looks like:
|
||||
.Bd -ragged -offset indent
|
||||
.Ar kernel-path
|
||||
.Op Fl abknpqstvADZ
|
||||
.Op Fl abkpqsvACDS
|
||||
.Op Fl c Ar model
|
||||
.Op Fl m Ar memsize
|
||||
.Op Fl n Ar memsegments
|
||||
.Op Fl I Ar mask
|
||||
.Op Fl S Ar amount
|
||||
.Op Fl T Ar amount
|
||||
.Ed
|
||||
.Pp
|
||||
.Bl -tag -width flag
|
||||
|
@ -129,8 +127,13 @@ Boot in quiet mode.
|
|||
Boot into single-user mode.
|
||||
.It Fl v
|
||||
Boot in verbose mode.
|
||||
.It Fl A
|
||||
Enable AGA display modes.
|
||||
.It Fl C
|
||||
Use the serial port as console.
|
||||
.It Fl D
|
||||
Enter the kernel debugger (best used with -S)
|
||||
Enter the kernel debugger (best used with
|
||||
.Fl S ) .
|
||||
.It Fl I Ar mask
|
||||
inhibit sync negotiation as follows: The
|
||||
.Ar mask
|
||||
|
@ -142,7 +145,8 @@ real SCSI busses, but not, e.g., to internal IDE.
|
|||
The bytes are used up
|
||||
from right to left by SCSI bus drivers using this convention.
|
||||
.It Fl S
|
||||
Load the kernel symbols
|
||||
include kernel debug symbols (for use by
|
||||
.Fl D ) .
|
||||
.El
|
||||
.Ss Booting NetBSD using the loadbsd program
|
||||
When you want (or have to) start
|
||||
|
@ -153,13 +157,11 @@ program that is supplied in the utils directory of the distribution.
|
|||
The loadbsd command line specification is:
|
||||
.Bd -ragged -offset indent
|
||||
.Nm loadbsd
|
||||
.Op Fl abknpstADZ
|
||||
.Op Fl abkpqstvACDSZ
|
||||
.Op Fl c Ar model
|
||||
.Op Fl m Ar memsize
|
||||
.Op Fl n Ar memsegments
|
||||
.Op Fl I Ar mask
|
||||
.Op Fl S Ar amount
|
||||
.Op Fl T Ar amount
|
||||
.Ar kernel-path
|
||||
.Ed
|
||||
.Pp
|
||||
|
@ -186,17 +188,22 @@ of memory to use, encoded as follows: 0 (default): 1 segment, 1:
|
|||
2 segments, 2: 3 or more segments.
|
||||
.It Fl p
|
||||
Select kernel load segment by priority instead of size.
|
||||
.It Fl q
|
||||
Boot in quiet mode.
|
||||
.It Fl s
|
||||
Boot into single-user mode.
|
||||
.It Fl t
|
||||
Test loading of the kernel but don't start
|
||||
.Nx .
|
||||
.It Fl v
|
||||
Boot in verbose mode.
|
||||
.It Fl A
|
||||
enable AGA modes.
|
||||
enable AGA display modes.
|
||||
.It Fl C
|
||||
Use the serial port as console
|
||||
.It Fl D
|
||||
Enter the kernel debugger after booting.
|
||||
Best with
|
||||
.Fl S .
|
||||
Enter the kernel debugger (best used with
|
||||
.Fl S ) .
|
||||
.It Fl I Ar mask
|
||||
inhibit sync negotiation as follows: The
|
||||
.Ar mask
|
||||
|
@ -208,7 +215,8 @@ real SCSI busses, but not, e.g., to internal IDE.
|
|||
The bytes are used up
|
||||
from right to left by SCSI bus drivers using this convention.
|
||||
.It Fl S
|
||||
include kernel debug symbols (for use by -D).
|
||||
include kernel debug symbols (for use by
|
||||
.Fl D ) .
|
||||
.It Fl Z
|
||||
Force load via chip memory.
|
||||
Won't work if kernel is larger than the chip memory size or on the
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: Makefile,v 1.52 2014/04/19 00:55:37 tsutsui Exp $
|
||||
# $NetBSD: Makefile,v 1.53 2016/01/15 08:27:04 mlelstv Exp $
|
||||
|
||||
.include <bsd.own.mk>
|
||||
.include <bsd.sys.mk> # for HOST_SH
|
||||
|
@ -52,7 +52,7 @@ OBJS= $(SOBJS) $(COBJS)
|
|||
#XX#DEFS = -D_STANDALONE -DSA_EXEC_ANYOWNER -DDYNAMIC_CRC_TABLE -DNOBYFOUR -UBYFOUR
|
||||
DEFS = -D_STANDALONE -DSA_EXEC_ANYOWNER
|
||||
DEFS += -D__INTERNAL_LIBSA_CREAD
|
||||
#DEFS += -DSERCONSOLE
|
||||
DEFS += -DSERCONSOLE
|
||||
SOBJS += cread.o
|
||||
|
||||
#XX#SOBJS += adler32.o crc32.o inflate.o trees.o \
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: console.c,v 1.13 2009/10/17 11:18:18 mlelstv Exp $ */
|
||||
/* $NetBSD: console.c,v 1.14 2016/01/15 08:27:04 mlelstv Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1996 The NetBSD Foundation, Inc.
|
||||
|
@ -71,6 +71,39 @@ static struct Console myConsole;
|
|||
|
||||
u_int16_t timelimit;
|
||||
|
||||
#ifdef SERCONSOLE
|
||||
static int use_serconsole;
|
||||
extern char default_command[];
|
||||
|
||||
static void
|
||||
conspreinit(void)
|
||||
{
|
||||
char *p = default_command;
|
||||
char c;
|
||||
|
||||
/*
|
||||
* preparse the default command to check for -C option
|
||||
* that selects the serial console
|
||||
*/
|
||||
while ((c = *p)) {
|
||||
while (c == ' ')
|
||||
c = *++p;
|
||||
if (c == '-') {
|
||||
while ((c = *++p) && c != ' ') {
|
||||
switch (c) {
|
||||
case 'C':
|
||||
use_serconsole = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
while ((c = *++p) && c != ' ')
|
||||
;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
consinit(void *consptr) {
|
||||
struct Console *mc;
|
||||
|
@ -116,7 +149,9 @@ consinit(void *consptr) {
|
|||
goto err;
|
||||
|
||||
#ifdef SERCONSOLE
|
||||
RawIOInit();
|
||||
conspreinit();
|
||||
if (use_serconsole)
|
||||
RawIOInit();
|
||||
#endif
|
||||
|
||||
ConsoleBase = mc;
|
||||
|
@ -189,7 +224,8 @@ putchar(int c)
|
|||
mc->cnior->cmd = Cmd_Wr;
|
||||
|
||||
#ifdef SERCONSOLE
|
||||
RawPutChar((int32_t)c);
|
||||
if (use_serconsole)
|
||||
RawPutChar((int32_t)c);
|
||||
#endif
|
||||
|
||||
(void)DoIO(mc->cnior);
|
||||
|
@ -205,8 +241,10 @@ puts(char *s)
|
|||
mc->cnior->cmd = Cmd_Wr;
|
||||
|
||||
#ifdef SERCONSOLE
|
||||
while (*s)
|
||||
RawPutChar(*s++);
|
||||
if (use_serconsole) {
|
||||
while (*s)
|
||||
RawPutChar(*s++);
|
||||
}
|
||||
#endif
|
||||
|
||||
(void)DoIO(mc->cnior);
|
||||
|
@ -245,10 +283,12 @@ getchar(void)
|
|||
ticks = 1;
|
||||
} else /* if (ior == mc->tmior) */ {
|
||||
#ifdef SERCONSOLE
|
||||
r = RawMayGetChar();
|
||||
if (r != -1) {
|
||||
c = r;
|
||||
ticks = 1;
|
||||
if (use_serconsole) {
|
||||
r = RawMayGetChar();
|
||||
if (r != -1) {
|
||||
c = r;
|
||||
ticks = 1;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (ticks == 1)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: Makefile,v 1.22 2014/04/29 08:11:46 martin Exp $
|
||||
# $NetBSD: Makefile,v 1.23 2016/01/15 08:27:04 mlelstv Exp $
|
||||
|
||||
### what we need:
|
||||
|
||||
|
@ -33,7 +33,7 @@ SOBJS += libstubs.o memcmp.o memmove.o memset.o strncmp.o
|
|||
|
||||
OBJS= $(SOBJS) $(COBJS)
|
||||
|
||||
DEFS = -D_STANDALONE -DSA_EXEC_ANYOWNER -D_PRIMARY_BOOT
|
||||
DEFS = -D_STANDALONE -DSA_EXEC_ANYOWNER -D_PRIMARY_BOOT -DSERCONSOLE
|
||||
|
||||
.NOPATH: ${OBJS} x.out f.out libboot.a xxstart.o
|
||||
|
||||
|
|
Loading…
Reference in New Issue