Age | Commit message (Collapse) | Author |
|
Included to android.hardware.automotive.vehicle@2.0-service as
vintf_fragments
Test: build should pass
Bug: 154631947
Change-Id: I2726eeb8cb4166bd8ce528b41e6e8e3185acccef
|
|
In order to remove final arm32 gcc cross compiler, we need to be able to
build u-boot with Clang, but are facing:
https://bugs.llvm.org/show_bug.cgi?id=44562
Until that is fixed, move to a prebuilt binary for u-boot to unblock
removing old GCC as per:
https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+/master/GCC_4_9_DEPRECATION.md
Bug: 147296060
Test: lunch beagle_x15 && m && find $OUT -name MLO && \
find $OUT -name u-boot.img
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Change-Id: I848dba99e622e07560888a62d84bc9cb55f92050
|
|
This reverts commit 848da4f1318cc12619512f4e66c6b281155c5f8a.
Bug: 147296060
Change-Id: I57912cb7d1a9aebecd27a61f9d3d1394994fb094
|
|
We want to keep the order of DT blobs inside images fixed, in order to
get those DT blobs by index in bootloader. So let's build those images
manually. Remove BOARD_PREBUILT_DTBIMAGE_DIR, as we don't want Android
build system to generate dtb.img for us anymore (we do it locally).
Also add DTBO partition size, so that AVB can sign our dtbo.img.
Change-Id: Idd4653092c150dea99d37f29306733711d4fbb2b
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
|
|
This enables dynamic partitions build, which applies next changes:
- building "super.img", which should be flashed to "super" partition;
it contains system and vendor logical partitions
- building boot.img with normal ramdisk; system won't be mounted as
root anymore (it will be mounted to /system), as system partition
is now logical partitions inside of super partition
- building recovery.img, as we can't use boot.img to store recovery
ramdisk anymore; we can't get away without recovery at all, because
flashing logical partitions is only possible from fastbootd mode,
which should be done on recovery boot
- fstab is changed to mount system and vendor as logical partitions
- early mounting should be removed from dts file, as system and vendor
are logical and can't be mounted that easy; it's done from fstab
now, when booting the ramdisk
Bootloader should be accommodated for this change, by replacing
"system" and "vendor" partitions with a single "super" partition. Also,
"skip_initramfs" param shouldn't be passed to kernel anymore, as we are
using ramdisk again.
In kernel we should remove dra7xx-android-fstab.dtsi file (so called
"dtb fstab", see [1] for details).
As super.img will be generated, one can flash it instead of system.img
and vendor.img, from bootloader's fastboot mode:
$ fastboot flash super super.img
If it's needed to only update system or vendor partition, one can reboot
to recovery mode, enter "Android Fastboot" (fastbootd), and flash
logical partitions from there, like this:
$ fastboot flash system_a system.img
[1] https://source.android.com/devices/architecture/kernel/mounting-partitions-early#fstab-entries
Change-Id: I83a2cff34ece945cae7689c6248bb7f1800cdac2
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
|
|
As boot_control HAL is now implemented for AM57x, we can enable A/B
updates. Slotted partitions are specified in AB_OTA_PARTITIONS.
Related changes should be implemented in bootloader (partition table).
See [0] for implementation details.
Next changes are made w.r.t. boot flow:
- system is mounted as root, so "skip_initramfs" must be added to
kernel cmdline when normal boot is requested
- recovery image is not built, so recovery partition can be deleted
(in partition table and in fstab)
- ramdisk in boot.img contains recovery functionality and should be
booted when recovery boot is requested (without "skip_initramfs"
parameter in kernel cmdline)
- for partitions specified in AB_OTA_PARTITIONS there should be two
versions in partition table: with "_a" and "_b" suffixes
[0] https://source.android.com/devices/tech/ota/ab/ab_implement
Change-Id: I265c8b79c1772c57172b0a5f0094d21d5e4fa86b
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
|
|
Enable Android Verified Boot 2.0 for vbmeta.img to be generated. We need
to specify boot.img precise size so that AVB meta info can be added in
the footer. See [1,2] for details.
This change is needed for fastbootd to function properly, as it can't
flash partitions when androidboot.verifiedbootstate=orange is not set
(see [3]), which is done by 'avb verify' command in U-Boot (see [4]).
And 'avb verify' requires vbmeta.img to be flashed to vbmeta partition.
[1] https://android.googlesource.com/platform/external/avb/+/master/README.md
[2] https://gitlab.denx.de/u-boot/u-boot/blob/v2019.10-rc1/doc/android/avb2.txt
[3] https://android.googlesource.com/platform/system/core/+/refs/tags/android-q-preview-5/fastboot/device/utility.cpp#200
[4] https://gitlab.denx.de/u-boot/u-boot/blob/v2019.10-rc1/common/avb_verify.c#L149
Change-Id: I977fba70ad25955c9f4785d5f766c0362df083fa
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
|
|
Android Boot Image v2 allows us to include our dtb files in it. For that
to happen we need to provide the directory with our *.dtb files, and
those will be squashed into single dtb.img file by Android build system
and added to "DTB" area of boot.img (so that DT blobs are concatenated
one after the other). Other way to do so would be to provide previously
generated DTBO image. Let's stick to the first way for now.
Change-Id: I3b6d969c0fa7e921acb9bb441e5a1861b408d1dd
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
|
|
Implement custom handling of hardware keys on AM57x EVM in recovery UI.
Without this it's impossible to actually select some item in recovery
menu. Insights about keys override and custom recovery_ui implementation
were given from [1,2]. This is needed because power button is not
handled as user button in input event subsystem, and long press not
being handled in RecoveryUI class on AM57x EVM board as well.
Touchscreen can't be used, as we don't copy touchscreen kernel module
into recovery image (it shouldn't be in recovery, as stated in [3]).
X15 board doesn't have hardware buttons, so this patch only affects
AM57x EVM. On X15 one should use the keyboard or mouse connected to host
USB ports.
[1] https://source.android.com/devices/tech/ota/nonab/device_code
[2] device/linaro/hikey/recovery/*
[3] https://source.android.com/devices/architecture/kernel/loadable-kernel-modules
Change-Id: Ie31c5c26f917278b565c8653f13bf1ba5db47841
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
|
|
This commit doesn't change the behavior, it only fixes coding style
issues.
Change-Id: I22b1baa850f50d30d386e4d2c6c0f26bc5fb665a
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
|
|
Recovery fstab file name is incorrect, this patches fixes it along with
minor fstab-related code cleanup.
Change-Id: I65a4856b930d656d110489d86b75f56edee33b7b
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
|
|
All changes made to baseline enable full Android Automotive in-vehicle
infotainment (IVI) system, presenting an updated boot animation and
user interface on AM57xx platforms. Car mode is enabled by default
and the UI is locked in car mode when using lunch combo
beagle_x15_auto-userdebug.
https://source.android.com/devices/automotive
https://developer.android.com/training/cars
Separated the content necessary for Android Auto from baseline
tablet interface. Result is two lunch combos:
1) beagle_x15-userdebug
2) beagle_x15_auto-userdebug
Test: Build,Boot with beagle_x15-userdebug and beagle_x15_auto-userdebug
Test: Look and feel test of Automotive HMI
Test: Executed test plans CtsCarTestCases and vts-hal-auto
Change-Id: Ia6021d50e803e18ec0241ff190554227a3fda4ae
Signed-off-by: Josh Shafran <j-shafran@ti.com>
Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
|
|
In order to make some subsystems functional (e.g. touchscreen, sound),
corresponding kernel modules (.ko) should be dynamically loaded. It can
be done automatically by ueventd daemon, thanks to this patch in
system/core:
ueventd: Add dynamic kernel module loading
*This* patch implements kernel modules copying into /vendor/lib/modules:
- if KERNELDIR environment variable is defined, then *.ko files will
be copied from locally built kernel in KERNELDIR
- otherwise *.ko files will be copied from prebuilt kernel dir
Right now we don't have *.ko files in prebuilt kernel dir, so some
functionality is missing (touchscreen, sound). It should be out
next step to add all required *.ko there.
Corresponding modules.dep and modules.alias files are generated
automatically by Android build system, in build/make project, thanks to
next commits:
- Support kernel modules in vendor, recovery images
- package modules.alias onto device
Now that SGX kernel module can be built inside of Linux kernel source
tree, so it will be copied along with other *.ko files. This way we can
avoid disagreement between kernel version and SGX module version, when
using locally built kernel from KERNELDIR. Also we want to warn the user
if SGX module is not available, as graphics won't work in this case.
While at it, provide the correct mechanism for copying dtb/dtbo files
from locally built kernel when KERNELDIR is defined.
A few points about implementation:
1. In boot_fit/Android.mk file, before *.dtbo copying the check for
*.dtbo existence is done:
ifneq ($(wildcard $(DTBO_DIR)/*.dtbo),)
cp $(DTBO_DIR)/*.dtbo $(PRIVATE_INTERMEDIATES)/
endif
This is needed because when using linux-mainline in KERNELDIR, next
error will occur (because linux-mainline doesn't have *.dtbo files):
FAILED: out/target/product/beagle_x15/boot_fit.img
cp: bad '.../linux-mainline/arch/arm/boot/dts/ti/*.dtbo':
No such file or directory
For the same reason we don't provide $(wildcard $(DTBO_DIR)/*.dtbo)
to $(BOOTIMG_FIT) target's prerequisites, like it's done for
DTB_DIR (linux-mainline doesn't have dtbo's, os it's an optional
dependency).
2. In BoardConfig.mk file, the BOARD_VENDOR_KERNEL_MODULES is assigned
via intermediate BOARD_ALL_MODULES variable, because if we assign
it directly to $(shell ...) command, next build error happens:
[100% 359/359] writing build rules ...
FAILED:
build/make/core/Makefile:2807: error: kati doesn't support
passing results of $(shell) to other make constructs:
find .../linux -type f -iname '*.ko'
All that said, we want (and we can, with this patch) to support AOSP
build with next kernel options:
1. Prebuilt kernel from device/ti/beagle_x15-kernel/*
2. Locally built TI Android kernel as KERNELDIR
3. Locally built linux-mainline kernel as KERNELDIR
As (1) is convenient for end user, options (2) and (3) is convenient for
development.
Change-Id: I3aee2da99ede252919e7f42f74f9ba25ec7d364c
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
|
|
so that there will be value for ro.product.board property,
and fix the vts execution problem like this:
01-30 16:29:38 E/VtsMultiDeviceTest: Device 0e005017394200e2 not available.
01-30 16:29:38 E/GranularRetriableTestWrapper: Module 'armeabi-v7a VtsKernelLtp' - test 'class com.android.tradefed.testtype.VtsMultiDeviceTest' threw exception:
01-30 16:29:38 E/GranularRetriableTestWrapper: Failed to get device information
java.lang.RuntimeException: Failed to get device information
at com.android.tradefed.testtype.VtsMultiDeviceTest.generateJsonDeviceItem(VtsMultiDeviceTest.java:674)
at com.android.tradefed.testtype.VtsMultiDeviceTest.updateVtsRunnerTestConfig(VtsMultiDeviceTest.java:830)
at com.android.tradefed.testtype.VtsMultiDeviceTest.doRunTest(VtsMultiDeviceTest.java:1280)
at com.android.tradefed.testtype.VtsMultiDeviceTest.run(VtsMultiDeviceTest.java:728)
at com.android.tradefed.testtype.suite.GranularRetriableTestWrapper.intraModuleRun(GranularRetriableTestWrapper.java:396)
at com.android.tradefed.testtype.suite.GranularRetriableTestWrapper.run(GranularRetriableTestWrapper.java:221)
at com.android.tradefed.testtype.suite.ModuleDefinition.run(ModuleDefinition.java:462)
at com.android.tradefed.testtype.suite.ITestSuite.runSingleModule(ITestSuite.java:606)
at com.android.tradefed.testtype.suite.ITestSuite.run(ITestSuite.java:533)
at com.android.tradefed.invoker.InvocationExecution.runTests(InvocationExecution.java:454)
at com.android.tradefed.invoker.TestInvocation.prepareAndRun(TestInvocation.java:367)
at com.android.tradefed.invoker.TestInvocation.performInvocation(TestInvocation.java:220)
at com.android.tradefed.invoker.TestInvocation.invoke(TestInvocation.java:724)
at com.android.tradefed.command.CommandScheduler$InvocationThread.run(CommandScheduler.java:586)
01-30 16:29:38 E/GranularRetriableTestWrapper: Proceeding to the next test.
Test: ./vts-tradefed run vts-kernel -m VtsKernelLtp
Change-Id: Iee108df1c389e0f014ffc05d14d16cc05d8ca412
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
|
|
The pvrsrvkm service was already present in the init script.
Bug: 110964307
Change-Id: I5258f6d30521138e15b5fc0bfeaeee844730932f
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
|
System image size increased with the recent master builds.
This patch changes max system and userdata image partition size.
Note: As per http://beagleboard.org/x15 onboard eMMC is 4GB.
Hence all android partitions has to fit in the limited media storage.
Change-Id: I03d917bdfdb43b59dd592f5aaa4920624d86d7d7
Signed-off-by: Mykhailo Sopiha <mykhailo.sopiha@linaro.org>
[update commitmsg and userdata max size]
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
|
|
This change builds a config for U-Boot and then builds the MLO and
u-boot.img files from the external/u-boot source tree. It uses symlinks
to the host toolchain to preserve the Android build system's hermetic
requirements. (The recommended configs were derived from the Things
configs.)
Bug: 110964307
Change-Id: I634c607ca5c07d24d46278aaf8215c70bc2e6aa0
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
|
Next changes are made:
- Add device compatibility matrix
- Update device manifest
- Turn on treble and vndk support
- Update product packages
- Update SEPolicy
Change-Id: I6e5d416948fbe391073cbda97df19b65c4cbf549
Signed-off-by: Mykhailo Sopiha <mykhailo.sopiha@linaro.org>
|
|
Based of http://git.ti.com/cgit/cgit.cgi/android/device-ti-am57xevm.git/
Branch: d-oreo-mr1-core-release
Initial Android device support for beagle X15 platform.
Processor: http://www.ti.com/product/am5728
Hardware Platform: https://beagleboard.org/x15
Schematics and Platform Info: https://elinux.org/Beagleboard:BeagleBoard-X15
Change-Id: I84936c1cc695832889b07f94f16ecdca9d2b00d2
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Mykhailo Sopiha <mykhailo.sopiha@linaro.org>
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Ruslan Trofymenko <ruslan.trofymenko@linaro.org>
|