
Add ""@KERNEL_TYPE@" in kernel modules' build codes. When building modules for kernel-std, it is replaced by null, and when building modules for kernel-rt, it is replaced by '-rt'. The build results for rt kernel related will be put at: /localdisk/loadbuild/<USER>/stx/rt The build results for std kernel related will be put at: /localdisk/loadbuild/<USER>/stx/std Test Plan: - PASS: build kernel-rt. - PASS: build the 7 oot kernel modules for kernel-rt. - PASS: build the test image for kernel-rt and oot modules of it; boot up on qemu and probe ko for every oot kernel-module. - PASS: do above 3 tests (build modules/build iso/boot up on qemu) for kernel-std and verify that this change doesn't affect std kernel and modules. Depends-On: https://review.opendev.org/c/starlingx/root/+/835627 Depends-On: https://review.opendev.org/c/starlingx/root/+/834809 Story: 2009221 Task: 44808 Signed-off-by: Li Zhou <li.zhou@windriver.com> Change-Id: Ia92191eebb9af8d5affe625a9bd631fe916a277e
63 lines
2.0 KiB
Makefile
Executable File
63 lines
2.0 KiB
Makefile
Executable File
#!/usr/bin/make -f
|
|
#
|
|
# Copyright (c) 2021 Wind River Systems, Inc.
|
|
#
|
|
# Licensed to the Apache Software Foundation (ASF) under one
|
|
# or more contributor license agreements. The ASF licenses this
|
|
# file to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance
|
|
# with the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing,
|
|
# software distributed under the License is distributed on an
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
# KIND, either express or implied. See the License for the
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
#
|
|
|
|
# output every command that modifies files on the build system.
|
|
#export DH_VERBOSE = 1
|
|
|
|
%:
|
|
dh $@
|
|
|
|
WITH_MOD_SIGN ?= 0
|
|
|
|
kheaders_name=$(shell ls /usr/src | grep linux@KERNEL_TYPE@-headers | grep amd64)
|
|
export KSRC=/usr/src/$(kheaders_name)
|
|
export PWD = `pwd`
|
|
kversion=$(shell echo $(kheaders_name) | sed 's/linux@KERNEL_TYPE@-headers-//g')
|
|
kmod_name=igb_uio
|
|
version=$(shell dpkg-parsechangelog | sed -n 's/^Version: *\([^-]\+\)-.\+/\1/p')
|
|
pkg_name=igb-uio@KERNEL_TYPE@
|
|
|
|
_datadir=/usr/share/
|
|
_defaultdocdir=/usr/share/doc/
|
|
|
|
ifeq ($(WITH_MOD_SIGN),1)
|
|
_keydir ?= /usr/src/kernels/$(kversion)/
|
|
privkey ?= $(_keydir)/signing_key.priv
|
|
pubkey ?= $(_keydir)/signing_key.x509
|
|
endif
|
|
|
|
override_dh_auto_install:
|
|
dh_install ./linux/igb_uio/*.ko /lib/modules/$(kversion)/extra/$(kmod_name)/
|
|
dh_install ./README $(_defaultdocdir)/kmod-$(kmod_name)-$(version)/
|
|
dh_installdirs -p$(pkg_name) $(_datadir)/starlingx/scripts
|
|
install -m 755 debian/extra/dpdk-devbind.py ./debian/$(pkg_name)/$(_datadir)/starlingx/scripts
|
|
|
|
override_dh_strip:
|
|
dh_strip
|
|
find debian -name '*.ko' | xargs strip -g
|
|
ifeq ($(WITH_MOD_SIGN),1)
|
|
@echo "Sign the modules!"
|
|
/usr/lib/linux@KERNEL_TYPE@-kbuild-*/scripts/sign-file sha256 $(privkey) $(pubkey) \
|
|
./debian/$(pkg_name)/lib/modules/$(kversion)/extra/$(kmod_name)/*.ko
|
|
endif
|
|
|
|
override_dh_auto_build:
|
|
dh_auto_build -D ./linux/igb_uio
|