Package init
This commit is contained in:
parent
829282ced5
commit
7bc604a71f
36
Makefile.common
Normal file
36
Makefile.common
Normal file
@ -0,0 +1,36 @@
|
||||
RPMBUILD := $(shell if [ -x "/usr/bin/rpmbuild" ]; then echo rpmbuild; \
|
||||
else echo rpm; fi)
|
||||
REDHAT:=$(shell pwd)
|
||||
TOPDIR:=$(shell dirname $(REDHAT))
|
||||
MACH := $(shell uname -m)
|
||||
KVERSION:=3.17.0
|
||||
GITID:= $(shell git log --max-count=1 --pretty=format:%H)
|
||||
RPMVERSION:=3.17.0
|
||||
# marker is git tag which we base off of for exporting patches
|
||||
MARKER:=v3.17
|
||||
PREBUILD:=0.
|
||||
BUILD:=49
|
||||
DIST:=.sa2
|
||||
SPECFILE:=kernel.spec
|
||||
RPM:=$(REDHAT)/rpm
|
||||
SRPMS:=$(RPM)/SRPMS
|
||||
SOURCES:=$(RPM)/SOURCES
|
||||
TESTPATCH:=$(REDHAT)/linux-kernel-test.patch
|
||||
FILTERDIFF:=/usr/bin/filterdiff -x '*redhat/*' -x '*/.gitignore' -x '*/makefile' -x '*/Makefile'
|
||||
|
||||
RELEASED_KERNEL := 1
|
||||
STAMP_VERSION := $(KVERSION)
|
||||
|
||||
LOCVERFILE:=../localversion
|
||||
# create an empty localversion file if you don't want a local buildid
|
||||
ifneq ($(wildcard $(LOCVERFILE)),)
|
||||
BUILDID:=$(shell cat $(LOCVERFILE))
|
||||
else
|
||||
BUILDID:=.test
|
||||
endif
|
||||
$(info BUILDID is "$(BUILDID)". Update '$(shell dirname $(REDHAT))/localversion' to change.)
|
||||
|
||||
PKGRELEASE:=$(PREBUILD)$(BUILD)$(DIST)$(BUILDID)
|
||||
|
||||
TARFILE:=linux-$(KVERSION)-$(PKGRELEASE).tar.xz
|
||||
TARBALL:=$(REDHAT)/$(TARFILE)
|
||||
79
Makefile.config
Normal file
79
Makefile.config
Normal file
@ -0,0 +1,79 @@
|
||||
# Make rules for configuration files.
|
||||
#
|
||||
# $Id$
|
||||
|
||||
OUTPUT := $(abspath ../../)
|
||||
ifeq ("$(origin O)", "command line")
|
||||
_EXTRA_ARGS := O=$(O)
|
||||
OUTPUT := $(O)
|
||||
endif
|
||||
|
||||
CFG = kernel-$(VERSION)
|
||||
CFG_DIR = $(OUTPUT)/configs
|
||||
|
||||
CONFIGFILES = \
|
||||
$(CFG)-aarch64.config $(CFG)-aarch64-debug.config
|
||||
|
||||
PLATFORMS = arm64
|
||||
TEMPFILES = $(addprefix temp-, $(addsuffix -generic, $(PLATFORMS)))
|
||||
|
||||
configs: clean-configs $(CONFIGFILES)
|
||||
@rm -f kernel-*-config
|
||||
@rm -f $(TEMPFILES)
|
||||
@rm -f temp-generic temp-*-generic temp-*-generic-tmp
|
||||
|
||||
# Clean up our cruft so old merge files aren't used
|
||||
clean-configs:
|
||||
@rm -fv $(CONFIGFILES) $(TEMPFILES) temp-arm64* kernel-*config config-*-merged
|
||||
|
||||
# Augment the clean target to clean up our own cruft
|
||||
clean ::
|
||||
@rm -fv $(CONFIGFILES) $(TEMPFILES) temp-arm64* kernel-*config config-*-merged
|
||||
|
||||
configs-prep: clean configs
|
||||
@rm -fr $(CFG_DIR)
|
||||
@mkdir -p $(CFG_DIR)
|
||||
@cp $(CFG)*.config $(CFG_DIR)
|
||||
@cd ../../ && \
|
||||
for i in $(CFG_DIR)/*.config; do \
|
||||
mv $$i $(OUTPUT)/.config; \
|
||||
ARCH=$$(head -1 $(OUTPUT)/.config | cut -b 3-); \
|
||||
echo "Configuring $$i"; \
|
||||
make ARCH=$$ARCH listnewconfig $(_EXTRA_ARGS) >/dev/null || exit 1; \
|
||||
make ARCH=$$ARCH oldnoconfig $(_EXTRA_ARGS) >/dev/null || exit 1; \
|
||||
echo "# $$ARCH" > $$i; \
|
||||
cat $(OUTPUT)/.config >> $$i; \
|
||||
rm $(OUTPUT)/.config; \
|
||||
done
|
||||
|
||||
config-%-merged:
|
||||
@if [ -f $$(basename $@ -merged)-redhat ]; then \
|
||||
perl merge.pl $$(basename $@ -merged)-redhat $$(basename $@ -merged) >$@; \
|
||||
else \
|
||||
cp $$(basename $@ -merged) $@; \
|
||||
fi
|
||||
|
||||
temp-generic: config-nodebug-merged config-generic-merged
|
||||
cat $^ > temp-generic
|
||||
|
||||
temp-debug-generic: config-debug-merged config-generic-merged
|
||||
cat $^ > temp-debug-generic
|
||||
|
||||
temp-arm-generic: config-arm-generic-merged temp-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-arm-debug-generic: config-arm-generic-merged temp-debug-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-arm64: config-arm64-merged temp-arm-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-arm64-debug: config-arm64-merged temp-arm-debug-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
$(CFG)-aarch64.config: /dev/null temp-arm64
|
||||
perl merge.pl $^ arm64 > $@
|
||||
|
||||
$(CFG)-aarch64-debug.config: /dev/null temp-arm64-debug
|
||||
perl merge.pl $^ arm64 > $@
|
||||
|
||||
15225
Module.kabi_aarch64
Normal file
15225
Module.kabi_aarch64
Normal file
File diff suppressed because it is too large
Load Diff
41
README.md
41
README.md
@ -1,39 +1,8 @@
|
||||
# kernel
|
||||
hulk-4.19
|
||||
|
||||
#### 介绍
|
||||
{**以下是码云平台说明,您可以替换此简介**
|
||||
码云是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台
|
||||
无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)}
|
||||
#refer: http://3ms.huawei.com/hi/group/3078743/wiki_5126737.html
|
||||
http://3ms.huawei.com/km/blogs/details/5822677?moduleId=
|
||||
|
||||
#### 软件架构
|
||||
软件架构说明
|
||||
[config]:
|
||||
kernel-kernelVersion-arch.config
|
||||
|
||||
|
||||
#### 安装教程
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### 使用说明
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### 参与贡献
|
||||
|
||||
1. Fork 本仓库
|
||||
2. 新建 Feat_xxx 分支
|
||||
3. 提交代码
|
||||
4. 新建 Pull Request
|
||||
|
||||
|
||||
#### 码云特技
|
||||
|
||||
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
|
||||
2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
|
||||
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
|
||||
4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
|
||||
5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
|
||||
6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
||||
|
||||
49
apply-patches
Normal file
49
apply-patches
Normal file
@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Given a series.conf file and a directory with patches, applies them to the
|
||||
# current directory.
|
||||
# Used by kernel-source.spec.in and kernel-binary.spec.in
|
||||
|
||||
USAGE="$0 [--vanilla] <series.conf> <patchdir> [symbol ...]"
|
||||
|
||||
set -e
|
||||
set -o pipefail
|
||||
vanilla=false
|
||||
if test "$1" == "--vanilla"; then
|
||||
vanilla=true
|
||||
shift
|
||||
fi
|
||||
if test $# -lt 2; then
|
||||
echo "$USAGE" >&2
|
||||
exit 1
|
||||
fi
|
||||
DIR="${0%/*}"
|
||||
SERIES_CONF=$1
|
||||
PATCH_DIR=$2
|
||||
shift 2
|
||||
|
||||
trap 'rm -f "$series"' EXIT
|
||||
series=$(mktemp)
|
||||
# support for patches in patches.addon/series
|
||||
cp "$SERIES_CONF" "$series"
|
||||
if ! $vanilla && test -e "$PATCH_DIR/patches.addon/series"; then
|
||||
# make it user-friendly and automatically prepend "patches.addon/"
|
||||
# if there is no "/"
|
||||
sed -r 's|^([[:space:]]*)([^#[:space:]][^/]*)$|\1patches.addon/\2|' \
|
||||
"$PATCH_DIR/patches.addon/series" >>"$series"
|
||||
fi
|
||||
|
||||
(
|
||||
echo "trap 'echo \"*** patch \$_ failed ***\"' ERR"
|
||||
echo "set -ex"
|
||||
"$DIR"/guards "$@" <"$series" | \
|
||||
if $vanilla; then
|
||||
egrep '^patches\.(kernel\.org|rpmify)/'
|
||||
else
|
||||
cat
|
||||
fi |\
|
||||
sed "s|^|patch -s -F0 -E -p1 --no-backup-if-mismatch -i $PATCH_DIR/|"
|
||||
) | sh
|
||||
|
||||
|
||||
|
||||
164
check-kabi
Normal file
164
check-kabi
Normal file
@ -0,0 +1,164 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# check-kabi - Red Hat kABI reference checking tool
|
||||
#
|
||||
# We use this script to check against reference Module.kabi files.
|
||||
#
|
||||
# Author: Jon Masters <jcm@redhat.com>
|
||||
# Copyright (C) 2007-2009 Red Hat, Inc.
|
||||
#
|
||||
# This software may be freely redistributed under the terms of the GNU
|
||||
# General Public License (GPL).
|
||||
|
||||
# Changelog:
|
||||
#
|
||||
# 2009/08/15 - Updated for use in RHEL6.
|
||||
# 2007/06/13 - Initial rewrite in python by Jon Masters.
|
||||
|
||||
__author__ = "Jon Masters <jcm@redhat.com>"
|
||||
__version__ = "2.0"
|
||||
__date__ = "2009/08/15"
|
||||
__copyright__ = "Copyright (C) 2007-2009 Red Hat, Inc"
|
||||
__license__ = "GPL"
|
||||
|
||||
import getopt
|
||||
import os
|
||||
import re
|
||||
import string
|
||||
import sys
|
||||
|
||||
true = 1
|
||||
false = 0
|
||||
|
||||
def load_symvers(symvers,filename):
|
||||
"""Load a Module.symvers file."""
|
||||
|
||||
symvers_file = open(filename,"r")
|
||||
|
||||
while true:
|
||||
in_line = symvers_file.readline()
|
||||
if in_line == "":
|
||||
break
|
||||
if in_line == "\n":
|
||||
continue
|
||||
checksum,symbol,directory,type = string.split(in_line)
|
||||
|
||||
symvers[symbol] = in_line[0:-1]
|
||||
|
||||
def load_kabi(kabi,filename):
|
||||
"""Load a Module.kabi file."""
|
||||
|
||||
kabi_file = open(filename,"r")
|
||||
|
||||
while true:
|
||||
in_line = kabi_file.readline()
|
||||
if in_line == "":
|
||||
break
|
||||
if in_line == "\n":
|
||||
continue
|
||||
checksum,symbol,directory,type = string.split(in_line)
|
||||
|
||||
kabi[symbol] = in_line[0:-1]
|
||||
|
||||
def check_kabi(symvers,kabi):
|
||||
"""Check Module.kabi and Module.symvers files."""
|
||||
|
||||
fail=0
|
||||
warn=0
|
||||
lost=0
|
||||
changed_symbols=[]
|
||||
moved_symbols=[]
|
||||
losted_symbols=[]
|
||||
|
||||
for symbol in kabi:
|
||||
abi_hash,abi_sym,abi_dir,abi_type = string.split(kabi[symbol])
|
||||
if symvers.has_key(symbol):
|
||||
sym_hash,sym_sym,sym_dir,sym_type = string.split(symvers[symbol])
|
||||
if abi_hash != sym_hash:
|
||||
fail=1
|
||||
changed_symbols.append(symbol)
|
||||
|
||||
if abi_dir != sym_dir:
|
||||
warn=1
|
||||
moved_symbols.append(symbol)
|
||||
else:
|
||||
lost=1
|
||||
losted_symbols.append(symbol)
|
||||
|
||||
if fail:
|
||||
print "*** ERROR - ABI BREAKAGE WAS DETECTED ***"
|
||||
print ""
|
||||
print "The following symbols have been changed (this will cause an ABI breakage):"
|
||||
print "new kabi:"
|
||||
for symbol in changed_symbols:
|
||||
print symvers[symbol]
|
||||
print "old kabi:"
|
||||
for symbol in changed_symbols:
|
||||
print kabi[symbol]
|
||||
print ""
|
||||
|
||||
if lost:
|
||||
print "*** ERROR - ABI BREAKAGE WAS DETECTED ***"
|
||||
print ""
|
||||
print "The following symbols have been losted (this will cause an ABI breakage):"
|
||||
print "old kabi:"
|
||||
for symbol in losted_symbols:
|
||||
print kabi[symbol]
|
||||
print ""
|
||||
|
||||
if warn:
|
||||
print "*** WARNING - ABI SYMBOLS MOVED ***"
|
||||
print ""
|
||||
print "The following symbols moved (typically caused by moving a symbol from being"
|
||||
print "provided by the kernel vmlinux out to a loadable module):"
|
||||
print "new kabi:"
|
||||
for symbol in moved_symbols:
|
||||
print symvers[symbol]
|
||||
print "old kabi"
|
||||
for symbol in moved_symbols:
|
||||
print kabi[symbol]
|
||||
|
||||
print ""
|
||||
|
||||
"""Halt the build, if we got errors and/or warnings. In either case,
|
||||
double-checkig is required to avoid introducing / concealing
|
||||
KABI inconsistencies."""
|
||||
if fail or warn or lost:
|
||||
sys.exit(1)
|
||||
sys.exit(0)
|
||||
|
||||
def usage():
|
||||
print """
|
||||
check-kabi: check Module.kabi and Module.symvers files.
|
||||
|
||||
check-kabi [ -k Module.kabi ] [ -s Module.symvers ]
|
||||
|
||||
"""
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
symvers_file = ""
|
||||
kabi_file = ""
|
||||
|
||||
opts, args = getopt.getopt(sys.argv[1:], 'hk:s:')
|
||||
|
||||
for o, v in opts:
|
||||
if o == "-s":
|
||||
symvers_file = v
|
||||
if o == "-h":
|
||||
usage()
|
||||
sys.exit(0)
|
||||
if o == "-k":
|
||||
kabi_file = v
|
||||
|
||||
if (symvers_file == "") or (kabi_file == ""):
|
||||
usage()
|
||||
sys.exit(1)
|
||||
|
||||
symvers={}
|
||||
kabi={}
|
||||
|
||||
load_symvers(symvers,symvers_file)
|
||||
load_kabi(kabi,kabi_file)
|
||||
check_kabi(symvers,kabi)
|
||||
|
||||
269
config-arm-generic
Normal file
269
config-arm-generic
Normal file
@ -0,0 +1,269 @@
|
||||
CONFIG_KUSER_HELPERS=y
|
||||
# CONFIG_ASYMMETRIC_KEY_TYPE is not set
|
||||
CONFIG_COMMON_CLK=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y
|
||||
CONFIG_FB_SSD1307=m
|
||||
CONFIG_HW_PERF_EVENTS=y
|
||||
CONFIG_NFS_FS=y
|
||||
|
||||
CONFIG_CRASH=m
|
||||
CONFIG_CC_STACKPROTECTOR=y
|
||||
|
||||
# CONFIG_PID_IN_CONTEXTIDR is not set
|
||||
|
||||
# CONFIG_CPU_BIG_ENDIAN is not set
|
||||
# CONFIG_BIG_LITTLE is not set
|
||||
# CONFIG_IWMMXT is not set
|
||||
|
||||
CONFIG_PWM=y
|
||||
CONFIG_PWM_SYSFS=y
|
||||
# CONFIG_PWM_FSL_FTM is not set
|
||||
|
||||
CONFIG_RESET_CONTROLLER=y
|
||||
CONFIG_RESET_GPIO=y
|
||||
|
||||
CONFIG_RCU_FANOUT_LEAF=16
|
||||
# CONFIG_RTC_DRV_SNVS is not set
|
||||
# CONFIG_RTC_DRV_HYM8563 is not set
|
||||
CONFIG_BACKLIGHT_PWM=m
|
||||
CONFIG_INPUT_PWM_BEEPER=m
|
||||
CONFIG_ARM_SP805_WATCHDOG=m
|
||||
CONFIG_ARM_ARCH_TIMER=y
|
||||
CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
|
||||
CONFIG_NR_CPUS=8
|
||||
|
||||
CONFIG_SWIOTLB=y
|
||||
CONFIG_DMA_VIRTUAL_CHANNELS=y
|
||||
CONFIG_FB_SIMPLE=y
|
||||
|
||||
CONFIG_HAVE_PERF_REGS=y
|
||||
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
|
||||
|
||||
# ARM AMBA generic HW
|
||||
CONFIG_ARM_AMBA=y
|
||||
CONFIG_ARM_CCI=y
|
||||
CONFIG_ARM_CCN=y
|
||||
CONFIG_ARM_DMA_USE_IOMMU=y
|
||||
CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8
|
||||
CONFIG_ARM_GIC=y
|
||||
CONFIG_KVM_ARM_VGIC=y
|
||||
CONFIG_ARM_GLOBAL_TIMER=y
|
||||
CONFIG_ARM_SMMU=y
|
||||
CONFIG_MMC_ARMMMCI=y
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_SERIO_AMBAKMI=y
|
||||
CONFIG_OC_ETM=y
|
||||
CONFIG_FB_ARMCLCD=y
|
||||
|
||||
# ARM VExpress
|
||||
CONFIG_ARCH_VEXPRESS=y
|
||||
CONFIG_MFD_VEXPRESS_SYSREG=y
|
||||
CONFIG_VEXPRESS_SYSCFG=y
|
||||
CONFIG_COMMON_CLK_VERSATILE=y
|
||||
CONFIG_CLK_SP810=y
|
||||
CONFIG_CLK_VEXPRESS_OSC=y
|
||||
CONFIG_I2C_VERSATILE=m
|
||||
CONFIG_POWER_RESET_VEXPRESS=y
|
||||
CONFIG_REGULATOR_VEXPRESS=m
|
||||
CONFIG_SENSORS_VEXPRESS=m
|
||||
CONFIG_CLKSRC_VERSATILE=y
|
||||
# CONFIG_ARM_CHARLCD is not set
|
||||
|
||||
# Power/Thermal/Cpufreq
|
||||
CONFIG_GENERIC_CPUFREQ_CPU0=m
|
||||
# CONFIG_ARM_DT_BL_CPUFREQ is not set
|
||||
# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set
|
||||
|
||||
# Device tree
|
||||
CONFIG_DTC=y
|
||||
CONFIG_DMA_OF=y
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
CONFIG_OF=y
|
||||
CONFIG_OF_ADDRESS=y
|
||||
CONFIG_OF_DEVICE=y
|
||||
CONFIG_OF_DYNAMIC=y
|
||||
CONFIG_OF_EARLY_FLATTREE=y
|
||||
CONFIG_OF_FLATTREE=y
|
||||
CONFIG_OF_GPIO=y
|
||||
CONFIG_OF_I2C=m
|
||||
CONFIG_OF_IOMMU=y
|
||||
CONFIG_OF_IRQ=y
|
||||
CONFIG_OF_MDIO=m
|
||||
CONFIG_OF_MTD=y
|
||||
CONFIG_OF_NET=y
|
||||
CONFIG_OF_PCI_IRQ=m
|
||||
CONFIG_OF_PCI=m
|
||||
CONFIG_OF_RESERVED_MEM=y
|
||||
CONFIG_PATA_OF_PLATFORM=m
|
||||
# CONFIG_OF_SELFTEST is not set
|
||||
CONFIG_SERIAL_OF_PLATFORM=y
|
||||
CONFIG_THERMAL_OF=y
|
||||
|
||||
# External Connectors
|
||||
CONFIG_EXTCON=m
|
||||
CONFIG_OF_EXTCON=m
|
||||
CONFIG_EXTCON_GPIO=m
|
||||
CONFIG_EXTCON_ADC_JACK=m
|
||||
# CONFIG_EXTCON_SM5502 is not set
|
||||
|
||||
# MTD
|
||||
CONFIG_MTD_BLKDEVS=m
|
||||
CONFIG_MTD_BLOCK=m
|
||||
CONFIG_MTD_CHAR=m
|
||||
CONFIG_MTD_CFI=m
|
||||
CONFIG_MTD_CFI_INTELEXT=m
|
||||
CONFIG_MTD_CFI_AMDSTD=m
|
||||
CONFIG_MTD_CFI_STAA=m
|
||||
CONFIG_MTD_OF_PARTS=m
|
||||
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
|
||||
CONFIG_MTD_PHYSMAP=m
|
||||
CONFIG_MTD_PHYSMAP_OF=m
|
||||
# CONFIG_MTD_PHYSMAP_COMPAT is not set
|
||||
# CONFIG_MTD_LPDDR2_NVM is not set
|
||||
|
||||
# GPIO
|
||||
CONFIG_GPIO_DEVRES=y
|
||||
CONFIG_GPIO_GENERIC=m
|
||||
CONFIG_GPIO_GENERIC_PLATFORM=m
|
||||
CONFIG_GPIO_WATCHDOG=m
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
|
||||
CONFIG_ARCH_REQUIRE_GPIOLIB=y
|
||||
CONFIG_MDIO_GPIO=m
|
||||
CONFIG_BACKLIGHT_GPIO=m
|
||||
CONFIG_POWER_RESET_GPIO=y
|
||||
CONFIG_POWER_RESET_RESTART=y
|
||||
|
||||
#i2c
|
||||
CONFIG_I2C_ARB_GPIO_CHALLENGE=m
|
||||
CONFIG_I2C_BOARDINFO=y
|
||||
CONFIG_I2C_GPIO=m
|
||||
CONFIG_I2C_MUX=m
|
||||
CONFIG_I2C_MUX_GPIO=m
|
||||
CONFIG_I2C_MUX_PINCTRL=m
|
||||
CONFIG_I2C_MUX_PCA9541=m
|
||||
CONFIG_I2C_MUX_PCA954x=m
|
||||
|
||||
# spi
|
||||
CONFIG_SPI_PL022=m
|
||||
|
||||
# Sensors
|
||||
CONFIG_SENSORS_IIO_HWMON=m
|
||||
CONFIG_IIO_SYSFS_TRIGGER=m
|
||||
|
||||
# PHY framework
|
||||
CONFIG_GENERIC_PHY=y
|
||||
|
||||
# MFD
|
||||
CONFIG_MFD_CORE=m
|
||||
|
||||
CONFIG_SMC91X=m
|
||||
CONFIG_SMC911X=m
|
||||
|
||||
CONFIG_CPU_THERMAL=y
|
||||
CONFIG_THERMAL_GOV_USER_SPACE=y
|
||||
|
||||
# Contiguous Memory Allocator
|
||||
CONFIG_CMA=y
|
||||
CONFIG_DMA_CMA=y
|
||||
# CONFIG_CMA_DEBUG is not set
|
||||
CONFIG_CMA_SIZE_MBYTES=16
|
||||
CONFIG_CMA_SIZE_SEL_MBYTES=y
|
||||
# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
|
||||
# CONFIG_CMA_SIZE_SEL_MIN is not set
|
||||
# CONFIG_CMA_SIZE_SEL_MAX is not set
|
||||
CONFIG_CMA_ALIGNMENT=8
|
||||
CONFIG_CMA_AREAS=7
|
||||
|
||||
# CONFIG_CRYPTO_TEST is not set
|
||||
# CONFIG_TRANSPARENT_HUGEPAGE is not set
|
||||
# CONFIG_XEN is not set
|
||||
# CONFIG_DRM_RCAR_DU is not set
|
||||
# CONFIG_I2C_RCAR is not set
|
||||
# CONFIG_DRM_SHMOBILE is not set
|
||||
# CONFIG_I2C_SH_MOBILE is not set
|
||||
# CONFIG_MMC_DW_SOCFPGA is not set
|
||||
# CONFIG_I2C_NOMADIK is not set
|
||||
# CONFIG_IRQ_DOMAIN_DEBUG is not set
|
||||
# CONFIG_LEDS_RENESAS_TPU is not set
|
||||
# CONFIG_LOCK_STAT is not set
|
||||
|
||||
# CONFIG_DRM_ARMADA is not set
|
||||
# CONFIG_DRM_TEGRA is not set
|
||||
# CONFIG_SHMOBILE_IOMMU is not set
|
||||
|
||||
# CONFIG_COMMON_CLK_SI570 is not set
|
||||
# CONFIG_COMMON_CLK_QCOM is not set
|
||||
|
||||
# CONFIG_ARM_PTDUMP is not set
|
||||
|
||||
# CONFIG_PATA_PLATFORM is not set
|
||||
# CONFIG_USB_ULPI is not set
|
||||
|
||||
### turn off things which make no sense on embedded SoC
|
||||
|
||||
# core
|
||||
|
||||
# CONFIG_INFINIBAND is not set
|
||||
# CONFIG_ISDN is not set
|
||||
# CONFIG_PCMCIA is not set
|
||||
# CONFIG_PARPORT is not set
|
||||
# CONFIG_FIREWIRE is not set
|
||||
# CONFIG_ATM_DRIVERS is not set
|
||||
# CONFIG_ISDN is not set
|
||||
# CONFIG_GAMEPORT is not set
|
||||
# CONFIG_AGP is not set
|
||||
|
||||
# netdrv
|
||||
|
||||
# CONFIG_NET_VENDOR_3COM is not set
|
||||
# CONFIG_NET_VENDOR_ADAPTEC is not set
|
||||
# CONFIG_NET_VENDOR_BROADCOM is not set
|
||||
# CONFIG_NET_VENDOR_BROCADE is not set
|
||||
# CONFIG_NET_VENDOR_CHELSIO is not set
|
||||
# CONFIG_NET_VENDOR_CISCO is not set
|
||||
# CONFIG_NET_VENDOR_DEC is not set
|
||||
# CONFIG_NET_VENDOR_EMULEX is not set
|
||||
# CONFIG_NET_VENDOR_EXAR is not set
|
||||
# CONFIG_NET_VENDOR_MELLANOX is not set
|
||||
# CONFIG_NET_VENDOR_QLOGIC is not set
|
||||
# CONFIG_NET_VENDOR_SUN is not set
|
||||
# CONFIG_NET_VENDOR_WIZNET is not set
|
||||
# CONFIG_NET_VENDOR_XIRCOM is not set
|
||||
# CONFIG_NET_PCMCIA is not set
|
||||
|
||||
# scsi
|
||||
|
||||
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
|
||||
# CONFIG_SCSI_3W_SAS is not set
|
||||
# CONFIG_SCSI_PM8001 is not set
|
||||
# CONFIG_SCSI_IPS is not set
|
||||
# CONFIG_SCSI_CXGB3_ISCSI is not set
|
||||
# CONFIG_SCSI_CXGB4_ISCSI is not set
|
||||
# CONFIG_SCSI_BFA_FC is not set
|
||||
# CONFIG_FUSION is not set
|
||||
# CONFIG_SCSI_3W_9XXX is not set
|
||||
# CONFIG_SCSI_ACARD is not set
|
||||
# CONFIG_SCSI_AACRAID is not set
|
||||
# CONFIG_SCSI_AIC7XXX is not set
|
||||
# CONFIG_SCSI_AIC79XX is not set
|
||||
# CONFIG_SCSI_MPT2SAS is not set
|
||||
# CONFIG_SCSI_MPT3SAS is not set
|
||||
|
||||
# serial
|
||||
# CONFIG_SERIAL_MAX3100 is not set
|
||||
# CONFIG_SERIAL_MAX310X is not set
|
||||
# CONFIG_SERIAL_IFX6X60 is not set
|
||||
|
||||
# drm
|
||||
# CONFIG_DRM_VMWGFX is not set
|
||||
# CONFIG_IMX_IPUV3_CORE is not set
|
||||
|
||||
# CONFIG_DEBUG_SET_MODULE_RONX is not set
|
||||
|
||||
# CONFIG_LATTICE_ECP3_CONFIG is not set
|
||||
# CONFIG_BMP085_SPI is not set
|
||||
# CONFIG_TI_DAC7512 is not set
|
||||
# CONFIG_SPI_ROCKCHIP is not set
|
||||
107
config-arm64
Normal file
107
config-arm64
Normal file
@ -0,0 +1,107 @@
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_ARM64=y
|
||||
|
||||
CONFIG_SCHED_MC=y
|
||||
CONFIG_SCHED_SMT=y
|
||||
|
||||
# CONFIG_CPU_BIG_ENDIAN is not set
|
||||
|
||||
# arm64 only SoCs
|
||||
CONFIG_ARCH_XGENE=y
|
||||
|
||||
# CONFIG_ALWAYS_USE_PERSISTENT_CLOCK is not set
|
||||
# CONFIG_AMBA_PL08X is not set
|
||||
CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
|
||||
CONFIG_ARCH_REQUIRE_GPIOLIB=y
|
||||
# CONFIG_ARM64_64K_PAGES is not set
|
||||
CONFIG_COMPAT=y
|
||||
|
||||
CONFIG_BCMA_POSSIBLE=y
|
||||
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
|
||||
CONFIG_BQL=y
|
||||
CONFIG_BRCMUTIL=m
|
||||
CONFIG_BUG=y
|
||||
CONFIG_CLKDEV_LOOKUP=y
|
||||
CONFIG_CMDLINE="console=ttyAMA0"
|
||||
# CONFIG_CMDLINE_FORCE is not set
|
||||
CONFIG_CONSOLE_TRANSLATIONS=y
|
||||
|
||||
CONFIG_GENERIC_ACL=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
|
||||
CONFIG_GENERIC_CSUM=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_IO=y
|
||||
CONFIG_GENERIC_PCI_IOMAP=y
|
||||
CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y
|
||||
CONFIG_HAVE_ARCH_PFN_VALID=y
|
||||
CONFIG_HAVE_ARCH_TRACEHOOK=y
|
||||
CONFIG_HAVE_MEMORY_PRESENT=y
|
||||
CONFIG_HAVE_NET_DSA=y
|
||||
# CONFIG_HUGETLB_PAGE is not set
|
||||
CONFIG_HVC_DRIVER=y
|
||||
CONFIG_HZ=100
|
||||
|
||||
CONFIG_KVM=y
|
||||
CONFIG_KVM_ARM_MAX_VCPUS=8
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
|
||||
CONFIG_NFS_ACL_SUPPORT=y
|
||||
CONFIG_NFS_COMMON=y
|
||||
CONFIG_NFS_DEBUG=y
|
||||
# CONFIG_NFSD_FAULT_INJECTION is not set
|
||||
CONFIG_NFSD_V2_ACL=y
|
||||
CONFIG_NFS_USE_KERNEL_DNS=y
|
||||
# CONFIG_PL330_DMA is not set
|
||||
CONFIG_RCU_FANOUT=64
|
||||
# CONFIG_RTC_DRV_PL030 is not set
|
||||
CONFIG_RTC_DRV_PL031=y
|
||||
CONFIG_SERIAL_8250_DMA=y
|
||||
# CONFIG_SERIAL_AMBA_PL010 is not set
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
CONFIG_SPARSEMEM_VMEMMAP=y
|
||||
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
# CONFIG_THERMAL is not set
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
|
||||
CONFIG_EFI=y
|
||||
CONFIG_EFI_VARS=y
|
||||
CONFIG_EFIVAR_FS=y
|
||||
CONFIG_EFI_VARS_PSTORE=y
|
||||
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
|
||||
|
||||
CONFIG_ARM64_CRYPTO=y
|
||||
CONFIG_CRYPTO_SHA1_ARM64_CE=m
|
||||
CONFIG_CRYPTO_SHA2_ARM64_CE=m
|
||||
CONFIG_CRYPTO_GHASH_ARM64_CE=m
|
||||
CONFIG_CRYPTO_AES_ARM64_CE=m
|
||||
CONFIG_CRYPTO_AES_ARM64_CE_CCM=m
|
||||
CONFIG_CRYPTO_AES_ARM64_CE_BLK=m
|
||||
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m
|
||||
CONFIG_CRYPTO_DEV_CCP=y
|
||||
CONFIG_CRYPTO_DEV_CCP_DD=m
|
||||
CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
|
||||
|
||||
CONFIG_I2C_ACPI=y
|
||||
|
||||
# not arm64
|
||||
# CONFIG_GPIO_ADNP is not set
|
||||
# CONFIG_GPIO_MCP23S08 is not set
|
||||
# CONFIG_MDIO_BUS_MUX_GPIO is not set
|
||||
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
|
||||
|
||||
# busted build for various reasons
|
||||
# uses pci_* for some reason to allocate DMA buffers
|
||||
# CONFIG_DVB_B2C2_FLEXCOP_USB is not set
|
||||
# weird include chain resulting in missing u64 type
|
||||
# CONFIG_USB_SPEEDTOUCH is not set
|
||||
# dma issues in headers
|
||||
# CONFIG_PARPORT_PC is not set
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
|
||||
# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set
|
||||
|
||||
# CONFIG_PKCS7_MESSAGE_PARSER is not set
|
||||
|
||||
5891
config-arm64-kdump
Normal file
5891
config-arm64-kdump
Normal file
File diff suppressed because it is too large
Load Diff
134
config-debug
Normal file
134
config-debug
Normal file
@ -0,0 +1,134 @@
|
||||
CONFIG_SND_VERBOSE_PRINTK=y
|
||||
CONFIG_SND_DEBUG=y
|
||||
CONFIG_SND_PCM_XRUN_DEBUG=y
|
||||
|
||||
CONFIG_DEBUG_ATOMIC_SLEEP=y
|
||||
|
||||
CONFIG_DEBUG_MUTEXES=y
|
||||
CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y
|
||||
CONFIG_DEBUG_RT_MUTEXES=y
|
||||
CONFIG_DEBUG_LOCK_ALLOC=y
|
||||
CONFIG_LOCK_TORTURE_TEST=m
|
||||
CONFIG_PROVE_LOCKING=y
|
||||
CONFIG_DEBUG_SPINLOCK=y
|
||||
CONFIG_PROVE_RCU=y
|
||||
# CONFIG_PROVE_RCU_REPEATEDLY is not set
|
||||
CONFIG_DEBUG_PER_CPU_MAPS=y
|
||||
CONFIG_CPUMASK_OFFSTACK=y
|
||||
|
||||
CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
|
||||
|
||||
CONFIG_FAULT_INJECTION=y
|
||||
CONFIG_FAILSLAB=y
|
||||
CONFIG_FAIL_PAGE_ALLOC=y
|
||||
CONFIG_FAIL_MAKE_REQUEST=y
|
||||
CONFIG_FAULT_INJECTION_DEBUG_FS=y
|
||||
CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
|
||||
CONFIG_FAIL_IO_TIMEOUT=y
|
||||
CONFIG_FAIL_MMC_REQUEST=y
|
||||
|
||||
CONFIG_SLUB_DEBUG_ON=y
|
||||
|
||||
CONFIG_LOCK_STAT=y
|
||||
|
||||
CONFIG_DEBUG_STACK_USAGE=y
|
||||
|
||||
CONFIG_ACPI_DEBUG=y
|
||||
CONFIG_ACPI_DEBUG_FUNC_TRACE=y
|
||||
|
||||
CONFIG_DEBUG_SG=y
|
||||
CONFIG_DEBUG_PI_LIST=y
|
||||
|
||||
CONFIG_DEBUG_PAGEALLOC=y
|
||||
|
||||
CONFIG_PAGE_POISONING=y
|
||||
|
||||
CONFIG_DEBUG_WRITECOUNT=y
|
||||
CONFIG_DEBUG_OBJECTS=y
|
||||
# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
|
||||
CONFIG_DEBUG_OBJECTS_FREE=y
|
||||
CONFIG_DEBUG_OBJECTS_TIMERS=y
|
||||
CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
|
||||
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
|
||||
|
||||
# CONFIG_X86_PTDUMP is not set
|
||||
|
||||
CONFIG_CAN_DEBUG_DEVICES=y
|
||||
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
|
||||
CONFIG_SYSCTL_SYSCALL_CHECK=y
|
||||
|
||||
CONFIG_DEBUG_NOTIFIERS=y
|
||||
|
||||
CONFIG_DMA_API_DEBUG=y
|
||||
|
||||
CONFIG_MMIOTRACE=y
|
||||
|
||||
CONFIG_DEBUG_CREDENTIALS=y
|
||||
|
||||
CONFIG_EXT4_DEBUG=y
|
||||
|
||||
CONFIG_XFS_WARN=y
|
||||
|
||||
CONFIG_DEBUG_PERF_USE_VMALLOC=y
|
||||
|
||||
# off in both production debug and nodebug builds,
|
||||
# on in rawhide nodebug builds
|
||||
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
|
||||
|
||||
CONFIG_JBD2_DEBUG=y
|
||||
|
||||
CONFIG_NFSD_FAULT_INJECTION=y
|
||||
|
||||
CONFIG_DEBUG_BLK_CGROUP=y
|
||||
|
||||
CONFIG_DRBD_FAULT_INJECTION=y
|
||||
|
||||
CONFIG_ATH_DEBUG=y
|
||||
CONFIG_CARL9170_DEBUGFS=y
|
||||
CONFIG_IWLWIFI_DEVICE_TRACING=y
|
||||
|
||||
CONFIG_RTLWIFI_DEBUG=y
|
||||
|
||||
CONFIG_DEBUG_OBJECTS_WORK=y
|
||||
|
||||
CONFIG_DMADEVICES_DEBUG=y
|
||||
CONFIG_DMADEVICES_VDEBUG=y
|
||||
|
||||
CONFIG_PM_ADVANCED_DEBUG=y
|
||||
|
||||
CONFIG_CEPH_LIB_PRETTYDEBUG=y
|
||||
CONFIG_QUOTA_DEBUG=y
|
||||
|
||||
CONFIG_PCI_DEFAULT_USE_CRS=y
|
||||
|
||||
CONFIG_KGDB_KDB=y
|
||||
CONFIG_KDB_KEYBOARD=y
|
||||
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
|
||||
|
||||
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
|
||||
CONFIG_PERCPU_TEST=m
|
||||
CONFIG_TEST_LIST_SORT=y
|
||||
CONFIG_TEST_STRING_HELPERS=m
|
||||
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
|
||||
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
|
||||
|
||||
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
|
||||
|
||||
CONFIG_DEBUG_KMEMLEAK=y
|
||||
CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=1024
|
||||
# CONFIG_DEBUG_KMEMLEAK_TEST is not set
|
||||
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
|
||||
|
||||
CONFIG_MAC80211_MESSAGE_TRACING=y
|
||||
|
||||
CONFIG_EDAC_DEBUG=y
|
||||
|
||||
CONFIG_SPI_DEBUG=y
|
||||
|
||||
# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set
|
||||
CONFIG_LATENCYTOP=y
|
||||
CONFIG_SCHEDSTATS=y
|
||||
5393
config-generic
Normal file
5393
config-generic
Normal file
File diff suppressed because it is too large
Load Diff
3014
config-kata-x86_64
Normal file
3014
config-kata-x86_64
Normal file
File diff suppressed because it is too large
Load Diff
2
config-local
Normal file
2
config-local
Normal file
@ -0,0 +1,2 @@
|
||||
# This file is intentionally left empty in the stock kernel. Its a nicety
|
||||
# added for those wanting to do custom rebuilds with altered config opts.
|
||||
134
config-nodebug
Normal file
134
config-nodebug
Normal file
@ -0,0 +1,134 @@
|
||||
CONFIG_SND_VERBOSE_PRINTK=y
|
||||
# CONFIG_SND_DEBUG is not set
|
||||
# CONFIG_SND_PCM_XRUN_DEBUG is not set
|
||||
|
||||
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
|
||||
|
||||
# CONFIG_DEBUG_MUTEXES is not set
|
||||
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_DEBUG_LOCK_ALLOC is not set
|
||||
# CONFIG_LOCK_TORTURE_TEST is not set
|
||||
# CONFIG_PROVE_LOCKING is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
# CONFIG_PROVE_RCU is not set
|
||||
# CONFIG_PROVE_RCU_REPEATEDLY is not set
|
||||
# CONFIG_DEBUG_PER_CPU_MAPS is not set
|
||||
CONFIG_CPUMASK_OFFSTACK=y
|
||||
|
||||
# CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
|
||||
|
||||
# CONFIG_FAULT_INJECTION is not set
|
||||
# CONFIG_FAILSLAB is not set
|
||||
# CONFIG_FAIL_PAGE_ALLOC is not set
|
||||
# CONFIG_FAIL_MAKE_REQUEST is not set
|
||||
# CONFIG_FAULT_INJECTION_DEBUG_FS is not set
|
||||
# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set
|
||||
# CONFIG_FAIL_IO_TIMEOUT is not set
|
||||
# CONFIG_FAIL_MMC_REQUEST is not set
|
||||
|
||||
# CONFIG_SLUB_DEBUG_ON is not set
|
||||
|
||||
# CONFIG_LOCK_STAT is not set
|
||||
|
||||
# CONFIG_DEBUG_STACK_USAGE is not set
|
||||
|
||||
CONFIG_ACPI_DEBUG=y
|
||||
# CONFIG_ACPI_DEBUG_FUNC_TRACE is not set
|
||||
|
||||
# CONFIG_DEBUG_SG is not set
|
||||
# CONFIG_DEBUG_PI_LIST is not set
|
||||
|
||||
# CONFIG_DEBUG_PAGEALLOC is not set
|
||||
|
||||
# CONFIG_DEBUG_WRITECOUNT is not set
|
||||
# CONFIG_DEBUG_OBJECTS is not set
|
||||
# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
|
||||
# CONFIG_DEBUG_OBJECTS_FREE is not set
|
||||
# CONFIG_DEBUG_OBJECTS_TIMERS is not set
|
||||
# CONFIG_DEBUG_OBJECTS_RCU_HEAD is not set
|
||||
# CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
|
||||
|
||||
# CONFIG_X86_PTDUMP is not set
|
||||
|
||||
# CONFIG_CAN_DEBUG_DEVICES is not set
|
||||
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
|
||||
# CONFIG_SYSCTL_SYSCALL_CHECK is not set
|
||||
|
||||
# CONFIG_DEBUG_NOTIFIERS is not set
|
||||
|
||||
# CONFIG_DMA_API_DEBUG is not set
|
||||
|
||||
# CONFIG_MMIOTRACE is not set
|
||||
|
||||
# CONFIG_DEBUG_CREDENTIALS is not set
|
||||
|
||||
# off in both production debug and nodebug builds,
|
||||
# on in rawhide nodebug builds
|
||||
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
|
||||
|
||||
# CONFIG_EXT4_DEBUG is not set
|
||||
|
||||
# CONFIG_XFS_WARN is not set
|
||||
|
||||
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
|
||||
|
||||
# CONFIG_JBD2_DEBUG is not set
|
||||
|
||||
# CONFIG_NFSD_FAULT_INJECTION is not set
|
||||
|
||||
# CONFIG_DEBUG_BLK_CGROUP is not set
|
||||
|
||||
# CONFIG_DRBD_FAULT_INJECTION is not set
|
||||
|
||||
# CONFIG_ATH_DEBUG is not set
|
||||
# CONFIG_CARL9170_DEBUGFS is not set
|
||||
# CONFIG_IWLWIFI_DEVICE_TRACING is not set
|
||||
|
||||
# CONFIG_RTLWIFI_DEBUG is not set
|
||||
|
||||
# CONFIG_DEBUG_OBJECTS_WORK is not set
|
||||
|
||||
# CONFIG_DMADEVICES_DEBUG is not set
|
||||
# CONFIG_DMADEVICES_VDEBUG is not set
|
||||
|
||||
# CONFIG_PM_ADVANCED_DEBUG is not set
|
||||
|
||||
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
|
||||
# CONFIG_QUOTA_DEBUG is not set
|
||||
|
||||
CONFIG_PCI_DEFAULT_USE_CRS=y
|
||||
|
||||
CONFIG_KGDB_KDB=y
|
||||
CONFIG_KDB_KEYBOARD=y
|
||||
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
|
||||
|
||||
# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set
|
||||
# CONFIG_PERCPU_TEST is not set
|
||||
# CONFIG_TEST_LIST_SORT is not set
|
||||
# CONFIG_TEST_STRING_HELPERS is not set
|
||||
|
||||
# CONFIG_DETECT_HUNG_TASK is not set
|
||||
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
|
||||
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
|
||||
|
||||
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
|
||||
|
||||
# CONFIG_DEBUG_KMEMLEAK is not set
|
||||
CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=1024
|
||||
# CONFIG_DEBUG_KMEMLEAK_TEST is not set
|
||||
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
|
||||
|
||||
# CONFIG_MAC80211_MESSAGE_TRACING is not set
|
||||
|
||||
# CONFIG_EDAC_DEBUG is not set
|
||||
|
||||
# CONFIG_SPI_DEBUG is not set
|
||||
|
||||
# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set
|
||||
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_LATENCYTOP is not set
|
||||
|
||||
3
cpupower.config
Normal file
3
cpupower.config
Normal file
@ -0,0 +1,3 @@
|
||||
# See 'cpupower help' and cpupower(1) for more info
|
||||
CPUPOWER_START_OPTS="frequency-set -g performance"
|
||||
CPUPOWER_STOP_OPTS="frequency-set -g ondemand"
|
||||
13
cpupower.service
Normal file
13
cpupower.service
Normal file
@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Configure CPU power related settings
|
||||
After=syslog.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
EnvironmentFile=/etc/sysconfig/cpupower
|
||||
ExecStart=/usr/bin/cpupower $CPUPOWER_START_OPTS
|
||||
ExecStop=/usr/bin/cpupower $CPUPOWER_STOP_OPTS
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
0
extra_certificates
Normal file
0
extra_certificates
Normal file
89
gcov_blacklist.sh
Normal file
89
gcov_blacklist.sh
Normal file
@ -0,0 +1,89 @@
|
||||
#!/bin/sh
|
||||
# this scripts is used to patch functions for GCov in the following way
|
||||
# This is style style_a
|
||||
# //LCOV_EXCL_START
|
||||
# void foo(void )
|
||||
# {
|
||||
# .......
|
||||
# }
|
||||
# //LCOV_EXCL_STOP
|
||||
# This is style_b
|
||||
# //LCOV_EXCL_START
|
||||
# void
|
||||
# foo(void )
|
||||
# {
|
||||
# ....
|
||||
# }
|
||||
# //LCOV_EXCL_STOP
|
||||
|
||||
|
||||
FUNC_MAX_LINE=500
|
||||
tags_file=./tags
|
||||
func_records=./funcs
|
||||
function_file=$1
|
||||
|
||||
function usage()
|
||||
{
|
||||
echo "Usage: sh gcov_blacklist.sh function_list_file"
|
||||
}
|
||||
|
||||
function func_style()
|
||||
{
|
||||
func="$*"
|
||||
word=`echo "$func" | grep -P -o "\b.*\(" | sed "s/(//" | wc -w`
|
||||
if [[ "$word" > "1" ]]; then
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
# check args
|
||||
[ $# != 1 ] && usage && exit
|
||||
[ ! -f $function_file ] && echo "error:$function_file does not exit" && exit
|
||||
[ -f $func_records ] && rm $func_records
|
||||
|
||||
# create tags file
|
||||
[ -f $tags_file ] && rm $tags_file
|
||||
ctags -R * > /dev/null
|
||||
|
||||
# create func regx file
|
||||
count=0
|
||||
while read line;
|
||||
do
|
||||
# line start with '#' and empty line are ignored
|
||||
echo $line | grep "#" > /dev/null && continue
|
||||
echo $line | grep -E "^\s?$" > /dev/null && continue
|
||||
func_name=`echo "$line" | awk '{print $1}'`
|
||||
grep -w $func_name $tags_file | sed -n "/;\"\tf/"p | awk -F"\t" '{print $2,$3}' | tee -a $func_records | tee > /dev/null && count=$(expr $count + 1)
|
||||
done < $function_file
|
||||
|
||||
# add LCOV_EXCL
|
||||
count=0
|
||||
while read line;
|
||||
do
|
||||
func=`echo "$line" | cut -d " " -f1 --complement | cut -d "/" -f2`
|
||||
func_style ${func}
|
||||
[ $? -eq "1" ] && style="style_a" || style="style_b"
|
||||
func=${func//\*/\\*}
|
||||
filename=`echo "$line" | awk '{print $1}'`
|
||||
# check filename
|
||||
echo $filename | grep -vE "\.c$|\.h$" > /dev/null && continue
|
||||
linenum=`sed -n "/${func}/,/{/=" $filename | head -n 1`
|
||||
if [[ "$style" == "style_a" ]]; then
|
||||
linenum=$(expr $linenum - 1)
|
||||
else
|
||||
linenum=$(expr $linenum - 2)
|
||||
fi
|
||||
sed -n ${linenum}p $filename | grep "LCOV_EXCL_START" > /dev/null || sed -i "${linenum}a\//LCOV_EXCL_START" $filename
|
||||
offset=$(grep "$func" -A $FUNC_MAX_LINE $filename | grep -n -m 1 "^}" | cut -d ":" -f 1)
|
||||
if [[ "$style" == "style_a" ]]; then
|
||||
linenum=`expr $linenum + $offset + 1`
|
||||
else
|
||||
linenum=`expr $linenum + $offset + 2`
|
||||
fi
|
||||
sed -n ${linenum}p $filename | grep "LCOV_EXCL_STOP" > /dev/null || sed -i "${linenum}a\//LCOV_EXCL_STOP" $filename
|
||||
[ $? == 0 ] && count=$(expr $count + 1)
|
||||
done < $func_records
|
||||
|
||||
echo "done"
|
||||
307
guards
Normal file
307
guards
Normal file
@ -0,0 +1,307 @@
|
||||
#!/usr/bin/perl -w
|
||||
#############################################################################
|
||||
# Copyright (c) 2003-2007,2009 Novell, Inc.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of version 2 of the GNU General Public License as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, contact Novell, Inc.
|
||||
#
|
||||
# To contact Novell about this file by physical or electronic mail,
|
||||
# you may find current contact information at www.novell.com
|
||||
#############################################################################
|
||||
#
|
||||
# Guards:
|
||||
#
|
||||
# +xxx include if xxx is defined
|
||||
# -xxx exclude if xxx is defined
|
||||
# +!xxx include if xxx is not defined
|
||||
# -!xxx exclude if xxx is not defined
|
||||
#
|
||||
|
||||
use FileHandle;
|
||||
use Getopt::Long;
|
||||
use strict;
|
||||
|
||||
# Prototypes
|
||||
sub files_in($$);
|
||||
sub parse($$);
|
||||
sub help();
|
||||
|
||||
#sub strip_ext($) {
|
||||
# local ($_) = @_;
|
||||
# s/\.(diff?|patch)$//;
|
||||
#}
|
||||
|
||||
#sub try_ext($) {
|
||||
# my ($path) = @_;
|
||||
# for my $p in (($path, "$path.diff", "$path.dif", "$path.patch")) {
|
||||
# return $p
|
||||
# if (-f $p);
|
||||
# }
|
||||
# return undef;
|
||||
#}
|
||||
|
||||
sub slashme($) {
|
||||
my ($dir) = @_;
|
||||
$dir =~ s#([^/])$#$&/#; # append a slash if necessary
|
||||
if ($dir eq './') {
|
||||
return '';
|
||||
} else {
|
||||
return $dir;
|
||||
}
|
||||
}
|
||||
|
||||
# Generate a list of files in a directory
|
||||
#
|
||||
sub files_in($$) {
|
||||
my ($dir, $path) = @_;
|
||||
my $dh = new FileHandle;
|
||||
my (@files, $file);
|
||||
|
||||
|
||||
opendir $dh, length("$dir$path") ? "$dir$path" : '.'
|
||||
or die "$dir$path: $!\n";
|
||||
while ($file = readdir($dh)) {
|
||||
next if $file =~ /^(\.|\.\.|\.#.*|CVS|.*~)$/;
|
||||
if (-d "$dir$path$file") {
|
||||
@files = (@files, files_in($dir, "$path$file/"));
|
||||
} else {
|
||||
#print "[$path$file]\n";
|
||||
push @files, "$path$file";
|
||||
}
|
||||
}
|
||||
closedir $dh;
|
||||
return @files;
|
||||
}
|
||||
|
||||
# Parse a configuration file
|
||||
# Callback called with ($patch, @guards) arguments
|
||||
#
|
||||
sub parse($$) {
|
||||
my ($fh, $callback) = @_;
|
||||
|
||||
my $line = "";
|
||||
|
||||
while (<$fh>) {
|
||||
chomp;
|
||||
s/(^|\s+)#.*//;
|
||||
if (s/\\$/ /) {
|
||||
$line .= $_;
|
||||
next;
|
||||
}
|
||||
$line .= $_;
|
||||
my @guards = ();
|
||||
foreach my $token (split /[\s\t\n]+/, $line) {
|
||||
next if $token eq "";
|
||||
if ($token =~ /^[-+]/) {
|
||||
push @guards, $token;
|
||||
} else {
|
||||
#print "[" . join(",", @guards) . "] $token\n";
|
||||
&$callback($token, @guards);
|
||||
}
|
||||
}
|
||||
$line = "";
|
||||
}
|
||||
}
|
||||
|
||||
# Command line options
|
||||
#
|
||||
my ($dir, $config, $default, $check, $list, $invert_match, $with_guards) =
|
||||
( '', '-', 1, 0, 0, 0, 0);
|
||||
my @path;
|
||||
|
||||
# Help text
|
||||
#
|
||||
sub help() {
|
||||
print "$0 - select from a list of files guarded by conditions\n";
|
||||
print "SYNOPSIS: $0 [--prefix=dir] [--path=dir1:dir2:...]\n" .
|
||||
" [--default=0|1] [--check|--list] [--invert-match]\n" .
|
||||
" [--with-guards] [--config=file] symbol ...\n\n" .
|
||||
" (Default values: --path='" . join(':', @path) . "', " .
|
||||
"--default=$default)\n";
|
||||
exit 0;
|
||||
}
|
||||
|
||||
# Parse command line options
|
||||
#
|
||||
Getopt::Long::Configure ("bundling");
|
||||
eval {
|
||||
unless (GetOptions (
|
||||
'd|prefix=s' => \$dir,
|
||||
'c|config=s' => \$config,
|
||||
'C|check' => \$check,
|
||||
'l|list' => \$list,
|
||||
'w|with-guards' => \$with_guards,
|
||||
'p|path=s' => \@path,
|
||||
'D|default=i' => \$default,
|
||||
'v|invert-match' => \$invert_match,
|
||||
'h|help' => sub { help(); exit 0; })) {
|
||||
help();
|
||||
exit 1;
|
||||
}
|
||||
};
|
||||
if ($@) {
|
||||
print "$@";
|
||||
help();
|
||||
exit 1;
|
||||
}
|
||||
|
||||
@path = ('.')
|
||||
unless (@path);
|
||||
@path = split(/:/, join(':', @path));
|
||||
|
||||
my $fh = ($config eq '-') ? \*STDIN : new FileHandle($config)
|
||||
or die "$config: $!\n";
|
||||
|
||||
$dir = slashme($dir);
|
||||
|
||||
if ($check) {
|
||||
# Check for duplicate files, or for files that are not referenced by
|
||||
# the specification.
|
||||
|
||||
my $problems = 0;
|
||||
my @files;
|
||||
|
||||
foreach (@path) {
|
||||
@files = (@files, files_in($dir, slashme($_)));
|
||||
}
|
||||
my %files = map { $_ => 0 } @files;
|
||||
|
||||
parse($fh, sub {
|
||||
my ($patch, @guards) = @_;
|
||||
if (exists $files{$patch}) {
|
||||
$files{$patch}++;
|
||||
} else {
|
||||
print "Not found: $dir$patch\n";
|
||||
$problems++;
|
||||
}});
|
||||
|
||||
$fh->close();
|
||||
|
||||
my ($file, $ref);
|
||||
while (($file, $ref) = each %files) {
|
||||
next if $ref == 1;
|
||||
|
||||
if ($ref == 0) {
|
||||
print "Unused: $file\n" if $ref == 0;
|
||||
$problems++;
|
||||
}
|
||||
if ($ref > 1) {
|
||||
print "Warning: multiple uses: $file\n" if $ref > 1;
|
||||
# This is not an error if the entries are mutually exclusive...
|
||||
}
|
||||
}
|
||||
exit $problems ? 1 : 0;
|
||||
|
||||
} elsif ($list) {
|
||||
parse($fh, sub {
|
||||
my ($patch, @guards) = @_;
|
||||
print join(' ', @guards), ' '
|
||||
if (@guards && $with_guards);
|
||||
print "$dir$patch\n";
|
||||
});
|
||||
} else {
|
||||
# Generate a list of patches to apply.
|
||||
|
||||
my %symbols = map { $_ => 1 } @ARGV;
|
||||
|
||||
parse($fh, sub {
|
||||
my ($patch, @guards) = @_;
|
||||
|
||||
my $selected;
|
||||
if (@guards) {
|
||||
# If the first guard is -xxx, the patch is included by default;
|
||||
# if it is +xxx, the patch is excluded by default.
|
||||
$selected = ($guards[0] =~ /^-/);
|
||||
|
||||
foreach (@guards) {
|
||||
/^([-+])(!?)(.*)?/
|
||||
or die "Bad guard '$_'\n";
|
||||
|
||||
# Check if the guard matches
|
||||
if (($2 eq '!' && !exists $symbols{$3}) ||
|
||||
($2 eq '' && ( $3 eq '' || exists $symbols{$3}))) {
|
||||
# Include or exclude
|
||||
$selected = ($1 eq '+');
|
||||
}
|
||||
}
|
||||
} else {
|
||||
# If there are no guards, use the specified default result.
|
||||
$selected = $default;
|
||||
}
|
||||
|
||||
print "$dir$patch\n"
|
||||
if $selected ^ $invert_match;
|
||||
});
|
||||
|
||||
$fh->close();
|
||||
|
||||
exit 0;
|
||||
}
|
||||
|
||||
__END__
|
||||
|
||||
=head1 NAME
|
||||
|
||||
guards - select from a list of files guarded by conditions
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
F<guards> [--prefix=F<dir>] [--path=F<dir1:dir2:...>] [--default=<0|1>]
|
||||
[--check|--list] [--invert-match] [--with-guards] [--config=<file>]
|
||||
I<symbol> ...
|
||||
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
The script reads a configuration file that may contain so-called guards, file
|
||||
names, and comments, and writes those file names that satisfy all guards to
|
||||
standard output. The script takes a list of symbols as its arguments. Each line
|
||||
in the configuration file is processed separately. Lines may start with a
|
||||
number of guards. The following guards are defined:
|
||||
|
||||
=over
|
||||
|
||||
+I<xxx> Include the file(s) on this line if the symbol I<xxx> is defined.
|
||||
|
||||
-I<xxx> Exclude the file(s) on this line if the symbol I<xxx> is defined.
|
||||
|
||||
+!I<xxx> Include the file(s) on this line if the symbol I<xxx> is not defined.
|
||||
|
||||
-!I<xxx> Exclude the file(s) on this line if the symbol I<xxx> is not defined.
|
||||
|
||||
- Exclude this file. Used to avoid spurious I<--check> messages.
|
||||
|
||||
=back
|
||||
|
||||
The guards are processed left to right. The last guard that matches determines
|
||||
if the file is included. If no guard is specified, the I<--default>
|
||||
setting determines if the file is included.
|
||||
|
||||
If no configuration file is specified, the script reads from standard input.
|
||||
|
||||
The I<--check> option is used to compare the specification file against the
|
||||
file system. If files are referenced in the specification that do not exist, or
|
||||
if files are not enlisted in the specification file warnings are printed. The
|
||||
I<--path> option can be used to specify which directory or directories to scan.
|
||||
Multiple directories are eparated by a colon (C<:>) character. The
|
||||
I<--prefix> option specifies the location of the files.
|
||||
|
||||
Use I<--list> to list all files independend of any rules. Use I<--invert-match>
|
||||
to list only the excluded patches. Use I<--with-guards> to also include all
|
||||
inclusion and exclusion rules.
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Andreas Gruenbacher <agruen@suse.de>, SUSE Labs
|
||||
|
||||
|
||||
624
kabi_whitelist_aarch64
Normal file
624
kabi_whitelist_aarch64
Normal file
@ -0,0 +1,624 @@
|
||||
[_aarch64_whitelist]
|
||||
___pskb_trim
|
||||
__alloc_pages_nodemask
|
||||
__alloc_percpu
|
||||
__alloc_skb
|
||||
__bdevname
|
||||
__bitmap_andnot
|
||||
__bitmap_equal
|
||||
__bitmap_intersects
|
||||
__bitmap_parse
|
||||
__bitmap_subset
|
||||
__bitmap_weight
|
||||
__blk_put_request
|
||||
__blockdev_direct_IO
|
||||
__class_create
|
||||
__class_register
|
||||
__const_udelay
|
||||
__dev_get_by_index
|
||||
__dev_get_by_name
|
||||
__dynamic_dev_dbg
|
||||
__ethtool_get_settings
|
||||
__genl_register_family
|
||||
__get_free_pages
|
||||
__get_page_tail
|
||||
__init_rwsem
|
||||
__init_waitqueue_head
|
||||
__ipv6_addr_type
|
||||
__kmalloc
|
||||
__lock_page
|
||||
__mmdrop
|
||||
__mmu_notifier_register
|
||||
__module_get
|
||||
__mutex_init
|
||||
__napi_complete
|
||||
__napi_schedule
|
||||
__ndelay
|
||||
__netdev_alloc_skb
|
||||
__netif_schedule
|
||||
__nlmsg_put
|
||||
__node_distance
|
||||
__pagevec_release
|
||||
__pci_register_driver
|
||||
__per_cpu_offset
|
||||
__pskb_pull_tail
|
||||
__register_chrdev
|
||||
__release_region
|
||||
__request_module
|
||||
__request_region
|
||||
__root_device_register
|
||||
__skb_checksum_complete
|
||||
__skb_get_hash
|
||||
__skb_gso_segment
|
||||
__symbol_get
|
||||
__symbol_put
|
||||
__task_pid_nr_ns
|
||||
__tracepoint_module_get
|
||||
__udelay
|
||||
__unregister_chrdev
|
||||
__vmalloc
|
||||
__wake_up
|
||||
_cond_resched
|
||||
_dev_info
|
||||
_raw_read_lock
|
||||
_raw_read_lock_bh
|
||||
_raw_read_lock_irqsave
|
||||
_raw_read_unlock_bh
|
||||
_raw_read_unlock_irqrestore
|
||||
_raw_spin_lock
|
||||
_raw_spin_lock_bh
|
||||
_raw_spin_lock_irq
|
||||
_raw_spin_lock_irqsave
|
||||
_raw_spin_trylock
|
||||
_raw_spin_unlock_bh
|
||||
_raw_spin_unlock_irqrestore
|
||||
_raw_write_lock
|
||||
_raw_write_lock_bh
|
||||
_raw_write_lock_irq
|
||||
_raw_write_lock_irqsave
|
||||
_raw_write_unlock_bh
|
||||
_raw_write_unlock_irqrestore
|
||||
add_disk
|
||||
add_timer
|
||||
add_wait_queue
|
||||
add_wait_queue_exclusive
|
||||
alloc_chrdev_region
|
||||
alloc_disk
|
||||
alloc_etherdev_mqs
|
||||
alloc_netdev_mqs
|
||||
alloc_pages_current
|
||||
arp_create
|
||||
arp_send
|
||||
arp_xmit
|
||||
atomic_notifier_chain_register
|
||||
atomic_notifier_chain_unregister
|
||||
autoremove_wake_function
|
||||
bdevname
|
||||
bdget
|
||||
bdget_disk
|
||||
bdi_destroy
|
||||
bdi_init
|
||||
bdi_register_dev
|
||||
bdput
|
||||
bio_add_page
|
||||
bio_alloc_bioset
|
||||
bio_clone_bioset
|
||||
bio_endio
|
||||
bio_get_nr_vecs
|
||||
bio_init
|
||||
bio_put
|
||||
bitmap_release_region
|
||||
blk_alloc_queue
|
||||
blk_cleanup_queue
|
||||
blk_execute_rq
|
||||
blk_execute_rq_nowait
|
||||
blk_fetch_request
|
||||
blk_get_queue
|
||||
blk_get_request
|
||||
blk_init_queue
|
||||
blk_make_request
|
||||
blk_put_queue
|
||||
blk_put_request
|
||||
blk_queue_bounce
|
||||
blk_queue_bounce_limit
|
||||
blk_queue_dma_alignment
|
||||
blk_queue_logical_block_size
|
||||
blk_queue_make_request
|
||||
blk_queue_max_hw_sectors
|
||||
blk_queue_max_segments
|
||||
blk_queue_merge_bvec
|
||||
blk_queue_segment_boundary
|
||||
blk_queue_softirq_done
|
||||
blk_queue_stack_limits
|
||||
blk_rq_map_kern
|
||||
blk_start_plug
|
||||
blk_start_queue
|
||||
blk_stop_queue
|
||||
blk_sync_queue
|
||||
blkdev_get
|
||||
blkdev_get_by_dev
|
||||
blkdev_get_by_path
|
||||
blkdev_issue_discard
|
||||
blkdev_put
|
||||
block_write_begin
|
||||
block_write_full_page
|
||||
boot_tvec_bases
|
||||
bus_register
|
||||
bus_unregister
|
||||
call_rcu_sched
|
||||
call_usermodehelper
|
||||
call_usermodehelper_exec
|
||||
call_usermodehelper_setup
|
||||
cancel_delayed_work
|
||||
cancel_delayed_work_sync
|
||||
cdev_add
|
||||
cdev_alloc
|
||||
cdev_del
|
||||
cdev_init
|
||||
class_destroy
|
||||
class_unregister
|
||||
clear_page_dirty_for_io
|
||||
complete
|
||||
complete_all
|
||||
complete_and_exit
|
||||
consume_skb
|
||||
copy_page
|
||||
cpu_active_mask
|
||||
cpu_bit_bitmap
|
||||
cpu_online_mask
|
||||
cpu_possible_mask
|
||||
cpu_present_mask
|
||||
csum_ipv6_magic
|
||||
csum_partial
|
||||
current_fs_time
|
||||
default_wake_function
|
||||
del_gendisk
|
||||
del_timer
|
||||
del_timer_sync
|
||||
delayed_work_timer_fn
|
||||
destroy_workqueue
|
||||
dev_addr_add
|
||||
dev_addr_del
|
||||
dev_close
|
||||
dev_err
|
||||
dev_get_by_index
|
||||
dev_get_by_name
|
||||
dev_get_stats
|
||||
dev_mc_add
|
||||
dev_mc_del
|
||||
dev_open
|
||||
dev_printk
|
||||
dev_set_allmulti
|
||||
dev_set_mac_address
|
||||
dev_set_mtu
|
||||
dev_set_name
|
||||
dev_set_promiscuity
|
||||
dev_trans_start
|
||||
dev_warn
|
||||
device_create
|
||||
device_create_file
|
||||
device_del
|
||||
device_destroy
|
||||
device_register
|
||||
device_remove_file
|
||||
device_unregister
|
||||
disable_irq
|
||||
disable_irq_nosync
|
||||
dma_ops
|
||||
dmi_find_device
|
||||
dmi_get_system_info
|
||||
do_exit
|
||||
do_gettimeofday
|
||||
down
|
||||
down_interruptible
|
||||
down_read
|
||||
down_read_trylock
|
||||
down_trylock
|
||||
down_write
|
||||
down_write_trylock
|
||||
driver_create_file
|
||||
driver_register
|
||||
driver_remove_file
|
||||
driver_unregister
|
||||
dst_release
|
||||
dump_stack
|
||||
efi
|
||||
elevator_change
|
||||
emergency_restart
|
||||
enable_irq
|
||||
end_page_writeback
|
||||
eth_change_mtu
|
||||
eth_mac_addr
|
||||
eth_type_trans
|
||||
eth_validate_addr
|
||||
ether_setup
|
||||
ethtool_op_get_link
|
||||
fb_dealloc_cmap
|
||||
find_get_pages_tag
|
||||
find_module
|
||||
find_next_bit
|
||||
find_next_zero_bit
|
||||
find_vma
|
||||
find_vpid
|
||||
finish_wait
|
||||
flush_scheduled_work
|
||||
flush_signals
|
||||
framebuffer_alloc
|
||||
framebuffer_release
|
||||
free_irq
|
||||
free_netdev
|
||||
free_pages
|
||||
free_percpu
|
||||
fs_bio_set
|
||||
fsync_bdev
|
||||
generic_make_request
|
||||
genl_unregister_family
|
||||
genlmsg_put
|
||||
get_device
|
||||
get_random_bytes
|
||||
get_seconds
|
||||
get_task_mm
|
||||
get_user_pages
|
||||
get_zeroed_page
|
||||
hci_alloc_dev
|
||||
hci_free_dev
|
||||
hci_register_dev
|
||||
hci_unregister_dev
|
||||
hrtimer_cancel
|
||||
hrtimer_forward
|
||||
hrtimer_init
|
||||
hrtimer_start
|
||||
icmpv6_send
|
||||
in_aton
|
||||
inc_zone_page_state
|
||||
inet_proto_csum_replace4
|
||||
init_net
|
||||
init_task
|
||||
init_timer_key
|
||||
init_uts_ns
|
||||
invalidate_bdev
|
||||
invalidate_partition
|
||||
ioctl_by_bdev
|
||||
ip_send_check
|
||||
ipmi_register_smi
|
||||
ipmi_smi_msg_received
|
||||
ipmi_unregister_smi
|
||||
ipv6_dev_get_saddr
|
||||
ipv6_ext_hdr
|
||||
ipv6_skip_exthdr
|
||||
irq_stat
|
||||
jiffies
|
||||
jiffies_64
|
||||
jiffies_to_msecs
|
||||
kernel_bind
|
||||
kernel_getsockopt
|
||||
kernel_recvmsg
|
||||
kernel_sendmsg
|
||||
kernel_setsockopt
|
||||
kernel_sock_ioctl
|
||||
kfree
|
||||
kfree_skb
|
||||
kill_block_super
|
||||
kill_pid
|
||||
kmalloc_caches
|
||||
kmalloc_order_trace
|
||||
kmem_cache_alloc
|
||||
kmem_cache_alloc_node_trace
|
||||
kmem_cache_alloc_trace
|
||||
kmem_cache_create
|
||||
kmem_cache_destroy
|
||||
kmem_cache_free
|
||||
kmem_cache_shrink
|
||||
kobject_get
|
||||
kobject_put
|
||||
kobject_set_name
|
||||
krealloc
|
||||
kstrtoll
|
||||
kthread_bind
|
||||
kthread_create_on_node
|
||||
kthread_should_stop
|
||||
kthread_stop
|
||||
ktime_get
|
||||
lock_sock_nested
|
||||
lookup_bdev
|
||||
mapping_tagged
|
||||
mark_page_accessed
|
||||
mem_section
|
||||
memchr
|
||||
memcmp
|
||||
memcpy
|
||||
memmove
|
||||
memory_read_from_buffer
|
||||
mempool_alloc
|
||||
mempool_alloc_slab
|
||||
mempool_create
|
||||
mempool_destroy
|
||||
mempool_free
|
||||
mempool_free_slab
|
||||
memset
|
||||
misc_deregister
|
||||
misc_register
|
||||
mmput
|
||||
mmu_notifier_register
|
||||
mmu_notifier_unregister
|
||||
mod_timer
|
||||
module_layout
|
||||
module_put
|
||||
module_refcount
|
||||
msecs_to_jiffies
|
||||
msleep
|
||||
mutex_lock
|
||||
mutex_trylock
|
||||
mutex_unlock
|
||||
napi_get_frags
|
||||
napi_gro_frags
|
||||
napi_gro_receive
|
||||
net_namespace_list
|
||||
net_ratelimit
|
||||
netdev_change_features
|
||||
netdev_features_change
|
||||
netdev_increment_features
|
||||
netdev_master_upper_dev_get
|
||||
netdev_master_upper_dev_link
|
||||
netdev_rx_handler_register
|
||||
netdev_rx_handler_unregister
|
||||
netdev_update_features
|
||||
netif_carrier_off
|
||||
netif_carrier_on
|
||||
netif_device_attach
|
||||
netif_device_detach
|
||||
netif_napi_add
|
||||
netif_napi_del
|
||||
netif_rx
|
||||
netif_rx_ni
|
||||
netif_set_real_num_tx_queues
|
||||
netlink_broadcast
|
||||
netlink_unicast
|
||||
nf_register_hooks
|
||||
nf_unregister_hooks
|
||||
nla_find
|
||||
nla_memcpy
|
||||
nla_put
|
||||
nla_reserve
|
||||
node_data
|
||||
node_states
|
||||
node_to_cpumask_map
|
||||
nr_cpu_ids
|
||||
numa_node
|
||||
on_each_cpu
|
||||
pagevec_lookup
|
||||
pagevec_lookup_tag
|
||||
panic
|
||||
panic_notifier_list
|
||||
param_array_ops
|
||||
param_get_charp
|
||||
param_get_int
|
||||
param_get_long
|
||||
param_get_uint
|
||||
param_get_ulong
|
||||
param_ops_bool
|
||||
param_ops_byte
|
||||
param_ops_charp
|
||||
param_ops_int
|
||||
param_ops_long
|
||||
param_ops_short
|
||||
param_ops_string
|
||||
param_ops_uint
|
||||
param_ops_ulong
|
||||
param_set_bool
|
||||
param_set_charp
|
||||
param_set_int
|
||||
param_set_long
|
||||
param_set_uint
|
||||
param_set_ulong
|
||||
pci_bus_read_config_byte
|
||||
pci_bus_read_config_dword
|
||||
pci_bus_read_config_word
|
||||
pci_bus_write_config_byte
|
||||
pci_bus_write_config_dword
|
||||
pci_bus_write_config_word
|
||||
pci_clear_master
|
||||
pci_disable_device
|
||||
pci_disable_msi
|
||||
pci_disable_msix
|
||||
pci_enable_device
|
||||
pci_enable_msix
|
||||
pci_find_capability
|
||||
pci_get_device
|
||||
pci_get_subsys
|
||||
pci_iomap
|
||||
pci_release_regions
|
||||
pci_request_regions
|
||||
pci_set_master
|
||||
pci_unregister_driver
|
||||
pid_task
|
||||
platform_device_add
|
||||
platform_device_alloc
|
||||
platform_device_put
|
||||
platform_device_unregister
|
||||
prepare_to_wait
|
||||
prepare_to_wait_exclusive
|
||||
printk
|
||||
proc_create_data
|
||||
proc_dointvec
|
||||
proc_dointvec_minmax
|
||||
proc_dostring
|
||||
proc_mkdir
|
||||
proc_mkdir_mode
|
||||
pskb_expand_head
|
||||
put_device
|
||||
put_disk
|
||||
put_page
|
||||
queue_delayed_work_on
|
||||
queue_work_on
|
||||
rcu_barrier
|
||||
recalc_sigpending
|
||||
ref_module
|
||||
register_blkdev
|
||||
register_inet6addr_notifier
|
||||
register_inetaddr_notifier
|
||||
register_netdev
|
||||
register_netdevice
|
||||
register_netdevice_notifier
|
||||
register_netevent_notifier
|
||||
register_pernet_subsys
|
||||
register_reboot_notifier
|
||||
register_sysctl_paths
|
||||
release_sock
|
||||
remap_pfn_range
|
||||
request_threaded_irq
|
||||
root_device_unregister
|
||||
rtnl_is_locked
|
||||
rtnl_link_register
|
||||
rtnl_link_unregister
|
||||
rtnl_lock
|
||||
rtnl_trylock
|
||||
rtnl_unlock
|
||||
schedule
|
||||
schedule_timeout
|
||||
scsi_add_host_with_dma
|
||||
scsi_command_size_tbl
|
||||
scsi_device_get
|
||||
scsi_device_lookup
|
||||
scsi_device_put
|
||||
scsi_device_type
|
||||
scsi_host_alloc
|
||||
scsi_host_lookup
|
||||
scsi_host_put
|
||||
scsi_host_set_state
|
||||
scsi_is_fc_rport
|
||||
scsi_is_sdev_device
|
||||
scsi_register_driver
|
||||
scsi_remove_device
|
||||
scsi_remove_host
|
||||
send_sig
|
||||
send_sig_info
|
||||
seq_lseek
|
||||
seq_open
|
||||
seq_printf
|
||||
seq_putc
|
||||
seq_puts
|
||||
seq_read
|
||||
seq_release
|
||||
seq_write
|
||||
set_blocksize
|
||||
set_cpus_allowed_ptr
|
||||
set_device_ro
|
||||
set_disk_ro
|
||||
set_page_dirty
|
||||
si_meminfo
|
||||
simple_strtol
|
||||
simple_strtoul
|
||||
simple_strtoull
|
||||
single_open
|
||||
single_release
|
||||
sk_alloc
|
||||
sk_free
|
||||
skb_checksum
|
||||
skb_checksum_help
|
||||
skb_clone
|
||||
skb_copy
|
||||
skb_copy_bits
|
||||
skb_copy_expand
|
||||
skb_dequeue
|
||||
skb_dequeue_tail
|
||||
skb_make_writable
|
||||
skb_pad
|
||||
skb_partial_csum_set
|
||||
skb_pull
|
||||
skb_push
|
||||
skb_put
|
||||
skb_queue_head
|
||||
skb_queue_purge
|
||||
skb_queue_tail
|
||||
skb_realloc_headroom
|
||||
skb_recv_datagram
|
||||
skb_trim
|
||||
skb_tstamp_tx
|
||||
skb_unlink
|
||||
smp_call_function_single
|
||||
snprintf
|
||||
sock_alloc_send_skb
|
||||
sock_create_kern
|
||||
sprintf
|
||||
sscanf
|
||||
static_key_slow_dec
|
||||
static_key_slow_inc
|
||||
stop_machine
|
||||
strcasecmp
|
||||
strcat
|
||||
strchr
|
||||
strcmp
|
||||
strcpy
|
||||
strlcpy
|
||||
strlen
|
||||
strncasecmp
|
||||
strncat
|
||||
strncmp
|
||||
strncpy
|
||||
strncpy_from_user
|
||||
strnlen
|
||||
strrchr
|
||||
strsep
|
||||
strstr
|
||||
submit_bio
|
||||
sync_blockdev
|
||||
synchronize_net
|
||||
sys_tz
|
||||
system_wq
|
||||
time_to_tm
|
||||
touch_softlockup_watchdog
|
||||
truncate_inode_pages
|
||||
truncate_pagecache
|
||||
try_module_get
|
||||
unlock_page
|
||||
unmap_mapping_range
|
||||
unregister_blkdev
|
||||
unregister_chrdev_region
|
||||
unregister_inet6addr_notifier
|
||||
unregister_inetaddr_notifier
|
||||
unregister_netdev
|
||||
unregister_netdevice_notifier
|
||||
unregister_netdevice_queue
|
||||
unregister_netevent_notifier
|
||||
unregister_pernet_subsys
|
||||
unregister_reboot_notifier
|
||||
unregister_shrinker
|
||||
unregister_sysctl_table
|
||||
unuse_mm
|
||||
up
|
||||
up_read
|
||||
up_write
|
||||
use_mm
|
||||
usleep_range
|
||||
vfree
|
||||
vga_set_legacy_decoding
|
||||
vlan_dev_real_dev
|
||||
vlan_dev_vlan_id
|
||||
vm_insert_pfn
|
||||
vm_mmap
|
||||
vm_munmap
|
||||
vm_stat
|
||||
videobuf_queue_vmalloc_init
|
||||
vmalloc
|
||||
videobuf_to_vmalloc
|
||||
videobuf_vmalloc_free
|
||||
vb2_vmalloc_memops
|
||||
vmalloc_32
|
||||
vmalloc_to_page
|
||||
vmalloc_user
|
||||
vmap
|
||||
vprintk
|
||||
vscnprintf
|
||||
vsnprintf
|
||||
vsprintf
|
||||
vunmap
|
||||
wait_for_completion
|
||||
wait_for_completion_interruptible
|
||||
wait_for_completion_interruptible_timeout
|
||||
wait_on_page_bit
|
||||
wake_up_process
|
||||
xt_register_targets
|
||||
xt_unregister_targets
|
||||
yield
|
||||
zap_vma_ptes
|
||||
853
kernel.spec
Normal file
853
kernel.spec
Normal file
@ -0,0 +1,853 @@
|
||||
|
||||
|
||||
%define with_signmodules 1
|
||||
|
||||
%define with_kabichk 1
|
||||
|
||||
%define modsign_cmd %{SOURCE10}
|
||||
|
||||
%global Arch $(echo %{_host_cpu} | sed -e s/i.86/x86/ -e s/x86_64/x86/ -e s/aarch64.*/arm64/)
|
||||
|
||||
%global TarballVer 4.19.13
|
||||
|
||||
%global KernelVer %{version}-%{release}.%{_target_cpu}
|
||||
|
||||
%global hulkrelease vhulk1907.1.0
|
||||
|
||||
%define with_patch 0
|
||||
|
||||
%define debuginfodir /usr/lib/debug
|
||||
|
||||
%define with_debuginfo 1
|
||||
|
||||
%define with_source 1
|
||||
|
||||
Name: kernel
|
||||
Version: 4.19.90
|
||||
Release: %{hulkrelease}.0012
|
||||
Summary: Linux Kernel
|
||||
License: GPLv2
|
||||
URL: http://www.kernel.org/
|
||||
%if 0%{?with_patch}
|
||||
Source0: linux-%{TarballVer}.tar.gz
|
||||
%else
|
||||
Source0: linux-%{version}.tar.gz
|
||||
%endif
|
||||
Source1: Makefile.common
|
||||
Source10: sign-modules
|
||||
Source11: x509.genkey
|
||||
Source12: extra_certificates
|
||||
Source15: merge.pl
|
||||
|
||||
%if 0%{?with_kabichk}
|
||||
Source18: check-kabi
|
||||
Source20: Module.kabi_aarch64
|
||||
%endif
|
||||
|
||||
Source30: Makefile.config
|
||||
Source50: config-debug
|
||||
Source51: config-nodebug
|
||||
Source52: config-arm64
|
||||
Source53: config-generic
|
||||
Source55: config-local
|
||||
Source59: config-arm-generic
|
||||
Source200: mkgrub-menu-aarch64.sh
|
||||
|
||||
Source2000: cpupower.service
|
||||
Source2001: cpupower.config
|
||||
|
||||
%if 0%{?with_patch}
|
||||
Source9000: apply-patches
|
||||
Source9001: guards
|
||||
Source9002: series.conf
|
||||
Source9998: patches.tar.bz2
|
||||
%endif
|
||||
|
||||
#BuildRequires:
|
||||
BuildRequires: module-init-tools, patch >= 2.5.4, bash >= 2.03, tar
|
||||
BuildRequires: bzip2, xz, findutils, gzip, m4, perl, make >= 3.78, diffutils, gawk
|
||||
BuildRequires: gcc >= 3.4.2, binutils >= 2.12
|
||||
BuildRequires: hostname, net-tools, bc
|
||||
BuildRequires: xmlto, asciidoc
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: hmaccalc
|
||||
BuildRequires: ncurses-devel
|
||||
#BuildRequires: pesign >= 0.109-4
|
||||
BuildRequires: elfutils-libelf-devel
|
||||
#BuildRequires: sparse >= 0.4.1
|
||||
BuildRequires: elfutils-devel zlib-devel binutils-devel newt-devel python-devel perl(ExtUtils::Embed) bison
|
||||
BuildRequires: audit-libs-devel
|
||||
BuildRequires: pciutils-devel gettext
|
||||
BuildRequires: rpm-build, elfutils
|
||||
BuildRequires: numactl-devel python3-devel glibc-static python3-docutils
|
||||
BuildRequires: perl-generators perl(Carp) libunwind-devel gtk2-devel libbabeltrace-devel java-1.8.0-openjdk
|
||||
AutoReq: no
|
||||
AutoProv: yes
|
||||
|
||||
Conflicts: device-mapper-libs < 1.02.63-2 e2fsprogs < 1.37-4 initscripts < 7.23 iptables < 1.3.2-1
|
||||
Conflicts: ipw2200-firmware < 2.4 isdn4k-utils < 3.2-32 iwl4965-firmware < 228.57.2 jfsutils < 1.1.7-2
|
||||
Conflicts: mdadm < 3.2.1-5 nfs-utils < 1.0.7-12 oprofile < 0.9.1-2 ppp < 2.4.3-3 procps < 3.2.5-6.3
|
||||
Conflicts: reiserfs-utils < 3.6.19-2 selinux-policy-targeted < 1.25.3-14 squashfs-tools < 4.0
|
||||
Conflicts: udev < 063-6 util-linux < 2.12 wireless-tools < 29-3 xfsprogs < 2.6.13-4
|
||||
|
||||
Provides: kernel-aarch64 = %{version}-%{release} kernel-drm = 4.3.0 kernel-drm-nouveau = 16 kernel-modeset = 1
|
||||
Provides: kernel-uname-r = %{KernelVer} kernel=%{KernelVer}
|
||||
|
||||
Requires: dracut >= 001-7 grubby >= 8.28-2 initscripts >= 8.11.1-1 linux-firmware >= 20100806-2 module-init-tools >= 3.16-2
|
||||
|
||||
ExclusiveArch: noarch aarch64 i686 x86_64
|
||||
ExclusiveOS: Linux
|
||||
|
||||
%description
|
||||
The Linux Kernel, the operating system core itself.
|
||||
|
||||
%package devel
|
||||
Summary: Development package for building kernel modules to match the %{KernelVer} kernel
|
||||
AutoReqProv: no
|
||||
Provides: %{name}-headers
|
||||
Obsoletes: %{name}-headers
|
||||
Provides: glibc-kernheaders
|
||||
Provides: kernel-devel-uname-r = %{KernelVer}
|
||||
Provides: kernel-devel-aarch64 = %{version}-%{release}
|
||||
Requires: perl findutils
|
||||
|
||||
%description devel
|
||||
This package provides kernel headers and makefiles sufficient to build modules
|
||||
against the %{KernelVer} kernel package.
|
||||
|
||||
%package tools
|
||||
Summary: Assortment of tools for the Linux kernel
|
||||
Provides: %{name}-tools-libs
|
||||
Obsoletes: %{name}-tools-libs
|
||||
Provides: cpufreq-utils = 1:009-0.6.p1
|
||||
Provides: cpufrequtils = 1:009-0.6.p1
|
||||
Obsoletes: cpufreq-utils < 1:009-0.6.p1
|
||||
Obsoletes: cpufrequtils < 1:009-0.6.p1
|
||||
Obsoletes: cpuspeed < 1:1.5-16
|
||||
%description tools
|
||||
This package contains the tools/ directory from the kernel source
|
||||
and the supporting documentation.
|
||||
|
||||
%package tools-devel
|
||||
Summary: Assortment of tools for the Linux kernel
|
||||
Requires: kernel-tools = %{version}-%{release}
|
||||
Requires: kernel-tools-libs = %{version}-%{release}
|
||||
Provides: kernel-tools-libs-devel = %{version}-%{release}
|
||||
Obsoletes: kernel-tools-libs-devel
|
||||
%description tools-devel
|
||||
This package contains the development files for the tools/ directory from
|
||||
the kernel source.
|
||||
|
||||
%package -n perf
|
||||
Summary: Performance monitoring for the Linux kernel
|
||||
%description -n perf
|
||||
This package contains the perf tool, which enables performance monitoring
|
||||
of the Linux kernel.
|
||||
|
||||
%package -n python2-perf
|
||||
Provides: python-perf = %{version}-%{release}
|
||||
Obsoletes: python-perf
|
||||
Summary: Python bindings for apps which will manipulate perf events
|
||||
|
||||
%description -n python2-perf
|
||||
A Python module that permits applications written in the Python programming
|
||||
language to use the interface to manipulate perf events.
|
||||
|
||||
%package -n python3-perf
|
||||
Summary: Python bindings for apps which will manipulate perf events
|
||||
%description -n python3-perf
|
||||
A Python module that permits applications written in the Python programming
|
||||
language to use the interface to manipulate perf events.
|
||||
|
||||
%package -n bpftool
|
||||
Summary: Inspection and simple manipulation of eBPF programs and maps
|
||||
%description -n bpftool
|
||||
This package contains the bpftool, which allows inspection and simple
|
||||
manipulation of eBPF programs and maps.
|
||||
|
||||
%package source
|
||||
Summary: the kernel source
|
||||
%description source
|
||||
This package contains vaious source files from the kernel.
|
||||
|
||||
%if 0%{?with_debuginfo}
|
||||
%define _debuginfo_template %{nil}
|
||||
%define _debuginfo_subpackages 0
|
||||
|
||||
%define debuginfo_template(n:) \
|
||||
%package -n %{-n*}-debuginfo\
|
||||
Summary: Debug information for package %{-n*}\
|
||||
Group: Development/Debug\
|
||||
AutoReq: 0\
|
||||
AutoProv: 1\
|
||||
%description -n %{-n*}-debuginfo\
|
||||
This package provides debug information for package %{-n*}.\
|
||||
Debug information is useful when developing applications that use this\
|
||||
package or when debugging this package.\
|
||||
%{nil}
|
||||
|
||||
%debuginfo_template -n kernel
|
||||
%files -n kernel-debuginfo -f kernel-debugfiles.list -f debugfiles.list
|
||||
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*/%{KernelVer}/.*|.*/vmlinux|XXX' -o kernel-debugfiles.list}
|
||||
|
||||
%debuginfo_template -n bpftool
|
||||
%files -n bpftool-debuginfo -f bpftool-debugfiles.list
|
||||
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%{_sbindir}/bpftool.*(\.debug)?|XXX' -o bpftool-debugfiles.list}
|
||||
|
||||
%debuginfo_template -n kernel-tools
|
||||
%files -n kernel-tools-debuginfo -f kernel-tools-debugfiles.list
|
||||
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%{_bindir}/centrino-decode.*(\.debug)?|.*%{_bindir}/powernow-k8-decode.*(\.debug)?|.*%{_bindir}/cpupower.*(\.debug)?|.*%{_libdir}/libcpupower.*|.*%{_libdir}/libcpupower.*|.*%{_bindir}/turbostat.(\.debug)?|.*%{_bindir}/.*gpio.*(\.debug)?|.*%{_bindir}/.*iio.*(\.debug)?|.*%{_bindir}/tmon.*(.debug)?|XXX' -o kernel-tools-debugfiles.list}
|
||||
|
||||
%debuginfo_template -n perf
|
||||
%files -n perf-debuginfo -f perf-debugfiles.list
|
||||
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%{_bindir}/perf.*(\.debug)?|.*%{_libexecdir}/perf-core/.*|.*%{_libdir}/traceevent/.*|XXX' -o perf-debugfiles.list}
|
||||
|
||||
|
||||
%debuginfo_template -n python2-perf
|
||||
%files -n python2-perf-debuginfo -f python2-perf-debugfiles.list
|
||||
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%{python2_sitearch}/perf.*(.debug)?|XXX' -o python2-perf-debugfiles.list}
|
||||
|
||||
%debuginfo_template -n python3-perf
|
||||
%files -n python3-perf-debuginfo -f python3-perf-debugfiles.list
|
||||
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%{python3_sitearch}/perf.*(.debug)?|XXX' -o python3-perf-debugfiles.list}
|
||||
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%if 0%{?with_patch}
|
||||
if [ ! -d kernel-%{version}/vanilla-%{TarballVer} ];then
|
||||
%setup -q -n kernel-%{version} -a 9998 -c
|
||||
mv linux-%{TarballVer} vanilla-%{TarballVer}
|
||||
else
|
||||
cd kernel-%{version}
|
||||
fi
|
||||
cp -rl vanilla-%{TarballVer} linux-%{KernelVer}
|
||||
%else
|
||||
%setup -q -n kernel-%{version} -c
|
||||
cp -rl linux-%{version} linux-%{KernelVer}
|
||||
%endif
|
||||
|
||||
cd linux-%{KernelVer}
|
||||
cp $RPM_SOURCE_DIR/config-* .
|
||||
cp %{SOURCE15} .
|
||||
cp %{SOURCE30} .
|
||||
|
||||
%if 0%{?with_patch}
|
||||
cp %{SOURCE9000} .
|
||||
cp %{SOURCE9001} .
|
||||
cp %{SOURCE9002} .
|
||||
|
||||
if [ ! -d patches ];then
|
||||
mv ../patches .
|
||||
fi
|
||||
|
||||
Applypatches()
|
||||
{
|
||||
set -e
|
||||
set -o pipefail
|
||||
local SERIESCONF=$1
|
||||
local PATCH_DIR=$2
|
||||
sed -i '/^#/d' $SERIESCONF
|
||||
sed -i '/^[\s]*$/d' $SERIESCONF
|
||||
(
|
||||
echo "trap 'echo \"*** patch \$_ failed ***\"' ERR"
|
||||
echo "set -ex"
|
||||
cat $SERIESCONF | \
|
||||
sed "s!^!patch -s -F0 -E -p1 --no-backup-if-mismatch -i $PATCH_DIR/!" \
|
||||
) | sh
|
||||
}
|
||||
|
||||
Applypatches series.conf %{_builddir}/kernel-%{version}/linux-%{KernelVer}
|
||||
%endif
|
||||
|
||||
make -f Makefile.config VERSION=%{version} configs
|
||||
|
||||
%if !0%{?debugbuildsenabled}
|
||||
rm -f kernel-%{version}-*debug.config
|
||||
%endif
|
||||
|
||||
touch .scmversion
|
||||
|
||||
find . \( -name "*.orig" -o -name "*~" \) -exec rm -f {} \; >/dev/null
|
||||
find . -name .gitignore -exec rm -f {} \; >/dev/null
|
||||
|
||||
%if 0%{?with_signmodules}
|
||||
cp %{SOURCE11} certs/.
|
||||
%endif
|
||||
|
||||
%if 0%{?with_source}
|
||||
# Copy directory backup for kernel-source
|
||||
cp -a ../linux-%{KernelVer} ../linux-%{KernelVer}-Source
|
||||
find ../linux-%{KernelVer}-Source -type f -name "\.*" -exec rm -rf {} \; >/dev/null
|
||||
%endif
|
||||
|
||||
cp -a tools/perf tools/python3-perf
|
||||
|
||||
%build
|
||||
cd linux-%{KernelVer}
|
||||
|
||||
perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}.%{_target_cpu}/" Makefile
|
||||
|
||||
## make linux
|
||||
make mrproper %{_smp_mflags}
|
||||
|
||||
make ARCH=%{Arch} euleros_defconfig
|
||||
make ARCH=%{Arch} oldnoconfig
|
||||
|
||||
TargetImage=$(basename $(make -s image_name))
|
||||
|
||||
make ARCH=%{Arch} $TargetImage %{?_smp_mflags}
|
||||
make ARCH=%{Arch} modules %{?_smp_mflags}
|
||||
|
||||
%if 0%{?with_kabichk}
|
||||
chmod 0755 %{SOURCE18}
|
||||
if [ -e $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu}]; then
|
||||
%{SOURCE18} -k $RPM_BUILD_ROOT/Module.kabi_%{_target_cpu} -s Module.symvers || exit 1
|
||||
else
|
||||
echo "**** NOTE: Cannot find reference Module.kabi file. ****"
|
||||
fi
|
||||
%endif
|
||||
|
||||
# aarch64 make dtbs
|
||||
%ifarch aarch64
|
||||
make ARCH=%{Arch} dtbs
|
||||
%endif
|
||||
|
||||
## make tools
|
||||
# perf
|
||||
%global perf_make \
|
||||
make EXTRA_CFLAGS="-Wl,-z,now -g -Wall -fstack-protector-strong -fPIC" EXTRA_PERFLIBS="-fpie -pie" %{?_smp_mflags} -s V=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_LIBNUMA=1 NO_STRLCPY=1 prefix=%{_prefix}
|
||||
%global perf_python2 -C tools/perf PYTHON=%{__python2}
|
||||
%global perf_python3 -C tools/python3-perf PYTHON=%{__python3}
|
||||
# perf
|
||||
chmod +x tools/perf/check-headers.sh
|
||||
%{perf_make} %{perf_python2} all
|
||||
|
||||
# make sure check-headers.sh is executable
|
||||
chmod +x tools/python3-perf/check-headers.sh
|
||||
%{perf_make} %{perf_python3} all
|
||||
|
||||
pushd tools/perf/Documentation/
|
||||
make %{?_smp_mflags} man
|
||||
popd
|
||||
|
||||
# bpftool
|
||||
pushd tools/bpf/bpftool
|
||||
make
|
||||
popd
|
||||
|
||||
# cpupower
|
||||
chmod +x tools/power/cpupower/utils/version-gen.sh
|
||||
make %{?_smp_mflags} -C tools/power/cpupower CPUFREQ_BENCH=false
|
||||
%ifarch %{ix86}
|
||||
pushd tools/power/cpupower/debug/i386
|
||||
make %{?_smp_mflags} centrino-decode powernow-k8-decode
|
||||
popd
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
pushd tools/power/cpupower/debug/x86_64
|
||||
make %{?_smp_mflags} centrino-decode powernow-k8-decode
|
||||
popd
|
||||
%endif
|
||||
%ifarch %{ix86} x86_64
|
||||
pushd tools/power/x86/x86_energy_perf_policy/
|
||||
make
|
||||
popd
|
||||
pushd tools/power/x86/turbostat
|
||||
make
|
||||
popd
|
||||
%endif
|
||||
# thermal
|
||||
pushd tools/thermal/tmon/
|
||||
make
|
||||
popd
|
||||
# iio
|
||||
pushd tools/iio/
|
||||
make
|
||||
popd
|
||||
# gpio
|
||||
pushd tools/gpio/
|
||||
make
|
||||
popd
|
||||
# kvm
|
||||
pushd tools/kvm/kvm_stat/
|
||||
make %{?_smp_mflags} man
|
||||
popd
|
||||
|
||||
|
||||
%install
|
||||
%if 0%{?with_source}
|
||||
%define _python_bytecompile_errors_terminate_build 0
|
||||
mkdir -p $RPM_BUILD_ROOT/usr/src/
|
||||
mv linux-%{KernelVer}-Source $RPM_BUILD_ROOT/usr/src/linux-%{KernelVer}
|
||||
cp linux-%{KernelVer}/.config $RPM_BUILD_ROOT/usr/src/linux-%{KernelVer}/
|
||||
cp linux-%{KernelVer}/.scmversion $RPM_BUILD_ROOT/usr/src/linux-%{KernelVer}/
|
||||
%endif
|
||||
|
||||
cd linux-%{KernelVer}
|
||||
|
||||
## install linux
|
||||
|
||||
# deal with kernel-source, now we don't need kernel-source
|
||||
#mkdir $RPM_BUILD_ROOT/usr/src/linux-%{KernelVer}
|
||||
#tar cf - --exclude SCCS --exclude BitKeeper --exclude .svn --exclude CVS --exclude .pc --exclude .hg --exclude .git --exclude=.tmp_versions --exclude=*vmlinux* --exclude=*.o --exclude=*.ko --exclude=*.cmd --exclude=Documentation --exclude=.config.old --exclude=.missing-syscalls.d --exclude=patches . | tar xf - -C %{buildroot}/usr/src/linux-%{KernelVer}
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT/boot
|
||||
dd if=/dev/zero of=$RPM_BUILD_ROOT/boot/initramfs-%{KernelVer}.img bs=1M count=20
|
||||
|
||||
install -m 755 $(make -s image_name) $RPM_BUILD_ROOT/boot/vmlinuz-%{KernelVer}
|
||||
pushd $RPM_BUILD_ROOT/boot
|
||||
sha512hmac ./vmlinuz-%{KernelVer} >./.vmlinuz-%{KernelVer}.hmac
|
||||
popd
|
||||
|
||||
install -m 644 .config $RPM_BUILD_ROOT/boot/config-%{KernelVer}
|
||||
install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-%{KernelVer}
|
||||
|
||||
%if 0%{?with_kabichk}
|
||||
gzip -c9 < Module.symvers > $RPM_BUILD_ROOT/boot/symvers-%{KernelVer}.gz
|
||||
%endif
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
|
||||
install -m 755 %{SOURCE200} $RPM_BUILD_ROOT%{_sbindir}/mkgrub-menu-%{hulkrelease}.sh
|
||||
|
||||
|
||||
%if 0%{?with_debuginfo}
|
||||
mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/%{KernelVer}
|
||||
cp vmlinux $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/%{KernelVer}
|
||||
%endif
|
||||
|
||||
# deal with module, if not kdump
|
||||
make ARCH=%{Arch} INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=%{KernelVer} mod-fw=
|
||||
######## to collect ko to module.filelist about netwoking. block. drm. modesetting ###############
|
||||
pushd $RPM_BUILD_ROOT/lib/modules/%{KernelVer}
|
||||
find -type f -name "*.ko" >modnames
|
||||
|
||||
# mark modules executable so that strip-to-file can strip them
|
||||
xargs --no-run-if-empty chmod u+x < modnames
|
||||
|
||||
# Generate a list of modules for block and networking.
|
||||
|
||||
grep -F /drivers/ modnames | xargs --no-run-if-empty nm -upA |
|
||||
sed -n 's,^.*/\([^/]*\.ko\): *U \(.*\)$,\1 \2,p' > drivers.undef
|
||||
|
||||
collect_modules_list()
|
||||
{
|
||||
sed -r -n -e "s/^([^ ]+) \\.?($2)\$/\\1/p" drivers.undef |
|
||||
LC_ALL=C sort -u > modules.$1
|
||||
if [ ! -z "$3" ]; then
|
||||
sed -r -e "/^($3)\$/d" -i modules.$1
|
||||
fi
|
||||
}
|
||||
|
||||
collect_modules_list networking \
|
||||
'register_netdev|ieee80211_register_hw|usbnet_probe|phy_driver_register|rt2x00(pci|usb)_probe|register_netdevice'
|
||||
collect_modules_list block \
|
||||
'ata_scsi_ioctl|scsi_add_host|scsi_add_host_with_dma|blk_alloc_queue|blk_init_queue|register_mtd_blktrans|scsi_esp_register|scsi_register_device_handler|blk_queue_physical_block_size|ahci_platform_get_resources' 'pktcdvd.ko|dm-mod.ko'
|
||||
collect_modules_list drm \
|
||||
'drm_open|drm_init'
|
||||
collect_modules_list modesetting \
|
||||
'drm_crtc_init'
|
||||
|
||||
# detect missing or incorrect license tags
|
||||
rm -f modinfo
|
||||
while read i
|
||||
do
|
||||
echo -n "$i " >> modinfo
|
||||
/sbin/modinfo -l $i >> modinfo
|
||||
done < modnames
|
||||
|
||||
grep -E -v \
|
||||
'GPL( v2)?$|Dual BSD/GPL$|Dual MPL/GPL$|GPL and additional rights$' \
|
||||
modinfo && exit 1
|
||||
|
||||
rm -f modinfo modnames drivers.undef
|
||||
|
||||
for i in alias alias.bin builtin.bin ccwmap dep dep.bin ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols symbols.bin usbmap
|
||||
do
|
||||
rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$i
|
||||
done
|
||||
popd
|
||||
# modsign module ko;need after find-debuginfo,strip
|
||||
%define __modsign_install_post \
|
||||
if [ "%{with_signmodules}" -eq "1" ];then \
|
||||
cp certs/signing_key.pem . \
|
||||
cp certs/signing_key.x509 . \
|
||||
chmod 0755 %{modsign_cmd} \
|
||||
%{modsign_cmd} $RPM_BUILD_ROOT/lib/modules/%{KernelVer} || exit 1 \
|
||||
fi \
|
||||
%{nil}
|
||||
|
||||
# deal with header
|
||||
make ARCH=%{Arch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr KBUILD_SRC= headers_install
|
||||
make ARCH=%{Arch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr headers_check
|
||||
find $RPM_BUILD_ROOT/usr/include -name "\.*" -exec rm -rf {} \;
|
||||
|
||||
# aarch64 dtbs install
|
||||
%ifarch aarch64
|
||||
mkdir -p $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}
|
||||
install -m 644 $(find arch/%{Arch}/boot -name "*.dtb") $RPM_BUILD_ROOT/boot/dtb-%{KernelVer}/
|
||||
rm -f $(find arch/$Arch/boot -name "*.dtb")
|
||||
%endif
|
||||
|
||||
# deal with vdso
|
||||
make -s ARCH=%{Arch} INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=%{KernelVer}
|
||||
if [ ! -s ldconfig-kernel.conf ]; then
|
||||
echo "# Placeholder file, no vDSO hwcap entries used in this kernel." >ldconfig-kernel.conf
|
||||
fi
|
||||
install -D -m 444 ldconfig-kernel.conf $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernel-%{KernelVer}.conf
|
||||
|
||||
# deal with /lib/module/ path- sub path: build source kernel
|
||||
rm -f $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build
|
||||
rm -f $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/source
|
||||
mkdir -p $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build
|
||||
mkdir -p $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/extra
|
||||
mkdir -p $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/updates
|
||||
mkdir -p $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/weak-updates
|
||||
############ to do collect devel file #########
|
||||
# 1. Makefile And Kconfig, .config sysmbol
|
||||
# 2. scrpits dir
|
||||
# 3. .h file
|
||||
find -type f \( -name "Makefile*" -o -name "Kconfig*" \) -exec cp --parents {} $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build \;
|
||||
for f in Module.symvers System.map Module.markers .config;do
|
||||
test -f $f || continue
|
||||
cp $f $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build
|
||||
done
|
||||
|
||||
cp -a scripts $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build
|
||||
if [ -d arch/%{Arch}/scripts ]; then
|
||||
cp -a arch/%{Arch}/scripts $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/arch/%{_arch} || :
|
||||
fi
|
||||
if [ -f arch/%{Arch}/*lds ]; then
|
||||
cp -a arch/%{Arch}/*lds $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/arch/%{_arch}/ || :
|
||||
fi
|
||||
find $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/scripts/ -name "*.o" -exec rm -rf {} \;
|
||||
|
||||
if [ -d arch/%{Arch}/include ]; then
|
||||
cp -a --parents arch/%{Arch}/include $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/
|
||||
fi
|
||||
cp -a include $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include
|
||||
|
||||
%ifarch aarch64
|
||||
# Needed for systemtap
|
||||
cp -a --parents arch/arm64/kernel/module.lds $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/
|
||||
cp -a --parents arch/arm/include/asm $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/
|
||||
%endif
|
||||
|
||||
# copy objtool for kernel-devel (needed for building external modules)
|
||||
if grep -q CONFIG_STACK_VALIDATION=y .config; then
|
||||
mkdir -p $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/tools/objtool
|
||||
cp -a tools/objtool/objtool $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/tools/objtool
|
||||
fi
|
||||
|
||||
# Make sure the Makefile and version.h have a matching timestamp so that
|
||||
# external modules can be built
|
||||
touch -r $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/Makefile $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/generated/uapi/linux/version.h
|
||||
touch -r $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/.config $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/generated/autoconf.h
|
||||
# for make prepare
|
||||
if [ ! -f $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/config/auto.conf ];then
|
||||
cp .config $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build/include/config/auto.conf
|
||||
fi
|
||||
|
||||
mkdir -p %{buildroot}/usr/src/kernels
|
||||
mv $RPM_BUILD_ROOT/lib/modules/%{KernelVer}/build $RPM_BUILD_ROOT/usr/src/kernels/%{KernelVer}
|
||||
|
||||
find $RPM_BUILD_ROOT/usr/src/kernels/%{KernelVer} -name ".*.cmd" -exec rm -f {} \;
|
||||
|
||||
pushd $RPM_BUILD_ROOT/lib/modules/%{KernelVer}
|
||||
ln -sf /usr/src/kernels/%{KernelVer} build
|
||||
ln -sf build source
|
||||
popd
|
||||
|
||||
|
||||
# deal with doc , now we don't need
|
||||
|
||||
|
||||
# deal with kernel abi whitelists. now we don't need
|
||||
|
||||
|
||||
## install tools
|
||||
# perf
|
||||
# perf tool binary and supporting scripts/binaries
|
||||
%{perf_make} %{perf_python2} DESTDIR=%{buildroot} lib=%{_lib} install-bin install-traceevent-plugins
|
||||
# remove the 'trace' symlink.
|
||||
rm -f %{buildroot}%{_bindir}/trace
|
||||
# remove the perf-tips
|
||||
rm -rf %{buildroot}%{_docdir}/perf-tip
|
||||
|
||||
# remove examples
|
||||
rm -rf %{buildroot}/usr/lib/perf/examples
|
||||
# remove the stray header file that somehow got packaged in examples
|
||||
rm -rf %{buildroot}/usr/lib/perf/include/bpf/
|
||||
|
||||
# python-perf extension
|
||||
%{perf_make} %{perf_python3} DESTDIR=%{buildroot} install-python_ext
|
||||
%{perf_make} %{perf_python2} DESTDIR=%{buildroot} install-python_ext
|
||||
|
||||
# perf man pages (note: implicit rpm magic compresses them later)
|
||||
install -d %{buildroot}/%{_mandir}/man1
|
||||
install -pm0644 tools/kvm/kvm_stat/kvm_stat.1 %{buildroot}/%{_mandir}/man1/
|
||||
install -pm0644 tools/perf/Documentation/*.1 %{buildroot}/%{_mandir}/man1/
|
||||
|
||||
# bpftool
|
||||
pushd tools/bpf/bpftool
|
||||
make DESTDIR=%{buildroot} prefix=%{_prefix} bash_compdir=%{_sysconfdir}/bash_completion.d/ mandir=%{_mandir} install doc-install
|
||||
popd
|
||||
# cpupower
|
||||
make -C tools/power/cpupower DESTDIR=%{buildroot} libdir=%{_libdir} mandir=%{_mandir} CPUFREQ_BENCH=false install
|
||||
rm -f %{buildroot}%{_libdir}/*.{a,la}
|
||||
%find_lang cpupower
|
||||
mv cpupower.lang ../
|
||||
%ifarch %{ix86}
|
||||
pushd tools/power/cpupower/debug/i386
|
||||
install -m755 centrino-decode %{buildroot}%{_bindir}/centrino-decode
|
||||
install -m755 powernow-k8-decode %{buildroot}%{_bindir}/powernow-k8-decode
|
||||
popd
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
pushd tools/power/cpupower/debug/x86_64
|
||||
install -m755 centrino-decode %{buildroot}%{_bindir}/centrino-decode
|
||||
install -m755 powernow-k8-decode %{buildroot}%{_bindir}/powernow-k8-decode
|
||||
popd
|
||||
%endif
|
||||
chmod 0755 %{buildroot}%{_libdir}/libcpupower.so*
|
||||
mkdir -p %{buildroot}%{_unitdir} %{buildroot}%{_sysconfdir}/sysconfig
|
||||
install -m644 %{SOURCE2000} %{buildroot}%{_unitdir}/cpupower.service
|
||||
install -m644 %{SOURCE2001} %{buildroot}%{_sysconfdir}/sysconfig/cpupower
|
||||
%ifarch %{ix86} x86_64
|
||||
mkdir -p %{buildroot}%{_mandir}/man8
|
||||
pushd tools/power/x86/x86_energy_perf_policy
|
||||
make DESTDIR=%{buildroot} install
|
||||
popd
|
||||
pushd tools/power/x86/turbostat
|
||||
make DESTDIR=%{buildroot} install
|
||||
popd
|
||||
%endif
|
||||
# thermal
|
||||
pushd tools/thermal/tmon
|
||||
make INSTALL_ROOT=%{buildroot} install
|
||||
popd
|
||||
# iio
|
||||
pushd tools/iio
|
||||
make DESTDIR=%{buildroot} install
|
||||
popd
|
||||
# gpio
|
||||
pushd tools/gpio
|
||||
make DESTDIR=%{buildroot} install
|
||||
popd
|
||||
# kvm
|
||||
pushd tools/kvm/kvm_stat
|
||||
make INSTALL_ROOT=%{buildroot} install-tools
|
||||
popd
|
||||
|
||||
%define __spec_install_post\
|
||||
%{?__debug_package:%{__debug_install_post}}\
|
||||
%{__arch_install_post}\
|
||||
%{__os_install_post}\
|
||||
%{__modsign_install_post}\
|
||||
%{nil}
|
||||
|
||||
|
||||
%post
|
||||
%{_sbindir}/new-kernel-pkg --package kernel --install %{KernelVer} || exit $?
|
||||
|
||||
%preun
|
||||
rm -rf /lib/modules/%{KernelVer}/EulerOS
|
||||
if [ `uname -i` == "aarch64" ] &&
|
||||
[ -f /boot/EFI/grub2/grub.cfg ]; then
|
||||
/usr/bin/sh %{_sbindir}/mkgrub-menu-%{hulkrelease}.sh %{version}-%{hulkrelease}.aarch64 /boot/EFI/grub2/grub.cfg remove
|
||||
fi
|
||||
|
||||
%postun
|
||||
%{_sbindir}/new-kernel-pkg --rminitrd --rmmoddep --remove %{KernelVer} || exit $?
|
||||
if [ -x %{_sbindir}/weak-modules ]
|
||||
then
|
||||
%{_sbindir}/weak-modules --remove-kernel %{KernelVer} || exit $?
|
||||
fi
|
||||
if [ "`ls -A /lib/modules/%{KernelVer}`" = "" ]; then
|
||||
rm -rf /lib/modules/%{KernelVer}
|
||||
fi
|
||||
|
||||
%posttrans
|
||||
%{_sbindir}/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --update %{KernelVer} || exit $?
|
||||
%{_sbindir}/new-kernel-pkg --package kernel --rpmposttrans %{KernelVer} || exit $?
|
||||
if [ `uname -i` == "aarch64" ] &&
|
||||
[ -f /boot/EFI/grub2/grub.cfg ]; then
|
||||
/usr/bin/sh %{_sbindir}/mkgrub-menu-%{hulkrelease}.sh %{version}-%{hulkrelease}.aarch64 /boot/EFI/grub2/grub.cfg update
|
||||
fi
|
||||
if [ ! -d "/lib/modules/EulerOS" ];then
|
||||
mkdir -p /lib/modules/EulerOS
|
||||
fi
|
||||
if [ -e "/lib/modules/%{KernelVer}/EulerOS" ]; then
|
||||
rm -rf "/lib/modules/%{KernelVer}/EulerOS"
|
||||
fi
|
||||
ln -sf /lib/modules/EulerOS /lib/modules/%{KernelVer}/EulerOS
|
||||
if [ -x %{_sbindir}/weak-modules ]
|
||||
then
|
||||
%{_sbindir}/weak-modules --add-kernel %{KernelVer} || exit $?
|
||||
fi
|
||||
%{_sbindir}/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --update %{KernelVer} || exit $?
|
||||
%{_sbindir}/new-kernel-pkg --package kernel --rpmposttrans %{KernelVer} || exit $?
|
||||
|
||||
|
||||
%postun devel
|
||||
if [ -f /etc/sysconfig/kernel ]
|
||||
then
|
||||
. /etc/sysconfig/kernel || exit $?
|
||||
fi
|
||||
if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ]
|
||||
then
|
||||
(cd /usr/src/kernels/%{KernelVer} &&
|
||||
/usr/bin/find . -type f | while read f; do
|
||||
hardlink -c /usr/src/kernels/*.fc*.*/$f $f
|
||||
done)
|
||||
fi
|
||||
|
||||
%post -n kernel-tools
|
||||
/sbin/ldconfig
|
||||
%systemd_post cpupower.service
|
||||
|
||||
%preun -n kernel-tools
|
||||
%systemd_preun cpupower.service
|
||||
|
||||
%postun -n kernel-tools
|
||||
/sbin/ldconfig
|
||||
%systemd_postun cpupower.service
|
||||
|
||||
%files
|
||||
%defattr (-, root, root)
|
||||
%doc
|
||||
/boot/config-*
|
||||
%ifarch aarch64
|
||||
/boot/dtb-*
|
||||
%endif
|
||||
%if 0%{?with_kabichk}
|
||||
/boot/symvers-*
|
||||
%endif
|
||||
/boot/System.map-*
|
||||
/boot/vmlinuz-*
|
||||
%ghost /boot/initramfs-%{KernelVer}.img
|
||||
/boot/.vmlinuz-*.hmac
|
||||
/etc/ld.so.conf.d/*
|
||||
/lib/modules/%{KernelVer}/
|
||||
%exclude /lib/modules/%{KernelVer}/source
|
||||
%exclude /lib/modules/%{KernelVer}/build
|
||||
%{_sbindir}/mkgrub-menu*.sh
|
||||
|
||||
%files devel
|
||||
%defattr (-, root, root)
|
||||
%doc
|
||||
/lib/modules/%{KernelVer}/source
|
||||
/lib/modules/%{KernelVer}/build
|
||||
/usr/src/kernels/%{KernelVer}
|
||||
/usr/include/*
|
||||
|
||||
%files -n perf
|
||||
%{_bindir}/perf
|
||||
%dir %{_libdir}/traceevent
|
||||
%{_libdir}/traceevent/plugins/
|
||||
%{_libexecdir}/perf-core
|
||||
%{_datadir}/perf-core/
|
||||
%{_mandir}/man[1-8]/perf*
|
||||
%{_sysconfdir}/bash_completion.d/perf
|
||||
%doc linux-%{KernelVer}/tools/perf/Documentation/examples.txt
|
||||
%license linux-%{KernelVer}/COPYING
|
||||
|
||||
%files -n python2-perf
|
||||
%license linux-%{KernelVer}/COPYING
|
||||
%{python2_sitearch}/*
|
||||
|
||||
%files -n python3-perf
|
||||
%license linux-%{KernelVer}/COPYING
|
||||
%{python3_sitearch}/*
|
||||
|
||||
%files -n kernel-tools -f cpupower.lang
|
||||
%{_bindir}/cpupower
|
||||
%ifarch %{ix86} x86_64
|
||||
%{_bindir}/centrino-decode
|
||||
%{_bindir}/powernow-k8-decode
|
||||
%endif
|
||||
%{_unitdir}/cpupower.service
|
||||
%{_mandir}/man[1-8]/cpupower*
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/cpupower
|
||||
%ifarch %{ix86} x86_64
|
||||
%{_bindir}/x86_energy_perf_policy
|
||||
%{_mandir}/man8/x86_energy_perf_policy*
|
||||
%{_bindir}/turbostat
|
||||
%{_mandir}/man8/turbostat*
|
||||
%endif
|
||||
%{_bindir}/tmon
|
||||
%{_bindir}/iio_event_monitor
|
||||
%{_bindir}/iio_generic_buffer
|
||||
%{_bindir}/lsiio
|
||||
%{_bindir}/lsgpio
|
||||
%{_bindir}/gpio-hammer
|
||||
%{_bindir}/gpio-event-mon
|
||||
%{_mandir}/man1/kvm_stat*
|
||||
%{_bindir}/kvm_stat
|
||||
%{_libdir}/libcpupower.so.0
|
||||
%{_libdir}/libcpupower.so.0.0.1
|
||||
%license linux-%{KernelVer}/COPYING
|
||||
|
||||
%files -n kernel-tools-devel
|
||||
%{_libdir}/libcpupower.so
|
||||
%{_includedir}/cpufreq.h
|
||||
%{_includedir}/cpuidle.h
|
||||
|
||||
%files -n bpftool
|
||||
%{_sbindir}/bpftool
|
||||
%{_sysconfdir}/bash_completion.d/bpftool
|
||||
%{_mandir}/man8/bpftool-cgroup.8.gz
|
||||
%{_mandir}/man8/bpftool-map.8.gz
|
||||
%{_mandir}/man8/bpftool-prog.8.gz
|
||||
%{_mandir}/man8/bpftool-perf.8.gz
|
||||
%{_mandir}/man8/bpftool.8.gz
|
||||
%{_mandir}/man7/bpf-helpers.7.gz
|
||||
%license linux-%{KernelVer}/COPYING
|
||||
|
||||
%if 0%{?with_source}
|
||||
%files source
|
||||
%defattr(-,root,root)
|
||||
/usr/src/linux-%{KernelVer}/*
|
||||
/usr/src/linux-%{KernelVer}/.config
|
||||
/usr/src/linux-%{KernelVer}/.scmversion
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Dec 23 2019 caomeng <caomeng5@huawei.com> - 4.19.90-vhulk1907.1.0.0012
|
||||
- change version
|
||||
|
||||
* Mon Dec 23 2019 luochunsheng <luochunsheng@huawei.com> - 4.19.36-vhulk1907.1.0.0011
|
||||
- fix mkgrub-menu-*.sh path
|
||||
- SMMU supports bypass of configured PCI devices by cmdline smmu.bypassdev
|
||||
|
||||
* Mon Dec 23 2019 chenmaodong<chenmaodong@huawei.com> - 4.19.36-vhulk1907.1.0.0010
|
||||
- drm/radeon: Fix potential buffer overflow in ci_dpm.c
|
||||
|
||||
* Mon Dec 23 2019 wuxu<wuxu.wu@huawei.com> - 4.19.36-vhulk1907.1.0.0009
|
||||
- add security compile noexecstack option for vdso
|
||||
|
||||
* Mon Dec 23 2019 caomeng<caomeng5@huawei.com> - 4.19.36-vhulk1907.1.0.0008
|
||||
- rebase hulk patches
|
||||
|
||||
* Fri Dec 20 2019 yeyunfeng<yeyunfeng@huawei.com> - 4.19.36-vhulk1907.1.0.0007
|
||||
- perf/smmuv3: fix possible sleep in preempt context
|
||||
- crypto: user - prevent operating on larval algorithms
|
||||
|
||||
* Thu Dec 19 2019 luochunsheng <luochunsheng@huawei.com> - 4.19.36-vhulk1907.1.0.0006
|
||||
- update release to satisfy upgrade
|
||||
|
||||
* Wed Nov 27 2019 lihongjiang <lihongjiang6@huawei.com> - 4.19.36-vhulk1907.1.0.h005
|
||||
- change page size from 4K to 64K
|
||||
|
||||
* Thu Nov 21 2019 caomeng <caomeng5@huawei.com> - 4.19.36-vhulk1907.1.0.h004
|
||||
- fix problem about x86 compile: change signing_key.pem to certs/signing_key.pem
|
||||
- in file arch/x86/configs/euleros_defconfig
|
||||
|
||||
* Mon Nov 4 2019 caomeng <caomeng5@huawei.com> - 4.19.36-vhulk1907.1.0.h003
|
||||
- Add buildrequires ncurlses-devel
|
||||
|
||||
* Fri Oct 25 2019 luochunsheng <luochunsheng@huawei.com> - 4.19.36-vhulk1907.1.0.h002
|
||||
- Add vmlinx to debuginfo package and add kernel-source package
|
||||
|
||||
* Wed Sep 04 2019 openEuler Buildteam <buildteam@openeuler.org> - 4.19.36-vhulk1907.1.0.h001
|
||||
- Package init
|
||||
101
kvm_func_blacklist.txt
Normal file
101
kvm_func_blacklist.txt
Normal file
@ -0,0 +1,101 @@
|
||||
# arch/arm64/kvm/guest.c
|
||||
kvm_arch_vcpu_ioctl_get_regs
|
||||
kvm_arch_vcpu_ioctl_set_regs
|
||||
kvm_arch_vcpu_ioctl_get_sregs
|
||||
kvm_arch_vcpu_ioctl_set_sregs
|
||||
kvm_arch_vcpu_ioctl_get_fpu
|
||||
kvm_arch_vcpu_ioctl_set_fpu
|
||||
kvm_arch_vcpu_ioctl_translate
|
||||
kvm_arm_vcpu_arch_get_attr
|
||||
kvm_arch_vcpu_ioctl_set_guest_debug
|
||||
|
||||
# arch/arm64/kvm/inject_fault.c
|
||||
prepare_fault32
|
||||
inject_undef32
|
||||
inject_abt32
|
||||
|
||||
# virt/kvm/eventfd.c
|
||||
irqfd_resampler_ack
|
||||
irqfd_resampler_shutdown
|
||||
kvm_irq_has_notifier
|
||||
kvm_register_irq_ack_notifier
|
||||
kvm_irqfd_exit
|
||||
|
||||
# virt/kvm/kvm_main.c
|
||||
ack_flush
|
||||
kvm_reload_remote_mmus
|
||||
kvm_make_mclock_inprogress_request
|
||||
kvm_make_scan_ioapic_request
|
||||
kvm_get_dirty_log
|
||||
kvm_largepages_enabled
|
||||
kvm_disable_largepages
|
||||
kvm_host_page_size
|
||||
gfn_to_hva
|
||||
kvm_vcpu_gfn_to_hva
|
||||
kvm_vcpu_gfn_to_hva_prot
|
||||
kvm_vcpu_gfn_to_pfn_atomic
|
||||
kvm_vcpu_gfn_to_page
|
||||
kvm_vcpu_gfn_to_pfn
|
||||
kvm_pfn_to_page
|
||||
gfn_to_page
|
||||
gfn_to_pfn
|
||||
kvm_vcpu_gfn_to_pfn_atomic
|
||||
gfn_to_pfn_memslot_atomic
|
||||
gfn_to_pfn_atomic
|
||||
kvm_vcpu_gfn_to_pfn_atomic
|
||||
gfn_to_page_many_atomic
|
||||
kvm_release_page_clean
|
||||
kvm_release_page_dirty
|
||||
kvm_release_pfn_dirty
|
||||
kvm_vcpu_read_guest_page
|
||||
kvm_vcpu_read_guest
|
||||
kvm_read_guest_atomic
|
||||
kvm_vcpu_read_guest_atomic
|
||||
__kvm_read_guest_atomic
|
||||
kvm_vcpu_write_guest
|
||||
kvm_vcpu_write_guest_page
|
||||
kvm_gfn_to_hva_cache_init
|
||||
kvm_write_guest_cached
|
||||
kvm_read_guest_cached
|
||||
kvm_clear_guest_page
|
||||
kvm_clear_guest
|
||||
kvm_vcpu_mark_page_dirty
|
||||
kvm_vcpu_compat_ioctl
|
||||
kvm_device_from_filp
|
||||
kvm_unregister_device_ops
|
||||
kvm_vm_compat_ioctl
|
||||
kvm_reboot
|
||||
kvm_io_bus_write_cookie
|
||||
vm_stat_get_per_vm
|
||||
vm_stat_get_per_vm_open
|
||||
vm_stat_get
|
||||
kvm_suspend
|
||||
kvm_resume
|
||||
kvm_exit
|
||||
|
||||
# virt/kvm/arm/arm.c
|
||||
kvm_arch_vcpu_destroy
|
||||
kvm_arch_vcpu_free
|
||||
kvm_arch_exit
|
||||
kvm_perf_teardown
|
||||
|
||||
# virt/kvm/arm/mmu.c
|
||||
create_hyp_io_mappings
|
||||
|
||||
# virt/kvm/arm/psci.c
|
||||
kvm_psci_0_1_call
|
||||
|
||||
# virt/kvm/arm/vgic/vgic-v2.c
|
||||
vgic_v2_probe
|
||||
vgic_v2_enable
|
||||
vgic_v2_set_vmcr
|
||||
vgic_v2_clear_lr
|
||||
vgic_v2_populate_lr
|
||||
vgic_v2_fold_lr_state
|
||||
vgic_v2_set_underflow
|
||||
vgic_v2_process_maintenance
|
||||
vgic_v2_init_lrs
|
||||
|
||||
# virt/kvm/arm/vgic/vgic.c
|
||||
vgic_irq_release
|
||||
|
||||
1
linux-kernel-test.patch
Normal file
1
linux-kernel-test.patch
Normal file
@ -0,0 +1 @@
|
||||
nil
|
||||
66
merge.pl
Normal file
66
merge.pl
Normal file
@ -0,0 +1,66 @@
|
||||
#! /usr/bin/perl
|
||||
|
||||
my @args=@ARGV;
|
||||
my %configvalues;
|
||||
my @configoptions;
|
||||
my $configcounter = 0;
|
||||
|
||||
# optionally print out the architecture as the first line of our output
|
||||
my $arch = $args[2];
|
||||
if (defined $arch) {
|
||||
print "# $arch\n";
|
||||
}
|
||||
|
||||
# first, read the override file
|
||||
|
||||
open (FILE,"$args[0]") || die "Could not open $args[0]";
|
||||
while (<FILE>) {
|
||||
my $str = $_;
|
||||
my $configname;
|
||||
|
||||
if (/\# ([\w]+) is not set/) {
|
||||
$configname = $1;
|
||||
} elsif (/([\w]+)=/) {
|
||||
$configname = $1;
|
||||
}
|
||||
|
||||
if (defined($configname) && !exists($configvalues{$configname})) {
|
||||
$configvalues{$configname} = $str;
|
||||
$configoptions[$configcounter] = $configname;
|
||||
$configcounter ++;
|
||||
}
|
||||
};
|
||||
|
||||
# now, read and output the entire configfile, except for the overridden
|
||||
# parts... for those the new value is printed.
|
||||
|
||||
open (FILE2,"$args[1]") || die "Could not open $args[1]";
|
||||
while (<FILE2>) {
|
||||
my $configname;
|
||||
|
||||
if (/\# ([\w]+) is not set/) {
|
||||
$configname = $1;
|
||||
} elsif (/([\w]+)=/) {
|
||||
$configname = $1;
|
||||
}
|
||||
|
||||
if (defined($configname) && exists($configvalues{$configname})) {
|
||||
print "$configvalues{$configname}";
|
||||
delete($configvalues{$configname});
|
||||
} else {
|
||||
print "$_";
|
||||
}
|
||||
}
|
||||
|
||||
# now print the new values from the overridden configfile
|
||||
my $counter = 0;
|
||||
|
||||
while ($counter < $configcounter) {
|
||||
my $configname = $configoptions[$counter];
|
||||
if (exists($configvalues{$configname})) {
|
||||
print "$configvalues{$configname}";
|
||||
}
|
||||
$counter++;
|
||||
}
|
||||
|
||||
1;
|
||||
98
mkgrub-menu-aarch64.sh
Normal file
98
mkgrub-menu-aarch64.sh
Normal file
@ -0,0 +1,98 @@
|
||||
#!/bin/bash
|
||||
#This script is used for creating a new grub menu item when update kernel.
|
||||
#It uses the new version-number as the id and display.
|
||||
|
||||
NEW_KERN_VERSION=$1
|
||||
GRUB_CFG=$2
|
||||
OP_TYPE=$3
|
||||
|
||||
#########################################################
|
||||
# Description: SetupOS_Initrd_for_softraid
|
||||
# Input none
|
||||
# Return: 0: SUCCESS
|
||||
# 1: Internal Error.
|
||||
#########################################################
|
||||
function SoftRaid_Initrd()
|
||||
{
|
||||
SI_INITRD=initramfs-${NEW_KERN_VERSION}.img
|
||||
mkdir -p /initramfs/usr/lib/systemd/system
|
||||
mkdir -p /initramfs/etc/systemd/system/default.target.wants
|
||||
mdadm --detail --scan >> /initramfs/etc/mdadm.conf
|
||||
|
||||
cd /initramfs
|
||||
cat <<EOF > /initramfs/usr/lib/systemd/assemble-md
|
||||
#!/bin/bash
|
||||
declare -i count=5
|
||||
if [ -f /etc/mdadm.conf ];then
|
||||
while (( count > 0 )) ;
|
||||
do
|
||||
sleep 10s
|
||||
let count--;
|
||||
if [ -e "/dev/sda1" ];then
|
||||
mdadm -A -s
|
||||
break;
|
||||
fi
|
||||
echo " waiting harddisk get online .... countdown ${count} "
|
||||
done
|
||||
fi
|
||||
EOF
|
||||
if [ $? -ne 0 ];then
|
||||
g_Log_Error "generate assemble-md failed"
|
||||
return 1
|
||||
fi
|
||||
chmod -R 755 /initramfs/usr/lib/systemd/assemble-md
|
||||
cat << EOF > /initramfs/usr/lib/systemd/system/assemble-md.service
|
||||
[Unit]
|
||||
Description=assemble the md
|
||||
DefaultDependencies=no
|
||||
After=local-fs-pre.target systemd-udev-trigger.service systemd-udevd.service systemd-udevd-control.socket systemd-udevd-kernel.socket
|
||||
Before=local-fs.target diskconf-reload.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/lib/systemd/assemble-md
|
||||
StandardOutput=journal+console
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
EOF
|
||||
if [ $? -ne 0 ];then
|
||||
g_Log_Error "generate assemble-md.service failed"
|
||||
return 1
|
||||
fi
|
||||
|
||||
cp /initramfs/usr/lib/systemd/system/assemble-md.service /initramfs/etc/systemd/system/default.target.wants/
|
||||
dracut --force --include /initramfs / /boot/${SI_INITRD} ${NEW_KERN_VERSION}
|
||||
rm -r /initramfs
|
||||
cd -
|
||||
}
|
||||
|
||||
if [ "x${NEW_KERN_VERSION}" == "x" ] || [ "x${GRUB_CFG}" == "x" ] || [ "x${OP_TYPE}" == "x" ] ; then
|
||||
echo "There some mkgrub-menu parameter is null,please check "
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ "update" = "${OP_TYPE}" ]; then
|
||||
|
||||
DEF_VER=`grep -nr "default=" $GRUB_CFG|awk -F = '{print $2}'` ;
|
||||
START_LN=`grep -nr " --id ${DEF_VER}" $GRUB_CFG|awk -F: '{print $1}'` ;
|
||||
/bin/sed -rn "p;${START_LN},/}/H;$ {g;s/^\n//;p}" $GRUB_CFG > tempfile ;
|
||||
/bin/sed -i "$[START_LN+5],/ --id ${DEF_VER}/{s/ --id ${DEF_VER}/ --id linux-${NEW_KERN_VERSION}/}" tempfile ;
|
||||
OLDLABLE=`sed -n "$[START_LN+5],/ --id ${DEF_VER}/p" tempfile |grep menuentry |tail -1 |awk '{print $2}' |sed "s/\"//g" `
|
||||
/bin/sed -i "$[START_LN+5],/ --id ${DEF_VER}/{s/${OLDLABLE}/EulerOS-${NEW_KERN_VERSION}/}" tempfile ;
|
||||
/bin/sed -i "/ --id linux-${NEW_KERN_VERSION}/,/}/{s/`uname -r`/${NEW_KERN_VERSION}/} " tempfile ;
|
||||
/bin/sed -i "s/default=${DEF_VER}/default=linux-${NEW_KERN_VERSION}/" tempfile ;
|
||||
mv tempfile $GRUB_CFG
|
||||
|
||||
if [ `cat /proc/mdstat |wc -l ` -gt 2 ]; then
|
||||
SoftRaid_Initrd > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if [ "remove" = "${OP_TYPE}" ]; then
|
||||
/bin/sed -i "/ --id linux-${NEW_KERN_VERSION}/,/}/d" $GRUB_CFG
|
||||
DEF_VER=`grep -nr "menuentry" $GRUB_CFG |head -1 |awk '{print $4}' |sed "s/{//g" `
|
||||
/bin/sed -i "s/default=linux-${NEW_KERN_VERSION}/default=${DEF_VER}/" $GRUB_CFG
|
||||
fi
|
||||
0
sender_cpu
Normal file
0
sender_cpu
Normal file
25
sign-modules
Normal file
25
sign-modules
Normal file
@ -0,0 +1,25 @@
|
||||
#! /bin/bash
|
||||
|
||||
moddir=$1
|
||||
|
||||
modules=`find $moddir -name *.ko`
|
||||
|
||||
MODSECKEY="./signing_key.pem"
|
||||
MODPUBKEY="./signing_key.x509"
|
||||
|
||||
for mod in $modules
|
||||
do
|
||||
dir=`dirname $mod`
|
||||
file=`basename $mod`
|
||||
|
||||
./scripts/sign-file sha256 ${MODSECKEY} ${MODPUBKEY} ${dir}/${file}
|
||||
rm -f ${dir}/${file}.{sig,dig}
|
||||
done
|
||||
|
||||
RANDOMMOD=$(find $moddir -type f -name '*.ko' | sort -R | tail -n 1)
|
||||
if [ "~Module signature appended~" != "$(tail -c 28 $RANDOMMOD)" ]; then
|
||||
echo "*** Modules are unsigned! ***"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
||||
16
x509.genkey
Normal file
16
x509.genkey
Normal file
@ -0,0 +1,16 @@
|
||||
[ req ]
|
||||
default_bits = 4096
|
||||
distinguished_name = req_distinguished_name
|
||||
prompt = no
|
||||
x509_extensions = myexts
|
||||
|
||||
[ req_distinguished_name ]
|
||||
O = EulerOS
|
||||
CN = EulerOS kernel signing key
|
||||
emailAddress = euleros@huaweicloud.com
|
||||
|
||||
[ myexts ]
|
||||
basicConstraints=critical,CA:FALSE
|
||||
keyUsage=digitalSignature
|
||||
subjectKeyIdentifier=hash
|
||||
authorityKeyIdentifier=keyid
|
||||
Loading…
x
Reference in New Issue
Block a user