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

Add build related configs for vm and pineapple tuivm.

This is just snapshot of kalama's vm build config from
'commit 5beb98404269 ("Merge "i3c: i3c-master-msm-geni: Fix
IBI for invalid device OR handler"")'from msm-5.15 branch.

Change-Id: Ib50008461b1a22d4018e74185375f06acf93ffd3
Signed-off-by: Peng Yang <quic_penyan@quicinc.com>
This commit is contained in:
Peng Yang 2022-07-06 04:54:57 -07:00
parent d41dcee41c
commit 3b62b79a1d
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