Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Appendix B: BeOS Directory Structure


Appendix B: BeOS Directory Structure


Appendix B: BeOS Directory Structure

This appendix contains a complete list of directories and subdirectories in the BeOS system, along with a description of their contents.


Overview of the BeOS Directory Structure

The BeOs directory (or folder) structure is designed to simplify file organization and lay a foundation that will allow multiple user accounts on a single machine. Three primary goals guided the setup of the folder structure:

  • Dependable organization at the highest directory level. The file structure provides a well-defined set of folders, pre-established rather than user determined, that both developers and users can rely on.

  • Logical organization of information that avoids scattering of files and folders all over the directory hierarchy. For example, all BeOS information resides in a single folder: the /boot/beos directory.

  • Anticipation of multiple users of a single machine. This is the reason for the desktop /home folder. When multiple users are supported each user will have his or her own home directory, in which to place all personal files and applications. In addition to individual home directories, there will eventually be a structure for shared system directories.


General Information About BeOS Directories

The following table summarizes the directory structure and contents at the highest level.

Directory Contains
apps Stores links to the standard BeOS applications. You can place new BeOS applications there.
beos Clean BeOS system is installed in this directory.
demos Interesting demo applications are placed in this directory.
develop Header files and libraries used in software development are stored in this directory.
home All user added files, fonts, libraries, etc., can be stored in this directory. See the chapter "Customizing the BeOS ."
optional Optional items (movies, MIDI files, etc.) are installed if you chose the optional install option.
preferences Links to the preference applications are stored.

In the BeOS there are two classes of directories: system and user. To ensure system reliability, you can install or delete items in the user directories, but the user should never modify the system directory.

The /beos and /develop folders are system software directories and the user should not modify them.

The apps, home, optional, and preferences directories as well as any you create via the Tracker are user directories and can be modified or deleted as desired. We encourage you to install applications in the apps directory, and working files in the home directory.


BeOS Directory Hierarchy

The information that follows describes the hierarchy of folders and summarizes the folders' contents.

/boot/apps/

The /apps folder inside the /boot folder contains symbolic links to all apps that ship with the BeOS. For purposes of organization, you can place any third-party software you add to the system in /boot/apps. This saves you the trouble of digging around in other folders for your applications.

Alternatively, you can keep all user-added files in your /home folder, and put third-party applications there. You can create a symbolic link to it either in the /boot/apps folder or on the Desktop. To create a link, do one of the following things:

  • Click on the application icon and hold until a contextpop-up menu appears. Choose Create Link and then choose apps in the secondary pop-up to place a symbolic link to your application in the /boot/apps folder.

  • Hold down the Control key and click on the application icon. Drag the icon to where you want to place it (this is a good way to create a symbolic link on the Desktop) and release the mouse button. Select Create Link Here in the context pop-up menu that appears.

/boot/preferences/

The /boot/preferences folder contains aliases (or links) to the preference apps shipped with BeOS. This is where you should put third party preferences files for apps you add to the system (for example, a preference app for a PCI card).

/boot/beos/

This is the core folder. Most files shipped with the BeOS go into the /beos folder, and nothing in /boot/beos is user deletable:

beos/apps/--This folder contains the BeOS application executables, as distinguished from the symbolic links (aliases) to the applications found in /boot/apps:

  • /BeMail--e-mail client for reading and composing e-mail

  • /CDPlayer--lets you play audio CDs using your computer's CD-ROM

  • /Clock--a simple clock

  • /Connect--terminal program used with modems and serial ports

  • /Expander--expands compressed archives (.zip, .tar, etc.)

  • /IconWorld--icon editor

  • /Installer--used to install the BeOS onto a device

  • /Magnify--magnifies screen pixels

  • /Midi--plays midi files (complex interface; there is also a simple midi app in the /beos/apps/ folder)

  • /MiniPlayer--miniature CD player

  • /NetPositive--web browser

  • /PlaySound--plays AIFF and WAV files

  • /PoorMan--simple web server

  • /Pulse--displays CPU activity and CPU type

  • /Rraster--displays graphics image for GIF, JPEG, TARGA, and other file formats)

  • /SCSIProbe--displays what's on the SCSI bus

  • /StyledEdit--a basic text editor, with font and color options

  • /Terminal--a front end for text-based apps (the BeOS shell)

  • /simple-midi--plays midi files (simple interface)

