freebsd-dev/share/examples/bootforth
Daniel C. Sobral 8ac94f5119 Good thing about these examples is that no one uses them, so they can
stay broken for months without anyone noticing.

The boot-conf command was changed as to reproduce the behavior of builtin
loader words precisely. As a result, it now always need an argument, possibly
0 indicating that no other arguments are being passed. This broke in a
non-deterministic way (ie, it could go on working as if everything was fine).
2000-09-05 16:30:09 +00:00
..
boot.4th $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
frames.4th $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
loader.rc $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
menu.4th $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
menuconf.4th Good thing about these examples is that no one uses them, so they can 2000-09-05 16:30:09 +00:00
README $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
screen.4th $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00

Here you can find some simple examples how to use BootFORTH (part of the
new bootloader) together with terminal emulation code (available when
compiling /sys/boot/i386/libi386 with -DTERM_EMU).

Normally, you can place the files in /boot as they are here, and they will be
automatically loaded by /boot/loader. You must choose between boot.4th or
loader.rc, though. Copy one or the other, but not both. Also, menu.4th is
only used by boot.4th, and menuconf.4th is only used by loader.rc, so you
don't need to copy both files.

The files are:

boot.4th	example of file which is always loaded by /boot/loader, if
		present in /boot/
loader.rc	example of file which is always loader by /boot/loader, if
		present in /boot/
screen.4th	helpful words for screen manipulation.
frames.4th	basic frame drawing primitives. Requires screen.4th.
menu.4th	example of simple startup menu.
menuconf.4th	another example of simples startup menu.

You're encouraged to add more features to these files - I'm not a Forth
hacker, unfortunately...

Andrzej Bialecki
<abial@freebsd.org>

If you use loader.rc/menuconf.4th, be sure to create /boot/stable.conf and
/boot/current.conf, like described in loader.conf(5), with appropriate
configuration to distinguish one from the other.

Daniel C. Sobral
<dcs@freebsd.org>

$FreeBSD$