Autodetect can be activated with the Kernelflinger HAL_AUTODETECT
compilation flag.
If Autodetect is enabled, Kernelflinger prepends some androidboot
parameter to the kernel command line:
androidboot.brand
: Combines the value of the DMI Boardmanufacturer
and Productmanufacturer
fields.androidboot.name
: Combines the value of the DMI Productproduct_name
and Boardproduct_name
.androidboot.device
: Combines the value of the DMI Boardproduct_name
and Boardversion
.androidboot.model
: same value thanandroidboot.device
.
The init process is converting these command line parameters to properties that can be used to identify the device product.
If Autodetect is enabled, Kernelflinger also loads the Blobstore stored in the second stage area of the boot image, extract the OEMVARS blob for the current device variant and flash these product dependent EFI variables.
Blobstore is a structure storing any kind of data inside the second
stage area of the bootimage. The data is organized as a dictionary in
which the key is the string: <brand>/<product>/<device>
.
(Cf. blobstore.c.
Blobstore current support the following data type: device tree blob, OEMVARS (Cf. Fastboot) and Kernel command line parameters. Kernelflinger does not make use of the device tree blob type.