304fcbe633
I don't know why we need to split the compiling and linking steps on OSX, but this was the only way I could get static linking against libusb and libmtp to work. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23418 a1c6a512-1295-4272-9138-f99709370657
85 lines
2.7 KiB
Text
85 lines
2.7 KiB
Text
beastpatcher - a tool for installing the Rockbox bootloader on the Gigabeat S
|
|
|
|
Unlike most other parts of the Rockbox project, this tool is
|
|
distributed under the BSD license. This is due to the fact that the
|
|
Windows version links with the Microsoft MTP library.
|
|
|
|
|
|
|
|
Building instructions - All OSes
|
|
--------------------------------
|
|
|
|
For all versions, you need to copy a "bootloader.bin" file (containing
|
|
the Rockbox bootloader) into this directory.
|
|
|
|
This can be built from the Rockbox source by selecting "41" and then
|
|
"B" when running tools/configure.
|
|
|
|
You need the Rockbox toolchain to build any Rockbox target binaries -
|
|
this can be downloaded and built with the tools/rockboxdev.sh script.
|
|
|
|
The latest officially released bootloader can always be downloaded from:
|
|
|
|
http://download.rockbox.org/toshiba/bootloader/gigabeat-s/
|
|
|
|
|
|
|
|
Linux
|
|
-----
|
|
|
|
The Unix versions requires libmtp, which in turn requires libusb.
|
|
|
|
beastpatcher is built to statically link to these libraries and
|
|
expects them to exist as /usr/lib/libmtp.a and /usr/lib/libusb.a
|
|
respectively. Change the definition of LIBS in the Makefile if this
|
|
is not the case for your system.
|
|
|
|
After this, just type "make" to get a
|
|
|
|
|
|
|
|
OS X
|
|
----
|
|
|
|
The OS X build is a universal binary statically linked with libusb and libmtp.
|
|
It has been tested with libusb version 0.1.12 and libmtp version 1.0.1.
|
|
|
|
The following files are expected the beaspatcher source directory:
|
|
|
|
Intel:
|
|
libusb: usb.h libusb-i386.a
|
|
libmtp: libmtp.h libmtp-i386.a
|
|
|
|
PowerPC:
|
|
libusb: usb.h libusb-ppc.a
|
|
libmtp: libmtp.h libmtp-ppc.a
|
|
|
|
These are easily compiled from source using the standard
|
|
'./configure && make'. Look in .libs for libusb.a and src/.libs for libmtp.a,
|
|
and make sure to rename them to their -i386/-ppc filenames when copying into
|
|
the beastpatcher directory.
|
|
|
|
After this, just type "make beastpatcher-mac" to get a universal binary. If you
|
|
only want a binary for a particular architecture, you can use
|
|
"make beastpatcher-i386" or "make beastpatcher-ppc" instead. In this case, you
|
|
only need the libusb and libmtp library for your desired architecture.
|
|
|
|
|
|
Windows
|
|
-------
|
|
|
|
The MTP_DLL.dll requires VC2005 to compile - see instructions in
|
|
MTP_DLL/README
|
|
|
|
To compile beastpatcher itself, you can either cross-compile from
|
|
Linux using the mingw32 package, or compile in Cygwin. Just type
|
|
"make beastpatcher.exe" (in Linux) or "make" (in Cygwin).
|
|
|
|
To run beastpatcher.exe, you need MTP_DLL.dll in the same directory
|
|
(or the Windows DLL path).
|
|
|
|
Alternatively, beastpatcher can be built as binary that includes the
|
|
MTP functionality and thus doesn't require the MTP_DLL. Building has
|
|
the additional requirements as building the MTP_DLL. A VS2005 project
|
|
file is available.
|
|
|