Commit Graph

78 Commits

Author SHA1 Message Date
Colin Cross f838788e6a fastboot: add support for auto-resparsing large files
Add support to fastboot for automatically using libsparse to break large
files, whether they are in sparse or normal format, into multiple sparse
files that can each fit into the target's memory.  Allows flashing
images that are larger than the size of the available memory on the
target.

By default, any file over 512MB will be sparsed into 512MB chunks.  The
limit can be modified with the -m argument, or sparsing can be forced
with -S or avoided with -N.  If -m is not specified, the target can
override the default by implementing getvar:max-download-size

Change-Id: I6c59381c3d24475c4f2587ea877200b96971cbd7
2012-07-09 22:17:58 -07:00
Colin Cross 80f2d036a9 fastboot: add fb_getvar
Add an fb_getvar helper that can be used to get values from the
target.

Change-Id: I0da088fcbc8d40076c7bf5ef6e5bbd97fae61471
2012-07-09 22:16:57 -07:00
Colin Cross 8879f988ba fastboot: use getopt_long
Modify the fastboot argument parsing to use getopt_long.  This
simplifies argument parsing, and permutes all the commands to the end of
argv to allow parsing them later.

Also moves usb initailization between argument and command processing,
to allow commands to query parameters over usb.

Change-Id: I883572f52c4190c80ee3b4aa4511ea2061a6b734
2012-07-09 22:16:55 -07:00
JP Abgrall 30ae5806e9 fastboot: Change -w to format after the erase of userdata & cache
If the bootloader doesn't support formatting of those partitions
(either because it doesn't support the getvar commands needed or
the partition type is not supported), the errors are printed but
doesn't halt processing of subsequent commands.

Change-Id: I816ac2e5e7593846fcb4fd39c793a8dbdd996f6f
Signed-off-by: Mike J. Chen <mjchen@google.com>
2012-05-07 20:25:24 -07:00
JP Abgrall f8ff3a5ae2 fastboot: Keep borked bootloaders happy by shrinking URB len.
Some devices will fail to return the requested data if the final
URB len of the request to > 255.
So shrink the current data buffer from 128 to 127 in the acse of getting
the serial number seems to work just fine.

Change-Id: Ic24e6c86ec93f002dc721d92309b3f880f281f20
2012-04-18 15:31:23 -07:00
Kenny Root 82fd659667 Tweak makefile to let SELinux build
fastboot now needs SELinux support when not on Windows.

Change-Id: Ib32404ef5c9a1a183d7ae319cc94eaf7f12620d9
2012-04-08 11:27:06 -07:00
Kenny Root 1ecb8681c3 fastboot: add support for SELinux and fs_config_func
There were some changes to make_ext4fs to add SELinux context. Also, we
changed the "android" argument to an fs_config_func that allows you to
customize the permissions put into a ext4 filesystem.

Change-Id: If23152c40659122a91771fcbd094f713b38e321e
2012-03-30 20:46:16 -07:00
Anatol Pomazau 5ae3f93f3b Remove trailing whitespaces
Change-Id: I6f83333a6ee0fbc562a12bb9555c43a44c98768e
2012-02-28 07:21:08 -08:00
Ramanan Rajeswaran c4ddca25e0 am f1ab88c2: am 73c019b3: Add asus vendor id
* commit 'f1ab88c23460a608cd6d6f6492fb2b039405c0f2':
  Add asus vendor id
2012-02-27 12:00:45 -08:00
Ramanan Rajeswaran f1ab88c234 am 73c019b3: Add asus vendor id
* commit '73c019b30a7c70c50d2a854982143d5eb8c74f8c':
  Add asus vendor id
2012-02-27 11:59:20 -08:00
Ramanan Rajeswaran 73c019b30a Add asus vendor id
Change-Id: I6d10b1788903aba526af7f654b12c302c3e9fc89
2012-02-24 13:00:34 -08:00
Anatol Pomazau c8ba5366da Implement 'fastboot format' command
Some filesystems (e.g. ext4) require flushing an initial
fs image, right after erasing it the partition is unusable.

Doing erase,flush emptyfs is a little bit scaring so we have a
separate command that performs it as atomic step:

 - get size of partition
 - create an empty filesystem image
 - erase the partition
 - flush empty fs to the partition

