#!/bin/bash# SPDX-License-Identifier: GPL-2.0## Default key-sign## Just a wrapper for sign-file## We depend on CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"# for the built-in keys.KERNEL_UNAMER=1ドルBUILD_DIR=2ドルBASE_DIR=3ドルKCONFIG_FILE=$BUILD_DIR/.configMODULE_DIR=$BASE_DIR/lib/modules/$KERNEL_UNAMERerror() {echo "module-signer: error: $*" >&2}if ! [[ -f $KCONFIG_FILE ]]; thenerror "can't find a valid kernel config."exit 1fiif ! grep -q '^CONFIG_MODULES=y' "$KCONFIG_FILE"; thenecho "CONFIG_MODULES=y is not defined in .config, skipping signing."exit 0fiif ! grep -q '^CONFIG_MODULE_SIG=y' "$KCONFIG_FILE"; thenecho "CONFIG_MODULE_SIG=y is not defined in .config, skipping signing."exit 0fiif ! [[ -x $BUILD_DIR/scripts/sign-file ]]; thenerror "$BUILD_DIR/scripts/sign-file is not an executable file."exit 1fiif ! grep -q '^CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"' "$KCONFIG_FILE"; thenerror "CONFIG_MODULE_SIG_KEY is not defined in .config, can't gen keys."exit 1fiecho "module-signer: Signing $KERNEL_UNAMER modules with builtin keys..."PRIKEY="$BUILD_DIR/certs/signing_key.pem"PUBKEY="$BUILD_DIR/certs/signing_key.x509"if ! [[ -s $PRIKEY ]]; thenerror "private key file doesn't exist: $PRIKEY"exit 1fiif ! [[ -s $PUBKEY ]]; thenerror "public key file doesn't exist: $PUBKEY"exit 1fiJOB=$(nproc)JOB=${JOB:-2}export BUILD_DIRexport PRIKEYexport PUBKEY# shellcheck disable=2016find "$MODULE_DIR" -type f -name '*.ko' -print0 | xargs -0r -n 1 -P "$JOB" sh -c '$BUILD_DIR/scripts/sign-file sha256 "$PRIKEY" "$PUBKEY" "1ドル"rm -f 1ドル.sig 1ドル.digif [ "~Module signature appended~" != "$(tail -c 28 "1ドル")" ]; thenecho "module-signer: error: failed to sign 1ドル."exit 1fi' _ || exit $?echo "module-signer: Signing $KERNEL_UNAMER done."
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。