BSD/OS

If you like 4.4 BSD, you'll like BS/DOS

If you want to run Unix, one option is BSD/OS from BSDI I like it because it is based on 4 BSD but since it's a commercial product, it costs money and so many people pass it over in favor of one of the freely available 4 BSD clones.

Zeroing your disk

One way that seems to work is to boot the BSD/OS installation floppy and dd the kernel to the disk:
(Be sure to back up the disk first!)

# disksetup -W /dev/rwd0c
# dd if=/bsd.gz of=/dev/rwd0c bs=64k count=1

I've found that under BSD/OS 2.1, if you try to copy the entire compressed kernel, the install floppy system will crash.

Sharing a swap between BSD/OS and Windows

Follow the directions in disksetup(8) to create three fdisk partitions; DOS-FAT12, DOS-EXTEND and BSD/OS. Then use the DOS FDISK program to create a logical drive in the extended partition. It'll probably be named D:. Exit FDISK (resulting in a reboot since you changed your fdisk table). When the system come back up, use DOS FORMAT to format the D: drive.

If you are running Windows 3.x, boot Windows and open the control panel. Run the "enhanced 386" program. Select the "virtual memory" button. Select the new drive. (It probably won't want to use as much swap space as you have allocated for Unix.)

If you are running Windows 95, I believe the system will detect the new logical disk and and automatically start using it.

Co-residency with Windows 95

After installing Windows 95, you will need to use bootany(8) to reinstall "bootany.sys" in the master boot record (MBR) so you can boot BSD/OS:

Sharing the hardware clock with PC operating systems

Normally, Unix runs the hardware clock on GMT. This means when you boot a PC operating system such as Windows, the clock will be fast. To fix this, su to root and patch the kernel timezone offset using bpatch(1). The value is the number of minutes west from Greenwich. Here's a script I wrote:
#!/bin/sh
z=`date | sed -e 's/.* \([A-Z][A-Z][A-Z]\) [0-9]*$/\1/'`
case "$z" in
PST)
	bpatch tz 480
	;;
PDT)
	bpatch tz 420
	;;
*)
	echo "$0 unknown zone $z"
	;;
esac
You run it after the time change and then reboot Unix for the change to take effect. Obviously it only works for the pacific time zone but it's easy enough to change.

You can also change the "timezone" line in your kernel config (usually in the /sys/i386/conf directory) from 0 to match your timezone. This value is the number of hours west from Greenwich. For example you would use:

timezone 8
timezone 7
(during daylight savings time)
in the pacific time zone. Then use config(8) to update your config, "make depend" in your /sys/compile directory and build and boot a new kernel.

Obviously it's a lot easier to use bpatch than to build a new kernel every time daylight savings time toggles. But changing your kernel config means by default, your system will be right some of the time.

Verbose autoconfiguration messages

If you want to see verbose autoconfiguration messages, edit /etc/boot.default, which looks like this by default:
-echooff
-autodebug -q
Remove the "-q" from the autodebug line. Or you can change it to "-v" to get even more output. See the boot(8) man page for more information.

Shorter manual boot window

By default, the bootstrap gives you 5 seconds to interrupt the boot sequence and manually specify the image to boot. You can lower this by adding:
-pause 2
to your /etc/boot.default.

Running X11

Here's some info about the XAccel or XFree86 X11 servers under Unix.
Official pages: Related Craig's Butterfly pages:
satan inside

Back to Craig's IBM Butterfly page

Copyright © 1996, 1997, 1998, 2001, 2005
Craig Leres