kernel: support force setup

Add option '-f' in build-kernel.sh to force the generation of .config

Signed-off-by: Jimmy Xu <junming.xjm@antfin.com>

n 请为您的变更输入提交说明。以 '#' 开始的行将被忽略,而一个空的提交
This commit is contained in:
Jimmy Xu 2020-03-20 02:10:18 +08:00
parent 7a17b50536
commit 1389500071

View File

@ -47,6 +47,8 @@ readonly GV_NVIDIA="nvidia"
kernel_path="" kernel_path=""
#Experimental kernel support. Pull from virtio-fs GitLab instead of kernel.org #Experimental kernel support. Pull from virtio-fs GitLab instead of kernel.org
experimental_kernel="false" experimental_kernel="false"
#Force generate config when setup
force_setup_generate_config="false"
#GPU kernel support #GPU kernel support
gpu_vendor="" gpu_vendor=""
# #
@ -89,6 +91,7 @@ Options:
-c <path> : Path to config file to build a the kernel. -c <path> : Path to config file to build a the kernel.
-d : Enable bash debug. -d : Enable bash debug.
-e : Enable experimental kernel. -e : Enable experimental kernel.
-f : Enable force generate config when setup.
-g <vendor> : GPU vendor, intel or nvidia. -g <vendor> : GPU vendor, intel or nvidia.
-h : Display this help. -h : Display this help.
-k <path> : Path to kernel to build. -k <path> : Path to kernel to build.
@ -314,9 +317,12 @@ setup_kernel() {
if [ -d "$kernel_path" ]; then if [ -d "$kernel_path" ]; then
info "${kernel_path} already exist" info "${kernel_path} already exist"
if [[ "${force_setup_generate_config}" != "true" ]];then
return return
else
info "Force generate config due to '-f'"
fi fi
else
info "kernel path does not exist, will download kernel" info "kernel path does not exist, will download kernel"
download_kernel="true" download_kernel="true"
[ -n "$kernel_version" ] || die "failed to get kernel version: Kernel version is emtpy" [ -n "$kernel_version" ] || die "failed to get kernel version: Kernel version is emtpy"
@ -330,6 +336,7 @@ setup_kernel() {
get_config_and_patches get_config_and_patches
[ -d "${patches_path}" ] || die " patches path '${patches_path}' does not exist" [ -d "${patches_path}" ] || die " patches path '${patches_path}' does not exist"
fi
local major_kernel local major_kernel
major_kernel=$(get_major_kernel_version "${kernel_version}") major_kernel=$(get_major_kernel_version "${kernel_version}")
@ -425,7 +432,7 @@ install_kata() {
} }
main() { main() {
while getopts "a:c:deg:hk:p:t:v:" opt; do while getopts "a:c:defg:hk:p:t:v:" opt; do
case "$opt" in case "$opt" in
a) a)
arch_target="${OPTARG}" arch_target="${OPTARG}"
@ -440,6 +447,9 @@ main() {
e) e)
experimental_kernel="true" experimental_kernel="true"
;; ;;
f)
force_setup_generate_config="true"
;;
g) g)
gpu_vendor="${OPTARG}" gpu_vendor="${OPTARG}"
[[ "${gpu_vendor}" == "${GV_INTEL}" || "${gpu_vendor}" == "${GV_NVIDIA}" ]] || die "GPU vendor only support intel and nvidia" [[ "${gpu_vendor}" == "${GV_INTEL}" || "${gpu_vendor}" == "${GV_NVIDIA}" ]] || die "GPU vendor only support intel and nvidia"