summaryrefslogtreecommitdiff
path: root/manual/advanced_topics/archos-flashing.tex
diff options
context:
space:
mode:
Diffstat (limited to 'manual/advanced_topics/archos-flashing.tex')
-rw-r--r--manual/advanced_topics/archos-flashing.tex195
1 files changed, 0 insertions, 195 deletions
diff --git a/manual/advanced_topics/archos-flashing.tex b/manual/advanced_topics/archos-flashing.tex
deleted file mode 100644
index e8fa7af88c..0000000000
--- a/manual/advanced_topics/archos-flashing.tex
+++ /dev/null
@@ -1,195 +0,0 @@
1\section{\label{ref:Rockboxinflash}Rockbox in Flash}
2
3\subsection{Introduction}
4
5When you bought your \playertype, it came with the \playerman\ firmware in
6flash ROM. When you power on your \dap, this \playerman\ firmware starts,
7and then loads an updated firmware from disk if present (\firmwarefilename).
8An ordinary Rockbox installation only replaces the on-disk firmware, leaving
9the flash ROM contents intact. That means the \playerman\ firmware still
10controls the boot process.
11
12The main reason to change this is to improve the startup time of your player.
13The \playerman\ bootloader is rather slow. With Rockbox in flash, your \dap\
14will boot much faster, typically in three to five seconds. Furthermore you
15might prefer a clean Rockbox environment, with as little remnants of the
16\playerman\ software as possible.
17\opt{rombox}{On your \dap\ it is also possible to execute Rockbox directly
18 from flash ROM, increasing the amount of free RAM for buffering music. This
19 is called \emph{Rombox}.
20}
21
22\warn{Flashing your \dap\ is somewhat dangerous, like programming a mainboard
23 \emph{BIOS}, \emph{CD/DVD} drive firmware, mobile phone, etc. If the power
24 fails, the chip breaks while programming or most of all the programming
25 software malfunctions, you'll have a dead box. We take no responsibility of
26 any kind, you do that at your own risk. However, we tried as carefully as
27 possible to bulletproof this code. There are a lot of sanity checks. If any
28 of them fails, it will not program.
29}
30
31\opt{ondio}{\warn{After flashing Rockbox, never try to ROLO the \playerman\
32 firmware
33 \opt{ondiofm}{versions 1.31f or 1.32b! These versions are flash updates
34 themselves. If they are}
35 \opt{ondiosp}{version 1.32b! This version is a flash update itself.
36 If it is}
37 applied when Rockbox is flashed, you'll end up with a garbled flash ROM
38 and hence a dead box.
39}}
40
41There's an ultimate safety net to bring back boxes with even completely
42garbled flash content: the \emph{UART} boot mod, which in turn requires the
43\emph{serial} mod. With that it's possible to reflash independently from the
44outside, even if the flash ROM is completely erased.
45\nopt{ondio}{This won't work if you have one of the rare ``ROMless'' boxes. These
46 have no boot ROM and boot directly from flash.
47}
48If the first $\approx$2~KB of the flash ROM are flashed OK, \emph{Minimon} can
49be used for the same purpose.
50
51\subsection{Terminology and Basic Operation}
52
53\begin{description}
54\item[Firmware:] The flash ROM contents as a whole.
55\item[Image:] One operating software started from there.
56\end{description}
57
58The replacement firmware contains a bootloader and two images. The first image
59is the \emph{permanent} rescue software, to be used in case something is wrong
60with the second (main) image. In current firmware files this first image
61contains \emph{Bootbox} (see wiki for details). The second image is what is
62booted by default. The current firmware files contain a copy of Rockbox 3.2
63in the main image. It can easily be updated/replaced later.
64
65The bootloader allows to select which image to run. Pressing
66\opt{RECORDER_PAD}{\ButtonFOne}\opt{PLAYER_PAD,ONDIO_PAD}{\ButtonLeft} at boot
67selects the first image.
68\opt{RECORDER_PAD}{\ButtonFTwo}\opt{PLAYER_PAD}{\ButtonPlay}\opt{ONDIO_PAD}{\ButtonUp}
69selects the second image, which will also be booted if you don't press any
70button. The button mapping is only there for completeness.
71\opt{RECORDER_PAD}{\ButtonFThree}\opt{PLAYER_PAD,ONDIO_PAD}{\ButtonRight}
72selects the built-in serial monitor called \emph{Minimon}. You should know this
73in case you invoke it by accident. Minimon won't display anything on the
74screen. To get out of it, perform a hardware shutdown of your \dap.
75
76\subsection{Initial Flashing Procedure}
77
78You only need to perform this procedure the first time you flash your
79\playertype. You may also want to perform it in case the update procedure for
80the second image recommends it. In the latter case do not perform the steps
81listed under ``Preparation''.
82
83\subsubsection{Preparation}
84
85\nopt{ondio}{
86 First, check whether your \playertype\ is flashable at all. Select
87 \setting{System $\rightarrow$ Debug (Keep Out!) $\rightarrow$ View HW
88 Info}.
89 \opt{lcd_charcell}{Cycle through the displayed values with \ButtonRight /
90 \ButtonLeft\ until ``Flash:'' is displayed. If it shows question marks,
91 }
92 \opt{lcd_bitmap}{Check the values in the line starting with ``Flash:''. If it
93 shows question marks after ``M='' and ``D='',
94 }
95 you're out of luck, your \dap\ is not flashable without modifying the
96 hardware. You can stop here. Sorry.
97}
98
99\nopt{ondio}{If your \dap\ is flashable, you}\opt{ondio}{You} should perform a
100backup of the current flash ROM contents, in case you want to restore it later.
101Select \setting{System $\rightarrow$ Debug (Keep Out!) $\rightarrow$ Dump ROM
102contents}. You'll notice a few seconds of disk activity. When you connect your
103\dap\ to the PC afterwards, you'll find two files in the root of your \dap.
104Copy the 256~KB-sized file named \fname{internal\_rom\_2000000-203FFFF.bin} to
105a safe place.
106
107\subsubsection{Flashing}
108
109\begin{enumerate}
110\item Download the correct package for your \dap\ from
111 \url{http://download.rockbox.org/bootloader/archos/}. It is named
112 \fname{flash-{\textless}model{\textgreater}-{\textless}version{\textgreater}.zip}.
113 The current packages are v3.
114\item Unzip the flash package to the root of your \dap.
115 \nopt{ondio}{This will extract two files to the root,
116 \fname{firmware\_{\textless}model{\textgreater}.bin} and
117 \fname{firmware\_{\textless}model{\textgreater}\_norom.bin}.
118 \opt{recorder,recorderv2fm}{(The {\textless}model{\textgreater} part is
119 slighty different from that in the .zip file name.)
120 }
121 The flash plugin will select the correct one for your \dap.
122 }
123 \opt{ondio}{This will extract one file to the root,
124 \fname{firmware\_{\textless}model{\textgreater}.bin}.
125 }
126 Now safely disconnect USB.
127\item
128 \nopt{ondio}{Make sure your batteries are in good shape and fully charged.}
129 \opt{ondio}{Make sure you use a set of fresh batteries.}
130 Flashing doesn't need more power than normal operation, but you don't want
131 your \dap\ to run out of power while flashing.
132\item Select \setting{Plugins $\rightarrow$ Applications}, and run the
133 \fname{firmware\_flash} plugin. It will tell you about your flash and
134 which file it is going to program. After pressing
135 \opt{RECORDER_PAD}{\ButtonFOne}\opt{PLAYER_PAD}{\ButtonMenu}\opt{ONDIO_PAD}{\ButtonLeft}
136 it will check the file. If the file is OK, pressing
137 \opt{RECORDER_PAD}{\ButtonFTwo}\opt{PLAYER_PAD}{\ButtonOn}\opt{ONDIO_PAD}{\ButtonUp}
138 will give you a big warning. If we still didn't manage to scare you off, you
139 need to press
140 \opt{RECORDER_PAD}{\ButtonFThree}\opt{PLAYER_PAD,ONDIO_PAD}{\ButtonRight}
141 to actually program and verify. The programming takes just a few seconds.
142\item In the unlikely event that the programming or verify steps should give
143 you any error, \emph{do not switch off the box!} Otherwise you'll have seen
144 it working for the last time. While Rockbox is still in RAM and operational,
145 we could upgrade the plugin via USB and try again. If you switch it off,
146 it's gone.
147\end{enumerate}
148
149\note{After successful flashing you may delete the \fname{.bin} files from the
150 root of your \dap.
151}
152
153\note{There are no separate flash packages for {\dap}s modified to have 8~MB
154 of RAM. You need to use the corresponding package for non-modified
155 \playertype. You should then install a Rockbox image that makes use of all
156 available RAM as described in the following section.
157}
158
159\subsection{Updating the Rockbox Image in Flash}
160
161When Rockbox is booted from flash, it does not check for an updated firmware
162on disk. This is one of the reasons why it boots faster than the \playerman\
163firmware. It means that whenever you update Rockbox, you also need to update
164the image in the flash. This is a simple and safe procedure:
165
166\begin{enumerate}
167\item Download (or build) the Rockbox build you want to use, and unzip it to
168 the root of your \dap. Safely disconnect USB.
169\item ROLO into the new Rockbox version.
170\item Go to the file browser, and enter the \fname{.rockbox} directory (you
171 might need to set the \setting{File View} option to \setting{All}.)
172\item Play the file \fname{rockbox.ucl}\opt{rombox}{, or preferably
173 \fname{rombox.ucl}}, and follow the instructions. The plugin handling
174 this is \fname{rockbox\_flash}, a viewer plugin.
175\end{enumerate}
176
177\subsection{Restoring the Original Flash ROM Contents}
178
179In case you ever want to restore the original flash contents, you will need
180the backup file. The procedure is very similar to initial flashing, with the
181following differences:
182
183\begin{enumerate}
184\item Check that you do not have any \fname{firmware\_*.bin} files in your
185 \dap's root.
186\item Select \setting{Plugins $\rightarrow$ Applications}, and run the
187 \fname{firmware\_flash} plugin. Write down the filename it displays in the
188 first screen, then exit the plugin.
189\item Connect USB, and copy the flash ROM backup file to the root of your
190 \dap. \emph{Only use the backup file from that very box, otherwise you're
191 asking for trouble!} Rename the file so that it matches the name requested
192 by the \fname{firmware\_flash} plugin. Safely disconnect USB.
193\end{enumerate}
194
195Now follow the instructions given for initial flashing, starting with step 3.