beos/bin/--contains all your favorite command line tools. These are used only in the BeOS shell. User-added shell commands should go in /boot/home/config/bin. Even if you don't use the shell, don't delete the /bin folder or anything in it, because the system needs these tools to operate.

beos/documentation/--the basic BeOS user and programmer documentation, Release Notes, and additional information files (demos, upgrade info, product info, etc.) reside in this folder.

beos/etc/--contains configuration and support files (i.e., data files) for various BeOS tools:

  • /Keymap--the different keymaps used with the Keymap preference app

  • /ROMUpdater--a program and disk image (/bebox_bootmain.image) to update a BeBox bootrom

  • /awk--support files for awk

  • /bison.hairy, /bison.simple--support files for bison

  • /calah--support files for the game Calah

  • /connect--support files for the Connect program

  • /connect/dial-o-rama--cryptic scripts used by Connect

  • /fortunes--messages used by the fortune shell command

  • /hosts-sample--a sample hosts file used by networking

  • /less.hlp--the help file for the "less" command line tool

  • /libexec/--support executables used by GNU programs. These include /awk, /awk/grcat (dump the list of groups), /awk/pwcat (dump the list of users), /locate, /locate/bigram (support tools for "locate"; these are NOT used), /locate/code, /locate/frcode

  • /modems.ppp--PPP configuration for various modems

  • /profile--a default shell profile read by the shell at startup

  • /servers.ppp--configurations for PPP server login style

  • /teapot.data--data read by the OpenGL Teapot demo

  • /termcap--a list of all known terminal types, used in the shell

  • /timezones--information about all known time zones

  • /vattr.src--a terminal config file used by the editor "ve"

  • /vconv--generates a "vattr" file from the vattr.src for "ve"

  • /vim/vim_help.txt--help file for the "vi"-like editor, vim

beos/preferences/--contains files for setting preferences for all BeOS applications.

  • /AddPrinter--add a printer (networked or local)

  • /Boot--set the default device to boot from (i.e., internal or external drive, CD-ROM)

  • /DriveSetup--format, partition, and initialize drives. You'll use DriveSetup particularly if you're partitioning a hard disk on which to install the BeOS.

  • /E-mail--configure e-mail setup

  • /FileTypes--modify and manipulate file and MIME types

  • /Fonts--set font preferences

  • /Keyboard--modify key repeat rate (slow to fast) and delay until key repeat (short to long)

  • /Keymap--choose which keymap to use by language; also set font preference

  • /Menu--set menu display styles (font and size, click to open, show trigger letters, color, separator style)

  • /Mouse--set mouse type (1-3 buttons), click speed, and acceleration

  • /Network--configure networking and PPP (explained in detail in "Connecting to the Internet With BeOS")

  • /Screen--set screen resolution, color (bits per pixel) and refresh rates

  • /ScrollBar--choose scroll bar styles (arrow and knob style, knob type, knob size)

  • /SelectPrinter--select which printer to print to

  • /Sound--adjust input and output audio volumes

  • /Time--set the current day, time, and timezone

  • /VirtualMemory--set how much swap space (or virtual memory) is available on your hard disk

  • /Workspaces--switch between workspaces