This command applicable only for ext4 filesystem and checks the
partition type before formatting it.

Change-Id: I8529bc3485739487f0d91312f7c0ab1a6e5d8b44
2012-02-17 16:29:58 -08:00
Mike Lockwood ca2074b78d Revert "Implement 'fastboot format' command"
until Windows support is done

This reverts commit 452e11885a.
2012-02-13 09:57:19 -08:00
Anatol Pomazau 452e11885a Implement 'fastboot format' command
Some filesystems (e.g. ext4) require flushing an initial
fs image, right after erasing it the partition is unusable.

Doing erase,flush emptyfs is a little bit scaring so we have a
separate command that performs it as atomic step:

 - get size of partition
 - create an empty filesystem image
 - erase the partition
 - flush empty fs to the partition

This command applicable only for ext4 filesystem and checks the
partition type before formatting it.

Change-Id: Ifa42deaa66c3cb96ff786a73c3fadad92658f395
2012-02-11 11:02:40 -08:00
Anatol Pomazau 6f53225ef9 Revert "Implement 'fastboot format' command"
This reverts commit 230d160a71
2012-02-03 18:20:02 -08:00
Anatol Pomazau 230d160a71 Implement 'fastboot format' command
Some filesystems (e.g. ext4) require flushing an initial
fs image, right after erasing it the partition is unusable.

Doing erase,flush emptyfs is a little bit scaring so we have a
separate command that performs it as atomic step:

 - get size of partition
 - create an empty filesystem image
 - erase the partition
 - flush empty fs to the partition

This command applicable only for ext4 filesystem and checks the
partition type before formatting it.

Change-Id: I8529bc1dc64237f1f0d91312f7c0ab1a6e5d8b44
2012-02-03 16:07:18 -08:00
Anatol Pomazau 7806e56485 Merge "Revert "Implement 'fastboot format' command"" 2012-02-03 11:18:43 -08:00
Anatol Pomazau 21311f87c6 Revert "Implement 'fastboot format' command"
This reverts commit 049dff53ef
2012-02-03 10:57:46 -08:00
Anatol Pomazau e9f6e00c19 Merge "Implement 'fastboot format' command" 2012-02-03 10:13:31 -08:00
Jean-Baptiste Queru 0fe24c96be am 142e895a: am e83cd37e: am 0458d373: Merge "fastboot: set the language local string"
* commit '142e895a1d5030a4e032f08fa5814ebd42b964b6':
  fastboot: set the language local string
2012-01-27 21:09:21 -08:00
Jean-Baptiste Queru 142e895a1d am e83cd37e: am 0458d373: Merge "fastboot: set the language local string"
* commit 'e83cd37e58b00fb6b9eb50464067864ca0cb2ff7':
  fastboot: set the language local string
2012-01-27 14:00:21 -08:00
Anatol Pomazau 049dff53ef Implement 'fastboot format' command
Some filesystems (e.g. ext4) require flushing an initial
fs image, right after erasing it the partition is unusable.

Doing erase,flush emptyfs is a little bit scaring so we have a
separate command that performs it as atomic step:

 - get size of partition
 - create an empty filesystem image
 - erase the partition
 - flush empty fs to the partition

This command applicable only for ext4 filesystem and checks the
partition type before formatting it.

Change-Id: I8529bc1dc64698f1f0d91312f7c0ab1a6e5d8b44
2012-01-25 13:55:39 -08:00
Xavier Ducrohet 46f86f11d4 am 0c054095: am 746f3243: Add USB vendor IDs for Quanta, INQ and Sony.
* commit '0c05409510037fd7372c3fe7ab240ebf33b15831':
  Add USB vendor IDs for Quanta, INQ and Sony.
2012-01-24 11:32:19 -08:00
Xavier Ducrohet 0c05409510 am 746f3243: Add USB vendor IDs for Quanta, INQ and Sony.
* commit '746f3243f6d30ab51a36dcfea76eac3ba29ac625':
  Add USB vendor IDs for Quanta, INQ and Sony.
2012-01-24 11:29:50 -08:00
Xavier Ducrohet 746f3243f6 Add USB vendor IDs for Quanta, INQ and Sony.
Change-Id: I224e067d9a64e8e9e7afbad0760a4b07f965bf83
2012-01-24 11:18:50 -08:00
Jean-Baptiste Queru 38412163da am 70580b20: am 149ae11f: Merge "adb,fastboot: add USB support for Intel Vendor ID"
* commit '70580b20bc8485002df0b3e89e42754c8c9796ff':
  adb,fastboot: add USB support for Intel Vendor ID
