255 Commits

Author SHA1 Message Date
msmith
d6db5cac76 Add 'set tunables' help, list the kernel tunable values that can currently
be overridden.
1999-01-21 22:03:16 +00:00
msmith
488523664e Transition from using Perl to using awk for our text-manipulation
needs.  This removes the dependancy on Perl for the generation of the
loader, allowing the world to be built on a perl-free system.

Submitted by:	Joe Abley <jabley@clear.co.nz>
1999-01-18 19:05:27 +00:00
jdp
7144bbc986 Replace duplicated "old" linker set definitions with an include of
<sys/linker_set.h>.  Note, this isn't used on the i386.
1999-01-16 03:25:24 +00:00
abial
cb4a248c7e Fall back to /boot/boot.conf, if /boot/loader.rc was not fount. This is
to cover the transition period.

Suggested by:	msmith
1999-01-15 00:31:45 +00:00
abial
010f76153c Change counter-intuitive pc@ and pc! to inb and outb.
Submitted by:	jkh
1999-01-14 23:48:03 +00:00
rnordier
6edc8726f9 In the event of a disk error, boot2 is expecting an error
code to be returned: give it one
1999-01-13 23:30:07 +00:00
abial
e7c0e116e6 Change /boot/boot.conf to /boot/loader.rc - this name reflects what it
really is.

Agreed upon by:	jkh, msmith and many others
1999-01-13 21:59:58 +00:00
abial
741d3b95c6 Add words "pc!" and "pc@" which allow to manipulate I/O ports. This can
be helpful when directly fiddling with PC hardware.

Also, define "arch-i386" appropriately, as suggested by Daniel C. Sobral.
1999-01-13 21:31:50 +00:00
msmith
edc692a016 Typo in patch application.
PR:		kern/9459
Submitted by:	"Daniel C. Sobral" <dcs@newsguy.com>
1999-01-13 08:11:41 +00:00
rnordier
192bb84877 Drop boot.help support. 1999-01-11 11:36:03 +00:00
msmith
d141889ddd No builtin command resets getopt before using it, causing
problems in case a wrong option was given previously, and no option
is given to the next command.

PR:		kern/9371
Submitted by:	"Daniel C. Sobral" <dcs@newsguy.com>
1999-01-11 06:41:32 +00:00
msmith
527d380042 Preserve the previous loader as loader.old.
Note no matching commit for the Alpha, as the alpha boot0 stage does
not have the ability to prompt for user input.

PR:		kern/9406
Submitted by:	 "Daniel C. Sobral" <dcs@newsguy.com>
1999-01-11 05:52:28 +00:00
msmith
ea810b3ebb Disable kzipping the loader; it seems to be breaking the aout-to-elf build 1999-01-10 20:20:27 +00:00
steve
01f82cbb96 Remove redundant line of code.
PR:		9364
Submitted by:	Daniel C. Sobral <dcs@newsguy.com>
1999-01-10 18:22:23 +00:00
rnordier
7f3d245232 Use etc/make.conf settings for serial port and speed.
Submitted by: rvb
Reviewed by: bde
1999-01-10 14:48:05 +00:00
peter
6f74dc01b4 Damn, I thought I had committed this already, but it seems not.
Move the relocated boot1 and arg transfer space from 0x600/0x800 to
0x700/0x900.  In theory this should make no difference, apart from the fact
that Buslogic controllers happen to use a few bytes at 0x600 for some sort
of scratch space for it's int 0x13 hook (!!!), causing the machine to crash
badly when the boot2 code makes it's callbacks into boot1 for disk IO.

Submitted by:	Robert Nordier <rnordier@freebsd.org>
1999-01-10 13:29:52 +00:00
msmith
e50aa55751 Enable escapes for $ to make it possible to insert variable names into
other variable values.
1999-01-10 05:08:12 +00:00
msmith
48d88654f8 Explicitly look for kzip in /usr/bin, again this is a stopgap, to avoid
making kzip a build tool.
1999-01-09 20:14:46 +00:00
msmith
dc29b5609b kzip the loader, this shrinks it to about 60% of its original size.
Note that this is a stopgap with dependancies on the a.out tools.
1999-01-09 02:38:40 +00:00
msmith
6ed8cbf467 Extend bd_print() so that it displays slices and partitions on disks. 1999-01-09 02:36:19 +00:00
msmith
4077891a70 Add a description for 'lsdev' so that it shows up in the '?' display 1999-01-09 02:34:48 +00:00
msmith
e6452a0522 Alpha-specific help topics (currently empty) 1999-01-05 20:44:26 +00:00
peter
46c636cd84 Fix a potential sign extension bug on 8-bit chars.
Outputting a backspace isn't supposed to be destructive..  It isn't on
most terminals, nor on the standard bios output (vs. TERM_EMU mode)
1999-01-04 18:45:08 +00:00
peter
6a8415504a Fix variable initialization.. It was written with '==' instead of '-'.
#include <string.h> for string prototypes.
1999-01-04 18:39:24 +00:00
peter
0e973448d5 Clean some unused variables lint 1999-01-04 18:38:23 +00:00
peter
2304ebab76 Don't forget a trailing \n when loading a kernel that has been stripped.
(This might make ELF_VERBOSE look funny, but I'm tempted to delete that
 anyway)
