summaryrefslogtreecommitdiffstats
path: root/manual/getting_started/ipod_install.tex
blob: b46204001ee0f598591ae672d3e2dece63c7bfa4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
% $Id$ %

\opt{ipodnano}{\warn{If your Nano has a stainless steel back and plastic front 
it is a 1st generation and is compatible with Rockbox.  If, on the other hand, 
your Nano has a one-piece aluminum body it is a 2nd generation Nano and there 
is currently no Rockbox port available.  Do not attempt to install the 
bootloader on a 2nd generation Nano}}


\warn{These instructions are preliminary and may contain errors! 
Please check the wiki for up-to-date and improved installation instructions!
If you find errors you're of course welcomed to report them so we can fix it
for the next daily builds.}

  Installing the boot loader is the trickiest part of the installation.
  \opt{ipodnano}{First, you need to find out which version of the Apple
    firmware you're running. To do this, start the Apple firmware and go to
    Settings screen. In the ``About'' screen you'll find the version number
    of the Apple firmware. Depending on the version number the installation
    is slightly different.}%
    
  The process is different depending on your operating system, but before
  starting, connect the \dap{} to the computer using either an USB
  %\fixme{or Firewire?} % Firewire is currently not supported.
  cable. Next, create a folder on the computer's hard drive and
  download the following file to that folder:
  \opt{ipodvideo}{\url{http://download.rockbox.org/bootloader/ipod/bootloader-video.bin}}
  \opt{ipodnano}{\url{http://download.rockbox.org/bootloader/ipod/bootloader-nano.bin}}
  \opt{ipodmini}{\url{http://download.rockbox.org/bootloader/ipod/bootloader-mini1g.bin} or
    \url{http://download.rockbox.org/bootloader/ipod/bootloader-mini2g.bin} depending on which
    generation your \dap{} is.\fixme{Describe how to identify 1/2G}}
  \opt{ipodcolor}{\url{http://download.rockbox.org/bootloader/ipod/bootloader-color.bin}}
  \opt{ipod4g}{\url{http://download.rockbox.org/bootloader/ipod/bootloader-4g.bin}}
  \opt{ipod3g}{\url{http://download.rockbox.org/bootloader/ipod/bootloader-3g.bin}}

  When that is done, proceed to the section below that matches the operating
  system on the computer.
  \note{These instructions all require you to have administrator rights
  on your computer, regardless of the operating system.}
  \note{Rockbox only works on FAT32 partitions (called ``Windows formatted'' by
    Apple). So if your \dap{} is Mac formatted (HFS+), you should first convert
    it to FAT32. Information on how to do this can be found on the Rockbox
    website. \fixme{Include these instructions?}}

\subsubsection{Windows users}
\begin{enumerate}
  \item Download the following two programs and save them in the folder just
    created. These programs will be used in the next steps:
    \begin{itemize}
      \item \url{http://download.rockbox.org/bootloader/ipod/ipodpatcher.exe}
      \item \url{http://download.rockbox.org/bootloader/ipod/ipod_fw.exe}
    \end{itemize}
  \item Locate the \dap{} by opening a command window. You can do this by
    clicking ``Start'', ``Execute'' and typing \fname{cmd}. Press Enter to
    execute that command. Now change directory to the
    folder you created and run the following commands:
    \begin{code}
    ipodpatcher 0
    ipodpatcher 1
    ipodpatcher 2
    ipodpatcher 3
    \end{code}
    Keep increasing the number until the \dap{} is located.

    The output for an unsuccessful attempt to contact the \dap{} looks like
    this:
    \begin{code}
    C:\textbackslash{}rockbox>ipodpatcher 0
    ipodpatcher v0.3 - (C) Dave Chapman 2006
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    [INFO] Reading partition table from \textbackslash\textbackslash{}.\textbackslash{}PhysicalDrive0
    Drive is not an iPod, aborting
    \end{code}
    
    A successful connection to the \dap{} will look similar to this...
    \begin{code}
    C:\textbackslash{}rockbox>ipodpatcher 6
    ipodpatcher v0.3 - (C) Dave Chapman 2006
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    [INFO] Reading partition table from \textbackslash\textbackslash{}.\textbackslash{}PhysicalDrive6
    Part    Start Sector    End Sector    Size (MB)  Type
       0              63        160649        78.4   Empty (0x00)
       1          160650       7984304      3820.1   W95 FAT32 (0x0b)
   \end{code}
    Remember the number that corresponds to your \dap{} -- in the 
    following steps, \emph{N} should be replaced with the number just found.
  \item Now, extract the firmware partition currently on the \dap{} with the
    following command:
    \begin{code}
    ipodpatcher -r \emph{N} bootpartition.bin
    \end{code}
    \note{You should keep a safe backup of this \fname{bootpartition.bin} file
      for use if you ever wish to either upgrade the Rockbox boot loader or
      uninstall Rockbox from your Ipod}
  \item Extract the Apple firmware from the partition image image just created:
    \begin{code}
    ipod_fw -o apple_os.bin -e 0 bootpartition.bin
    \end{code}
  \opt{ipodnano}{\note{The following step is only necessary if your Apple
    firmware has version 1.2 or later. If this doesn't apply to you, simply 
    skip it.}}
\optv{ipodvideo,ipodnano}{
  \item
    Similarly, extract the Broadcom firmware:
    \begin{code}
    ipod_fw -o apple_sw_5g_rcsc.bin -e 1 bootpartition.bin
    \end{code}
}
  \item Merge the Rockbox boot loader you downloaded previously with the Apple
    firm\-ware.%
\optv{ipodnano}{
    If your firmware version is lower than 1.2 this works you need
    this command:
    \begin{code}
    ipod_fw -g nano -o rockboot.bin -i apple_os.bin bootloader-nano.bin
    \end{code}
    If your firmware version is 1.2 or later you need to use the following 
    command instead. Please note that the ``video'' is correct.
    \begin{code}
    ipod_fw -g video -o rockboot.bin -i apple_os.bin bootloader-nano.bin
    \end{code}
}
\optv{ipodvideo}{
    \begin{code}
    ipod_fw -g video -o rockboot.bin -i apple_os.bin bootloader-video.bin
    \end{code}
}
\optv{ipodmini}{
    \begin{code}
    ipod_fw -g mini -o rockboot.bin -i apple_os.bin bootloader-mini1g.bin
    \end{code}
    Or, if you have a 2G mini:
    \begin{code}
    ipod_fw -g mini -o rockboot.bin -i apple_os.bin bootloader-mini2g.bin
    \end{code}
}
\optv{ipodcolor}{
    \begin{code}
    ipod_fw -g color -o rockboot.bin -i apple_os.bin bootloader-color.bin
    \end{code}
}
\optv{ipod4g}{
    \begin{code}
    ipod_fw -g 4g -o rockboot.bin -i apple_os.bin bootloader-4g.bin
    \end{code}
}
\optv{ipod3g}{
    \begin{code}
    ipod_fw -g 3g -o rockboot.bin -i apple_os.bin bootloader-3g.bin
    \end{code}
}
\item
    Install the Rockbox-enabled firmware:
    \begin{code}
    ipodpatcher -w \emph{N} rockboot.bin
    \end{code}
\end{enumerate}

Now you can proceed installing the firmware itself.

\subsubsection{Mac OS X users}
\begin{enumerate}
  \item Download the following two programs and save them in the folder just
    created. These programs will be used in the next steps:
    \begin{itemize}
      \item \url{http://download.rockbox.org/bootloader/ipod/diskdump}
      \item \url{http://download.rockbox.org/bootloader/ipod/ipod_fw}
    \end{itemize}
    Start a Terminal and type navigate into the folder you created. Before
    you can continue, you need to ensure that Mac OS knows that the
    \fname{ipod\_fw}
    and diskdump files you downloaded are executable programs. To do this,
    type the following command:
    \begin{code}
    chmod +x ipod_fw diskdump
    \end{code}
  \item Locate the \dap{} by running the following command:
    \begin{code}
    mount
    \end{code}
    The output will look something like this: \fixme{Add full example}
    \begin{code}
    /dev/disk1s2 on /Volumes/DAVE_S IPOD 1 (local, nodev, nosuid)
    \end{code}
    In this example, the \dap\ is located at /dev/disk1s2 Remember the 
    location of your \dap\  -- in the following steps, /dev/disk1s2 should be
    replaced with the location just found.
  \item Before continuing, the \dap\ must be ``unmounted'', which is
    done with the following command:
    \begin{code}
    diskutil unmount /dev/disk1s2
    \end{code}
  \item Now, extract the Apple firmware currently on the \dap{} with the
    following command:
    \note{The last part of the location is left out.}
    \begin{code}
    ./diskdump -r /dev/disk1 bootpartition.bin
    \end{code}
    \note{You should keep a safe backup of this \fname{bootpartition.bin} file
      for use if you ever wish to either upgrade the Rockbox bootloader or
      uninstall Rockbox from your iPod
    }
  \item Extract the Apple firmware from this partition image:
    \begin{code}
    ./ipod_fw -o apple_os.bin -e 0 bootpartition.bin
    \end{code}
  \opt{ipodnano}{\note{The following step is only necessary if your Apple
    firmware has version 1.2 or later. If this doesn't apply to you, simply 
    skip it.}}
\optv{ipodvideo,ipodnano}{
  \item
    Similarly, extract the Broadcom firmware:
    \begin{code}
    ./ipod_fw -o apple_sw_5g_rcsc.bin -e 1 bootpartition.bin
    \end{code}
}
  \item Merge the Rockbox bootloader you downloaded previously with the Apple
    firm\-ware.%
\optv{ipodnano}{
    If your firmware version is lower than 1.2 this works you need
    this command:
    \begin{code}
    ./ipod_fw -g nano -o rockboot.bin -i apple_os.bin bootloader-nano.bin
    \end{code}
    If your firmware version is 1.2 or later you need to use the following 
    command instead. Please note that the ``video'' is correct.
    \begin{code}
    ./ipod_fw -g video -o rockboot.bin -i apple_os.bin bootloader-nano.bin
    \end{code}
}
\optv{ipodvideo}{
    \begin{code}
    ./ipod_fw -g video -o rockboot.bin -i apple_os.bin bootloader-video.bin
    \end{code}
}
\optv{ipodmini}{
    \begin{code}
    ./ipod_fw -g mini -o rockboot.bin -i apple_os.bin bootloader-mini1g.bin
    \end{code}
    Or, if you have a 2G Mini:
    \begin{code}
    ./ipod_fw -g mini -o rockboot.bin -i apple_os.bin bootloader-mini2g.bin
    \end{code}
}
\optv{ipodcolor}{
    \begin{code}
    ./ipod_fw -g color -o rockboot.bin -i apple_os.bin bootloader-color.bin
    \end{code}
}
\optv{ipod4g}{
    \begin{code}
    ./ipod_fw -g 4g -o rockboot.bin -i apple_os.bin bootloader-4g.bin
    \end{code}
}
\optv{ipod3g}{
    \begin{code}
    ./ipod_fw -g 3g -o rockboot.bin -i apple_os.bin bootloader-3g.bin
    \end{code}
}
  \item
    Install the Rockbox-enabled firmware:
    \note{The last part of the location is left out.}
    \begin{code}
    ./diskdump -w /dev/disk1 rockboot.bin
    \end{code}
\end{enumerate}

Now, proceed with installing the firmware itself.

\subsubsection{Linux users}
\begin{enumerate}
  \item Download the following and save it in the folder just
    created:
    \begin{itemize}
      \item \url{http://www.rockbox.org/viewcvs.cgi/*checkout*/tools/ipod_fw.c}
    \end{itemize}
    Now compile it to an executable by opening a command prompt and changing
    to the folder created previously. Then run the following command:
    \begin{code}
    gcc -o ipod_fw ipod_fw.c
    \end{code}
    If you get the message that the command gcc is not found, you need to
    install gcc. How to do this depends on your Linux distribution, and
    you should consult its documentation for help on this.
  \item Locate your Ipod by running the command \verb|dmesg|. In the output
    something like the following should be seen:
\begin{code}
    usb 4-1: new high speed USB device using ehci_hcd and address 7
    scsi4 : SCSI emulation for USB Mass Storage devices
    usb-storage: device found at 7
    usb-storage: waiting for device to settle before scanning
      Vendor: Apple     Model: iPod              Rev: 1.62
      Type:   Direct-Access                      ANSI SCSI revision: 00
    SCSI device sdb: 58605120 512-byte hdwr sectors (30006 MB)
\end{code}
    You need the device name of your \dap, which you can find in the last line.
    In this example, the \dap\ is located on \fname{/dev/sdb}. In the following,
    \fname{/dev/sdb} should be replaced with the location just found.
  \item Run \verb|fdisk -l /dev/sdb|. Verify that the
    output is similar to the one below:
    \begin{code}
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1          10       80293+   0  Empty
    /dev/sdb2              11        3648    29222235    b  W95 FAT32
    \end{code}
  \item Back up the partition table using the following command:
    \note{The last part of the location is left out.}
    \begin{code}
    dd if=/dev/\emph{sdb} of=mbr.bin count=1
    \end{code}

  \item Now, extract the firmware partition currently on the \dap{} with the
    following command:
    \begin{code}
    dd if=/dev/\emph{sdb1} of=bootpartition.bin
    \end{code}
    \note{You should keep a safe backup of this \fname{bootpartition.bin} file
      for use if you ever wish to either upgrade the Rockbox bootloader or
      uninstall Rockbox from your Ipod
    }
  \item Extract the Apple firmware from this partition image:
    \begin{code}
    ./ipod_fw -o apple_os.bin -e 0 bootpartition.bin
    \end{code}
  \opt{ipodnano}{\note{The following step is only necessary if your Apple
    firmware has version 1.2 or later. If this doesn't apply to you, simply 
    skip it.}}
\optv{ipodvideo,ipodnano}{
  \item
    Similarly, extract the Broadcom firmware:
    \begin{code}
    ./ipod_fw -o apple_sw_5g_rcsc.bin -e 1 bootpartition.bin
    \end{code}
}

  \item Merge the Rockbox bootloader you downloaded previously with the Apple
    firm\-ware.%
\optv{ipodnano}{
    If your firmware version is lower than 1.2 this works you need
    this command:
    \begin{code}
    ./ipod_fw -g nano -o rockboot.bin -i apple_os.bin bootloader-nano.bin
    \end{code}
    If your firmware version is 1.2 or later you need to use the following 
    command instead. Please note that the ``video'' is correct.
    \begin{code}
    ./ipod_fw -g video -o rockboot.bin -i apple_os.bin bootloader-nano.bin
    \end{code}

}
\optv{ipodvideo}{
    \begin{code}
    ./ipod_fw -g video -o rockboot.bin -i apple_os.bin bootloader-video.bin
    \end{code}
}
\optv{ipodmini}{
    \begin{code}
    ./ipod_fw -g mini -o rockboot.bin -i apple_os.bin bootloader-mini1g.bin
    \end{code}
    Or, if you have a 2G Mini:
    \begin{code}
    ./ipod_fw -g mini -o rockboot.bin -i apple_os.bin bootloader-mini2g.bin
    \end{code}
}
\optv{ipodcolor}{
    \begin{code}
    ./ipod_fw -g color -o rockboot.bin -i apple_os.bin bootloader-color.bin
    \end{code}
}
\optv{ipod4g}{
    \begin{code}
    ./ipod_fw -g 4g -o rockboot.bin -i apple_os.bin bootloader-4g.bin
    \end{code}
}
  \item
    Install the Rockbox-enabled firmware:
    \begin{code}
    dd if=rockboot.bin of=/dev/\emph{sdb1}
    \end{code}
\end{enumerate}
Now you can install the firmware itself.