2012-01-24 08:49:05 -08:00
mgross c840653efd fastboot: set the language local string
Set the language local string to 0x409 (English US / en-us) such that
fastboot will successfully read the usb descriptor serial number string.
The usbdevfs ioctl fails when the wIndex is not initialized with the
local for the unicode of the usb descriptor string.  usbdevfs is an
obsolete interface and fastboot probably needs a re-write to use libusb
like what is in adb.

Change-Id: I3687f84643f53c736f14b3ae7793185d9b5cccc0
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2012-01-23 13:12:23 -08:00
Wu, Hao f60e863828 adb,fastboot: add USB support for Intel Vendor ID
This patch adds Intel USB Vendor ID into the support
list for adb and fastboot.

Signed-off-by: Wu, Hao <hao.wu@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
2012-01-17 12:08:06 -08:00
Jean-Baptiste Queru d7608a40d6 Flash cache partition with cache.img by default.
Bug: 5153694
Change-Id: If322d13286e9b0f14877d1a4f03f6bd288ee71f3
2011-09-30 14:39:25 -07:00
Conley Owens 66acffad76 am c4eaebbe: am ab6e55f7: Merge "Enlarge USB bulk transfer size for faster downloads"
* commit 'c4eaebbe7a0c125663f74e3961b62de8d3611a51':
  Enlarge USB bulk transfer size for faster downloads
2011-04-27 11:38:29 -07:00
Wink Saville b98762f782 Teach fastboot to allow required variables per product.
This is needed for products like xoom-cdma and xoom-cdma-lte.
The xoom-cdma-lte product requires an lte baseband binary but
it's not needed for xoom-cdma.

This is implemented by allowing an optional product parameter
to "required" statements. The parameter is separated from
"required" by a colon so the version-baseband-2 requirment in
board-info.txt for stingray becomes:

 require-for-product:xoom-cdma-lte version-baseband-2=ltedc_u_03.25.00|ltedc_u_03.19.00

In the above statement, only xoom-cdma-lte requires version-baseband-2
and the baseband can be lte_u_03.25.00 or lte_u_03.19.00. For other
products version-baseband-2 will be ignored.


Change-Id: I786bec5f5661c2243d87925b064fc6124d3cffa1
2011-04-04 17:54:59 -07:00
David Krause 913eb8bf87 Enlarge USB bulk transfer size for faster downloads
The default USB transfer bulk is fixed as 4096 in fastboot util code for
Windows and Linux. Enlarging the bulk size can greatly improve the image
download speed via USB.

For Windows, adjust the max bulk size to 1MB to maximize the USB transfer
speed. With this change, the USB transfer speed can be doubled to 20MB/s.

For Linux, adjust the max bulk size to 16384 to maximize the USB transfer
speed according to MAX_USBFS_BUFFER_SIZE definition in drivers/usb/core/devio.c.

For OSX, the maxLenToSend is already 1MB in code.

Change-Id: If6af8c6301f6f6c2ef345e37241706f16d8f5cda
2011-03-28 11:45:21 -05:00
JP Abgrall 2d13d1408b fastboot: fix arg handling causing no-op.
Change-Id: I89d4a6d14e542d8f2d7832d94b0a7cee6eb88305
2011-03-01 23:35:07 -08:00
Tsu Chiang Chuang ee52055ae5 Add explicit 'help' command to fastboot.
Change-Id: I350feab372e105755509c81604d57b2de1a69163
2011-02-25 18:38:53 -08:00
Jean-Baptiste Queru 512405a421 am f1c2a735: Merge "fastboot: Add help message for continue command"
* commit 'f1c2a7352f19cf729f91bf2559fc93ef12c74dca':
  fastboot: Add help message for continue command
