Dominik Riebeling | 2a731e4 | 2006-06-04 17:16:24 +0000 | [diff] [blame] | 1 | % $Id$ % |
Michael DiFebbo | 1f08551 | 2006-09-10 19:03:52 +0000 | [diff] [blame] | 2 | |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 3 | \warn{These instructions are preliminary and may contain errors! |
| 4 | Please check the wiki for up-to-date and improved installation instructions! |
| 5 | If you find errors you're of course welcomed to report them so we can fix it |
| 6 | for the next daily builds.} |
Dominik Riebeling | 2a731e4 | 2006-06-04 17:16:24 +0000 | [diff] [blame] | 7 | |
Michael DiFebbo | a120e5b | 2006-05-25 16:38:18 +0000 | [diff] [blame] | 8 | Installing the bootloader is the trickiest part of the installation. |
Dominik Riebeling | 5325401 | 2006-10-10 13:21:09 +0000 | [diff] [blame] | 9 | \opt{ipodnano}{First, you need to find out which version of the Apple |
| 10 | firmware you're running. To do this, start the Apple firmware and go to |
| 11 | Settings screen. In the ``About'' screen you'll find the version number |
| 12 | of the Apple firmware. Depending on the version number the installation |
| 13 | is slightly different.}% |
| 14 | |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 15 | The process is different depending on your operating system, but before |
Dominik Riebeling | 5325401 | 2006-10-10 13:21:09 +0000 | [diff] [blame] | 16 | starting, connect the \dap{} to the computer using either an USB |
| 17 | %\fixme{or Firewire?} % Firewire is currently not supported. |
| 18 | cable. Next, create a folder on the computer's hard drive and |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 19 | download the following file to that folder: |
Jonas Häggqvist | b774d4e | 2006-07-30 18:52:17 +0000 | [diff] [blame] | 20 | \opt{ipodvideo}{\url{http://download.rockbox.org/bootloader/ipod/bootloader-video.bin}} |
| 21 | \opt{ipodnano}{\url{http://download.rockbox.org/bootloader/ipod/bootloader-nano.bin}} |
Dominik Riebeling | 5325401 | 2006-10-10 13:21:09 +0000 | [diff] [blame] | 22 | \opt{ipodmini}{\url{http://download.rockbox.org/bootloader/ipod/bootloader-mini1g.bin} or |
Dave Chapman | dc708c3 | 2006-10-11 21:21:25 +0000 | [diff] [blame] | 23 | \url{http://download.rockbox.org/bootloader/ipod/bootloader-mini2g.bin} depending on which |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 24 | generation your \dap{} is.\fixme{Describe how to identify 1/2G}} |
Jonas Häggqvist | b774d4e | 2006-07-30 18:52:17 +0000 | [diff] [blame] | 25 | \opt{ipodcolor}{\url{http://download.rockbox.org/bootloader/ipod/bootloader-color.bin}} |
| 26 | \opt{ipod4g}{\url{http://download.rockbox.org/bootloader/ipod/bootloader-4g.bin}} |
Martin Arver | 5778dfb | 2006-08-25 08:59:25 +0000 | [diff] [blame] | 27 | \opt{ipod3g}{\url{http://download.rockbox.org/bootloader/ipod/bootloader-3g.bin}} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 28 | |
| 29 | When that is done, proceed to the section below that matches the operating |
| 30 | system on the computer. |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 31 | \note{These instructions all require you to have administrator rights |
| 32 | on your computer, regardless of the operating system.} |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 33 | \note{Rockbox only works on FAT32 partitions (called ``Windows formatted'' by |
| 34 | Apple). So if your \dap{} is Mac formatted (HFS+), you should first convert |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 35 | it to FAT32. Information on how to do this can be found on the Rockbox |
| 36 | website. \fixme{Include these instructions?}} |
| 37 | |
| 38 | \subsubsection{Windows users} |
| 39 | \begin{enumerate} |
| 40 | \item Download the following two programs and save them in the folder just |
| 41 | created. These programs will be used in the next steps: |
| 42 | \begin{itemize} |
Jonas Häggqvist | b774d4e | 2006-07-30 18:52:17 +0000 | [diff] [blame] | 43 | \item \url{http://download.rockbox.org/bootloader/ipod/ipodpatcher.exe} |
| 44 | \item \url{http://download.rockbox.org/bootloader/ipod/ipod_fw.exe} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 45 | \end{itemize} |
Martin Arver | 8570911 | 2006-08-15 10:53:14 +0000 | [diff] [blame] | 46 | \item Locate the \dap{} by opening a command window. You can do this by |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 47 | clicking ``Start'', ``Execute'' and typing \fname{cmd}. Press Enter to |
| 48 | execute that command. Now change directory to the |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 49 | folder you created and run the following commands: |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 50 | \begin{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 51 | ipodpatcher 0 |
| 52 | ipodpatcher 1 |
| 53 | ipodpatcher 2 |
| 54 | ipodpatcher 3 |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 55 | \end{code} |
Dominik Riebeling | 70be09a | 2006-09-17 17:36:34 +0000 | [diff] [blame] | 56 | Keep increasing the number until the \dap{} is located. |
Dominik Riebeling | 840b1c2 | 2006-07-10 07:04:43 +0000 | [diff] [blame] | 57 | |
Dominik Riebeling | 70be09a | 2006-09-17 17:36:34 +0000 | [diff] [blame] | 58 | The output for an unsuccessful attempt to contact the \dap{} looks like |
| 59 | this: |
Dominik Riebeling | 840b1c2 | 2006-07-10 07:04:43 +0000 | [diff] [blame] | 60 | \begin{code} |
Dominik Riebeling | 5325401 | 2006-10-10 13:21:09 +0000 | [diff] [blame] | 61 | C:\textbackslash{}rockbox>ipodpatcher 0 |
Dominik Riebeling | 840b1c2 | 2006-07-10 07:04:43 +0000 | [diff] [blame] | 62 | ipodpatcher v0.3 - (C) Dave Chapman 2006 |
| 63 | This is free software; see the source for copying conditions. There is NO |
| 64 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| 65 | |
| 66 | [INFO] Reading partition table from \textbackslash\textbackslash{}.\textbackslash{}PhysicalDrive0 |
| 67 | Drive is not an iPod, aborting |
| 68 | \end{code} |
| 69 | |
| 70 | A successful connection to the \dap{} will look similar to this... |
| 71 | \begin{code} |
| 72 | C:\textbackslash{}rockbox>ipodpatcher 6 |
| 73 | ipodpatcher v0.3 - (C) Dave Chapman 2006 |
| 74 | This is free software; see the source for copying conditions. There is NO |
| 75 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| 76 | |
| 77 | [INFO] Reading partition table from \textbackslash\textbackslash{}.\textbackslash{}PhysicalDrive6 |
| 78 | Part Start Sector End Sector Size (MB) Type |
| 79 | 0 63 160649 78.4 Empty (0x00) |
| 80 | 1 160650 7984304 3820.1 W95 FAT32 (0x0b) |
| 81 | \end{code} |
| 82 | Remember the number that corresponds to your \dap{} -- in the |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 83 | following steps, \emph{N} should be replaced with the number just found. |
| 84 | \item Now, extract the firmware partition currently on the \dap{} with the |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 85 | following command: |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 86 | \begin{code} |
| 87 | ipodpatcher -r \emph{N} bootpartition.bin |
| 88 | \end{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 89 | \note{You should keep a safe backup of this \fname{bootpartition.bin} file |
| 90 | for use if you ever wish to either upgrade the Rockbox bootloader or |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 91 | uninstall Rockbox from your Ipod} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 92 | \item Extract the Apple firmware from the partition image image just created: |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 93 | \begin{code} |
Dave Chapman | e86fd3f | 2006-07-09 22:24:27 +0000 | [diff] [blame] | 94 | ipod_fw -o apple_os.bin -e 0 bootpartition.bin |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 95 | \end{code} |
Dominik Riebeling | 5325401 | 2006-10-10 13:21:09 +0000 | [diff] [blame] | 96 | \opt{ipodnano}{\note{The following step is only necessary if your Apple |
| 97 | firmware has version 1.2. If this doesn't apply to you, simply skip it.}} |
| 98 | \optv{ipodvideo,ipodnano}{ |
| 99 | \item |
| 100 | Similarly, extract the Broadcom firmware: |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 101 | \begin{code} |
| 102 | ipod_fw -o apple_sw_5g_rcsc.bin -e 1 bootpartition.bin |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 103 | \end{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 104 | } |
Dominik Riebeling | 8c9e225 | 2006-06-06 21:38:37 +0000 | [diff] [blame] | 105 | \item Merge the Rockbox bootloader you downloaded previously with the Apple |
Dominik Riebeling | 5325401 | 2006-10-10 13:21:09 +0000 | [diff] [blame] | 106 | firm\-ware.% |
Dominik Riebeling | 8c9e225 | 2006-06-06 21:38:37 +0000 | [diff] [blame] | 107 | \optv{ipodnano}{ |
Dominik Riebeling | 5325401 | 2006-10-10 13:21:09 +0000 | [diff] [blame] | 108 | If your firmware version is lower than 1.2 this works you need |
| 109 | this command: |
Dominik Riebeling | 8c9e225 | 2006-06-06 21:38:37 +0000 | [diff] [blame] | 110 | \begin{code} |
| 111 | ipod_fw -g nano -o rockboot.bin -i apple_os.bin bootloader-nano.bin |
| 112 | \end{code} |
Dominik Riebeling | 5325401 | 2006-10-10 13:21:09 +0000 | [diff] [blame] | 113 | If your firmware version is 1.2 you need to use the following command |
| 114 | instead. Please note that the ``video'' is correct. |
| 115 | \begin{code} |
| 116 | ipod_fw -g video -o rockboot.bin -i apple_os.bin bootloader-nano.bin |
| 117 | \end{code} |
Dominik Riebeling | 8c9e225 | 2006-06-06 21:38:37 +0000 | [diff] [blame] | 118 | } |
| 119 | \optv{ipodvideo}{ |
| 120 | \begin{code} |
| 121 | ipod_fw -g video -o rockboot.bin -i apple_os.bin bootloader-video.bin |
| 122 | \end{code} |
| 123 | } |
| 124 | \optv{ipodmini}{ |
| 125 | \begin{code} |
| 126 | ipod_fw -g mini -o rockboot.bin -i apple_os.bin bootloader-mini1g.bin |
| 127 | \end{code} |
| 128 | Or, if you have a 2G mini: |
| 129 | \begin{code} |
| 130 | ipod_fw -g mini -o rockboot.bin -i apple_os.bin bootloader-mini2g.bin |
| 131 | \end{code} |
| 132 | } |
| 133 | \optv{ipodcolor}{ |
| 134 | \begin{code} |
| 135 | ipod_fw -g color -o rockboot.bin -i apple_os.bin bootloader-color.bin |
| 136 | \end{code} |
| 137 | } |
| 138 | \optv{ipod4g}{ |
| 139 | \begin{code} |
| 140 | ipod_fw -g 4g -o rockboot.bin -i apple_os.bin bootloader-4g.bin |
| 141 | \end{code} |
| 142 | } |
| 143 | \item |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 144 | Install the Rockbox-enabled firmware: |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 145 | \begin{code} |
| 146 | ipodpatcher -w \emph{N} rockboot.bin |
| 147 | \end{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 148 | \end{enumerate} |
| 149 | |
Dominik Riebeling | 2a731e4 | 2006-06-04 17:16:24 +0000 | [diff] [blame] | 150 | Now you can proceed installing the firmware itself. |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 151 | |
| 152 | \subsubsection{Mac OS X users} |
| 153 | \begin{enumerate} |
| 154 | \item Download the following two programs and save them in the folder just |
| 155 | created. These programs will be used in the next steps: |
| 156 | \begin{itemize} |
Jonas Häggqvist | b774d4e | 2006-07-30 18:52:17 +0000 | [diff] [blame] | 157 | \item \url{http://download.rockbox.org/bootloader/ipod/diskdump} |
| 158 | \item \url{http://download.rockbox.org/bootloader/ipod/ipod_fw} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 159 | \end{itemize} |
| 160 | Start a Terminal and type navigate into the folder you created. Before |
| 161 | you can continue, you need to ensure that Mac OS knows that the |
Dominik Riebeling | 2a731e4 | 2006-06-04 17:16:24 +0000 | [diff] [blame] | 162 | \fname{ipod\_fw} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 163 | and diskdump files you downloaded are executable programs. To do this, |
| 164 | type the following command: |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 165 | \begin{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 166 | chmod +x ipod_fw diskdump |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 167 | \end{code} |
| 168 | \item Locate the \dap{} by running the following command: |
| 169 | \begin{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 170 | mount |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 171 | \end{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 172 | The output will look something like this: \fixme{Add full example} |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 173 | \begin{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 174 | /dev/disk1s2 on /Volumes/DAVE_S IPOD 1 (local, nodev, nosuid) |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 175 | \end{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 176 | In this example, the \dap\ is located at /dev/disk1s2 Remember the |
| 177 | location of your \dap\ -- in the following steps, /dev/disk1s2 should be |
| 178 | replaced with the location just found. |
| 179 | \item Before continuing, the \dap\ must be ``unmounted'', which is |
| 180 | done with the following command: |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 181 | \begin{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 182 | diskutil unmount /dev/disk1s2 |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 183 | \end{code} |
| 184 | \item Now, extract the Apple firmware currently on the \dap{} with the |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 185 | following command: |
| 186 | \note{The last part of the location is left out.} |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 187 | \begin{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 188 | ./diskdump -r /dev/disk1 bootpartition.bin |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 189 | \end{code} |
Dominik Riebeling | 2a731e4 | 2006-06-04 17:16:24 +0000 | [diff] [blame] | 190 | \note{You should keep a safe backup of this \fname{bootpartition.bin} file |
| 191 | for use if you ever wish to either upgrade the Rockbox bootloader or |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 192 | uninstall Rockbox from your iPod |
| 193 | } |
| 194 | \item Extract the Apple firmware from this partition image: |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 195 | \begin{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 196 | ./ipod_fw -o apple_os.bin -e 0 bootpartition.bin |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 197 | \end{code} |
Dominik Riebeling | 5325401 | 2006-10-10 13:21:09 +0000 | [diff] [blame] | 198 | \opt{ipodnano}{\note{The following step is only necessary if your Apple |
| 199 | firmware has version 1.2. If this doesn't apply to you, simply skip it.}} |
| 200 | \optv{ipodvideo,ipodnano}{ |
| 201 | \item |
| 202 | Similarly, extract the Broadcom firmware: |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 203 | \begin{code} |
| 204 | ./ipod_fw -o apple_sw_5g_rcsc.bin -e 1 bootpartition.bin |
| 205 | \end{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 206 | } |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 207 | \item Merge the Rockbox bootloader you downloaded previously with the Apple |
Dominik Riebeling | 5325401 | 2006-10-10 13:21:09 +0000 | [diff] [blame] | 208 | firm\-ware.% |
Dominik Riebeling | 8c9e225 | 2006-06-06 21:38:37 +0000 | [diff] [blame] | 209 | \optv{ipodnano}{ |
Dominik Riebeling | 5325401 | 2006-10-10 13:21:09 +0000 | [diff] [blame] | 210 | If your firmware version is lower than 1.2 this works you need |
| 211 | this command: |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 212 | \begin{code} |
Dominik Riebeling | 8c9e225 | 2006-06-06 21:38:37 +0000 | [diff] [blame] | 213 | ./ipod_fw -g nano -o rockboot.bin -i apple_os.bin bootloader-nano.bin |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 214 | \end{code} |
Dominik Riebeling | 5325401 | 2006-10-10 13:21:09 +0000 | [diff] [blame] | 215 | If your firmware version is 1.2 you need to use the following command |
| 216 | instead. Please note that the ``video'' is correct. |
| 217 | \begin{code} |
| 218 | ./ipod_fw -g video -o rockboot.bin -i apple_os.bin bootloader-nano.bin |
| 219 | \end{code} |
Dominik Riebeling | 8c9e225 | 2006-06-06 21:38:37 +0000 | [diff] [blame] | 220 | } |
| 221 | \optv{ipodvideo}{ |
| 222 | \begin{code} |
| 223 | ./ipod_fw -g video -o rockboot.bin -i apple_os.bin bootloader-video.bin |
| 224 | \end{code} |
| 225 | } |
| 226 | \optv{ipodmini}{ |
| 227 | \begin{code} |
| 228 | ./ipod_fw -g mini -o rockboot.bin -i apple_os.bin bootloader-mini1g.bin |
| 229 | \end{code} |
| 230 | Or, if you have a 2G Mini: |
| 231 | \begin{code} |
| 232 | ./ipod_fw -g mini -o rockboot.bin -i apple_os.bin bootloader-mini2g.bin |
| 233 | \end{code} |
| 234 | } |
| 235 | \optv{ipodcolor}{ |
| 236 | \begin{code} |
| 237 | ./ipod_fw -g color -o rockboot.bin -i apple_os.bin bootloader-color.bin |
| 238 | \end{code} |
| 239 | } |
| 240 | \optv{ipod4g}{ |
| 241 | \begin{code} |
| 242 | ./ipod_fw -g 4g -o rockboot.bin -i apple_os.bin bootloader-4g.bin |
| 243 | \end{code} |
| 244 | } |
Martin Arver | 5778dfb | 2006-08-25 08:59:25 +0000 | [diff] [blame] | 245 | \optv{ipod3g}{ |
| 246 | \begin{code} |
| 247 | ./ipod_fw -g 3g -o rockboot.bin -i apple_os.bin bootloader-3g.bin |
| 248 | \end{code} |
| 249 | } |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 250 | \item |
| 251 | Install the Rockbox-enabled firmware: |
| 252 | \note{The last part of the location is left out.} |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 253 | \begin{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 254 | ./diskdump -w /dev/disk1 rockboot.bin |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 255 | \end{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 256 | \end{enumerate} |
| 257 | |
Dominik Riebeling | 2a731e4 | 2006-06-04 17:16:24 +0000 | [diff] [blame] | 258 | Now, proceed with installing the firmware itself. |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 259 | |
| 260 | \subsubsection{Linux users} |
| 261 | \begin{enumerate} |
| 262 | \item Download the following and save it in the folder just |
| 263 | created: |
| 264 | \begin{itemize} |
| 265 | \item \url{http://www.rockbox.org/viewcvs.cgi/*checkout*/tools/ipod_fw.c} |
| 266 | \end{itemize} |
| 267 | Now compile it to an executable by opening a command prompt and changing |
| 268 | to the folder created previously. Thn run the following command: |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 269 | \begin{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 270 | gcc -o ipod_fw ipod_fw.c |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 271 | \end{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 272 | If you get the message that the command gcc is not found, you need to |
| 273 | install gcc. How to do this depends on your Linux distribution, and |
| 274 | you should consult its documentation for help on this. |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 275 | \item Locate your Ipod by running the command \verb|dmesg|. In the output |
| 276 | something like the following should be seen: |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 277 | \begin{code} |
| 278 | usb 4-1: new high speed USB device using ehci_hcd and address 7 |
| 279 | scsi4 : SCSI emulation for USB Mass Storage devices |
| 280 | usb-storage: device found at 7 |
| 281 | usb-storage: waiting for device to settle before scanning |
| 282 | Vendor: Apple Model: iPod Rev: 1.62 |
| 283 | Type: Direct-Access ANSI SCSI revision: 00 |
| 284 | SCSI device sdb: 58605120 512-byte hdwr sectors (30006 MB) |
| 285 | \end{code} |
| 286 | You need the device name of your \dap, which you can find in the last line. |
| 287 | In this example, the \dap\ is located on \fname{/dev/sdb}. In the following, |
| 288 | \fname{/dev/sdb} should be replaced with the location just found. |
| 289 | \item Run \verb|fdisk -l /dev/sdb|. Verify that the |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 290 | output is similar to the one below: |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 291 | \begin{code} |
| 292 | Device Boot Start End Blocks Id System |
| 293 | /dev/sdb1 1 10 80293+ 0 Empty |
| 294 | /dev/sdb2 11 3648 29222235 b W95 FAT32 |
| 295 | \end{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 296 | \item Back up the partition table using the following command: |
| 297 | \note{The last part of the location is left out.} |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 298 | \begin{code} |
| 299 | dd if=/dev/\emph{sdb} of=mbr.bin count=1 |
| 300 | \end{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 301 | |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 302 | \item Now, extract the firmware partition currently on the \dap{} with the |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 303 | following command: |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 304 | \begin{code} |
| 305 | dd if=/dev/\emph{sdb1} of=bootpartition.bin |
| 306 | \end{code} |
Dominik Riebeling | 2a731e4 | 2006-06-04 17:16:24 +0000 | [diff] [blame] | 307 | \note{You should keep a safe backup of this \fname{bootpartition.bin} file |
| 308 | for use if you ever wish to either upgrade the Rockbox bootloader or |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 309 | uninstall Rockbox from your Ipod |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 310 | } |
| 311 | \item Extract the Apple firmware from this partition image: |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 312 | \begin{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 313 | ./ipod_fw -o apple_os.bin -e 0 bootpartition.bin |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 314 | \end{code} |
Dominik Riebeling | 5325401 | 2006-10-10 13:21:09 +0000 | [diff] [blame] | 315 | \opt{ipodnano}{\note{The following step is only necessary if your Apple |
| 316 | firmware has version 1.2. If this doesn't apply to you, simply skip it.}} |
| 317 | \optv{ipodvideo,ipodnano}{ |
| 318 | \item |
| 319 | Similarly, extract the Broadcom firmware: |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 320 | \begin{code} |
| 321 | ./ipod_fw -o apple_sw_5g_rcsc.bin -e 1 bootpartition.bin |
| 322 | \end{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 323 | } |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 324 | |
| 325 | \item Merge the Rockbox bootloader you downloaded previously with the Apple |
Dominik Riebeling | 5325401 | 2006-10-10 13:21:09 +0000 | [diff] [blame] | 326 | firm\-ware.% |
Dominik Riebeling | 8c9e225 | 2006-06-06 21:38:37 +0000 | [diff] [blame] | 327 | \optv{ipodnano}{ |
Dominik Riebeling | 5325401 | 2006-10-10 13:21:09 +0000 | [diff] [blame] | 328 | If your firmware version is lower than 1.2 this works you need |
| 329 | this command: |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 330 | \begin{code} |
Dominik Riebeling | 8c9e225 | 2006-06-06 21:38:37 +0000 | [diff] [blame] | 331 | ./ipod_fw -g nano -o rockboot.bin -i apple_os.bin bootloader-nano.bin |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 332 | \end{code} |
Dominik Riebeling | 5325401 | 2006-10-10 13:21:09 +0000 | [diff] [blame] | 333 | If your firmware version is 1.2 you need to use the following command |
| 334 | instead. Please note that the ``video'' is correct. |
| 335 | \begin{code} |
| 336 | ./ipod_fw -g video -o rockboot.bin -i apple_os.bin bootloader-nano.bin |
| 337 | \end{code} |
| 338 | |
Dominik Riebeling | 8c9e225 | 2006-06-06 21:38:37 +0000 | [diff] [blame] | 339 | } |
| 340 | \optv{ipodvideo}{ |
| 341 | \begin{code} |
| 342 | ./ipod_fw -g video -o rockboot.bin -i apple_os.bin bootloader-video.bin |
| 343 | \end{code} |
| 344 | } |
| 345 | \optv{ipodmini}{ |
| 346 | \begin{code} |
| 347 | ./ipod_fw -g mini -o rockboot.bin -i apple_os.bin bootloader-mini1g.bin |
| 348 | \end{code} |
| 349 | Or, if you have a 2G Mini: |
| 350 | \begin{code} |
| 351 | ./ipod_fw -g mini -o rockboot.bin -i apple_os.bin bootloader-mini2g.bin |
| 352 | \end{code} |
| 353 | } |
| 354 | \optv{ipodcolor}{ |
| 355 | \begin{code} |
| 356 | ./ipod_fw -g color -o rockboot.bin -i apple_os.bin bootloader-color.bin |
| 357 | \end{code} |
| 358 | } |
| 359 | \optv{ipod4g}{ |
| 360 | \begin{code} |
| 361 | ./ipod_fw -g 4g -o rockboot.bin -i apple_os.bin bootloader-4g.bin |
| 362 | \end{code} |
| 363 | } |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 364 | \item |
| 365 | Install the Rockbox-enabled firmware: |
Dominik Riebeling | 89a2a28 | 2006-06-06 17:42:27 +0000 | [diff] [blame] | 366 | \begin{code} |
| 367 | dd if=rockboot.bin of=/dev/\emph{sdb1} |
| 368 | \end{code} |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 369 | \end{enumerate} |
Dominik Riebeling | 2a731e4 | 2006-06-04 17:16:24 +0000 | [diff] [blame] | 370 | Now you can install the firmware itself. |
Michael DiFebbo | 95afcf5 | 2006-06-04 14:44:10 +0000 | [diff] [blame] | 371 | |