Add a file "fstab.gs201-fips" alongside the existing "fstab.gs201" in
order to specify different encryption settings in FIPS mode.
"androidboot.fstab_suffix=gs201-fips" on the kernel command line will be
used to select the FIPS fstab when needed.
As the two fstabs should be otherwise identical, generate them from a
template file so that they will stay in sync.
Note that generating the fstabs requires that they be installed as build
system modules rather than via PRODUCT_COPY_FILES, which results in the
vendor_ramdisk copy of the fstabs being installed to system/etc rather
than /. This shouldn't cause any problem, now that Android has been
updated to look for the fstab in this location too.
(cherry-pick from device/google/gs101)
Test: Boot to home screen with/without fips mode
Bug: 202417706
Signed-off-by: Konstantin Vyshetsky <vkon@google.com>
Change-Id: I8fdc1c9a91399816fa2d4c53f282d63e988ce7d5
Kernel modules on the blocklist are not automatically loaded during
second stage init. Modules are often put on the blocklist if we want
them to get loaded only under certain circumstances.
Bug: 192241728
Change-Id: I05d55f8a2854619b92defcf3fb11cc2b87a8dab6
Previously, we copied all available kernel modules into the vendor_boot
ramdisk except for approx. 14 modules that we explicitly excluded.
Going forward, the kernel build will distribute the two additional files
vendor_boot.modules.load and vendor_dlkm.modules.load which define,
respectively, the lists of modules that should be loaded from
vendor_boot and vendor_dlkm.
The contents of the two *.modules.load files will be copied almost
verbatim into modules.load files in the respective images except for the
fact that the directory names of the .ko files are stripped. So, for
example, kernel/net/core/pktgen.ko becomes just pktgen.ko.
Additionally, we only copy those .ko files into the vendor_boot image
that are listed in vendor_boot.modules.load. On the other hand, the
vendor_dlkm partition image will contain all .ko files regardless of
whether they are listed in vendor_dlkm.modules.load.
Bug: 190652328
Change-Id: I6fc41a0143e7253f193cac509ba30506feb4e2d9
They aren't needed for first-stage boot, and can be loaded from
`/vendor` and `/vendor_dlkm`.
Bug: 189506395
Test: boot to home
Change-Id: Ib4c708c8631586cf25e1535035b8bc81f727ef5f