Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CELADON] Integrate EFI shell in flashfiles zip #34

Open
wants to merge 510 commits into
base: master
Choose a base branch
from

Conversation

debarghyab
Copy link

Integrate EFI shell in flashfiles zip

EFI shell binary that is already part of Celadon source tree is copied to flashfiles zip to help developers boot celadon on platforms that do not have internal efi shell support in bios

Tracked-On: OAM-84428
Signed-off: debarghy [email protected]

mdwood-intel and others added 30 commits September 10, 2015 09:08
Change-Id: I0b73477ec1e19319fab2377b409105cac6999dc1
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-2213
Signed-off-by: Matt Wood <[email protected]>
Reviewed-on: https://android.intel.com:443/409635
Google Verified Boot for M-dessert removes the keystore support.  The
verity key is simply included into the .oemkeys section of
kernelflinger.

Change-Id: Ifcbab85bdf055707c5eb23a2299b9e3092c6e4f8
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-2150
Signed-off-by: Jeremy Compostella <[email protected]>
Reviewed-on: https://android.intel.com:443/409448
Current flashfiles.ini syntax is restricted to a defined set of fields
for each commands.
This patch allows to add generic fields into a commands section and each
field can contain a file variable wich will be interpreted.
Some fields like 'variant' are exceptions and are not converted to a
json one.

Change-Id: I8133bb8d1d012f1eb3b14550a71cd9d3445dbe27
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-1344
Signed-off-by: Sylvain Chouleur <[email protected]>
Reviewed-on: https://android.intel.com:443/408886
Adb now offer the command: "reboot sideload-auto-reboot" that reboot
the device in sideload, waiting for the host to start transfering the
update package via sideload and when update is finished, reboot the
device.
Introduce the "-r" option to offer the possibility to use this method
to update the device using sideload. Default behavior is to proceed
like the fota app will do: push the package, call uncrypt service to
produce the blockmap, writting command to be excecuted to apply the
package then reboot to recovery.

Refactoring:
- number of options/parameters are growing, so use getopts to manage
them:
   $PACKAGE should now be preceded by "-p"
   $dutID   should now be preceded by "-s"
- when board is not encrypted or ota package is small, we never see
the property init.svc.uncrypt set to "started" so detect the creation
of the status_file rather than monitoring the property.

Example of use, updating via sideload:
./flash-update -s INV151700079 -p ota-update.zip -r

Change-Id: I474fe002384d9736e94fdc186e05006c81afb8fe
Signed-off-by: Leo Sartre <[email protected]>
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-1665
Reviewed-on: https://android.intel.com:443/407048
Change-Id: Ia42fec9be15155aa430df005c88c34afcf3a849b
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-41
Signed-off-by: Perrot, ThomasX <[email protected]>
Reviewed-on: https://android.intel.com:443/356311
Reviewed-on: https://android.intel.com:443/405983
Change-Id: I6bcb7040a8264a2629d8d92ced4e73837db45979
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-4015
Signed-off-by: Chetan Rao <[email protected]>
Reviewed-on: https://android.intel.com:443/412364
Change-Id: I1b99b6f471ef04ddc0de4c5a3983be9d4c7b314a
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-4607
Signed-off-by: Jocelyn Falempe <[email protected]>
Reviewed-on: https://android.intel.com:443/420348
gvb_test_prepare: script that produce boot/recovery/system images
unsign_boot_img.py : tool to remove the signature of a boot or
recovery image.

Change-Id: I486a4c91968b798087bd4f74ec054a0c8cca2e58
Signed-off-by: Leo Sartre <[email protected]>
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-3373
Reviewed-on: https://android.intel.com:443/410378
Change-Id: I359627873a89ce24c283c72928d803588dffea0f
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-5149
Signed-off-by: Fabien LOUIS <[email protected]>
Reviewed-on: https://android.intel.com:443/422618
- Remove all the hardcoded configuration names and use the
configurations list instead.
- Organize MV configuration files to have default mv config in root
directory and others in a subdirectory. Set also the default
configuration with an extra argument in flashfiles_from_target_files
script instead of hardcoding it.
- Fix erase mode : 2 (previous value) means no erase so remove it
                   1 (new version) means erase all (including NVM)

