Something went wrong. Try again.
(I'm so sorry!) Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168# SPDX-License-Identifier: GPL-2.0# ==========================================================================# Installing modules# ==========================================================================
PHONY := __modinst__modinst:
include $(objtree)/include/config/auto.confinclude $(srctree)/scripts/Kbuild.include
install-y :=
ifeq ($(KBUILD_EXTMOD)$(sign-only),)
# remove the old directory and symlink$(shell rm -fr $(MODLIB)/kernel $(MODLIB)/build)
install-$(CONFIG_MODULES) += $(addprefix $(MODLIB)/, build modules.order)
$(MODLIB)/build: FORCE $(call cmd,symlink)
quiet_cmd_symlink = SYMLINK $@ cmd_symlink = ln -s $(CURDIR) $@
$(MODLIB)/modules.order: modules.order FORCE $(call cmd,install_modorder)
quiet_cmd_install_modorder = INSTALL $@ cmd_install_modorder = sed 's:^\(.*\)\.o$$:kernel/\1.ko:' $< > $@
# Install modules.builtin(.modinfo,.ranges) even when CONFIG_MODULES is disabled.install-y += $(addprefix $(MODLIB)/, modules.builtin modules.builtin.modinfo)
install-$(CONFIG_BUILTIN_MODULE_RANGES) += $(MODLIB)/modules.builtin.ranges
$(addprefix $(MODLIB)/, modules.builtin modules.builtin.modinfo modules.builtin.ranges): $(MODLIB)/%: % FORCE $(call cmd,install)
endif
modules := $(call read-file, modules.order)
ifeq ($(KBUILD_EXTMOD),)dst := $(MODLIB)/kernelelseINSTALL_MOD_DIR ?= updatesdst := $(MODLIB)/$(INSTALL_MOD_DIR)endif
$(foreach x, % :, $(if $(findstring $x, $(dst)), \ $(error module installation path cannot contain '$x')))
suffix-y :=ifdef CONFIG_MODULE_COMPRESS_ALLsuffix-$(CONFIG_MODULE_COMPRESS_GZIP) := .gzsuffix-$(CONFIG_MODULE_COMPRESS_XZ) := .xzsuffix-$(CONFIG_MODULE_COMPRESS_ZSTD) := .zstendif
modules := $(patsubst %.o, $(dst)/%.ko$(suffix-y), $(modules))install-$(CONFIG_MODULES) += $(modules)
__modinst: $(install-y) @:
## Installation#quiet_cmd_install = INSTALL $@ cmd_install = cp $< $@
# Strip## INSTALL_MOD_STRIP, if defined, will cause modules to be stripped after they# are installed. If INSTALL_MOD_STRIP is '1', then the default option# --strip-debug will be used. Otherwise, INSTALL_MOD_STRIP value will be used# as the options to the strip command.ifdef INSTALL_MOD_STRIP
ifeq ($(INSTALL_MOD_STRIP),1)strip-option := --strip-debugelsestrip-option := $(INSTALL_MOD_STRIP)endif
quiet_cmd_strip = STRIP $@ cmd_strip = $(STRIP) $(strip-option) $@
else
quiet_cmd_strip = cmd_strip = :
endif
## Signing# Don't stop modules_install even if we can't sign external modules.#ifeq ($(filter pkcs11:%, $(CONFIG_MODULE_SIG_KEY)),)sig-key := $(if $(wildcard $(CONFIG_MODULE_SIG_KEY)),,$(objtree)/)$(CONFIG_MODULE_SIG_KEY)elsesig-key := $(CONFIG_MODULE_SIG_KEY)endifquiet_cmd_sign = SIGN $@ cmd_sign = $(objtree)/scripts/sign-file $(CONFIG_MODULE_SIG_HASH) "$(sig-key)" $(objtree)/certs/signing_key.x509 $@ \ $(if $(KBUILD_EXTMOD),|| true)
ifeq ($(sign-only),)
# During modules_install, modules are signed only when CONFIG_MODULE_SIG_ALL=y.ifndef CONFIG_MODULE_SIG_ALLquiet_cmd_sign := cmd_sign := :endif
# Create necessary directories$(foreach dir, $(sort $(dir $(install-y))), $(shell mkdir -p $(dir)))
$(dst)/%.ko: %.ko FORCE $(call cmd,install) $(call cmd,strip) $(call cmd,sign)
ifdef CONFIG_MODULES__modinst: depmod
PHONY += depmoddepmod: $(install-y) $(call cmd,depmod)
quiet_cmd_depmod = DEPMOD $(MODLIB) cmd_depmod = $(srctree)/scripts/depmod.sh $(KERNELRELEASE)endif
else
$(dst)/%.ko: FORCE $(call cmd,sign)
endif
## Compression#quiet_cmd_gzip = GZIP $@ cmd_gzip = $(KGZIP) -n -f $<quiet_cmd_xz = XZ $@ cmd_xz = $(XZ) --check=crc32 --lzma2=dict=1MiB -f $<quiet_cmd_zstd = ZSTD $@ cmd_zstd = $(ZSTD) --rm -f -q $<
$(dst)/%.ko.gz: $(dst)/%.ko FORCE $(call cmd,gzip)
$(dst)/%.ko.xz: $(dst)/%.ko FORCE $(call cmd,xz)
$(dst)/%.ko.zst: $(dst)/%.ko FORCE $(call cmd,zstd)
PHONY += FORCEFORCE:
.PHONY: $(PHONY)