BeOS Bible Updates

Installation and Boot Options

Installation Notes
Boot Options
Fail-Safe Video Mode
Safe Mode: Enable Console Debugging
Safe Mode: Advanced Safe Mode Options
About the Boot Screen Icons
Making Boot Options Permanent
ata.sample
atapi.sample
awe64
kernel.sample
vesa.sample
virtual memory
Making Boot Floppies

Installation Notes

Installation instructions are basically unchanged from previous releases, except that users who previously encountered problems with unsupported hardware should now experience smoother sailing. More hardware is supported "out of the box," and bugaboos involving the interaction between certain mice and certain video chip sets have been ironed out.

While you may have heard rumors floating around out there that Be recommends installing R4.5 into a fresh partition (or re-initializing an existing partition), the rumors apparently originate with users who have had specific problems with unusual machines. The official word is: Don't hesitate to install R4.5 directly over the top of R4.

The BeOS R4.5 installation CD includes the full version of the OS, not just an upgrade, so you can install it onto any machine without installing R4 first. The R4.5 CD is also fully bootable, so if you've set your machine's BIOS to boot from a CD, you won't even need the BeOS boot floppy included in the distribution. The vast majority of modern machines are capable of booting from a CD. If yours is not, or if you just don't want to mess with the BIOS, simply insert the boot floppy and the CD and restart your machine. You'll be guided through the upgrade process automatically.

Boot Options

BeOS R4.5 includes a fancy-pants graphical boot screen, replacing the text-based boot screen in R4. The Boot preferences panel is now gone in BeOS for x86; its functionality has been folded into bootman (see The BeOS Bible for information on using bootman). While The BeOS Bible states that the boot screen says "Press Spacebar for boot options," this is no longer true, even though the Spacebar will still get you to the Boot Options screen. There are also a few new options in the Boot Options menu:

Fail-Safe Video Mode

If you have an unsupported video card, or if you're having trouble with your supported card for some reason, this menu lets you specify the resolution at which BeOS should boot, as long as your card allows it. Note that only VESA 2.0-compliant video cards will work with these resolutions. If your card is very old or not VESA 2.0-compliant, you won't even see this option.

Safe Mode: Enable Console Debugging

Selecting this option will let you see the output of the boot process. This is the same output you would see if you were squirting console debug messages out the serial port to another machine, as described in the Troubleshooting section of The BeOS Bible. Unfortunately, this information scrolls by very quickly and will probably be of use only if the boot process hangs at a certain point; then you'll be able to write down the last messages displayed and share them with Be's technical support team.

Safe Mode: Advanced Safe Mode Options

This option is generally useful only for users in contact with Be's technical support team, trying to work out a boot or driver-loading problem of some kind. Rather than choosing a menu option, this is your opportunity to pass parameters directly to the kernel.

If you're an advanced user, you may be interested in learning how this scheme works internally. Be's Arve Hjønnevàg has documented the whole process in great detail in this Be Newsletter article. What that article does not provide, however, are concrete examples. Fortunately, you've got plenty of examples right there on your hard drive, in the form of text-based configuration files living under /boot/home/config/settings/kernel/drivers/samples. Read the Make Boot Options Permanent section of this document to understand your options here. Any of the options found in those files can also be passed to the kernel directly from the boot menu's Advanced Safe Mode dialog.

To pass in a parameter, type the name of the settings file (which is usually the same as the driver name), followed by a colon and the parameters. It's important to not make any typos, as erroneous parameters will be ignored.

For example, to change the disk cache size at boot time, you would pass:

kernel:disk_cache_size 1024
You can get even more complex than that. The following command will disable DMA for the CD-ROM drive connected as device 0 on bus 1 (master drive on secondary bus). If the drive does not work with DMA, this will disable it. The disable IDE DMA safe-mode options will also do this, but that would also disable it for other devices that do work, whereas this lets you get more specific about which devices should have DMA disabled.
atapi: deviceat 1 0 { nodma }
By using the deviceat command, you can set things up to kick in only if a certain condition is satisfied. For example, by using:
ata: deviceat 0 0 { forcedma }
atapi: deviceat 1 0 { forcedma }
DMA will be disabled only for those drives that appear at the position specified. If you know that DMA works, you can use this option to bypass this safety check. Older Western Digital drives that support UltraDMA will not report their configuration correctly. If a drive worked with DMA in a previous BeOS release, this will normally get you back to the old behavior (R3 had no safety checks, and R4 had less checks).

The following command will tell the IDE drivers that the machine has two ISA IDE controllers.