Change-Id: Ibda0f575cbb042e8be0a5dd74e84d058aabf1dde
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-924
Signed-off-by: Gaelle Nassiet <[email protected]>
Signed-off-by: Guillaume Betous <[email protected]>
Reviewed-on: https://android.intel.com:443/415624
If no device is enumerating in adb when the script is
launched the dutID will be initialised with an empty string.
The update will fail and loop on printing grep usage
error.
This patch loops on reading a deviceID before proceeding
to the update.

Change-Id: I8436aa1c6cb49809668d1ac82631c0ff9cc966d6
Signed-off-by: Khalifa Rouis <[email protected]>
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-5283
Reviewed-on: https://android.intel.com:443/423734
Change-Id: I184f84c8dda52e3129a33f39141619cc03c96f6c
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-5325
Signed-off-by: Claude Brouat <[email protected]>
Reviewed-on: https://android.intel.com:443/422468
The key of a metablock needs to be encoded to a str to be written
out by struct. We're getting unicode from the json input, so
encode it with utf-8 to get the metablock's key.

Change-Id: I1c2ead31fb3ce999d79af88bbfd3163d8755fb21
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-4058
Signed-off-by: Scott D Phillips <[email protected]>
Reviewed-on: https://android.intel.com:443/394130
Reviewed-on: https://android.intel.com:443/410055
The contents of the fftf_opt file are not changed, just the
location from which it is loaded.

Change-Id: Id383aaa96209fe4e949106f4a581a4e16ea62690
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-4058
Signed-off-by: Scott D Phillips <[email protected]>
Reviewed-on: https://android.intel.com:443/398221
Reviewed-on: https://android.intel.com:443/410056
provdatazip is the general source for per-variant files in the
target files package. Extend the current variant file list to also
contain all files referenced by the flashfile configuration with
source 'provdatazip'

Change-Id: I61717ab0694ffe21100921d257f64be315e54ab1
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-4058
Signed-off-by: Scott D Phillips <[email protected]>
Reviewed-on: https://android.intel.com:443/405595
Reviewed-on: https://android.intel.com:443/410057
the make variable MV_CONFIG_DEFAULT_TYPE now must be specified
with a period and the variant string appended (e.g.,
MV_CONFIG_DEFAULT_TYPE.s3gr10m6s).

Change-Id: I543d290c23e4f96218784c55627c859f2e4cd57e
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-4058
Signed-off-by: Dave Lin <[email protected]>
Reviewed-on: https://android.intel.com:443/425944
renamed in the previous patch.

Change-Id: I83c42b1a74ef712b59b7ef96b82be1c241f21914
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-6137
Signed-off-by: Dave Lin <[email protected]>
Reviewed-on: https://android.intel.com:443/427408
Additional files which are not pointed by flashfiles.ini are not
declined by variants, they should.
For example in coho, btsdata.ini is variant specific but is not pointed
by flashfiles.ini

Change-Id: I135e5141f7b145398193ee46588e20fedaa8fad6
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-6268
Signed-off-by: Sylvain Chouleur <[email protected]>
Reviewed-on: https://android.intel.com:443/427514
generate_blpolicy_oemvars has to run on both Linux and Windows and
must not suffer from any AOSP or Intel Android python dependency.

Change-Id: I3ac3b294967108731d7fcdb2ec6cf51df8af33dc
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-4013
Signed-off-by: Jeremy Compostella <[email protected]>
Reviewed-on: https://android.intel.com:443/423253
This target builds a ZIP archive suitable for RMA.  This archive
includes:
- the openssl executable
- the sign-efi-sig-list executable from efitools project
- the generate_blpolicy_oemvars scripts
- the action-authorization binary

This archive can also be built for Windows platform using the
USE_MINGW=y make variable.

Change-Id: Ic4ccf86a0585652a02045597dd57c825b46b4f7b
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-4013
Signed-off-by: Jeremy Compostella <[email protected]>
Reviewed-on: https://android.intel.com:443/416713
Use same wrappers as in https://android.intel.com/#/c/401710 for
bypassing the zip 2GiB limit.