beos/system/--the core folder of the BeOS. You should never add, delete or modify anything in the /system folder. Eventually, the contents of this folder will become read-only and you will not be able to modify them unless you have special privileges. The /system folder contains:

  • /Deskbar--the Deskbar application

  • /Tracker--the GUI (graphical user interface) file manipulation environment

  • /add-ons/--additional pieces of code that extend the functionality of an application or server. Add-ons are grouped in this listing by the application or server whose functionality they extend:

  • /add-ons/Print/--software drivers for BeOS-compatible printers:

    /Apple (LaserWriter Compatible)
    /HP PCL3 (LaserJet Compatible)
    /Header (PostScript header file that precedes all BeOS PostScript output)

    /Tracker/ (add-ons to the BeOS Tracker):

    /FileType-F (manipulate a file's type)
    /MakeArchive--archives files

  • /add-ons/app_server/--display drivers for the window system:

    /Matrox (Matrox Millenium and Mystique driver)
    /TwinTurbo128 (ixMicro TwinTurbo drivers)
    /TwinTurbo128M8
    /chaos
    (on-board Mac graphics driver)
    /cirrus (Cirrus Logic driver)
    /iridium (on-board Mac graphics driver)
    /s3 (S3 968--and similar--driver)
    /stub (stub--dumb framebuffer--driver
    /valkyrie (on-board Mac graphics driver)
    /virge (ATI Virge card driver)

  • /add-ons/drive_setup/--add-ons for the DriveSetup tool:

    /fs (add-ons that recognize a file system)
    /bfs (recognizes BFS volumes
    /fs/dos (recognizes FAT volumes)
    /fs/hfs (recognizes HFS volumes)
    /fs/iso9660 (recognizes ISO-9660 volumes)
    /fs/ofs (recognizes the old Be File System)
    /partition (add-ons to recognize partitions)
    /partition/apple (Apple style partitions)
    /partition/intel (Intel style partition)
    /session (add-ons for multi-session devices)

  • /add-ons/kernel/--extensions to the kernel:

    /cam (add-ons for SCSI cards
    /drivers (device drivers),
    /drivers/a2d (BeBox digital I/O)
    /drivers/d2a,
    /drivers/digital,
    /drivers/awacs (Macintosh sound hardware)
    /drivers/ether (NE2000/3C503 ethernet card)
    /drivers/flash (BeBox flash ROM)
    /drivers/gce (Macintosh on-board ethernet)
    /drivers/ir (BeBox Infrared driver)
    /kb_mouse (PC keyboard and mouse)
    /drivers/midi (BeBox MIDI driver)
    /drivers/parallel (PC style parallel port)
    /drivers/pty (a pseudo-tty driver)
    /drivers/scc8530 (Macintosh serial I/O)
    /drivers/scsiprobe (probes SCSI devices)
    /drivers/serial (16550 serial I/O)
    /drivers/sound (Crystal Semi CS-4231 driver)
    /drivers/tulip (DEC Tulip Ethernet driver)
    /kernel/file_systems (add-ons that implement file systems)
    /file_systems/bfs (native Be File System)
    /file_systems/hfs (Mac HFS)
    /file_systems/iso9660 (ISO-9660 CD-ROM file system
    /file_systems/ofs (the old Be file system)

  • /add-ons/net_server/--add-ons to the BeOS net_server, at the user-level):

    /3c503 (understands 3COM 3c503 cards)
    /appletalk (an AppleTalk driver)
    /gce (understands on-board Mac Ethernet)
    /ne2000 (understands NE2000 cards)
    /ppp (driver for PPP),
    /tulip (understands DEC Tulip cards),
    /rraster (add-ons that understand graphics image formats; their use is deprecated)

  • /boot/--files relating to the boot-up process:

    /Bootscript (the first script run at start up time; everything begins here)
    /Bootscript.cd (script that runs if you boot from a CD)
    /Netscript (run to initialize networking)
    /SetupEnvironment (sets up environment variables)

  • /fonts/--(standard fonts shipped with BeOS):

    /ttfonts (TrueType fonts)

  • /kernel_joe (the BeBox kernel, loaded by the boot ROM)

  • /kernel_mac (the Macintosh kernel, loaded by BeOS Launcher)

  • /lib/--shared libraries that are part of the BeOS:

    /libGL.so (OpenGL shared library)
    /libatalk.so (AppleTalk API shared library)
    /libbe.so (the Be C++ kits--app, interface, storage, etc.)
    /libdevice.so (C++ interface to certain devices)
    /libgame.so (Game Kit shared library)
    /libmail.so (E-Mail kit shared library)
    /libmedia.so (Media Kit shared library)
    /libmidi.so (Midi Kit shared library)
    /libnet.so (Networking shared library)
    /libnetdev.so (Netserver Add-ons Kit)
    /libroot.so (standard C library and kernel interface)
    /libtracker.so (shared library for the Tracker)

  • /ppd/ (printer description files used by the print server)

  • /servers/ (servers included with the BeOS):

    /app_server (the window system
    /audio_server (the audio system)
    /debug_server (server for handling crashed apps)
    /mail_daemon (server that sends/receives e-mail)
    /net_server (handles BeOS networking; TCP/IP, etc.)
    /print_server (handles printing, spooling, etc.)
    /registrar (registers apps, sets file types, etc.)
    /syslog_daemon (logs kernel and other messages)

/boot/demos/-- demo apps included with the BeOS:

  • /3dmov--texture-maps images and animations onto surfaces

  • s/BeBounce--demonstrates BeOS messaging (run it twice)

  • /BeLogo--simple 3-D animation

  • /Calah--an African board game

  • /Calculator--simple four-function calculator

  • /Container--lets you play with Replicants

  • /Dominos--full-screen Game Kit demo (plays dominos)

  • /Flight--flight simulator game

  • /FontDemo--lets you interactively play with fonts (scaling, rotation, etc.)

  • /GLTeapot--draws the classic teapot in OpenGL

  • /Kaleidoscope--tests the speed of your line drawing hardware

  • /Life--plays the game of Life (full-screen)

  • /Mandelbrot--generates the Mandelbrot set

  • /Minesweeper--the classic game

/boot/develop/--contains the files developers need for programming the BeOS:

  • /headers/--all header files:

    /be--BeOS-specific header files
    /cpp--C++ standard library header files
    /posix--POSIX and Standard C library header files
    /gnu--header files for use with GNU routines

  • /lib/--statically linked libraries used in program development:

    /libdll.a--statically linked runtime code used by all apps
    /lib/libfl.a--Flex library needed by programs generated by Flex
    /libmslcpp.a--standard C++ library
    /libtermcap.a--termcap routines needed to access the termcap db

/boot/home/--this is where all user files should go; that is, all the files you add or create:

  • /config/--configuration files, extensions, and additions added by a user should go here:

  • /config/add-ons/--add-ons used by several apps should go here. Application-specific add-ons belong in the application home directory

    /kernel/drivers--user-added device drivers go here
    /kernel/file_systems
    --for user added file systems
    /app_server
    --for user added graphics drivers

  • /config/be--contains links to items that show up in the DeskBar's Be menu

  • /config/bin-- for user-added command line tools

  • /config/boot/--for user additions to the boot process:

    /UserBootscript.sample--sample script to show how to add commands to the boot process
    /UserSetupEnvironment.sample
    --shows how to add environment variables

  • /config/etc/--configuration and data support files for user programs:

    /expander.rules.sample--sample configuration file for the Expand-o-Matic app. Shows how to add new archive types.
    /ppp-script.sample
    --script executed every time a PPP connection is started or stopped

  • /config/fonts/--user-added fonts go here:

    /ttfonts--for user-added TrueType fonts

  • /config/lib--user-added shared libraries go here

  • /config/settings--application preferences go here

/boot/optional/--contains extra goodies shipped with the BeOS, but not operationally necessary:

  • /gnu--GNU source code used in the BeOS

  • /images--ample graphics images

  • /sounds--sample audio files

  • /movies--sample movie files

  • /midi--sample MIDI track






The Be User's Guide, in lovely HTML, for BeOS Release 3.

Copyright © 1998 Be, Inc. All rights reserved.

Last modified February 19, 1998.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026