blob: 08a6e8d5963981315947a8725f67ad89c37a8c04 [file] [log] [blame]
Dominik Riebeling2a731e42006-06-04 17:16:24 +00001% $Id$ %
Michael DiFebboa120e5b2006-05-25 16:38:18 +00002\subsection{Installing the bootloader}
Dominik Riebeling89a2a282006-06-06 17:42:27 +00003\warn{These instructions are preliminary and may contain errors!
4Please check the wiki for up-to-date and improved installation instructions!
5If you find errors you're of course welcomed to report them so we can fix it
6for the next daily builds.}
Dominik Riebeling2a731e42006-06-04 17:16:24 +00007
Michael DiFebboa120e5b2006-05-25 16:38:18 +00008 Installing the bootloader is the trickiest part of the installation.
Michael DiFebbo95afcf52006-06-04 14:44:10 +00009 The process is different depending on your operating system, but before
Dominik Riebeling89a2a282006-06-06 17:42:27 +000010 starting, connect the \dap{} to the computer using either an USB \fixme{or
Michael DiFebbo95afcf52006-06-04 14:44:10 +000011 Firewire?} cable. Next, create a folder on the computer's harddrive and
12 download the following file to that folder:
Jonas Häggqvistb774d4e2006-07-30 18:52:17 +000013 \opt{ipodvideo}{\url{http://download.rockbox.org/bootloader/ipod/bootloader-video.bin}}
14 \opt{ipodnano}{\url{http://download.rockbox.org/bootloader/ipod/bootloader-nano.bin}}
15 \opt{ipodmini}{\url{http://download.rockbox.org/bootloader/ipod/bootloader-mini1g.bin} or
16 \url{http://download.rockbox.org/bootloader/ipod/bootloader-mini1g.bin} depending on which
Dominik Riebeling89a2a282006-06-06 17:42:27 +000017 generation your \dap{} is.\fixme{Describe how to identify 1/2G}}
Jonas Häggqvistb774d4e2006-07-30 18:52:17 +000018 \opt{ipodcolor}{\url{http://download.rockbox.org/bootloader/ipod/bootloader-color.bin}}
19 \opt{ipod4g}{\url{http://download.rockbox.org/bootloader/ipod/bootloader-4g.bin}}
Michael DiFebbo95afcf52006-06-04 14:44:10 +000020
21 When that is done, proceed to the section below that matches the operating
22 system on the computer.
Michael DiFebbo95afcf52006-06-04 14:44:10 +000023 \note{These instructions all require you to have administrator rights
24 on your computer, regardless of the operating system.}
Dominik Riebeling89a2a282006-06-06 17:42:27 +000025 \note{Rockbox only works on FAT32 partitions (called ``Windows formatted'' by
26 Apple). So if your \dap{} is Mac formatted (HFS+), you should first convert
Michael DiFebbo95afcf52006-06-04 14:44:10 +000027 it to FAT32. Information on how to do this can be found on the Rockbox
28 website. \fixme{Include these instructions?}}
29
30\subsubsection{Windows users}
31\begin{enumerate}
32 \item Download the following two programs and save them in the folder just
33 created. These programs will be used in the next steps:
34 \begin{itemize}
Jonas Häggqvistb774d4e2006-07-30 18:52:17 +000035 \item \url{http://download.rockbox.org/bootloader/ipod/ipodpatcher.exe}
36 \item \url{http://download.rockbox.org/bootloader/ipod/ipod_fw.exe}
Michael DiFebbo95afcf52006-06-04 14:44:10 +000037 \end{itemize}
Martin Arver85709112006-08-15 10:53:14 +000038 \item Locate the \dap{} by opening a command window. You can do this by
Dominik Riebeling89a2a282006-06-06 17:42:27 +000039 clicking ``Start'', ``Execute'' and typing \fname{cmd}. Press Enter to
40 execute that command. Now change directory to the
Michael DiFebbo95afcf52006-06-04 14:44:10 +000041 folder you created and run the following commands:
Dominik Riebeling89a2a282006-06-06 17:42:27 +000042 \begin{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +000043 ipodpatcher 0
44 ipodpatcher 1
45 ipodpatcher 2
46 ipodpatcher 3
Dominik Riebeling89a2a282006-06-06 17:42:27 +000047 \end{code}
Dominik Riebeling840b1c22006-07-10 07:04:43 +000048 Keep increasing the number until the \dap{} is located.
49
50 Output for an unsuccessful attempt to contact the \dap{}...
51 \begin{code}
52 C:/rockbox>ipodpatcher 0
53 ipodpatcher v0.3 - (C) Dave Chapman 2006
54 This is free software; see the source for copying conditions. There is NO
55 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
56
57 [INFO] Reading partition table from \textbackslash\textbackslash{}.\textbackslash{}PhysicalDrive0
58 Drive is not an iPod, aborting
59 \end{code}
60
61 A successful connection to the \dap{} will look similar to this...
62 \begin{code}
63 C:\textbackslash{}rockbox>ipodpatcher 6
64 ipodpatcher v0.3 - (C) Dave Chapman 2006
65 This is free software; see the source for copying conditions. There is NO
66 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
67
68 [INFO] Reading partition table from \textbackslash\textbackslash{}.\textbackslash{}PhysicalDrive6
69 Part Start Sector End Sector Size (MB) Type
70 0 63 160649 78.4 Empty (0x00)
71 1 160650 7984304 3820.1 W95 FAT32 (0x0b)
72 \end{code}
73 Remember the number that corresponds to your \dap{} -- in the
Dominik Riebeling89a2a282006-06-06 17:42:27 +000074 following steps, \emph{N} should be replaced with the number just found.
75 \item Now, extract the firmware partition currently on the \dap{} with the
Michael DiFebbo95afcf52006-06-04 14:44:10 +000076 following command:
Dominik Riebeling89a2a282006-06-06 17:42:27 +000077 \begin{code}
78 ipodpatcher -r \emph{N} bootpartition.bin
79 \end{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +000080 \note{You should keep a safe backup of this \fname{bootpartition.bin} file
81 for use if you ever wish to either upgrade the Rockbox bootloader or
Dominik Riebeling89a2a282006-06-06 17:42:27 +000082 uninstall Rockbox from your Ipod}
Michael DiFebbo95afcf52006-06-04 14:44:10 +000083 \item Extract the Apple firmware from the partition image image just created:
Dominik Riebeling89a2a282006-06-06 17:42:27 +000084 \begin{code}
Dave Chapmane86fd3f2006-07-09 22:24:27 +000085 ipod_fw -o apple_os.bin -e 0 bootpartition.bin
Dominik Riebeling89a2a282006-06-06 17:42:27 +000086 \end{code}
87\optv{ipodvideo}{
88 \item Similarly, extract the Broadcom firmware:
89 \begin{code}
90 ipod_fw -o apple_sw_5g_rcsc.bin -e 1 bootpartition.bin
Dominik Riebeling89a2a282006-06-06 17:42:27 +000091 \end{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +000092}
Dominik Riebeling8c9e2252006-06-06 21:38:37 +000093 \item Merge the Rockbox bootloader you downloaded previously with the Apple
94 firmware:
95\optv{ipodnano}{
96 \begin{code}
97 ipod_fw -g nano -o rockboot.bin -i apple_os.bin bootloader-nano.bin
98 \end{code}
99}
100\optv{ipodvideo}{
101 \begin{code}
102 ipod_fw -g video -o rockboot.bin -i apple_os.bin bootloader-video.bin
103 \end{code}
104}
105\optv{ipodmini}{
106 \begin{code}
107 ipod_fw -g mini -o rockboot.bin -i apple_os.bin bootloader-mini1g.bin
108 \end{code}
109 Or, if you have a 2G mini:
110 \begin{code}
111 ipod_fw -g mini -o rockboot.bin -i apple_os.bin bootloader-mini2g.bin
112 \end{code}
113}
114\optv{ipodcolor}{
115 \begin{code}
116 ipod_fw -g color -o rockboot.bin -i apple_os.bin bootloader-color.bin
117 \end{code}
118}
119\optv{ipod4g}{
120 \begin{code}
121 ipod_fw -g 4g -o rockboot.bin -i apple_os.bin bootloader-4g.bin
122 \end{code}
123}
124\item
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000125 Install the Rockbox-enabled firmware:
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000126 \begin{code}
127 ipodpatcher -w \emph{N} rockboot.bin
128 \end{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000129\end{enumerate}
130
Dominik Riebeling2a731e42006-06-04 17:16:24 +0000131Now you can proceed installing the firmware itself.
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000132
133\subsubsection{Mac OS X users}
134\begin{enumerate}
135 \item Download the following two programs and save them in the folder just
136 created. These programs will be used in the next steps:
137 \begin{itemize}
Jonas Häggqvistb774d4e2006-07-30 18:52:17 +0000138 \item \url{http://download.rockbox.org/bootloader/ipod/diskdump}
139 \item \url{http://download.rockbox.org/bootloader/ipod/ipod_fw}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000140 \end{itemize}
141 Start a Terminal and type navigate into the folder you created. Before
142 you can continue, you need to ensure that Mac OS knows that the
Dominik Riebeling2a731e42006-06-04 17:16:24 +0000143 \fname{ipod\_fw}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000144 and diskdump files you downloaded are executable programs. To do this,
145 type the following command:
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000146 \begin{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000147 chmod +x ipod_fw diskdump
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000148 \end{code}
149 \item Locate the \dap{} by running the following command:
150 \begin{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000151 mount
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000152 \end{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000153 The output will look something like this: \fixme{Add full example}
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000154 \begin{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000155 /dev/disk1s2 on /Volumes/DAVE_S IPOD 1 (local, nodev, nosuid)
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000156 \end{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000157 In this example, the \dap\ is located at /dev/disk1s2 Remember the
158 location of your \dap\ -- in the following steps, /dev/disk1s2 should be
159 replaced with the location just found.
160 \item Before continuing, the \dap\ must be ``unmounted'', which is
161 done with the following command:
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000162 \begin{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000163 diskutil unmount /dev/disk1s2
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000164 \end{code}
165 \item Now, extract the Apple firmware currently on the \dap{} with the
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000166 following command:
167 \note{The last part of the location is left out.}
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000168 \begin{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000169 ./diskdump -r /dev/disk1 bootpartition.bin
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000170 \end{code}
Dominik Riebeling2a731e42006-06-04 17:16:24 +0000171 \note{You should keep a safe backup of this \fname{bootpartition.bin} file
172 for use if you ever wish to either upgrade the Rockbox bootloader or
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000173 uninstall Rockbox from your iPod
174 }
175 \item Extract the Apple firmware from this partition image:
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000176 \begin{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000177 ./ipod_fw -o apple_os.bin -e 0 bootpartition.bin
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000178 \end{code}
179\optv{ipodvideo}{
180 \item Similarly, extract the Broadcom firmware:
181 \begin{code}
182 ./ipod_fw -o apple_sw_5g_rcsc.bin -e 1 bootpartition.bin
183 \end{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000184}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000185 \item Merge the Rockbox bootloader you downloaded previously with the Apple
Dominik Riebeling8c9e2252006-06-06 21:38:37 +0000186 firmware:
187\optv{ipodnano}{
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000188 \begin{code}
Dominik Riebeling8c9e2252006-06-06 21:38:37 +0000189 ./ipod_fw -g nano -o rockboot.bin -i apple_os.bin bootloader-nano.bin
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000190 \end{code}
Dominik Riebeling8c9e2252006-06-06 21:38:37 +0000191}
192\optv{ipodvideo}{
193 \begin{code}
194 ./ipod_fw -g video -o rockboot.bin -i apple_os.bin bootloader-video.bin
195 \end{code}
196}
197\optv{ipodmini}{
198 \begin{code}
199 ./ipod_fw -g mini -o rockboot.bin -i apple_os.bin bootloader-mini1g.bin
200 \end{code}
201 Or, if you have a 2G Mini:
202 \begin{code}
203 ./ipod_fw -g mini -o rockboot.bin -i apple_os.bin bootloader-mini2g.bin
204 \end{code}
205}
206\optv{ipodcolor}{
207 \begin{code}
208 ./ipod_fw -g color -o rockboot.bin -i apple_os.bin bootloader-color.bin
209 \end{code}
210}
211\optv{ipod4g}{
212 \begin{code}
213 ./ipod_fw -g 4g -o rockboot.bin -i apple_os.bin bootloader-4g.bin
214 \end{code}
215}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000216 \item
217 Install the Rockbox-enabled firmware:
218 \note{The last part of the location is left out.}
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000219 \begin{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000220 ./diskdump -w /dev/disk1 rockboot.bin
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000221 \end{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000222\end{enumerate}
223
Dominik Riebeling2a731e42006-06-04 17:16:24 +0000224Now, proceed with installing the firmware itself.
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000225
226\subsubsection{Linux users}
227\begin{enumerate}
228 \item Download the following and save it in the folder just
229 created:
230 \begin{itemize}
231 \item \url{http://www.rockbox.org/viewcvs.cgi/*checkout*/tools/ipod_fw.c}
232 \end{itemize}
233 Now compile it to an executable by opening a command prompt and changing
234 to the folder created previously. Thn run the following command:
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000235 \begin{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000236 gcc -o ipod_fw ipod_fw.c
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000237 \end{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000238 If you get the message that the command gcc is not found, you need to
239 install gcc. How to do this depends on your Linux distribution, and
240 you should consult its documentation for help on this.
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000241 \item Locate your Ipod by running the command \verb|dmesg|. In the output
242 something like the following should be seen:
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000243\begin{code}
244 usb 4-1: new high speed USB device using ehci_hcd and address 7
245 scsi4 : SCSI emulation for USB Mass Storage devices
246 usb-storage: device found at 7
247 usb-storage: waiting for device to settle before scanning
248 Vendor: Apple Model: iPod Rev: 1.62
249 Type: Direct-Access ANSI SCSI revision: 00
250 SCSI device sdb: 58605120 512-byte hdwr sectors (30006 MB)
251\end{code}
252 You need the device name of your \dap, which you can find in the last line.
253 In this example, the \dap\ is located on \fname{/dev/sdb}. In the following,
254 \fname{/dev/sdb} should be replaced with the location just found.
255 \item Run \verb|fdisk -l /dev/sdb|. Verify that the
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000256 output is similar to the one below:
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000257 \begin{code}
258 Device Boot Start End Blocks Id System
259 /dev/sdb1 1 10 80293+ 0 Empty
260 /dev/sdb2 11 3648 29222235 b W95 FAT32
261 \end{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000262 \item Back up the partition table using the following command:
263 \note{The last part of the location is left out.}
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000264 \begin{code}
265 dd if=/dev/\emph{sdb} of=mbr.bin count=1
266 \end{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000267
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000268 \item Now, extract the firmware partition currently on the \dap{} with the
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000269 following command:
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000270 \begin{code}
271 dd if=/dev/\emph{sdb1} of=bootpartition.bin
272 \end{code}
Dominik Riebeling2a731e42006-06-04 17:16:24 +0000273 \note{You should keep a safe backup of this \fname{bootpartition.bin} file
274 for use if you ever wish to either upgrade the Rockbox bootloader or
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000275 uninstall Rockbox from your Ipod
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000276 }
277 \item Extract the Apple firmware from this partition image:
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000278 \begin{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000279 ./ipod_fw -o apple_os.bin -e 0 bootpartition.bin
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000280 \end{code}
281\optv{ipodvideo}{
Dominik Riebeling2a731e42006-06-04 17:16:24 +0000282 \item Similarly, extract the Broadcom firmware:
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000283 \begin{code}
284 ./ipod_fw -o apple_sw_5g_rcsc.bin -e 1 bootpartition.bin
285 \end{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000286}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000287
288 \item Merge the Rockbox bootloader you downloaded previously with the Apple
Dominik Riebeling8c9e2252006-06-06 21:38:37 +0000289 firmware:
290\optv{ipodnano}{
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000291 \begin{code}
Dominik Riebeling8c9e2252006-06-06 21:38:37 +0000292 ./ipod_fw -g nano -o rockboot.bin -i apple_os.bin bootloader-nano.bin
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000293 \end{code}
Dominik Riebeling8c9e2252006-06-06 21:38:37 +0000294}
295\optv{ipodvideo}{
296 \begin{code}
297 ./ipod_fw -g video -o rockboot.bin -i apple_os.bin bootloader-video.bin
298 \end{code}
299}
300\optv{ipodmini}{
301 \begin{code}
302 ./ipod_fw -g mini -o rockboot.bin -i apple_os.bin bootloader-mini1g.bin
303 \end{code}
304 Or, if you have a 2G Mini:
305 \begin{code}
306 ./ipod_fw -g mini -o rockboot.bin -i apple_os.bin bootloader-mini2g.bin
307 \end{code}
308}
309\optv{ipodcolor}{
310 \begin{code}
311 ./ipod_fw -g color -o rockboot.bin -i apple_os.bin bootloader-color.bin
312 \end{code}
313}
314\optv{ipod4g}{
315 \begin{code}
316 ./ipod_fw -g 4g -o rockboot.bin -i apple_os.bin bootloader-4g.bin
317 \end{code}
318}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000319 \item
320 Install the Rockbox-enabled firmware:
Dominik Riebeling89a2a282006-06-06 17:42:27 +0000321 \begin{code}
322 dd if=rockboot.bin of=/dev/\emph{sdb1}
323 \end{code}
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000324\end{enumerate}
Dominik Riebeling2a731e42006-06-04 17:16:24 +0000325Now you can install the firmware itself.
Michael DiFebbo95afcf52006-06-04 14:44:10 +0000326