ide: isa_bus_count 2
This might be useful with some Toshiba laptops, which stick the CD-ROM drive on a secondary ISA IDE controller. Since R4.5 does not support PnP boot devices, this is the only way to install BeOS onto those machines. If the machine has only one ISA IDE controller (not uncommon for laptops), or only PCI IDE controllers (almost all Pentium desktop machines) there's no need to specify anything. If you have a machine with no IDE controller you should specify 0 (though it is doubtful whether such a BeOS-compatible machine even exists). Again, it's probably not wise to fool with these options unless you're in direct contact with Be's tech support department, or if you really know what you're doing.

About the Boot Screen Icons

The graphical boot-up sequence in R4.5 features a row of seven icons, each of which lights up to indicate that a portion of the boot sequence has been successfully completed.

bootloader

The R4.5 bootloader indicates when major portions of the boot process have been completed. For many users, the whole thing will fly by so quickly you'll never get a chance to study it.

The boot process is even faster in R4.5 than it was before, so most users won't get a chance to enjoy the artwork (except for users with SCSI devices; SCSI slows down the boot process significantly). Regardless, many users are curious about the meaning of these icons.

Atom: Indicates the handoff of the bootloader to the BeOS kernel.

I/O Card: PCI initialization has been completed.

Lightning Bolt: This icon appears just before the system enables non-boot CPUs (where non-boot CPUs are defined as the additional processors in a multi-proc system).

Oscilloscope: All CPUs have now been enabled.

Disks: All boot drivers and modules have been initialized.

Magnifying Glass: The boot volume has been mounted.

BeBox: The system BootScript is being read into memory and its contents executed.

Make Boot Options Permanent

Note: This tip is recommended for advanced users only. You shouldn't use any of these options unless you already know what they mean and have some idea what their impact might be.
As described above, the R4.5 Boot Options menu makes it even easier to boot BeOS on funky hardware or in unique situations. If it turns out that you need to invoke one of these options every time you boot (which is rare), you can make these options permanent. In fact, using the techniques outlined below, you can enable a number of features that don't appear in the Boot Options menu.

Use the Tracker to browse through /boot/home/config/settings/kernel/drivers/sample and you'll find the following files:

ata.sample
atapi.sample
awe64
kernel.sample
vesa.sample
Open any of these files in a text editor, and you'll find analogs to the parameters offered in the Boot Options menu, and then some. Most of them are relatively self-explanatory, and the files are well commented, so you should be able to determine what most of them do just by poking around. If you want to activate an option in one these files, copy the file to /boot/home/config/settings/kernel/drivers (i.e., copy the file one directory up), rename the file without the .sample extension, and uncomment (remove the "#" from) any lines you want to activate.
Warning: Don't change parameters in these files "just to see what will happen." While many of the options are innocuous, some of them can have serious consequences. Change only the options you understand, or those you've been instructed to modify by Be technical support staff. If you get yourself into a jam, use the Emergency Boot Procedure outlined in The BeOS Bible to boot from CD and re-comment any lines you've enabled, or remove the file entirely.

ata.sample

This file can be used to force DMA (direct memory access) on or off for specific physical hard drives in your system. This can be useful with certain configurations in which DMA confuses the boot process. In addition, some ATAPI CD-ROM burners won't work with DMA turned on.

Whereas the DMA options in the Boot Options menu only let you turn DMA on or off for all drives attached to your system, using this file lets you be more specific. Drives can be identified in a number of ways: by serial number, by identifier string, by bus number, by device address, or by firmware string. Drive identification happens in the

match {
}
block. Once identified, you can use the
use {
}
block to tell that drive to use (forcedma) or not to use (nodma) DMA. For example, a file that looks like this:
 matchdevices {
	match {
		# model number (usually displayed by BIOS during boot)
		model "WDC AC36400L"
	}
	use {
		nodma
	}
 }
will force DMA off for the drive identifying itself as "WDC AC36400L." If you need help determining the identifying strings for your drives, use the
ideinfo tool in /optional/experimental/diagnostics.

atapi.sample

This file functions identically to ata.sample, but its effects apply only to ATAPI CD-ROM devices.

awe64

If you have an AWE64 sound card but can't seem to get any sound out of it, the card may be set to a nonstandard IRQ or DMA address. While the default settings work in the vast majority of situations, some users will have to specify these addresses. Edit this file with the correct address, move it up a directory, and restart your machine.

