Dfu-util

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Moving instructions to seperate manuals-page)
(Mac: linkchg)
 
(7 intermediate revisions by 5 users not shown)
Line 3: Line 3:
 
dfu-util is a program that implements the Host (PC) side of the [[USB DFU]] (Universal Serial Bus Device Firmware Upgrade) protocol.
 
dfu-util is a program that implements the Host (PC) side of the [[USB DFU]] (Universal Serial Bus Device Firmware Upgrade) protocol.
  
In the Openmoko project, we use this program to communicate with our specially enhanced [[bootloader]], which implements the DFU device side.
+
In the Openmoko project, we use this program to communicate with our specially enhanced [[U-Boot]], which implements the DFU device side.
  
 
Using dfu-util and your smartphone, you can
 
Using dfu-util and your smartphone, you can
Line 13: Line 13:
  
 
== Source Code ==
 
== Source Code ==
 +
Dfu-util is currently maintained at http://dfu-util.gnumonks.org/.
 +
 
On Debian and Ubuntu, you'll need libusb-dev:
 
On Debian and Ubuntu, you'll need libusb-dev:
 
sudo apt-get install libusb-dev autogen pkg-config autotools-dev autoconf automake
 
sudo apt-get install libusb-dev autogen pkg-config autotools-dev autoconf automake
Line 22: Line 24:
 
emerge -va openmoko-dfu-util
 
emerge -va openmoko-dfu-util
  
You can check out and build the latest version of dfu-util using the following subversion commands:<br>
+
You can check out and build the latest version of dfu-util using the following git command:<br>
svn co https://svn.openmoko.org/trunk/src/host/dfu-util/<br>
+
git clone git://git.openezx.org/dfu-util.git
 +
<br>
 
cd dfu-util<br>
 
cd dfu-util<br>
 
./autogen.sh<br>
 
./autogen.sh<br>
Line 53: Line 56:
 
=== Slackware ===
 
=== Slackware ===
 