2010-12-29 16:01:55 -08:00
Bruce Beare 24ce4bc8d7 fastboot: Add help message for continue command
Change-Id: I578b1b7c2d74d09d44ce9100bfe582aaa25c31b1
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2010-12-29 13:11:53 -08:00
Ying Wang 1c061b9ea9 dist for dist_files
Change-Id: I665572a2212f1239b02b7816e37ada210afbdb48
2010-12-09 10:33:27 -08:00
Jean-Baptiste Queru 69f2d3ce91 am 42b871f1: am c37ba1c9: Merge "Check fastboot oem command line length"
Merge commit '42b871f1bfc116d53d1bff9d7497415494b2e0e0'

* commit '42b871f1bfc116d53d1bff9d7497415494b2e0e0':
  Check fastboot oem command line length
2010-07-29 11:11:07 -07:00
Jean-Baptiste Queru 42b871f1bf am c37ba1c9: Merge "Check fastboot oem command line length"
Merge commit 'c37ba1c916d73fbf35c6faba1e252e2916d2d41d' into gingerbread-plus-aosp

* commit 'c37ba1c916d73fbf35c6faba1e252e2916d2d41d':
  Check fastboot oem command line length
2010-07-29 11:08:02 -07:00
Nick Pelly 286d50fe34 Allow OSX fastboot to work with more devices.
ClearPipeStallBothEnds() appears to fail on some devices, but if we ignore
that error then fastboot does work. So ignore the error.

Change-Id: Ic866ece28a57c081e34079e1a032fa8155301ddf
2010-07-22 10:59:55 -07:00
Bruce Beare 50b3995d02 Check fastboot oem command line length
Change-Id: I301af09c4ec460c9049b75cc7f4d2c50cfe00ceb
Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
2010-07-15 08:52:01 -07:00
Brian Swetland 587c286f98 am beb72464: am 63e5205c: fastboot: make it so I can actually see the bootloader chatter
Merge commit 'beb72464ff8c501597cd7e098090f7d131dc5ccb'

* commit 'beb72464ff8c501597cd7e098090f7d131dc5ccb':
  fastboot: make it so I can actually see the bootloader chatter
2010-07-13 17:18:39 -07:00
Brian Swetland 63e5205cd2 fastboot: make it so I can actually see the bootloader chatter
- prefix bootloader messages with (bootloader)
- remove the fancy right justified no newline business

Change-Id: Ica16ebe6a25971db423c5db06300a280d93faf3e
Signed-off-by: Brian Swetland <swetland@google.com>
2010-07-01 13:54:13 -07:00
Werner Johansson 4272a7ad70 am a8c74049: am 931bdcc0: Set explicit timeout on USB control transfer
Merge commit 'a8c7404956b4370162a87ae09b851266a4933b54'

* commit 'a8c7404956b4370162a87ae09b851266a4933b54':
  Set explicit timeout on USB control transfer
2010-06-30 21:52:19 -07:00
Werner Johansson 931bdcc09a Set explicit timeout on USB control transfer
This attempts to solve the intermittent issues with serial number
showing up as all question marks when issuing "fastboot devices"
2010-06-30 21:03:46 -07:00
Jeff Brown f6e83f7eb8 am dc594284: Merge "Fix kernel panics in fastboot on OS X." into kraken 2010-05-21 14:08:41 -07:00
Jeff Brown b64063737e Fix kernel panics in fastboot on OS X.
The kernel panic seems to be related to the driver trying to allocate
too many pages from the IO mapper.  That may be caused by the fact
that we try to perform a 100+ MiB transfer in a single IO operation.
This change breaks the transfer down into 1 MiB chunks.

So far after a day of testing, no kernel panics have occurred compared
to 5 in the previous 24 hours!

Change-Id: I8d27a546e0c0bf4fe2f0fc7fcad65a88d3e6bee0
2010-05-21 13:24:25 -07:00
Dima Zavin c09b7cf1c9 am 509f7399: fastboot: Add more vendor usb ids 2010-05-14 14:52:40 -07:00
Dima Zavin 509f7399b8 fastboot: Add more vendor usb ids
Change-Id: Ied48302b50412f27dcf49d40913e4b900f3bd153
Signed-off-by: Dima Zavin <dima@android.com>
2010-05-14 14:48:39 -07:00
Raphael b419c35c66 Fix adb, fastboot to compile in Windows SDK under Linux.
(Merged from master Change I3d0e4cab)

Change-Id: Ib3fd566bdaf09d5893a6b0c66168c76c6b0d92eb
2010-04-23 13:07:17 -07:00