%%
%%

\section*{Supported Systems and Hardware}
\label{_ChapterStart}
\index[general]{Supported Systems and Hardware }
\index[general]{Hardware!Supported Systems and }
\addcontentsline{toc}{section}{Supported Systems and Hardware}

\label{SysReqs}

\subsection*{System Requirements}
\index[general]{System Requirements }
\index[general]{Requirements!System }
\addcontentsline{toc}{subsection}{System Requirements}

\begin{itemize}
\item {\bf Bacula} has been compiled and run on Linux RedHat, FreeBSD,  and
Solaris systems. 
\item It requires GNU C++ version 2.95 or higher to compile. You can try  with
other compilers and older versions, but you are on your own.  We have
successfully compiled and used Bacula on RH8.0/RH9/RHEL 3.0/FC3  with GCC 3.4.
Note, in general GNU C++ is a separate package (e.g.  RPM) from GNU C, so you
need them both loaded. On RedHat systems,  the C++ compiler is part of the
{\bf gcc-c++} rpm package. 
\item There are certain third party packages that Bacula needs.  Except for
MySQL and PostgreSQL, they can all be found in the  {\bf depkgs} and {\bf
depkgs1} releases. 
\item If you want to build the Win32 binaries, you will need a  Microsoft
Visual C++ compiler (or Visual Studio).  Although all components build
(console has  some warnings), only the File daemon has been tested. 
\item {\bf Bacula} requires a good implementation of pthreads to work.  This
is not the case on some of the BSD systems. 
\item The source code has been written with portability in mind and is  mostly
POSIX compatible. Thus porting to any POSIX compatible  operating system
should be relatively easy. 
\item The GNOME Console program is developed and tested under GNOME 2.x. It 
also runs under GNOME 1.4 but this version is deprecated and  thus no longer
maintained. 
\item The wxWidgets Console program is developed and tested with the latest 
stable ANSI (not Unicode) version of 
\elink{wxWidgets}{http://www.wxwidgets.org/} (2.6.0).  It works fine with the
Windows and GTK+-2.x version of wxWidgets, and should  also works on other
platforms supported by wxWidgets. 
\item The Tray Monitor program is developed for GTK+-2.x. It needs  Gnome less
or equal to 2.2, KDE greater or equal to 3.1 or any window manager supporting
the  
\elink{ FreeDesktop system tray
standard}{http://www.freedesktop.org/Standards/systemtray-spec}. 
\item If you want to enable command line editing and history, you will  need
to have /usr/include/termcap.h and either the termcap or the  ncurses library
loaded (libtermcap-devel or ncurses-devel). 
\item If you want to use DVD as backup medium, you will need to download  and
install the  
\elink{dvd+rw-tools}{http://fy.chalmers.se/~appro/linux/DVD+RW/}. 
\end{itemize}

\subsection*{Supported Operating Systems}
\label{SupportedOSes}
\index[general]{Systems!Supported Operating }
\index[general]{Supported Operating Systems }
\addcontentsline{toc}{subsection}{Supported Operating Systems}

\begin{itemize}
\item Linux systems (built and tested on RedHat Fedora Core 3).  
\item If you have a recent Red Hat Linux system running the 2.4.x kernel  and
you have the directory {\bf /lib/tls} installed on your  system (normally by
default), bacula will {\bf NOT} run. This is  the new pthreads library and it
is defective. You must remove  this directory prior to running Bacula, or you
can simply change  the name to {\bf /lib/tls-broken}) then you must reboot
your  machine (one of the few times Linux must be rebooted). If  you are not
able to remove/rename /lib/tls, an alternative is to  set the environment
variable ``LD\_ASSUME\_KERNEL=2.4.19'' prior to  executing Bacula. For this
option, you do not need to reboot, and  all programs other than Bacula will
continue to use /lib/tls.  

The feedback that we have for 2.6 kernels is that the same problem may
exist.  However, we have not been able to reproduce the above mentioned
problem (bizarre hangs) on 2.6 kernels.  If you do experience problems, we
recommend using the environment variable override
(LD\_ASSUME\_KERNEL=2.4.19) rather than removing /lib/tls, because TLS
is designed to work with 2.6 kernels.

\item Most flavors of Linux (Gentoo, SuSE, Mandrake, Debian, ...).  
\item Solaris various versions.  
\item FreeBSD (tape driver supported in 1.30 -- please see some  {\bf
important} considerations in the 
\ilink{ Tape Modes on FreeBSD}{tapetesting.tex#FreeBSDTapes}  section of the
Tape Testing chapter of this manual.)  
\item Windows (Win98/Me, WinNT/2K/XP) Client (File daemon) binaries.  
\item MacOS X/Darwin (see 
\elink{ http://fink.sourceforge.net/}{http://fink.sourceforge.net/} for
obtaining the packages)  
\item OpenBSD Client (File daemon).  
\item Irix Client (File daemon).  
\item Tru64  
\item Bacula is said to work on other systems (AIX, BSDI, HPUX,  ...) but we
do not have first hand knowledge  of these systems.  
\item See the Porting chapter of the Bacula Developer's Guide  for information
on porting to other systems. 
\end{itemize}

\subsection*{Supported Tape Drives}
\label{SupportedDrives}
\index[general]{Drives!Supported Tape }
\index[general]{Supported Tape Drives }
\addcontentsline{toc}{subsection}{Supported Tape Drives}

Even if your drive is on the list below, please check the 
\ilink{Tape Testing Chapter}{tapetesting.tex#btape} of this manual for
procedures that you can use to verify if your tape drive will work with
Bacula. If your drive is in fixed block mode, it may appear to work with
Bacula until you attempt to do a restore and Bacula wants to position the
tape. You can be sure only by following the procedures suggested above and
testing. 

It is very difficult to supply a list of supported tape drives, or drives that
are known to work with Bacula because of limited feedback (so if you use
Bacula on a different drive, please let us know). Based on user feedback, the
following drives are known to work with Bacula. A dash in a column means
unknown: 

\addcontentsline{lot}{table}{Supported Tape Drives}
\begin{longtable}{|p{1.2in}|l|l|p{1.3in}|l|}
 \hline 
\multicolumn{1}{|c| }{\bf OS } & \multicolumn{1}{c| }{\bf Man. } &
\multicolumn{1}{c| }{\bf Media } & \multicolumn{1}{c| }{\bf Model } &
\multicolumn{1}{c| }{\bf Capacity  } \\
 \hline 
{- } & {ADIC } & {DLT } & {Adic Scalar 100 DLT } & {100GB  } \\
 \hline 
{- } & {ADIC } & {DLT } & {Adic Fastor 22 DLT } & {-  } \\
 \hline 
{- } & {- } & {DDS } & {Compaq DDS 2,3,4 } & {-  } \\
 \hline 
{- } & {Exabyte } & {-  } & {Exabyte drives less than 10 years old } & {-  }
\\
 \hline 
{- } & {Exabyte } & {-  } & {Exabyte VXA drives } & {-  } \\
 \hline 
{- } & {HP } & {Travan 4 } & {Colorado T4000S } & {-  } \\
 \hline 
{- } & {HP } & {DLT } & {HP DLT drives } & {-  } \\
 \hline 
{- } & {HP } & {LTO } & {HP LTO Ultrium drives } & {-  } \\
 \hline 
{FreeBSD 4.10 RELEASE } & {HP } & {DAT } & {HP StorageWorks DAT72i } & {-  }
\\
 \hline 
{- } & {Overland } & {LTO } & {LoaderXpress LTO } & {-  } \\
 \hline 
{- } & {Overland } & {- } & {Neo2000 } & {-  } \\
 \hline 
{- } & {OnStream } & {- } & {OnStream drives (see below) } & {-  } \\
 \hline 
{- } & {Quantum } & {DLT } & {DLT-8000 } & {40/80GB  } \\
 \hline 
{Linux } & {Seagate } & {DDS-4 } & {Scorpio 40 } & {20/40GB  } \\
 \hline 
{FreeBSD 4.9 STABLE } & {Seagate } & {DDS-4 } & {STA2401LW } & {20/40GB  } \\
 \hline 
{FreeBSD 5.2.1 pthreads patched RELEASE } & {Seagate } & {AIT-1 } & {STA1701W
} & {35/70GB  } \\
 \hline 
{Linux } & {Sony } & {DDS-2,3,4 } & {- } & {4-40GB  } \\
 \hline 
{Linux } & {Tandberg } & {- } & {Tandbert MLR3 } & {-  } \\
 \hline 
{FreeBSD } & {Tandberg } & {- } & {Tandberg SLR6 } & {-  } \\
 \hline 
{Solaris } & {Tandberg } & {- } & {Tandberg SLR75 } & {- }
\\ \hline 

\end{longtable}

There is a list of 
\ilink{supported autochangers}{autochangers.tex#Models} models in the 
\ilink{autochangers chapter}{autochangers.tex#_ChapterStart} of this document,
where you will find other tape drives that work with Bacula. 

\subsection*{Unsupported Tape Drives}
\label{UnSupportedDrives}
\index[general]{Unsupported Tape Drives }
\index[general]{Drives!Unsupported Tape }
\addcontentsline{toc}{subsection}{Unsupported Tape Drives}

Previously OnStream IDE-SCSI tape drives did not work with Bacula. As of
Bacula version 1.33 and the osst kernel driver version 0.9.14 or later, they
now work. Please see the testing chapter as you must set a fixed block size. 

QIC tapes are known to have a number of particularities (fixed block size, and
one EOF rather than two to terminate the tape). As a consequence, you will
need to take a lot of care in configuring them to make them work correctly
with Bacula. 

\subsection*{FreeBSD Users Be Aware!!!}
\index[general]{FreeBSD Users Be Aware }
\index[general]{Aware!FreeBSD Users Be }
\addcontentsline{toc}{subsection}{FreeBSD Users Be Aware!!!}

Unless you have patched the pthreads library on most FreeBSD systems, you will
lose data when Bacula spans tapes. This is because the unpatched pthreads
library fails to return a warning status to Bacula that the end of the tape is
near. Please see the 
\ilink{Tape Testing Chapter}{tapetesting.tex#FreeBSDTapes} of this manual for
{\bf important} information on how to configure your tape drive for
compatibility with Bacula. 

\subsection*{Supported Autochangers}
\index[general]{Autochangers!Supported }
\index[general]{Supported Autochangers }
\addcontentsline{toc}{subsection}{Supported Autochangers}

For information on supported autochangers, please see the 
\ilink{Autochangers Known to Work with Bacula}{autochangers.tex#Models}
section of the Autochangers chapter of this manual. 