1999-01-04 18:37:41 +00:00
msmith
18c1130833 Restore dependancy to build loader.help here 1999-01-04 01:28:46 +00:00
msmith
eec8f14ee3 Add dependancy to build loader.help here 1999-01-04 01:28:39 +00:00
msmith
b4c6624855 First cut at generating loader.help for the alpha 1999-01-03 20:54:05 +00:00
msmith
a344fa1d6d Reenable generation of the loader.help file 1999-01-03 20:50:35 +00:00
jkh
a8ac3175ba Update for new boot block location. 1999-01-02 23:22:12 +00:00
abial
25196ce9dd Add support for some FACILITY words:
key? ( -- flag)  \ check to see if there's a key to be read from input
ms   ( u -- )    \ wait that many milliseconds
seconds ( -- u ) \ get number of seconds from midnight.

'words' now outputs the list page by page - this probably should go
through libstand's pager, but will have to wait for closer integration of
built-ins with Forth...

Submitted partially by:	W Gerald Hicks <wghicks@bellsouth.net>
1998-12-31 14:03:28 +00:00
abial
b3642b0f23 Add back ability to make beeps when using new TERM_EMU.
Submitted by:	W Gerald Hicks <wghicks@bellsouth.net>
1998-12-31 13:44:04 +00:00
abial
75069f671c Add simple terminal emulator, compatible with cons25. Currently supported
capabilities are: AF, AB, cm, ho, me, cd. The code is hidden behind
-DTERM_EMU - should it cause any problems, you can remove this define
to get back the old behaviour.

You'll find some examples how to use it in src/share/examples/bootforth.

Reviewed by:	jkh
1998-12-22 11:51:25 +00:00
abial
866889d236 Add new word ".#" which acts like "." but doesn't output a space separator.
I found it impossible to output parametrized strings like "\033[%d;%dH"
without building them first in pad area.
1998-12-22 11:46:27 +00:00
abial
524f060924 * Begin integration of built-ins with Forth: leave the exit code from
a built-in command on Forth stack.
* Fix a bug which was causing a panic when loading stripped aout kernels.

Reviewed by:	jkh
1998-12-22 11:41:51 +00:00
n_hibma
0dfe97f554 Removed dynamic loading of FileHandle 1998-12-16 09:09:09 +00:00
msmith
fca47ff171 Disable build/install of boot.help until we sort out how to construct it
in the makeworld environment.
1998-12-16 02:27:15 +00:00
msmith
8b77bf750a Reformat help to improve subtopic display appearance, other minor
cleaning.  The 'help' command in the loader should now be usable and
hopefully informative.
1998-12-15 14:32:17 +00:00
msmith
98e8c7d522 Build the composite help file from the generic and architecture-specific
help files, sorting topics and subtopics to allow maximum flexibility.
1998-12-15 14:21:30 +00:00
msmith
bd4b286939 unlocalise build date (merge from i386) 1998-12-15 04:27:15 +00:00
ache
c46111d079 unlocalize date
Submitted by: Cejka Rudolf <cejkar@dcse.fee.vutbr.cz>
1998-12-07 16:17:41 +00:00
rnordier
e625ce3562 Revise some comments and labels. 1998-12-05 11:58:33 +00:00
rnordier
3b5f1e1ac9 Drop EDD support detection, though retain configurable use of disk
packet interface.  Add booteasy-style F5 support.  Add no-update
option. Implement various space optimizations and consistency fixes.
1998-11-29 14:09:00 +00:00
rnordier
2b7d69a8df Drop use of BIOS int 0x14 services in favor of direct port I/O.
Feedback and testing: Adrian Filipi-Martin <adrian@ubergeeks.com>
1998-11-22 07:59:16 +00:00
archie
fe1c18e2d4 Fix misallocation of buffer bug (too short) 1998-11-20 02:57:41 +00:00
paul
36945c480b This fixes a bug in the bcache code whereby false cache hits occur
the first time block 0 is read. This fix initialises the block
numbers to -1 which isn't the most correct thing for a daddr_t but
it isn't likely to cause a problem in the boot blocks and it could
do with a more thought out fix later.

The bug is probably benign on the i386 but on the alpha it can
cause initial file opens to fail. This is the cause of the "can't
open /boot/boot.conf" errors.

It appears on the alpha because of a number of combining factors.
On the alpha the LABELSECTOR is 0 so block 0 needs to be read in
from the media. The first time this happens you get a false hit
because the bc_blkno field is zero initially. Also, the timestamp
check against this cache hit succeeds because on the alpha a hacked
getsecs() function can return 0 when it starts counting so that
the zero initial timestamp + BCACHE_TIMEOUT is greater than the
current time until getsecs() has counted passed BCACHE_TIMEOUT.

The overall effect is that the first open() that occurs gets a
false cache hit and returns garbage to the bd_strategy() function
which then fails the open() call. This false hit then stays in the
cache until BCACHE_TIMEOUT getsecs() ticks have passed; all open()
calls during this time fail.

This explains why you can generally access the media by the time
you get to interp() and start issuing commands but the earlier
attempts to run the boot scripts are failing.

It's possible that this is causing the problem switching to the
mfsroot floppy as well but I haven't confirmed that.
1998-11-19 18:12:03 +00:00
msmith
70b71c8c7a Add documentation for $rootdev. 1998-11-13 23:53:02 +00:00
msmith
20e409b11b Add a new variable $num_ide_disks which is used to offset the unit number
for SCSI disks when converting from BIOS unit numbers to da unit numbers.

Prompted by Kevin Street <street@iname.com>
1998-11-13 23:40:02 +00:00
jkh
c6de7d3383 bootforth seems to be working well enough for me and others to turn
on by default.  If it causes trouble, it's very easy to switch off again.
1998-11-12 07:40:51 +00:00