Make fw
From iPodLinux
- The title of this article should be make_fw. The initial letter is capitalized due to technical limitations.
make_fw is a program to modifiy the firmware file(s) stored on the firmware partition.
It is a command line tool that you can use on Linux, OS X and Windows (provided you have a unix-like shell installed, such as MinGW or Cygwin). There is also a prebuilt version you can use in a Windows Command Prompt on the Rockbox installation page, called ipod_fw.exe.
Download
- Source code -- compile it with gcc make_fw.c -o make_fw
- Prebuilt Mac OS X version (PPC and Intel)
- Prebuilt Windows version
- Prebuilt Linux x86 version
Usage
Basically, it has two modes of operation:
- Extract an image file from the firmware partition (backup) file
- Create a new firmware partition file from a set of separate image files
Here's the usage info it prints (note that while it says patch_fw, it really means make_fw):
Usage: patch_fw [-h]
patch_fw [-v] -o outfile -e img_no fw_file
patch_fw [-v] -g gen [-r rev] -o outfile [-i img_from_-e]* [-l raw_img]* ldr_img
-g: set target ipod generation, valid options are: 1g, 2g, 3g
4g, 5g, scroll, touch, dock, mini, photo, color, nano and video
-e: extract the image at img_no in boot table to outfile
fw_file is an original firmware image
the original firmware has the sw at 0, and a flash updater at 1
-i|-l: create new image to outfile
up to 5 images, any of -i or -l allowed
-i: image extracted with -e, load and entry address preserved
-l: raw image, loaded to 0x28000000, entry at 0x00000000
-r: set master revision to rev (for example 210 for 2.10)
may be needed if newest -e img is not the same as the flash rev
ldr_img is the iPodLinux loader binary.
first image is loaded by default, 2., 3., 4. or 5. loaded if
rew, menu, play or ff is hold while booting
-v: verbose