Change-Id: Id8ed2f704bc970e7cdc5dfbe1b6c87067414b23f
Signed-off-by: Leo Sartre <[email protected]>
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-5150
Reviewed-on: https://android.intel.com:443/427969
fastboot configuration is built to extract fastboot flash files from FLS
files, and flash them using fastboot.

For each FLS file present in the flash file json description and that
has the key fasboot set to yes, two PFT commands are being added:
 - one to extract the fastboot binary from the FLS file to a temporary
   directory
 - one to flash the extracted binary with fasboot
Default command parameters are defined through a global.

On the opposite side, the timeout value for configurations other than
fastboot are now retrieved from configurations parameters instead of
commands and the function to add a configuration adds automatically
all the parameters.

Finally, this patch fixes the PFT "restrict" key that should be given
a table of config name strings rather than a simple string (
nevertheless both are supported, but the table is the official format
for "restrict").

Change-Id: Idf0d8b7b02cbf7d3b0d8c3a8989ea7033607c568
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-5957
Signed-off-by: Gabriel Touzeau <[email protected]>
Signed-off-by: Gaelle Nassiet <[email protected]>
Reviewed-on: https://android.intel.com:443/424610
It is useful to have kernel debug symbols which are only available for
kernel built from source.

Stub the target when prebuilt kernel is used.

Change-Id: I322319a662733a737449ed6f30b1bff5e126b97b
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-6235
Signed-off-by: Laurent FERT <[email protected]>
Reviewed-on: https://android.intel.com:443/429768
An OTA requirement is that the platform shall have an
option to turn OFF the device at the end of an OTA_UPDATE
rather than rebooting it.
The option -o allows to test this capability.

Change-Id: I82c0c83f17259aa88aa042d46c7d5d6d716c9405
Signed-off-by: Khalifa Rouis <[email protected]>
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-6389
Reviewed-on: https://android.intel.com:443/428005
FlsTool here has not been kept up to date. Might as well get rid
of one of the decoy copies.

Change-Id: I390c22442f3082552627c576808965c2e00cef60
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-7393
Signed-off-by: Scott D Phillips <[email protected]>
Reviewed-on: https://android.intel.com:443/397909
(cherry picked from commit 4b850bf54d2341f0340c005d01d7d38cd1d42561)
Reviewed-on: https://android.intel.com:443/432207
Broxton has now variants and its ifwi files are variant specific
However these files are not used in "args" option of flashfile.ini so
they are not picked by the script.

This patch extend the variant files detection to all dynamic files used
in flashfiles.ini, not only the ones from "args".
This patch also :
 - fix a redundancy which appears in variant configurations
   in case of multiple output files
-  fix telephony oemvars files for variants: The shortname of files must
   not be lower-cased or the clean_config_parameters() function will not
   find the match and will delete the file parameter from
   configurations.

Change-Id: I3d9ba6ccaa89fab2c55a4f94e6755ee502eea780
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-4301
Signed-off-by: Sylvain Chouleur <[email protected]>
Reviewed-on: https://android.intel.com:443/418913
To be able to support variants with installer, we have to create one
installer output file per variant with adapted commands to use variant
specific files.

Change-Id: I1c2ab069c79c6ee4385e6b7e3da3c635eeaf6c6e
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-4301
Signed-off-by: Sylvain Chouleur <[email protected]>
Reviewed-on: https://android.intel.com:443/431862
This patch adds Sofia specific changes to the
verify_from_target_files and intel_common.py scripts.

 - 'fastboot oem get-hashes' and process_fastboot_data are now
   run after GetBootloaderImageFromTFP() as image sizes are
   needed to be passed with 'fastboot oem get-hashes'
   USAGE: fastboot oem get-hashes:psi:slb:ucode_patch
          :mvconfig:secvm: hypervisor:splash.
   The sizes are calculated from the images obtained from
   GetBootloaderImagesFromFls().

 - The LoadMap.bin files are extracted from fls files present in the
   TFP and compared with the hash of each firmware component.

 - Comparision of the bootloader image is skipped for now. But we
   retain the logic to extract the bootloader from the TFP.

