Merge "build: config: Adding build configs for vm and pineapple tuivm"

This commit is contained in:
qctecmdr 2022-08-15 19:48:44 -07:00 committed by Gerrit - the friendly Code Review server
commit b0c805234f
4 changed files with 115 additions and 0 deletions

View File

@ -207,6 +207,18 @@ if [ ! -z $DTB_IMG_CREATE ] && [ ! $DTB_IMG_CREATE -eq "0" ]; then
append_cmd DIST_CMDS 'make_dtb_img'
fi
################################################################################
## Cating all the DTBs and create a dtb.img for a virtual machine
function make_vm_dtb_img() {
mkdir -p ${DIST_DIR}/
for i in "${!MKDTIMGDTBS[@]}"; do
mkdtboimg.py create ${DIST_DIR}/${i}-dtb.img --page_size=${PAGE_SIZE} ${DIST_DIR}/${MKDTIMGDTBS[$i]}*.dtb
done
}
if [ -n "$VM_DTB_IMG_CREATE" ] && [ ! "$VM_DTB_IMG_CREATE" -eq "0" ]; then
append_cmd DIST_CMDS 'make_vm_dtb_img'
fi
################################################################################
## Miscellaneous
if [ -n "${EXTRA_CONFIGS}" ]; then

View File

@ -0,0 +1,9 @@
################################################################################
## Inheriting MSM configs
. ${KERNEL_DIR}/build.config.msm.pineapple.vm
################################################################################
MKDTIMGDTBS=()
MKDTIMGDTBS["pineapple_tuivm"]="pineapple-vm"
################################################################################

View File

@ -0,0 +1,45 @@
################################################################################
## Inheriting configs from ACK
. ${ROOT_DIR}/common/build.config.common
. ${ROOT_DIR}/common/build.config.aarch64
################################################################################
## Variant setup
MSM_ARCH=pineapple_tuivm
VARIANTS=(defconfig debug_defconfig)
[ -z "${VARIANT}" ] && VARIANT=debug_defconfig
if [ -e "${ROOT_DIR}/msm-kernel" -a "${KERNEL_DIR}" = "common" ]; then
KERNEL_DIR="msm-kernel"
fi
BOOT_IMAGE_HEADER_VERSION=3
BASE_ADDRESS=0x80000000
PAGE_SIZE=4096
VM_DTB_IMG_CREATE=1
declare -A MKDTIMGDTBS
################################################################################
## Define TUI VM parameters
TUIVM_KERNEL_OFFSET=0x0
TUIVM_DTB_OFFSET=0x2000000
TUIVM_RAMDISK_OFFSET=0x2100000
MKDTIMGDTBS["pineapple_tuivm"]="pineapple-vm"
################################################################################
## Define OEM VM parameters
OEMVM_KERNEL_OFFSET=0x0
OEMVM_DTB_OFFSET=0x2000000
OEMVM_RAMDISK_OFFSET=0x2100000
MKDTIMGDTBS["pineapple_oemvm"]="pineapple-oemvm"
VM_SIZE_EXT4=270000000
DUMMY_IMG_SIZE=4096
################################################################################
## Inheriting MSM configs
. ${KERNEL_DIR}/build.config.msm.common
. ${KERNEL_DIR}/build.config.msm.vm

49
build.config.msm.vm Normal file
View File

@ -0,0 +1,49 @@
################################################################################
# Common configuration for building kernel for Virtual Machines
DEFCONFIG="generic_vm_defconfig"
OPENSSL_DIR=${KERNEL_DIR}/../build/build-tools/path/linux-x86/openssl
append_cmd POST_DEFCONFIG_CMDS 'update_signing_keys_config'
function update_signing_keys_config() {
if test -f "${OPENSSL_DIR}"; then
${OPENSSL_DIR} req -new -nodes -utf8 -newkey rsa:1024 -days 36500 \
-batch -x509 -config ${KERNEL_DIR}/certs/qcom_x509.genkey \
-outform PEM -out ${OUT_DIR}/verity_cert.pem -keyout ${OUT_DIR}/verity_key.pem
${OPENSSL_DIR} req -new -nodes -utf8 -sha256 -days 36500 \
-batch -x509 -config ${KERNEL_DIR}/certs/qcom_x509.genkey \
-outform PEM -out ${OUT_DIR}/signing_key.pem -keyout ${OUT_DIR}/signing_key.pem
${KERNEL_DIR}/scripts/config --file ${OUT_DIR}/.config \
--set-str CONFIG_MODULE_SIG_KEY "${OUT_DIR}/signing_key.pem" \
--set-str CONFIG_SYSTEM_TRUSTED_KEYS "${OUT_DIR}/verity_cert.pem"
(cd ${OUT_DIR} && \
make ${CC_LD_ARG} O=${OUT_DIR} ${MAKE_ARGS} olddefconfig)
fi
}
append_cmd POST_KERNEL_BUILD_CMDS 'move_signing_keys'
function move_signing_keys() {
cp ${OUT_DIR}/signing_key.pem ${OUT_DIR}/certs
cp ${OUT_DIR}/verity_key.pem ${OUT_DIR}/certs
cp ${OUT_DIR}/verity_cert.pem ${OUT_DIR}/certs
}
function build_defconfig_fragments() {
if [[ "${VARIANT}" =~ ^(defconfig|debug_defconfig)$ ]]; then
apply_defconfig_fragment ${KERNEL_DIR}/arch/${ARCH}/configs/vendor/${MSM_ARCH}.config vendor/${MSM_ARCH}_defconfig
if [ "${VARIANT}" = defconfig ]; then
return
fi
apply_defconfig_fragment ${KERNEL_DIR}/arch/${ARCH}/configs/vendor/${MSM_ARCH}_debug.config vendor/${MSM_ARCH}-debug_defconfig
else
echo "Variant '${VARIANT}' unsupported by gki"
exit 1
fi
}
build_defconfig_fragments