summaryrefslogtreecommitdiffstats
path: root/bootloader_message (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-01-23Add update_channel field to bootloader_message_ab.Sen Jiang1-1/+5
The update_channel field is used to store the Omaha update channel if update_engine is compiled with Omaha support. We need it to be in misc to persist through factory reset. Bug: 72332119 Test: mma Change-Id: Ied4fecc6e78cc69d33a36ba4d101d675100f9d82
2017-11-03Switch to bionic gtest in bootable/recoveryTianjie Xu2-16/+22
We encountered segfaults in Imgdiff host tests due to the failure to reset states of getopt. The problem can be solved by switching to use bionic's gtest where a new process is forked for each test. Also modify the recovery_component_test to make sure it runs in parallel. Changes include: 1. Merge the writes to misc partition into one single test. 2. Change the hard coded location "/cache/saved.file" into a configurable variable. Bug: 67849209 Test: recovery tests pass Change-Id: I165d313f32b83393fb7922c5078636ac40b50bc2
2017-10-02Use -Werror in bootable/recoveryChih-Hung Hsieh1-1/+1
* Move -Werror from cppflags to cflags. Bug: 66996870 Test: build with WITH_TIDY=1 Change-Id: I59147fe24d8b48a0403c67ba07d4d384b8e9c5a3
2017-08-29Turn on -Wall for recovery modulesTianjie Xu1-1/+4
Turn on -Wall for all modules. Also remove the obsolete file_cmp() in apply_patch test and now() in wear_ui. The only exception is lib_edify due to the unused functions in the intermediate cpp files generated from the lex files. It will be handled in a seperate CL. Bug: 64939312 Test: mma, unit tests pass Change-Id: Ic53f76b60b6401ab20db3d98130d674c08e3702f
2017-05-17libbootloader_message: convert to Android.bpTom Cherry2-25/+26
Test: build Change-Id: Ia0c2e141673e37eea29306817d2f4b2c944213b0
2017-04-03Boot control HAL based on the A/B headers.Alex Deymo2-0/+12
The added bootctrl.bcb module implement the legacy interface for the bootctrl HAL based on the Boot Control Block (BCB) and the headers already specified in the booloader_message library. This serves as a reference implementation of the boot_control HAL. Bug: 32707546 Test: Tested internally that a device can use this HAL to flip slots and recovery from a /misc wipe. Change-Id: Ic02e5aaf4de7d0a1780eac4e8705dae20d0b3e10
2017-03-27Revert "libbootloader_message: use different fstab paths for normal/recovery boot"Bowgo Tsai1-8/+2
This reverts commit 37bd44174bf2511320961f3f8cd1f698a1c72b66. The logic here is better to be moved into fs_mgr, not fs_mgr clients. Bug: 35811655 Bug: 36502022 Change-Id: Iae79bd8f7131516ad223f3323f1bc1d805206d51 Test: normal boot sailfish, go to Settings > System & tap on "Factory Data reset" Test: recovery boot sailfish (cherry picked from commit 4508f2388419dc15c7d9a9c0ebb82d9e5d67c993)
2017-03-27Revert "libbootloader_message: use different fstab paths for normal/recovery boot"Bowgo Tsai1-8/+2
This reverts commit 37bd44174bf2511320961f3f8cd1f698a1c72b66. The logic here is better to be moved into fs_mgr, not fs_mgr clients. Bug: 35811655 Bug: 36502022 Change-Id: Iae79bd8f7131516ad223f3323f1bc1d805206d51 Test: normal boot sailfish, go to Settings > System & tap on "Factory Data reset" Test: recovery boot sailfish
2017-03-25libbootloader_message: use different fstab paths for normal/recovery bootBowgo Tsai1-2/+8
libbootloader_message is used by both normal boot and recovery boot. It needs to use different fstab paths, respectively. Otherwise, factory reset will fail when we move /fstab.{ro.hardware} to /vendor/etc/. Recovery boot: fs_mgr_read_fstab_with_dt("/etc/recovery.fstab") Normal boot: fs_mgr_read_fstab_default() Bug: 35811655 Bug: 36502022 Test: normal boot sailfish, go to Settings > System & tap on "Factory Data reset" Test: recovery boot sailfish Change-Id: I253f5bdfb9be8a01f80856eb1194f85cdf992bbd
2017-03-10recovery: replacing fs_mgr_read_fstab() with new fs_mgr APIsBowgo Tsai1-18/+5
The fstab settings of early-mounted partitions (e.g., /vendor) will be in kernel device tree. Switch to the new API to get the whole settings with those in device tree: fs_mgr_read_fstab_with_dt("/etc/recovery.fstab") The original default /fstab.{ro.hardware} might be moved to /vendor/etc/. or /odm/etc/. Use another new API to get the default fstab instead of using the hard-coded /fstab.{ro.hardware}. This API also includes the settings from device tree: fs_mgr_read_fstab_default() Bug: 35811655 Test: boot sailfish recovery Change-Id: Iaa56ac7f7b4c4dfc7180c65f03e9a37b94f1de09
2017-02-16Fix bldr msg file open mode when offset specifiedMatt Mower1-4/+1
It was pointed out to me by gmrt that O_APPEND is incorrect, as lseek before writing would be undone (perhaps we avoided this issue due to an inability to write beyond the end of a partition) and O_RDWR is not necessary to lseek. When AOSP switched from fopen to open, they also removed the full partition wipe (fopen in wb mode) before each write, so this is no longer an issue. Completely restore the original AOSP file access mode flags. Change-Id: I42b4efc5f499360ce5b761d3a2a5d4dac4cdfb65
2017-02-02Allow custom bootloader msg offset in block miscMatt Mower2-1/+9
Globally define BOARD_RECOVERY_BLDRMSG_OFFSET with a decimal integer to offset the read/write location in misc where the bootloader message should appear. Example: BOARD_GLOBAL_CFLAGS := -DBOARD_RECOVERY_BLDRMSG_OFFSET=2048 Edify commands get_stage and set_stage need to be aware of the custom bootloader msg offset because they write the stage directly to the BCB. Change-Id: Ifdb5ffe3e893a651be59ae63e3a0ebadd828c9f2
2017-01-18bldrmsg: Only emmc /misc is supportedMatt Mower2-2/+2
Change-Id: Ic0716557a87ec0638e2dbed1c3f743231e8b2f8e
2017-01-11bootloader_message: Allow TWRP to ignore wipe-data command into miscnailyk-fr2-0/+15
* Rebase of https://gerrit.omnirom.org/#/c/20750/ patch-set 3 * Original commit message: fix: recently a change in AOSP causes a bootloop to TWRP (and therefore all ROM's based on it) Reason: AOSP enables use of /misc partition and normally the fstab in TWRP will not have /misc added. The problem is now when Android writes a wipe command to /misc it will force TWRP to boot but TWRP will do nothing - leaving the cmd in /misc. This results in a bootloop to TWRP. Solution: I added a new var TW_IGNORE_MISC_WIPE_DATA which can be set to "true" in Boardconfig.mk of a device requiring this which then ignores /misc commands like it would be when /misc would be just not in fstab BUT with this change TWRP clears the bit in /misc so a normal boot can happen. Besides that if the device do not have an own recovery key combo and /misc is enabled we want to open TWRP after walking through the factory reset screen - without actually doing a factory reset. kudos to nailyk (and DevUt) for the help with the C++ code! Change-Id: If6fed5872015f1a66304e3edbdb787c507236f69
2016-12-15Add update_bootloader_message() to fix two-step OTAs.Tao Bao2-1/+27
This is a retry of commit 7e31f421a514da09b90e46dbd642a5e9b16e0003. Commit bd56f1590c967205dc45eb2ec298aa8d2aacb740 switches to calling write_bootloader_message(<options>) in get_args(), which unintentionally resets the stage field thus breaks two-step OTAs. This CL adds update_bootloader_message(<options>), which only sets the command field (to "boot-recovery") and the recovery field (with the specified options). Bug: 33534933 Test: Apply a two-step package. Test: recovery_component_test passes. Change-Id: Ie0b1ed4053d2d3c97d9cb84310d616b28fcfc72e
2016-12-14Remove the obsolete comments for firmware update.Tao Bao1-2/+3
The corresponding code was removed in commit e08991e02a7d678f2574e85289a34b2a9a537c82 in 2010 (Froyo). Test: N/A Change-Id: I2b296e1b07d54232bade79fda7501387d65a4c37
2016-12-13Revert "write_bootloader_message(<options>) should not reset stage field."Tao Bao2-9/+2
This reverts commit 7e31f421a514da09b90e46dbd642a5e9b16e0003. Bug: 33534933 Change-Id: Ib173f6b1e36a79deafc3592785195693a6779471 (cherry picked from commit 26d5ae741efd904fdc20187eddad33ca31dd64fa)
2016-12-13Revert "write_bootloader_message(<options>) should not reset stage field."Tao Bao2-9/+2
This reverts commit 7e31f421a514da09b90e46dbd642a5e9b16e0003. Bug: 33534933 Change-Id: Ib173f6b1e36a79deafc3592785195693a6779471
2016-12-06write_bootloader_message(<options>) should not reset stage field.Tao Bao2-2/+9
Commit bd56f1590c967205dc45eb2ec298aa8d2aacb740 switches to calling write_bootloader_message(<options>) in get_args(), which unintentionally resets the stage field thus breaks two-step OTAs. This CL changes write_bootloader_message(<options>) to only set the command field (to "boot-recovery") and the recovery field (with the specified options). Test: Apply a two-step package. Change-Id: I6905918812c7d3402cc1524688079066a4d22d29
2016-11-19bootloader_message: Remove the no-op blank line.Tao Bao1-1/+0
This single blank line was introduced by some cherry-pick, which is causing merge conflicts. Test: N/A Change-Id: Ida527b76fca7cc916499c5f888476c8e51ba3eaa
2016-11-18updater: Refactor set_stage() and get_stage() functions.Tao Bao2-23/+63
Add read_bootloader_message_from() and write_bootloader_message_to() to allow specifying the BCB device (/misc). Also add testcases for set_stage() and get_stage(). Test: recovery_component_test passes. Test: Build a recovery image and apply a two-step OTA package. Change-Id: If5ab06a1aaaea168d2a9e5dd63c07c0a3190e4ae
2016-11-10Add 'reboot bootloader' to bootloader_message.Vineela Tummalapalli2-0/+22
Add 'reboot bootloader' capability to the bootloader_message. BUG: https://issuetracker.google.com/issues/32474515 Change-Id: I01e8b2fad978bf7c8fc96ff6b08ad3e52533f504 Author: Vineela Tummalapalli <vineela.tummalapalli@intel.com> Signed-off-by: Vineela Tummalapalli <vineela.tummalapalli@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com> Reviewed-on: https://android.intel.com/548519
2016-10-19Fix bootloader_message.Yabin Cui1-1/+1
Bug: 29945717 Change-Id: I934fd6c52b0111937fa75455de2fa4157fb30f6f (cherry picked from commit 9da04d595fe01e4c0ac1baf39186ac090bf234b3)
2016-10-18Create bootloader_message static library.Yabin Cui3-0/+401
bootloader_messages merges bootloader_message_writer and bootloader.cpp, so we can use the same library to manage bootloader_message in normal boot and recovery mode. Bug: 29582118 Change-Id: I9efdf776ef8f02b53911ff43a518e035e0c29618 (cherry picked from commit 2f272c0551f984e83bc5abaf240e0dddb38a3326)
2016-09-30Turn on -Werror for recoveryTianjie Xu1-0/+1
Also remove the 0xff comparison when validating the bootloader message fields. As the fields won't be erased to 0xff after we remove the MTD support. Bug: 28202046 Test: The recovery folder compiles for aosp_x86-eng Change-Id: Ibb30ea1b2b28676fb08c7e92a1e5f7b6ef3247ab (cherry picked from commit 7aa88748f6ec4e53333d1a15747bc44826ccc410)
2016-09-24Switch to <android-base/properties.h>.Elliott Hughes1-6/+5
Bug: http://b/23102347 Test: boot into recovery. Change-Id: Ib2ca560f1312961c21fbaa294bb068de19cb883e
2016-07-06Fix bootloader_message.Yabin Cui1-1/+1
Bug: 29945717 Change-Id: I934fd6c52b0111937fa75455de2fa4157fb30f6f
2016-06-30Create bootloader_message static library.Yabin Cui3-0/+304
bootloader_messages merges bootloader_message_writer and bootloader.cpp, so we can use the same library to manage bootloader_message in normal boot and recovery mode. Bug: 29582118 Change-Id: I9efdf776ef8f02b53911ff43a518e035e0c29618