% $Id$ %
\chapter{Installation}\label{sec:installation}

\opt{ipodnano}{
  \note{Rockbox presently runs only on the original Ipod Nano. Rockbox does
  \emph{not} run on the newer, second generation Ipod Nano (the all alumminum
  verion). For information on identifying which Ipod you own, see this page on
  Apple's web site: \url{http://www.info.apple.com/kbnum/n61688}
  }
}

\section{Prerequisites}\label{sec:prerequisites}
\index{Installation!Prerequisites}
Before installing Rockbox you should make sure you meet the prerequisites.
Also you may need some tools for installation. In most cases these will be
already available on your computer but if not you need to get some additional
software.

\begin{description}

\item[ZIP utility.]\index{zip}
  Rockbox is distributed as an archive using the
  \fname{.zip} format. Thus you need a tool to handle that compressed
  format. Usually your computer should have a tool installed that can
  handle the \fname{.zip} file format. Windows XP has built-in support for
  \fname{.zip} files and presents them to you as folders unless you have
  installed a third party program that handles compressed files. For
  other operating systems this may vary. If the \fname{.zip} file format
  is not recognised on your computer you can find a program to handle them
  at \url{http://www.info-zip.org/} or \url{http://sevenzip.sf.net/} which
  can be downloaded and used free of charge.

\item[USB connection.] To transfer Rockbox to your \dap{} you need to
  connect it to your computer. To proceed you need to know where to access the
  \dap{}. On Windows this means you need to figure out the drive letter
  associated with the device. On Linux you need to know the mount point of
  your \dap{}.

  \opt{ipod}{
    Your \dap{} should enter disk mode automatically when connected to a
    computer via USB. If your computer does not recognise your \dap{}, you may
    need to enter the disk mode manually. Disconnect your \dap{} from the
    computer. Reset the \dap{} by pressing and holding the \ButtonMenu{} and
    \ButtonSelect{} buttons simultaneously. As soon as the \dap{} resets, press
    and hold the \ButtonSelect{} and \ButtonPlay{} buttons simultaneously. Your
    \dap{} should enter disk mode, and you can try reconnecting to the computer.
  }

  \opt{ipod3g,ipod4g,ipodcolor,ipodmini}{
    \note{\index{Firewire}Firewire detection is not supported in Rockbox at 
    the moment. Please use USB only.} 
  }

\item[Text editor.] As you will see in the following chapters, Rockbox is
  highly configurable. In addition to saving configurations within Rockbox,
  Rockbox also allows you to create customised configuration files. If you
  would like to edit custom configuration files on your computer, you will
  need a text editor like Windows' ``Wordpad''.

\end{description}

\opt{ipod}{
  \note{In addition to the requirements described above, Rockbox only works on
  Ipods formatted with the FAT32 filesystem (i.e., Ipods initialized by iTunes
  for Windows). It does not work with the HFS+ filesystem (i.e. Ipods
  initialized by iTunes for the Mac). More information and instructions for
  converting an Ipod to FAT32 can be found on the
  \wikilink{IpodConversionToFAT32} wiki
  page on the Rockbox web site.  Note that after conversion, you can still use
  a FAT32 Ipod on a Mac.
  }
}

\section{Installing Rockbox}\label{sec:installing_rockbox}
\index{Installation}
\opt{MASCODEC}{
  \subsection{Using the windows installer}
  Using the Windows self installing executable to install Rockbox is the
  easiest method of installing the software on your \dap{}. Simply follow the
  on-screen instructions and select the appropriate drive letter and
  \dap{}-model when prompted. You can use ``Add / Remove Programs'' to
  uninstall the software at a later date.

  \subsection{Manual installation}
  For non{}-Windows users and those wishing to install manually from the
  archive the procedure is still fairly simple.
}

\opt{SWCODEC}{
  \subsection{Introduction}

  \opt{HAVE_RB_BL_ON_DISK}{There are three separate components of Rockbox,
  two of which need to be installed in order to run Rockbox.}

  \opt{HAVE_RB_BL_IN_FLASH}{There are two separate components of Rockbox
  that need to be installed in order to run Rockbox.}

  \begin{description}
  \opt{HAVE_RB_BL_ON_DISK}{
  \item[The \playerman{} boot loader.]
    The \playerman{} boot loader is the program that tells your \dap{} how to boot
    and load the remaining firmware from disk. It is also responsible for the
    disk mode on your \dap{}.

    This boot loader is stored in special flash memory in your \playerman{}.
    It is already installed on your \dap{}, so it is never necessary to modify
    this in order to install Rockbox.}

  \item[The Rockbox boot loader.] \index{Boot loader}
    \opt{HAVE_RB_BL_ON_DISK}{The Rockbox boot loader is loaded from disk by
    the \playerman{} boot loader. It is responsible for loading the Rockbox
    firmware and for providing the dual boot function. It directly replaces the
    \playerman{} firmware on the \daps{} disk.
    \opt{gigabeat}{\note{Dual boot does not currently work on the gigabeat.}}}

    \opt{HAVE_RB_BL_IN_FLASH}{
    The boot loader is the program that tells your
    \dap{} how to boot and load other components of Rockbox. This is the
    component of Rockbox that is installed to the flash memory of your
    \playerman.}

  \item[The Rockbox firmware.]
    \opt{HAVE_RB_BL_IN_FLASH}{Unlike the \playerman{} firmware, which runs
    entirely from flash memory, }
    \opt{HAVE_RB_BL_ON_DISK}{Similar to the \playerman{} firmware, }
    most of the Rockbox code is contained in a
    ``build'' that resides on your \daps{} drive. This makes it easy to
    update Rockbox. The build consists of a directory called
    \fname{.rockbox} containing all of Rockbox' files, which is located in the
    root of your \daps{} drive.

  \end{description}

}

\subsection{Choosing a Rockbox version}\label{sec:choosing_version}

There are three different types of firmware binaries from Rockbox website:
\label{Version}
Release version, current build and daily build. You need to decide which one
you want to install and get the version for your \dap{}.

\begin{description}

\item[Release.]
  \opt{archos}{The release version is the latest stable release, free
      of known critical bugs. The current stable release of Rockbox, version
      2.5, is available at \url{http://www.rockbox.org/download/}.
  }
  \opt{SWCODEC}{
      There has not yet been a stable release for the \playername{}. Until
      there is a stable release for \playername{}, use a current build.
  }

\item[Current Build.] The current build is built at each source code change to
  the Rockbox SVN repository, and represent the current state of Rockbox
  development. This means that the build could contain bugs, but is most of
  the time safe to use. You can download the current build from  
  \url{http://build.rockbox.org/}.

\item[Archived Build.] In addition to the release version and the current build,
  there is also an archive of daily builds available for download. These are
  built once a day from the latest source code in the SVN repository. You can
  download archived builds from \url{http://www.rockbox.org/daily.shtml}.

\end{description}

\nopt{player}{
  \note{\index{Installation!Fonts}\label{sec:installing_fonts}
    Rockbox has a fonts package that is available at
    \url{http://www.rockbox.org/daily.shtml} or from the \emph{extras} link in
    the menu on the Rockbox website. While the current builds and
    daily builds change frequently, the fonts package rarely changes. Thus, 
    the fonts package is not included in these builds. (The release version, on
    the other hand, does not change, so fonts are included when you download a
    release.) When installing Rockbox for the first time, you should install
    the fonts package.
  }
}

Because current builds and daily builds are development versions which change
frequently, they may behave differently than described in this manual, or
they may introduce new (and maybe annoying) bugs. If you do not want to get
undefined behaviour from your \dap{} you should really stick to the current
stable release, if there is one for your \dap{}. If you want to help the
project development, you can try development builds and help by reporting
bugs. Just be aware that these are development builds that are highly
functional, but not perfect!

\subsection{Installing the firmware}\label{sec:installing_firmware}

\opt{sansa}{\warn{The following steps require you to change the setting in
  \setting{Settings $\rightarrow$ USB Mode} to \setting{MSC} from within the
  original firmware. Never extract files to your \dap{} while it is in
  recovery mode.}}
\opt{h10,h10_5gb}{\warn{The following steps require you to use UMS mode and so
  may require use of the UMS trick as described in the bootloader installation
  section.}}
\opt{gigabeat}{\warn{During installation, do not connect your \dap{}
  using the cradle but plug the USB cable directly to the \dap{}.}}

\begin{enumerate}

\item Download your chosen version of Rockbox from the links in the
  previous section.

\item Connect your \dap{} to the computer via USB
  \opt{ipod3g,ipod4g,ipodmini,ipodcolor}{ or Firewire} as described in
  the manual that came with your \dap{}.

\item Take the file that you downloaded above, and use the ``Extract
  all'' command of your unzip program to extract the files in the
  \fname{.zip} file onto your \dap{}.

Note that the entire contents of the \fname{.zip} file should be
extracted directly to the root of your \daps{} drive. Do not try to
create a separate directory or folder on your \dap{} for the Rockbox
files! The \fname{.zip} file already contains the internal directory
structure that Rockbox needs.

\end{enumerate}

\opt{archos}{
  \note{
    If the contents of the \fname{.zip} file are extracted correctly, you will
    have a file called \fname{\firmwarefilename} in the main folder of your
    \daps{} drive, and also a folder called \fname{/.rockbox}, which contains a
    number of other folders and system files needed by Rockbox. If you receive a
     ``-1'' error when you start Rockbox, you have not extracted the contents of
    the \fname{.zip} file to the proper location.
  }
}

% This has nothing to do with swcodec, just that these players need our own
% bootloader so we can decide where we want the main binary.
\opt{SWCODEC}{
  \note{
    If the contents of the \fname{.zip} file are extracted correctly, you will
    have a folder called \fname{/.rockbox}, which contains all the files needed
    by Rockbox, in the main folder of your \daps{} drive. If you receive a
    ``-1'' error when you start Rockbox, you have not extracted the contents of
    the \fname{.zip} file to the proper location.
  }
}

\opt{SWCODEC}{
  \subsection{Installing the boot loader}
  \opt{h1xx,h300}{\input{getting_started/iriver_install.tex}}
  \opt{ipod}{\input{getting_started/ipod_install.tex}}
  \opt{x5}{\input{getting_started/iaudio_install.tex}}
  \opt{h10,h10_5gb}{\input{getting_started/h10_install.tex}}
  \opt{gigabeat}{\input{getting_started/gigabeat_install.tex}}
  \opt{sansa}{\input{getting_started/sansa_install.tex}}
}

\section{Enabling Speech Support (optional)}\label{sec:enabling_speech_support}
\index{Speech}\index{Installation!Optional Steps}
If you wish to use speech support you will also need a voice file, available
from \wikilink{VoiceFiles}. For the English language, the file is called
\fname{english.voice}. When it has been downloaded, unpack this file and copy
it into the \fname{lang} folder which is inside the \fname{/.rockbox} folder on
your \dap{}. Voice menus are turned on by default. See
\reference{ref:Voiceconfiguration} for details on voice settings.

\section{Running Rockbox}
Remove your \dap{} from the computer's USB port.%
\nopt{ipod,e200}{Unplug any connected power supply and turn the unit off. When
you next turn the unit on, Rockbox should load.}%
\opt{ipod}{Rebooting the Ipod by holding
  \opt{IPOD_4G_PAD}{\ButtonMenu{}+\ButtonSelect{}}%
  \opt{IPOD_3G_PAD}{\ButtonMenu{}+\ButtonPlay{}}
  for a couple of seconds until the \dap{} reboots. Now Rockbox should load.
}%
\opt{e200}{Your e200 will automatically reboot and Rockbox should load}%
When you see the Rockbox splash screen, Rockbox is loaded and ready for
use.

\opt{ipod}{
  \note{
    Rockbox starts in the \setting{File Browser}. If you have loaded music onto
    your player using Itunes, you will not be able to see your music because
    Itunes changes your files' names and hides them in directories in the
    \fname{Ipod\_Control} folder. You can view files placed on your \dap{} by
    Itunes by initializing and using Rockbox's database. See
    \reference{ref:database} for more information.
  }
}

\section{Updating Rockbox} Updating Rockbox is easy. Download a Rockbox build.
(The latest release of the Rockbox software will always be available from
\url{http://www.rockbox.org/download/}). Unzip the build to the root directory
of your \dap{} like you did in the installation step before. If your unzip
program asks you whether to overwrite files, choose the ``Yes to all'' option.
The new build will be installed over your current build.

\section{Uninstalling Rockbox}\index{Installation!uninstall}

\opt{archos}{
  If you would like to go back to using the original \playerman{} software,
  connect the \dap{} to your computer, and delete the
  \fname{\firmwarefilename} file.
}
\nopt{gigabeat,m5,x5,archos}
  {
  \note{The Rockbox bootloader can start the original firmware on your \dap.
  (See \reference{ref:Dualboot} for more information.)}}

\opt{h10,h10_5gb}{
  If you would like to go back to using the original \playerman{} software,
  connect the \dap{} to your computer, and delete the
  \opt{h10}{\fname{H10\_20GC.mi4}}\opt{h10_5gb}{\fname{H10.mi4}} file and rename
  \fname{OF.mi4} to \opt{h10}{\fname{H10\_20GC.mi4}}\opt{h10_5gb}{\fname{H10.mi4}}
  in the \fname{System} directory on your \playertype{}. As in the installation,
  it may be necessary to first put your device into UMS mode.
}

\opt{e200}{
  If you would like to go back to using the original \playerman{} software,
  connect the \dap{} to your computer, and follow the instructions to install
  the bootloader, but when prompted by sansapatcher, enter 'u' for uninstall,
  instead of 'i' for install. As in the installation, it may be necessary to
  first put your device into UMS mode.
}

\optv{ipod}{
  If you would like to go back to using the original \playerman{} software,
  connect the \dap{} to your computer, and follow the instructions to install
  the bootloader, but when prompted by ipodpatcher, enter 'u' for uninstall,
  instead of 'i' for install.
}

\opt{m5,x5}{
  If you would like to go back to using the original \playerman{} software,
  connect the \dap{} to your computer, download the original \playername{}
  firmware from the \playerman{} web site. And copy it to the \fname{FIRMWARE}
  directory on your \playername{}. Turn off the \dap{}, remove the USB cable
  and insert the charger. The original firmware will automatically be flashed.
}

\opt{h1xx,h300}{
  \note{
    If you want to remove the Rockbox bootloader, simply flash an unpatched
    \playerman{} firmware. Be aware that doing so will also remove the boot
    loader USB mode. As that mode can come in quite handy (especially when
    having disk errors) it is recommended to keep the boot loader. It also
    gives you the possibility of trying Rockbox anytime later by simply
    installing the distribution files.
    \opt{h1xx}{
      The Rockbox bootlaoder will automatically start the original firmware if
      the \fname{.rockbox} folder has been deleted.
    }%
    \opt{h300}{%
      Although if you retain the Rockbox boot loader, you will need to hold the
      \ButtonRec{} button each time you want to start the original firmware.
    }
  }
}

If you wish to clean up your disk, you may also wish to delete the
\fname{.rockbox} folder and its contents.
\nopt{m5,x5}{Turn the \playerman{} off.
  Turn the \dap{} back on and the original \playerman{} software will load.
}