Change-Id: I7d527a9f9c2e7708a3e6637de1e5fefb68d46065
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-7321
Signed-off-by: adattatr <[email protected]>
Reviewed-on: https://android.intel.com:443/430369
Remove fixed definitions, nonefi_bootloader and img_to_partition
map for Sofia3GR. This information is now obtained from the
flashfiles_fls.json file present in the TFP.

Change-Id: I9e4cf3c65b88f2b6fab44fe9fb519c4ae96b982c
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-7321
Signed-off-by: adattatr <[email protected]>
Reviewed-on: https://android.intel.com:443/430374
- fftf_build.opt has been moved to provdata.zip.
  CheckIfSocEFI() is modified to read fftf_build.opt
  from provdata.zip or provdata_$VARIANT.zip.

- get_provdata_variants function is added. It returns
  the list of variants for a TFP.

- Currently we are assuming that smp_profiling images
  are not flashed on the device being tested. This is
  a temporary hack. The actual fix will not make this
  assumption and will compare the images on the device
  with the both the core configurations - smp and
  smp_profiling.

Change-Id: I2833fb8dc146235a34e736632dfe4cd164e59cf4
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-7321
Signed-off-by: adattatr <[email protected]>
Reviewed-on: https://android.intel.com:443/430376
steven-lgs and others added 22 commits June 14, 2018 11:56
Refine the build condition to
fix x86 target build failed issue with the unused ota tools
if KERNELFLINGER_SUPPORT_NON_EFI_BOOT equal false, it means UEFI
platform, then these ota tools will be included.
otherwise for non UEFI intel platforms and AOSP targets,
these ota tools won't be included.

Change-Id: Ie2507048a8c7cfd01c86f98009190eb870e6d43c
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-63723
Signed-off-by: gli41 <[email protected]>
Reviewed-on: https://android.intel.com:443/631140
Change-Id: I5e920ab93e759c264c16bd35f75cae4efc1e4cf9
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-64845
Reviewed-on: https://android.intel.com:443/632828
It needs iasl tool to generate SSDT from .aml config file.
Hence IASL should be one of the depends.

Change-Id: I404644fb389b5ff0b12f981820252ed13b4a64fb
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-65745
Signed-off-by: Chen, ZhiminX <[email protected]>
Reviewed-on: https://android.intel.com:443/631491
Test: make; make flashfiles SANITIZE_TARGET='address coverage'
Failed to build obj_asan/ABL/kf4abl-userdebug_intermediates/kf4abl.abl

Change-Id: I372fc9f947bba5b9b5f4855060c5d703a99262fd
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-65903
Signed-off-by: jialei.feng <[email protected]>
Reviewed-on: https://android.intel.com:443/635467
Change-Id: I0c816a7ff99e2f863d637b1e0ca611f11462e206
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-48653
Signed-off-by: biyilix <[email protected]>
Reviewed-on: https://android.intel.com:443/636264
refer ota rule in build/core/Makefile file.

Change-Id: I0ce4f3987d4586213f96c56d6195362b311f10d3
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-66421
Signed-off-by: sun xiaolu <[email protected]>
Reviewed-on: https://android.intel.com:443/638106
Use host tools to build uefi target.
Installation command:
$ sudo apt-get install dosfstools sbsigntool mtools

Change-Id: I93e294d3d62b76449b32c35ee2582ffd758702eb
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-66421
Signed-off-by: sun xiaolu <[email protected]>
Reviewed-on: https://android.intel.com:443/638328
Change-Id: I7806c834edbc9541067c18a6b5750c7f38e2b7a0
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-66842
Signed-off-by: Xihua Chen <[email protected]>
Reviewed-on: https://android.intel.com:443/638947
flag 'Wl' and pass local LDFLAGS for both  ABL and UEFI

1. Use local LD_FLAGS, otherwisie it will use system flag
   for compiler and cause compile error
2. IAFW_LD is wrongly set to compiler, acutally it's linker
3. Use linker ld, other linker would cause boot issue
4. Remove the hardcode for CLANG version, use configuration