In case you're wondering why these settings aren't simply established from the Devices preferences panel, keep in mind that the Devices panel is for configuring PCI and Plug and Play devices only, while this file is for a hard-wired ISA, non-PnP card. The Devices panel lets you configure the Plug and Play system so that hard-wired cards won't get knocked out by the Configuration Manager. Remember also that the Devices panel is unlike Windows' Device Manager in that it does not associate drivers with specific hardware; it merely reserves resources for particular types of hardware. The AWE64 is ISA-based and is not PnP, so it cannot be configured from the Devices panel, even though it requires that the OS know about its resources. Be could have written a graphical control panel for cards like the AWE64, but there wasn't time to do so before R4.5 had to ship to the CD duplication plant.

Note: If you're using a non-PnP AWE32 card, you may be able to get sound working as well, by using the SoundBlaster16 compatibility mode. Download the third-party SoundBlaster16 driver from BeWare and follow its installation instructions. Create a text file in /boot/home/config/settings called sb16_settings including your card's settings. For example, yours might simply read:
A220 I5 D1 H7 P330
Follow the instructions above for the AWE64 file, keeping the AWE64 file name. Reboot your machine and open the Media preferences panel. You should see two audio devices: sb16 and awe64. Choose awe64, and you should have working sound. If you need to record with this card, you'll need to enable "Real-Time Audio." Note that this technique is not supported by Be. BeOS does not officially support the SB16, for performance reasons.

kernel.sample

Several of the options in kernel.sample mirror the choices shown in the Boot Options menu.

This file will also let you enable Advanced Power Management (APM) for some motherboards, as well as software power-down (i.e., when you select Shutdown from the Be menu, your machine will physically turn itself off). However: These options work only with certain BIOSes, and even then, only with certain revisions of those BIOSes. With some motherboards, enabling these options may render the machine unbootable from hard disk. If this happens to you, use the Emergency Boot Procedure outlined in The BeOS Bible to boot from CD and re-comment any lines you've enabled, or remove the file entirely. You may also want to visit your motherboard manufacturer's Web site and obtain the latest BIOS update, then try the APM options in BeOS again.

Finally, this file will let you specify nonstandard ports (e.g., to use COM ports rather than serial ports) for boot-time debugging, or have all debug output written to the system's syslog.

vesa.sample

As with the Boot Options menu, editing this file will let you select a permanent video mode for unsupported graphics chip sets. Its only options are:
mode width height depth
so you might want to edit this file to read:
mode 800 600 16
Note: It's important that there be no extra white space in this file. Make sure you haven't left spaces at the end of the line, and that you don't insert any new, blank lines into the file. If you can't get the vesa file to do its thing, double-check for extra white space.

virtual memory

You can use the virtual_memory file to establish a smaller or larger swap file than the GUI Virtual Memory preferences panel will allow. Note that setting your swap file to a lower size than recommended will probably impact performance and is not recommended.

Making Boot Floppies

As always, it's a good idea to make a backup copy of your BeOS boot floppy, in case you ever need to get yourself out of a jam. Doing so is much easier in R4.5 than it was in previous versions of the OS. Just insert a floppy, open a Terminal window, and type:
makebootfloppy -cd
This will create a boot floppy capable of booting either from your hard disk or from the BeOS CD. If you leave off the -cd flag, the floppy will be created much more quickly, but will only be capable of booting from your hard disk. If you want to create a floppy that boots only from a specific partition, use the -base flag, e.g.:
makebootfloppy -base /gorgonzola
This floppy will attempt to boot from your /gorgonzola partition, even if it's not your main boot partition. You can also use the -preserve option to leave a copy of the boot image in /tmp (this is valid only when used with the -cd flag).

If you want to write a boot image to some sort of removable media, such as a Zip or LS-120 drive, use the undocumented -image flag. For example:

makebootfloppy -cd -image /dev/disk/ide/atapi/0/slave/0/raw
Alternatively, if you want to create an image from an existing floppy rather than from the boot image on your hard drive, you can simply use:
cat /dev/disk/floppy/raw > image.img
and then write image.img to a new floppy with:
cat image.img > /dev/disk/floppy/raw
This is a good way to get around having to remember all of the dd commands described in The BeOS Bible.

If you need to make the floppy from within Windows, insert the BeOS CD and a floppy and navigate to Win95/BeOS on the CD. Click Make.bat and sit back.

Return to Table of Contents

Readers-Only Access
About BeOS | Online Chapters | Interviews | Updates

Please direct technical questions about this site to webmaster@peachpit.com.

Copyright © 1999 Peachpit Press and the respective authors.