[http://downloads.sourceforge.net/slackfr-packs/dfu-util-svn4686-i686-1cfdev12.1.tgz dfu-util is packaged] for '''Slackware''' (12.1), so can be installed with: <tt>pkgtool</tt>
 
[http://downloads.sourceforge.net/slackfr-packs/dfu-util-svn4686-i686-1cfdev12.1.tgz dfu-util is packaged] for '''Slackware''' (12.1), so can be installed with: <tt>pkgtool</tt>
 +
 +
A newer SlackBuild is also available on [http://slackbuilds.org/repository/13.1/system/dfu-util/ slackbuilds.org]
  
 
=== Arch Linux ===
 
=== Arch Linux ===
Line 99: Line 104:
 
* [[User:SNMoore]]
 
* [[User:SNMoore]]
 
* [[MacOS_X#Flashing_to_your_device]]
 
* [[MacOS_X#Flashing_to_your_device]]
* [http://www.handheld-linux.com/wiki.php?page=Openmoko%20Flasher Openmoko Flasher] has a precompiled binary in the App bundle
+
* [[Openmoko Flasher]] has a precompiled binary in the App bundle
  
 
== Manual ==
 
== Manual ==

Latest revision as of 18:24, 13 February 2012


dfu-util is a program that implements the Host (PC) side of the USB DFU (Universal Serial Bus Device Firmware Upgrade) protocol.

In the Openmoko project, we use this program to communicate with our specially enhanced U-Boot, which implements the DFU device side.

Using dfu-util and your smartphone, you can

  • transfer and flash partitions in internal NAND Flash.
  • transfer anything into RAM
    • this can be used for fast development cycles of low-level code such as kernels without flashing them
  • read out the current internal NAND partitions
    • this is an easy and efficient way of doing full backups of your phone

Contents

[edit] Source Code

Dfu-util is currently maintained at http://dfu-util.gnumonks.org/.

On Debian and Ubuntu, you'll need libusb-dev: sudo apt-get install libusb-dev autogen pkg-config autotools-dev autoconf automake

On Fedora you'll need libusb-devel and libusb-static: yum install libusb-devel libusb-static

On Gentoo you can: emerge -va openmoko-dfu-util

You can check out and build the latest version of dfu-util using the following git command:
git clone git://git.openezx.org/dfu-util.git
cd dfu-util
./autogen.sh
./configure
make

The resulting binary is dfu-util/src/dfu-util.

[edit] Binaries

Binary packages will be made available as part of the regular Openmoko builds. Currently, there is a dfu-util for Linux/i386.

You need to make the downloaded file (dfu-util) executable with:

chmod +x dfu-util

you can then run it with

./dfu-util

see below for full instructions.

[edit] Debian

dfu-util 0.0+r4880-1 is packaged for Debian >= lenny, so can be installed with: apt-get install dfu-util

[edit] Ubuntu

dfu-util 0.0+r4067-3.1 is packaged for Ubuntu >= intrepid (8.10), so can be installed with: apt-get install dfu-util

[edit] Slackware

dfu-util is packaged for Slackware (12.1), so can be installed with: pkgtool

A newer SlackBuild is also available on slackbuilds.org

[edit] Arch Linux

dfu-util is packaged for Arch Linux, so can be installed with makepkg

[edit] openSuSE

The links below install rpm packaged dfu-util in (open)SuSE :

1-Click Install for SLE 10

1-Click Install for SLE 11

1-Click Install for openSuSE 10.3

1-Click Install for openSuSE 11.0

1-Click Install for openSuSE 11.1

1-Click Install for openSuSE Factory

[edit] CentOS

Centos 5

[edit] Fedora

Fedora 9

Fedora 10

[edit] Mandriva

Mandriva 2008

Mandriva 2009

[edit] RHEL

RHEL 5

[edit] Gentoo

DFU-Util is in the main tree under the name openmoko-dfu-util.

[edit] Windows

Currently, there is a largely untested binary for Win32 (see Dfu-util-windows). Windows users can refer to No_Linux for a more tested approach.

[edit] Mac

Compiling dfu-util on Mac:

[edit] Manual

See Manuals/Dfu-util

[edit] See also

Personal tools


dfu-util is a program that implements the Host (PC) side of the USB DFU (Universal Serial Bus Device Firmware Upgrade) protocol.

In the Openmoko project, we use this program to communicate with our specially enhanced bootloader, which implements the DFU device side.

Using dfu-util and your smartphone, you can

  • transfer and flash partitions in internal NAND Flash.
  • transfer anything into RAM
    • this can be used for fast development cycles of low-level code such as kernels without flashing them
  • read out the current internal NAND partitions
    • this is an easy and efficient way of doing full backups of your phone

Source Code

On Debian and Ubuntu, you'll need libusb-dev: sudo apt-get install libusb-dev autogen pkg-config autotools-dev autoconf automake

On Fedora you'll need libusb-devel and libusb-static: yum install libusb-devel libusb-static

On Gentoo you can: emerge -va openmoko-dfu-util

You can check out and build the latest version of dfu-util using the following subversion commands:
svn co https://svn.openmoko.org/trunk/src/host/dfu-util/
cd dfu-util
./autogen.sh
./configure
make

The resulting binary is dfu-util/src/dfu-util.

Binaries

Binary packages will be made available as part of the regular Openmoko builds. Currently, there is a dfu-util for Linux/i386.

You need to make the downloaded file (dfu-util) executable with:

chmod +x dfu-util

you can then run it with

./dfu-util

see below for full instructions.

Debian

dfu-util 0.0+r4880-1 is packaged for Debian >= lenny, so can be installed with: apt-get install dfu-util

Ubuntu

dfu-util 0.0+r4067-3.1 is packaged for Ubuntu >= intrepid (8.10), so can be installed with: apt-get install dfu-util

Slackware

dfu-util is packaged for Slackware (12.1), so can be installed with: pkgtool

Arch Linux

dfu-util is packaged for Arch Linux, so can be installed with makepkg

openSuSE

The links below install rpm packaged dfu-util in (open)SuSE :

1-Click Install for SLE 10

1-Click Install for SLE 11

1-Click Install for openSuSE 10.3

1-Click Install for openSuSE 11.0

1-Click Install for openSuSE 11.1

1-Click Install for openSuSE Factory

CentOS

Centos 5

Fedora

Fedora 9

Fedora 10

Mandriva

Mandriva 2008

Mandriva 2009

RHEL

RHEL 5

Gentoo

DFU-Util is in the main tree under the name openmoko-dfu-util.

Windows

Currently, there is a largely untested binary for Win32 (see Dfu-util-windows). Windows users can refer to No_Linux for a more tested approach.

Mac

Compiling dfu-util on Mac:

Manual

See Manuals/Dfu-util

See also