build.config.sxr.common 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. ################################################################################
  2. # Common configuration for building kernel for SXR products
  3. if [[ "${MSM_ARCH}" == "anorak" ]]; then
  4. DEFCONFIG="gki_defconfig"
  5. else
  6. DEFCONFIG="generic_sxr_defconfig"
  7. fi
  8. OPENSSL_DIR=${KERNEL_DIR}/../build/build-tools/path/linux-x86/openssl
  9. # Kernel platform missing aosp/1843323
  10. DISABLE_HERMETIC_SYSROOT=1
  11. append_cmd POST_DEFCONFIG_CMDS 'update_signing_keys_config'
  12. function update_signing_keys_config() {
  13. if test -f "${OPENSSL_DIR}"; then
  14. ${OPENSSL_DIR} req -new -nodes -utf8 -newkey rsa:1024 -days 36500 \
  15. -batch -x509 -config ${KERNEL_DIR}/certs/qcom_x509.genkey \
  16. -outform PEM -out ${OUT_DIR}/verity_cert.pem -keyout ${OUT_DIR}/verity_key.pem
  17. ${OPENSSL_DIR} req -new -nodes -utf8 -sha256 -days 36500 \
  18. -batch -x509 -config ${KERNEL_DIR}/certs/qcom_x509.genkey \
  19. -outform PEM -out ${OUT_DIR}/signing_key.pem -keyout ${OUT_DIR}/signing_key.pem
  20. ${KERNEL_DIR}/scripts/config --file ${OUT_DIR}/.config \
  21. --set-str CONFIG_MODULE_SIG_KEY "${OUT_DIR}/signing_key.pem" \
  22. --set-str CONFIG_SYSTEM_TRUSTED_KEYS "${OUT_DIR}/verity_cert.pem"
  23. (cd ${OUT_DIR} && \
  24. make ${CC_LD_ARG} O=${OUT_DIR} ${MAKE_ARGS} olddefconfig)
  25. fi
  26. }
  27. append_cmd POST_KERNEL_BUILD_CMDS 'move_signing_keys'
  28. function move_signing_keys() {
  29. cp ${OUT_DIR}/signing_key.pem ${OUT_DIR}/certs
  30. cp ${OUT_DIR}/verity_key.pem ${OUT_DIR}/certs
  31. cp ${OUT_DIR}/verity_cert.pem ${OUT_DIR}/certs
  32. }
  33. function build_defconfig_fragments() {
  34. if [[ "${VARIANT}" =~ ^(gki|consolidate)$ ]]; then
  35. apply_defconfig_fragment ${KERNEL_DIR}/arch/${ARCH}/configs/vendor/${MSM_ARCH}.config vendor/${MSM_ARCH}_defconfig
  36. if [ "${VARIANT}" = gki ]; then
  37. return
  38. fi
  39. apply_defconfig_fragment ${KERNEL_DIR}/arch/${ARCH}/configs/vendor/${MSM_ARCH}_debug.config vendor/${MSM_ARCH}-debug_defconfig
  40. else
  41. echo "Variant '${VARIANT}' unsupported by gki"
  42. exit 1
  43. fi
  44. }
  45. build_defconfig_fragments