Change-Id: Id8cb309929befee9d20b1bb4219d06d8842d78b4
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-67017
Signed-off-by: kwen <[email protected]>
Reviewed-on: https://android.intel.com:443/639327
Add the name of the guest suffix to flashfiles build for acrn

Change-Id: I10f8377b2c95185149226838c2dd12bd39c1a9e1
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-67056
Signed-off-by: sun xiaolu <[email protected]>
Reviewed-on: https://android.intel.com:443/641305
Use the host installed program sign-efi-sig-list and cert-to-efi-sig-list,
which are included in the efitools package.

Change-Id: I15b80dcc83294788bcfaa47f189fd926a45bc74f
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-67644
Signed-off-by: Ming Tan <[email protected]>
Reviewed-on: https://android.intel.com:443/642010
Change-Id: Ifa2c34a3caaeac94af4eafd58accc1326148a08d
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-67649
Signed-off-by: Regnier, Philippe <[email protected]>
Reviewed-on: https://android.intel.com:443/641950
Add iasl compiler tool for compiling ACPI table into binary.

Change-Id: I75bd06c0d3c31b42c4061fcd837f01a7cb127302
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-67663
Signed-off-by: Chen, ZhiminX <[email protected]>
Reviewed-on: https://android.intel.com:443/635831
(cherry picked from commit 7cfb5ec3ae798ece54a37bdd0bc38e102de5a02b)
Reviewed-on: https://android.intel.com:443/642060
This patch keeps the permission on files which are copied from
provdatazip to PFT flashfiles.

Change-Id: I66598230f20fdbca19243fe423a9ecfce9f26fba
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-67791
Signed-off-by: Jeremy Compostella <[email protected]>
Reviewed-on: https://android.intel.com:443/642477
Change-Id: I268489e9867988f86c00aeb113cea48503d2df01
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-67743
Signed-off-by: Xihua Chen <[email protected]>
Reviewed-on: https://android.intel.com:443/642298
Change-Id: I4330502bd710a28153e01a79689d847d452dd47d
Tracked-On: OAM-68895
Signed-off-by: sgnanase <[email protected]>
Test:
- resign cel_apl image: OK
- flash resigned cel_apl image on KBL NUC: OK
- OTA update with resign files: OK
- check that OTA update fails with not resigned OTA: OK

Tracked-On: OAM-71092
Signed-off-by: phireg <[email protected]>
Tracked-On: OAM-71843

Signed-off-by: phireg <[email protected]>
kernelflinger.efi is added to vendor partition after resigning.
Partitions are now resigned after bootloader is signed and copied
to vendor directory in target file.

Test:
Boot to UI with resigned binaries
Boot to UI after OTA update with resigned binaries

Tracked-On: OAM-71983
Signed-off-by: phireg <[email protected]>
Tracked-On: OAM-75249
Signed-off-by: phireg <[email protected]>
It requires stack-protector, stack execution protection,
 data relocation and protection (RELRO)
Add CFLAGS: -fstack-protector-strong -Wformat -Wformat-security -D_FORTIFY_SOURCE=2
Add LDFLAGS: -znoexecstack -zrelro -znow

Change-Id: I3c56445f0bb1c223460048d682bfe03882f17f3a
Tracked-On: OAM-73605
Signed-off-by: Heng Luo <[email protected]>
Tracked-On: OAM-71340
Signed-off-by: Zhang, Xuepeng <[email protected]>
Integrate EFI shell in flashfiles zip

EFI shell binary that is already part of Celadon source tree is copied to flashfiles zip to help developers boot celadon on platforms that do not have internal efi shell support in bios

Tracked-On: OAM-84428
Signed-off: debarghy [email protected]
Integrate EFI shell in flashfiles zip

EFI shell binary that is already part of Celadon source tree is copied to flashfiles zip to help developers boot celadon on platforms that do not have internal efi shell support in bios.

Tracked-On: OAM-84428
Signed-off: debarghy [email protected]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Stale Stale label for inactive open prs
Projects
None yet
Development

Successfully merging this pull request may close these issues.