History log of /fuchsia/zircon/make/board.mk
Revision Date Author Comments
# ad61d313 28-Sep-2018 George Kulakowski <kulakowski@google.com>

[board] Fix out-of-tree builds by using the correct relative paths

Test: built garnet which builds zircon out of tree
Change-Id: I011501a3d9c11e2f48e387acdadc228fd63d67e2


# 96b313a8 27-Sep-2018 Mike Voydanoff <voydanoff@google.com>

[build][arm64] Add support for Android Verified Boot (AVB)

Adds support for packaging zircon as an Android style boot image
and generating a vbmeta image for devices that use AVB.
Includes the minimal subset of Android verified boot needed for this
based on AOSP external/avb at:

https://android.googlesource.com/platform/external/avb/+/4f137c38f8386bfcd778bdfc798c6299affc0d20

TEST: Zircon boots on mt8167s_ref board with a CL to be provided separately.
Change-Id: I8db64a88bd9b0f566001f19d5f39c9d8b8b07406


# 7df2e993 16-May-2018 Mike Voydanoff <voydanoff@google.com>

[build][arm64] Remove remaining uses of the mkbootfs tool

We now use zbi to generate zircon-bootimage.bin,
and use "cat" to prepend the boot shims to the arm64 kernel

Change-Id: Ida69742e77151453f1e76480acbd95fe1ac6f6e1


# b5d741fb 02-May-2018 Mike Voydanoff <voydanoff@google.com>

[build][arm64] Clean up arm64 boot targets

Boards that do not require a boot shim can now use a common
zircon-bootimage.bin, which contains just the kernel and bootdata.

For boards that do require a boot shim, we build a <board>-zircon-bootimage.bin,
which is zircon-bootimage.bin with the boot shim prepended to it.

Now board specific images are only created for the boards that need it.

Change-Id: Ied999511717796fd89fcd68425d315984b98142a


# 025437cd 12-Apr-2018 Mike Voydanoff <voydanoff@google.com>

[build] Stop building <board>-kernel-bootdata.bin and <board>-bootdata.bin

<board>-kernel-bootdata.bin were empty containers for both x64 and arm64

All arm64 targets use the same bootdata.bin, so separate per-board bootdatas
are no longer necessary.

Change-Id: Ie0a2bedc111d48060f3abe942573c99268444354


# c209b38d 11-Apr-2018 Mike Voydanoff <voydanoff@google.com>

[arm64] Move platform ID from generated bootdata to the boot shims

With this change, arm64 now uses a common bootdata for all platforms.
We can now update the Fuchsia build system to remove kernel-<board>-bootdata.bin
and stop using per-board bootdatas for "fx boot"

Change-Id: I13213702255a0a05149e78691674ff322c610c59


# c26ba6f3 11-Apr-2018 Mike Voydanoff <voydanoff@google.com>

[kernel][arm64] Remove remaining use of MDI from the arm64 kernel

Kernel drivers are now configured via bootdata passed from the boot shims.

Change-Id: I056b9b2c74a99226d98416b0308480b85460e918


# e3e5af09 06-Apr-2018 Mike Voydanoff <voydanoff@google.com>

[arm64][boot-shim] Build per-board boot shims

We now build a separate boot shim binary for each board.

Each boot shim now includes a board specific header file
at kernel/target/arm64/board/<board-name>/boot-shim-config.h
which will contain target specific information for the boot shim
to pass to the kernel via the bootdata.

These boot-shim-config.h headers are currently empty, but will be filled
with platform specific information in subsequent CLs.

This CL also fixes gcc dependency support for the boot shim builds.

Change-Id: I0eac0b3ac034d94f9d0730df5740216e6b2f169d


# bb96a7a1 03-Apr-2018 Mike Voydanoff <voydanoff@google.com>

[arm64][boot-shim] Rewrite bulk of boot shim in C

and move boot shim sources to a separate subdirectory

Change-Id: I7c1df33c14809a915adc4bb372503129585925c5


# 5313060d 24-Mar-2018 Mike Voydanoff <voydanoff@google.com>

[arm64][build][kernel] arm64 kernel is now a bootdata container

Like the x64 kernel, the arm64 kernel is now packaged as a bootdata container.

Currently, all of our arm64 platforms except the hypervisor do not support this.
For those platforms we now have a shim that is prepended to the beginning of the kernel.
This shim checks to see if there are remaining bootdata items following the kernel.
If there are, the shim copies the kernel beyond the end of the bootdata
and executes executes it there. Otherwise it will jump to the kernel in place.

We also add a new <board>-combo-bootdata.bin build file, which contains
the kernel and all of the bootdata packaged in a single file.
This is now being used on the vim, vim2 and hikey960 targets.
However we cannot use the combo-bootdata on gauss, qemu and odroidc2,
so on those platforms we add the shim to their kernel and boot with a
separate bootdata passed as the ramdisk.

In this change we also add --header and --header-align options to mkbootfs,
which prepend an optional binary header to the beginning of the mkbootfs output.
Strictly speaking we could have done this using "cat" instead,
but having this option in mkbootfs eliminates the need for temporary files
and would be simpler to use in the Fuchsia build system.

Change-Id: I9fa572318158043e7b22c5ad944f33a23053abd3


# 977c9855 03-Mar-2018 Mike Voydanoff <voydanoff@google.com>

[build][arm64] Unified build for all arm64 targets

Zircon now has a single unified arm64 build.
Instead of multiple build outputs for different arm targets,
there is now a single build-arm64/ containing a common
arm64 kernel and userspace.

Within build-arm64/ we also build custom <board>-bootdata.bin
and <board>-kernel-bootdata.bin files for each arm64 board.
These differ only by their kernel MDI and platform ID records.

To build the unified arm64 build, type "make arm64" or run the
scripts/build-zircon-arm64 script.

The following scripts were updated to use the new unified arm64 build:

scripts/build-bootable-odroidc2-sdcard.sh
scripts/fastboot-flash
scripts/flash-hikey
scripts/flash-vim
scripts/flash-vim2
scripts/run-zircon-arm64

Change-Id: Ie999f3b4adc938ece29af4fa0d6e41f655972189