import kernel-rt-4.18.0-107.rt20.48.el8
This commit is contained in:
commit
1c59ca1111
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
SOURCES/linux-4.18.0-107.rt20.48.el8.tar.xz
|
1
.kernel-rt.metadata
Normal file
1
.kernel-rt.metadata
Normal file
@ -0,0 +1 @@
|
||||
74f28ac3e75f0880da9852793b80bb408e65fc53 SOURCES/linux-4.18.0-107.rt20.48.el8.tar.xz
|
3
SOURCES/cpupower.config
Normal file
3
SOURCES/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
SOURCES/cpupower.service
Normal file
13
SOURCES/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
|
18
SOURCES/filter-aarch64.sh
Normal file
18
SOURCES/filter-aarch64.sh
Normal file
@ -0,0 +1,18 @@
|
||||
#! /bin/bash
|
||||
|
||||
# This is the aarch64 override file for the core/drivers package split. The
|
||||
# module directories listed here and in the generic list in filter-modules.sh
|
||||
# will be moved to the resulting kernel-modules package for this arch.
|
||||
# Anything not listed in those files will be in the kernel-core package.
|
||||
#
|
||||
# Please review the default list in filter-modules.sh before making
|
||||
# modifications to the overrides below. If something should be removed across
|
||||
# all arches, remove it in the default instead of per-arch.
|
||||
|
||||
driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick message mmc mtd mwave nfc ntb pcmcia platform power ssb staging tty uio uwb w1"
|
||||
|
||||
ethdrvs="3com adaptec arc alteon atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell micrel myricom neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti via wiznet xircom"
|
||||
|
||||
drmdrvs="amd arm bridge ast exynos hisilicon i2c imx mgag200 meson msm nouveau panel radeon rockchip tegra sun4i tinydrm vc4"
|
||||
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr"
|
151
SOURCES/filter-modules.sh
Executable file
151
SOURCES/filter-modules.sh
Executable file
@ -0,0 +1,151 @@
|
||||
#! /bin/bash
|
||||
#
|
||||
# Called as filter-modules.sh list-of-modules Arch
|
||||
|
||||
# This script filters the modules into the kernel-core and kernel-modules
|
||||
# subpackages. We list out subsystems/subdirs to prune from the installed
|
||||
# module directory. What is left is put into the kernel-core package. What is
|
||||
# pruned is contained in the kernel-modules package.
|
||||
#
|
||||
# This file contains the default subsys/subdirs to prune from all architectures.
|
||||
# If an architecture needs to differ, we source a per-arch filter-<arch>.sh file
|
||||
# that contains the set of override lists to be used instead. If a module or
|
||||
# subsys should be in kernel-modules on all arches, please change the defaults
|
||||
# listed here.
|
||||
|
||||
# Set the default dirs/modules to filter out
|
||||
driverdirs="atm auxdisplay bcma bluetooth firewire fmc iio infiniband isdn leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb staging tty uio uwb w1"
|
||||
|
||||
chardrvs="mwave pcmcia"
|
||||
|
||||
netdrvs="appletalk can dsa hamradio ieee802154 irda ppp slip usb wireless"
|
||||
|
||||
ethdrvs="3com adaptec alteon amd aquantia atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti wiznet xircom"
|
||||
|
||||
inputdrvs="gameport tablet touchscreen"
|
||||
|
||||
scsidrvs="aacraid aic7xxx aic94xx be2iscsi bfa bnx2i bnx2fc csiostor cxgbi esas2r fcoe fnic hisi_sas isci libsas lpfc megaraid mpt2sas mpt3sas mvsas pm8001 qla2xxx qla4xxx sym53c8xx_2 ufs qedf"
|
||||
|
||||
usbdrvs="atm image misc serial wusbcore"
|
||||
|
||||
fsdrvs="affs befs coda cramfs ecryptfs hfs hfsplus jfs minix ncpfs nilfs2 ocfs2 reiserfs romfs squashfs sysv ubifs ufs"
|
||||
|
||||
netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dccp dsa ieee802154 irda l2tp mac80211 mac802154 mpls netrom nfc rds rfkill rose sctp smc wireless"
|
||||
|
||||
drmdrvs="amd ast gma500 i2c i915 mgag200 nouveau radeon via "
|
||||
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr parport_serial ism"
|
||||
|
||||
# Grab the arch-specific filter list overrides
|
||||
source ./filter-$2.sh
|
||||
|
||||
filter_dir() {
|
||||
filelist=$1
|
||||
dir=$2
|
||||
|
||||
grep -v -e "${dir}/" ${filelist} > ${filelist}.tmp
|
||||
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "Couldn't remove ${dir}. Skipping."
|
||||
else
|
||||
grep -e "${dir}/" ${filelist} >> k-d.list
|
||||
mv ${filelist}.tmp $filelist
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
filter_ko() {
|
||||
filelist=$1
|
||||
mod=$2
|
||||
|
||||
grep -v -e "${mod}.ko" ${filelist} > ${filelist}.tmp
|
||||
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "Couldn't remove ${mod}.ko Skipping."
|
||||
else
|
||||
grep -e "${mod}.ko" ${filelist} >> k-d.list
|
||||
mv ${filelist}.tmp $filelist
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
# Filter the drivers/ subsystems
|
||||
for subsys in ${driverdirs}
|
||||
do
|
||||
filter_dir $1 drivers/${subsys}
|
||||
done
|
||||
|
||||
# Filter the networking drivers
|
||||
for netdrv in ${netdrvs}
|
||||
do
|
||||
filter_dir $1 drivers/net/${netdrv}
|
||||
done
|
||||
|
||||
# Filter the char drivers
|
||||
for char in ${chardrvs}
|
||||
do
|
||||
filter_dir $1 drivers/char/${input}
|
||||
done
|
||||
|
||||
# Filter the ethernet drivers
|
||||
for eth in ${ethdrvs}
|
||||
do
|
||||
filter_dir $1 drivers/net/ethernet/${eth}
|
||||
done
|
||||
|
||||
# SCSI
|
||||
for scsi in ${scsidrvs}
|
||||
do
|
||||
filter_dir $1 drivers/scsi/${scsi}
|
||||
done
|
||||
|
||||
# Input
|
||||
for input in ${inputdrvs}
|
||||
do
|
||||
filter_dir $1 drivers/input/${input}
|
||||
done
|
||||
|
||||
# USB
|
||||
for usb in ${usbdrvs}
|
||||
do
|
||||
filter_dir $1 drivers/usb/${usb}
|
||||
done
|
||||
|
||||
# Filesystems
|
||||
for fs in ${fsdrvs}
|
||||
do
|
||||
filter_dir $1 fs/${fs}
|
||||
done
|
||||
|
||||
# Network protocols
|
||||
for prot in ${netprots}
|
||||
do
|
||||
filter_dir $1 kernel/net/${prot}
|
||||
done
|
||||
|
||||
# DRM
|
||||
for drm in ${drmdrvs}
|
||||
do
|
||||
filter_dir $1 drivers/gpu/drm/${drm}
|
||||
done
|
||||
|
||||
# Just kill sound.
|
||||
filter_dir $1 kernel/sound
|
||||
|
||||
# Now go through and filter any single .ko files that might have deps on the
|
||||
# things we filtered above
|
||||
for mod in ${singlemods}
|
||||
do
|
||||
filter_ko $1 ${mod}
|
||||
done
|
||||
|
||||
# Go through our generated drivers list and remove the .ko files. We'll
|
||||
# restore them later.
|
||||
for mod in `cat k-d.list`
|
||||
do
|
||||
rm -rf $mod
|
||||
done
|
14
SOURCES/filter-ppc64le.sh
Normal file
14
SOURCES/filter-ppc64le.sh
Normal file
@ -0,0 +1,14 @@
|
||||
#! /bin/bash
|
||||
|
||||
# This is the ppc64le override file for the core/drivers package split. The
|
||||
# module directories listed here and in the generic list in filter-modules.sh
|
||||
# will be moved to the resulting kernel-modules package for this arch.
|
||||
# Anything not listed in those files will be in the kernel-core package.
|
||||
#
|
||||
# Please review the default list in filter-modules.sh before making
|
||||
# modifications to the overrides below. If something should be removed across
|
||||
# all arches, remove it in the default instead of per-arch.
|
||||
|
||||
driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick message mmc mtd mwave nfc ntb pcmcia platform power ssb staging tty uio uwb w1"
|
||||
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr"
|
12
SOURCES/filter-s390x.sh
Normal file
12
SOURCES/filter-s390x.sh
Normal file
@ -0,0 +1,12 @@
|
||||
#! /bin/bash
|
||||
|
||||
# This is the s390x override file for the core/drivers package split. The
|
||||
# module directories listed here and in the generic list in filter-modules.sh
|
||||
# will be moved to the resulting kernel-modules package for this arch.
|
||||
# Anything not listed in those files will be in the kernel-core package.
|
||||
#
|
||||
# Please review the default list in filter-modules.sh before making
|
||||
# modifications to the overrides below. If something should be removed across
|
||||
# all arches, remove it in the default instead of per-arch.
|
||||
|
||||
# Defaults work so no need to override
|
12
SOURCES/filter-x86_64.sh
Normal file
12
SOURCES/filter-x86_64.sh
Normal file
@ -0,0 +1,12 @@
|
||||
#! /bin/bash
|
||||
|
||||
# This is the x86_64 override file for the core/drivers package split. The
|
||||
# module directories listed here and in the generic list in filter-modules.sh
|
||||
# will be moved to the resulting kernel-modules package for this arch.
|
||||
# Anything not listed in those files will be in the kernel-core package.
|
||||
#
|
||||
# Please review the default list in filter-modules.sh before making
|
||||
# modifications to the overrides below. If something should be removed across
|
||||
# all arches, remove it in the default instead of per-arch.
|
||||
|
||||
# Defaults work so no need to override
|
7
SOURCES/generate_all_configs.sh
Executable file
7
SOURCES/generate_all_configs.sh
Executable file
@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
PACKAGE_NAME=$1
|
||||
for i in ${PACKAGE_NAME}-*.config; do
|
||||
NEW=${PACKAGE_NAME}-$VERSION-$(echo $i | sed -e "s/${PACKAGE_NAME}//" | cut -d - -f2-)
|
||||
mv $i $NEW
|
||||
done
|
31
SOURCES/generate_bls_conf.sh
Executable file
31
SOURCES/generate_bls_conf.sh
Executable file
@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
. /etc/os-release
|
||||
|
||||
kernelver=$1 && shift
|
||||
rootfs=$1 && shift
|
||||
variant=$1 && shift
|
||||
|
||||
output="${rootfs}/lib/modules/${kernelver}/bls.conf"
|
||||
date=$(date -u +%Y%m%d%H%M%S)
|
||||
|
||||
if [ "${variant:-5}" = "debug" ]; then
|
||||
debugname=" with debugging"
|
||||
debugid="-debug"
|
||||
else
|
||||
debugname=""
|
||||
debugid=""
|
||||
fi
|
||||
|
||||
cat >${output} <<EOF
|
||||
title ${NAME} (${kernelver}) ${VERSION}${debugname}
|
||||
version ${kernelver}${debugid}
|
||||
linux ${bootprefix}/vmlinuz-${kernelver}
|
||||
initrd ${bootprefix}/initramfs-${kernelver}.img
|
||||
options \$kernelopts
|
||||
id ${ID}-${date}-${kernelver}${debugid}
|
||||
grub_users \$grub_users
|
||||
grub_arg --unrestricted
|
||||
grub_class kernel${variant}
|
||||
EOF
|
5456
SOURCES/kernel-rt-aarch64-debug.config
Normal file
5456
SOURCES/kernel-rt-aarch64-debug.config
Normal file
File diff suppressed because it is too large
Load Diff
5442
SOURCES/kernel-rt-aarch64.config
Normal file
5442
SOURCES/kernel-rt-aarch64.config
Normal file
File diff suppressed because it is too large
Load Diff
5194
SOURCES/kernel-rt-ppc64le-debug.config
Normal file
5194
SOURCES/kernel-rt-ppc64le-debug.config
Normal file
File diff suppressed because it is too large
Load Diff
5182
SOURCES/kernel-rt-ppc64le.config
Normal file
5182
SOURCES/kernel-rt-ppc64le.config
Normal file
File diff suppressed because it is too large
Load Diff
5102
SOURCES/kernel-rt-s390x-debug.config
Normal file
5102
SOURCES/kernel-rt-s390x-debug.config
Normal file
File diff suppressed because it is too large
Load Diff
5127
SOURCES/kernel-rt-s390x-zfcpdump.config
Normal file
5127
SOURCES/kernel-rt-s390x-zfcpdump.config
Normal file
File diff suppressed because it is too large
Load Diff
5089
SOURCES/kernel-rt-s390x.config
Normal file
5089
SOURCES/kernel-rt-s390x.config
Normal file
File diff suppressed because it is too large
Load Diff
5624
SOURCES/kernel-rt-x86_64-debug.config
Normal file
5624
SOURCES/kernel-rt-x86_64-debug.config
Normal file
File diff suppressed because it is too large
Load Diff
5608
SOURCES/kernel-rt-x86_64.config
Normal file
5608
SOURCES/kernel-rt-x86_64.config
Normal file
File diff suppressed because it is too large
Load Diff
191
SOURCES/mod-extra.list
Normal file
191
SOURCES/mod-extra.list
Normal file
@ -0,0 +1,191 @@
|
||||
6pack.ko
|
||||
a3d.ko
|
||||
act200l-sir.ko
|
||||
actisys-sir.ko
|
||||
adi.ko
|
||||
aer_inject.ko
|
||||
af_802154.ko
|
||||
affs.ko
|
||||
ali-ircc.ko
|
||||
analog.ko
|
||||
appletalk.ko
|
||||
atm.ko
|
||||
avma1_cs.ko
|
||||
avm_cs.ko
|
||||
avmfritz.ko
|
||||
ax25.ko
|
||||
b1.ko
|
||||
bas_gigaset.ko
|
||||
batman-adv.ko
|
||||
baycom_par.ko
|
||||
baycom_ser_fdx.ko
|
||||
baycom_ser_hdx.ko
|
||||
befs.ko
|
||||
bpqether.ko
|
||||
br2684.ko
|
||||
capi.ko
|
||||
c_can.ko
|
||||
c_can_platform.ko
|
||||
clip.ko
|
||||
cobra.ko
|
||||
coda.ko
|
||||
cuse.ko
|
||||
db9.ko
|
||||
dccp_diag.ko
|
||||
dccp_ipv4.ko
|
||||
dccp_ipv6.ko
|
||||
dccp.ko
|
||||
dccp_probe.ko
|
||||
diva_idi.ko
|
||||
divas.ko
|
||||
ds1wm.ko
|
||||
ds2482.ko
|
||||
ds2490.ko
|
||||
dss1_divert.ko
|
||||
elsa_cs.ko
|
||||
ems_pci.ko
|
||||
ems_usb.ko
|
||||
esd_usb2.ko
|
||||
esi-sir.ko
|
||||
gamecon.ko
|
||||
gf2k.ko
|
||||
gigaset.ko
|
||||
girbil-sir.ko
|
||||
grip.ko
|
||||
grip_mp.ko
|
||||
guillemot.ko
|
||||
hdlcdrv.ko
|
||||
hfc4s8s_l1.ko
|
||||
hfcmulti.ko
|
||||
hfcpci.ko
|
||||
hisax.ko
|
||||
hwa-rc.ko
|
||||
hysdn.ko
|
||||
i2400m.ko
|
||||
i2400m-sdio.ko
|
||||
i2400m-usb.ko
|
||||
ieee802154.ko
|
||||
iforce.ko
|
||||
interact.ko
|
||||
ipddp.ko
|
||||
ipx.ko
|
||||
isdn.ko
|
||||
joydump.ko
|
||||
kingsun-sir.ko
|
||||
ks959-sir.ko
|
||||
ksdazzle-sir.ko
|
||||
kvaser_pci.ko
|
||||
l2tp_core.ko
|
||||
l2tp_debugfs.ko
|
||||
l2tp_eth.ko
|
||||
l2tp_ip.ko
|
||||
l2tp_netlink.ko
|
||||
l2tp_ppp.ko
|
||||
lec.ko
|
||||
ma600-sir.ko
|
||||
magellan.ko
|
||||
mcp2120-sir.ko
|
||||
mISDN_core.ko
|
||||
mISDN_dsp.ko
|
||||
mkiss.ko
|
||||
mptbase.ko
|
||||
mptctl.ko
|
||||
mptfc.ko
|
||||
nci.ko
|
||||
ncpfs.ko
|
||||
netjet.ko
|
||||
netrom.ko
|
||||
nfc.ko
|
||||
nilfs2.ko
|
||||
ocfs2_dlmfs.ko
|
||||
ocfs2_dlm.ko
|
||||
ocfs2.ko
|
||||
ocfs2_nodemanager.ko
|
||||
ocfs2_stackglue.ko
|
||||
ocfs2_stack_o2cb.ko
|
||||
ocfs2_stack_user.ko
|
||||
old_belkin-sir.ko
|
||||
orinoco_cs.ko
|
||||
orinoco.ko
|
||||
orinoco_nortel.ko
|
||||
orinoco_pci.ko
|
||||
orinoco_plx.ko
|
||||
orinoco_usb.ko
|
||||
plx_pci.ko
|
||||
pn_pep.ko
|
||||
pppoatm.ko
|
||||
rds.ko
|
||||
rds_rdma.ko
|
||||
rds_tcp.ko
|
||||
rose.ko
|
||||
sch_atm.ko
|
||||
sch_cbq.ko
|
||||
sch_choke.ko
|
||||
sch_drr.ko
|
||||
sch_dsmark.ko
|
||||
sch_gred.ko
|
||||
sch_mqprio.ko
|
||||
sch_multiq.ko
|
||||
sch_netem.ko
|
||||
sch_qfq.ko
|
||||
sch_red.ko
|
||||
sch_sfb.ko
|
||||
sch_teql.ko
|
||||
sctp.ko
|
||||
sctp_diag.ko
|
||||
sidewinder.ko
|
||||
sja1000.ko
|
||||
sja1000_platform.ko
|
||||
slcan.ko
|
||||
slip.ko
|
||||
softing_cs.ko
|
||||
softing.ko
|
||||
spaceball.ko
|
||||
spaceorb.ko
|
||||
stinger.ko
|
||||
sysv.ko
|
||||
tcp_bic.ko
|
||||
tcp_highspeed.ko
|
||||
tcp_htcp.ko
|
||||
tcp_hybla.ko
|
||||
tcp_illinois.ko
|
||||
tcp_lp.ko
|
||||
tcp_scalable.ko
|
||||
tcp_vegas.ko
|
||||
tcp_veno.ko
|
||||
tcp_westwood.ko
|
||||
tcp_yeah.ko
|
||||
tekram-sir.ko
|
||||
tmdc.ko
|
||||
toim3232-sir.ko
|
||||
trancevibrator.ko
|
||||
turbografx.ko
|
||||
twidjoy.ko
|
||||
ubifs.ko
|
||||
ufs.ko
|
||||
umc.ko
|
||||
usbip-core.ko
|
||||
usbip-host.ko
|
||||
uwb.ko
|
||||
vcan.ko
|
||||
vhci-hcd.ko
|
||||
w1_bq27000.ko
|
||||
w1_ds2408.ko
|
||||
w1_ds2423.ko
|
||||
w1_ds2431.ko
|
||||
w1_ds2433.ko
|
||||
w1_ds2760.ko
|
||||
w1_ds2780.ko
|
||||
w1_ds2781.ko
|
||||
w1_ds28e04.ko
|
||||
w1_smem.ko
|
||||
w1_therm.ko
|
||||
w6692.ko
|
||||
walkera0701.ko
|
||||
wanrouter.ko
|
||||
warrior.ko
|
||||
whci.ko
|
||||
wire.ko
|
||||
xpad.ko
|
||||
yam.ko
|
||||
zhenhua.ko
|
86
SOURCES/mod-extra.sh
Executable file
86
SOURCES/mod-extra.sh
Executable file
@ -0,0 +1,86 @@
|
||||
#! /bin/bash
|
||||
|
||||
Dir=$1
|
||||
List=$2
|
||||
Dest="extra"
|
||||
|
||||
# Destination was specified on the command line
|
||||
test -n "$3" && Dest="$3"
|
||||
|
||||
pushd $Dir
|
||||
rm -rf modnames
|
||||
find . -name "*.ko" -type f > modnames
|
||||
# Look through all of the modules, and throw any that have a dependency in
|
||||
# our list into the list as well.
|
||||
rm -rf dep.list dep2.list
|
||||
rm -rf req.list req2.list
|
||||
touch dep.list req.list
|
||||
cp "$List" .
|
||||
|
||||
# This variable needs to be exported because it is used in sub-script
|
||||
# executed by xargs
|
||||
export ListName=$(basename "$List")
|
||||
|
||||
# NB: this loop runs 2000+ iterations. Try to be fast.
|
||||
NPROC=`nproc`
|
||||
[ -z "$NPROC" ] && NPROC=1
|
||||
cat modnames | xargs -r -n1 -P $NPROC sh -c '
|
||||
dep=$1
|
||||
depends=`modinfo $dep | sed -n -e "/^depends/ s/^depends:[ \t]*//p"`
|
||||
[ -z "$depends" ] && exit
|
||||
for mod in ${depends//,/ }
|
||||
do
|
||||
match=$(grep "^$mod.ko" "$ListName")
|
||||
[ -z "$match" ] && continue
|
||||
# check if the module we are looking at is in mod-extra too.
|
||||
# if so we do not need to mark the dep as required.
|
||||
mod2=${dep##*/} # same as `basename $dep`, but faster
|
||||
match2=$(grep "^$mod2" "$ListName")
|
||||
if [ -n "$match2" ]
|
||||
then
|
||||
#echo $mod2 >> notreq.list
|
||||
continue
|
||||
fi
|
||||
echo $mod.ko >> req.list
|
||||
done
|
||||
' DUMMYARG0 # xargs appends MODNAME, which becomes $dep in the script above
|
||||
|
||||
sort -u req.list > req2.list
|
||||
sort -u "$ListName" > modules2.list
|
||||
join -v 1 modules2.list req2.list > modules3.list
|
||||
|
||||
for mod in $(cat modules3.list)
|
||||
do
|
||||
# get the path for the module
|
||||
modpath=`grep /$mod modnames`
|
||||
[ -z "$modpath" ] && continue
|
||||
echo $modpath >> dep.list
|
||||
done
|
||||
|
||||
sort -u dep.list > dep2.list
|
||||
|
||||
# now move the modules into the extra/ directory
|
||||
for mod in `cat dep2.list`
|
||||
do
|
||||
newpath=`dirname $mod | sed -e "s/kernel\\//$Dest\//"`
|
||||
mkdir -p $newpath
|
||||
mv $mod $newpath
|
||||
done
|
||||
|
||||
popd
|
||||
|
||||
# If we're signing modules, we can't leave the .mod files for the .ko files
|
||||
# we've moved in .tmp_versions/. Remove them so the Kbuild 'modules_sign'
|
||||
# target doesn't try to sign a non-existent file. This is kinda ugly, but
|
||||
# so is modules-extra.
|
||||
|
||||
for mod in `cat ${Dir}/dep2.list`
|
||||
do
|
||||
modfile=`basename $mod | sed -e 's/.ko/.mod/'`
|
||||
rm .tmp_versions/$modfile
|
||||
done
|
||||
|
||||
pushd $Dir
|
||||
rm modnames dep.list dep2.list req.list req2.list
|
||||
rm "$ListName" modules2.list modules3.list
|
||||
popd
|
37
SOURCES/mod-sign.sh
Executable file
37
SOURCES/mod-sign.sh
Executable file
@ -0,0 +1,37 @@
|
||||
#! /bin/bash
|
||||
|
||||
# The modules_sign target checks for corresponding .o files for every .ko that
|
||||
# is signed. This doesn't work for package builds which re-use the same build
|
||||
# directory for every flavour, and the .config may change between flavours.
|
||||
# So instead of using this script to just sign lib/modules/$KernelVer/extra,
|
||||
# sign all .ko in the buildroot.
|
||||
|
||||
# This essentially duplicates the 'modules_sign' Kbuild target and runs the
|
||||
# same commands for those modules.
|
||||
|
||||
MODSECKEY=$1
|
||||
MODPUBKEY=$2
|
||||
moddir=$3
|
||||
|
||||
modules=`find $moddir -type f -name '*.ko'`
|
||||
|
||||
NPROC=`nproc`
|
||||
[ -z "$NPROC" ] && NPROC=1
|
||||
|
||||
# NB: this loop runs 2000+ iterations. Try to be fast.
|
||||
echo "$modules" | xargs -r -n16 -P $NPROC sh -c "
|
||||
for mod; do
|
||||
./scripts/sign-file sha256 $MODSECKEY $MODPUBKEY \$mod
|
||||
rm -f \$mod.sig \$mod.dig
|
||||
done
|
||||
" DUMMYARG0 # xargs appends ARG1 ARG2..., which go into $mod in for loop.
|
||||
|
||||
RANDOMMOD=$(echo "$modules" | sort -R | head -n 1)
|
||||
if [ "~Module signature appended~" != "$(tail -c 28 $RANDOMMOD)" ]; then
|
||||
echo "*****************************"
|
||||
echo "*** Modules are unsigned! ***"
|
||||
echo "*****************************"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
175
SOURCES/process_configs.sh
Executable file
175
SOURCES/process_configs.sh
Executable file
@ -0,0 +1,175 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# This script takes the merged config files and processes them through oldconfig
|
||||
# and listnewconfig
|
||||
#
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "process_configs.sh [ -n|-c|-t ] package_name kernel_version"
|
||||
echo " -n: error on unset config options"
|
||||
echo " -c: error on mismatched config options"
|
||||
echo " -t: test run, do not overwrite original config"
|
||||
echo " -w: error on misconfigured config options"
|
||||
exit 1
|
||||
}
|
||||
|
||||
die()
|
||||
{
|
||||
echo "$1"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# stupid function to find top of tree to do kernel make configs
|
||||
switch_to_toplevel()
|
||||
{
|
||||
path="$(pwd)"
|
||||
while test -n "$path"
|
||||
do
|
||||
test -d $path/firmware && \
|
||||
test -e $path/MAINTAINERS && \
|
||||
test -d $path/drivers && \
|
||||
break
|
||||
|
||||
path="$(dirname $path)"
|
||||
done
|
||||
|
||||
test -n "$path" || die "Can't find toplevel"
|
||||
echo "$path"
|
||||
}
|
||||
|
||||
checkoptions()
|
||||
{
|
||||
/usr/bin/awk '
|
||||
|
||||
/is not set/ {
|
||||
split ($0, a, "#");
|
||||
split(a[2], b);
|
||||
if (NR==FNR) {
|
||||
configs[b[1]]="is not set";
|
||||
} else {
|
||||
if (configs[b[1]] != "" && configs[b[1]] != "is not set")
|
||||
print "Found # "b[1] " is not set, after generation, had " b[1] " " configs[b[1]] " in Source tree";
|
||||
}
|
||||
}
|
||||
|
||||
/=/ {
|
||||
split ($0, a, "=");
|
||||
if (NR==FNR) {
|
||||
configs[a[1]]=a[2];
|
||||
} else {
|
||||
if (configs[a[1]] != "" && configs[a[1]] != a[2])
|
||||
print "Found "a[1]"="a[2]" after generation, had " a[1]"="configs[a[1]]" in Source tree";
|
||||
}
|
||||
}
|
||||
' $1 $2 > .mismatches
|
||||
|
||||
if test -s .mismatches
|
||||
then
|
||||
echo "Error: Mismatches found in configuration files"
|
||||
cat .mismatches
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
function process_configs()
|
||||
{
|
||||
# assume we are in $source_tree/configs, need to get to top level
|
||||
pushd $(switch_to_toplevel) &>/dev/null
|
||||
|
||||
for cfg in $SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}${SUBARCH}*.config
|
||||
do
|
||||
arch=$(head -1 $cfg | cut -b 3-)
|
||||
cfgtmp="${cfg}.tmp"
|
||||
cfgorig="${cfg}.orig"
|
||||
cat $cfg > $cfgorig
|
||||
|
||||
echo -n "Processing $cfg ... "
|
||||
|
||||
make ARCH=$arch KCONFIG_CONFIG=$cfgorig listnewconfig >& .listnewconfig
|
||||
grep -E 'CONFIG_' .listnewconfig > .newoptions
|
||||
if test -n "$NEWOPTIONS" && test -s .newoptions
|
||||
then
|
||||
echo "Found unset config items, please set them to an appropriate value"
|
||||
cat .newoptions
|
||||
rm .newoptions
|
||||
exit 1
|
||||
fi
|
||||
rm .newoptions
|
||||
|
||||
grep -E 'config.*warning' .listnewconfig > .warnings
|
||||
if test -n "$CHECKWARNINGS" && test -s .warnings
|
||||
then
|
||||
echo "Found misconfigured config items, please set them to an appropriate value"
|
||||
cat .warnings
|
||||
rm .warnings
|
||||
exit 1
|
||||
fi
|
||||
rm .warnings
|
||||
|
||||
rm .listnewconfig
|
||||
|
||||
make ARCH=$arch KCONFIG_CONFIG=$cfgorig oldnoconfig > /dev/null || exit 1
|
||||
echo "# $arch" > ${cfgtmp}
|
||||
cat "${cfgorig}" >> ${cfgtmp}
|
||||
if test -n "$CHECKOPTIONS"
|
||||
then
|
||||
checkoptions $cfg $cfgtmp
|
||||
fi
|
||||
# if test run, don't overwrite original
|
||||
if test -n "$TESTRUN"
|
||||
then
|
||||
rm ${cfgtmp}
|
||||
else
|
||||
mv ${cfgtmp} ${cfg}
|
||||
fi
|
||||
rm ${cfgorig}
|
||||
echo "done"
|
||||
done
|
||||
rm "$SCRIPT_DIR"/*.config*.old
|
||||
popd > /dev/null
|
||||
|
||||
echo "Processed config files are in $SCRIPT_DIR"
|
||||
}
|
||||
|
||||
NEWOPTIONS=""
|
||||
CHECKOPTIONS=""
|
||||
CHECKWARNINGS=""
|
||||
TESTRUN=""
|
||||
|
||||
while [[ $# -gt 0 ]]
|
||||
do
|
||||
key="$1"
|
||||
case $key in
|
||||
-h)
|
||||
usage
|
||||
;;
|
||||
-n)
|
||||
NEWOPTIONS="x"
|
||||
;;
|
||||
-c)
|
||||
CHECKOPTIONS="x"
|
||||
;;
|
||||
-t)
|
||||
TESTRUN="x"
|
||||
;;
|
||||
-w)
|
||||
CHECKWARNINGS="x"
|
||||
;;
|
||||
*)
|
||||
break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
PACKAGE_NAME="${1:-kernel}" # defines the package name used
|
||||
KVERREL="$(test -n "$2" && echo "-$2" || echo "")"
|
||||
SUBARCH="$(test -n "$3" && echo "-$3" || echo "")"
|
||||
SCRIPT="$(readlink -f $0)"
|
||||
OUTPUT_DIR="$PWD"
|
||||
SCRIPT_DIR="$(dirname $SCRIPT)"
|
||||
|
||||
# to handle this script being a symlink
|
||||
cd $SCRIPT_DIR
|
||||
|
||||
process_configs
|
BIN
SOURCES/redhatsecureboot003.cer
Normal file
BIN
SOURCES/redhatsecureboot003.cer
Normal file
Binary file not shown.
BIN
SOURCES/redhatsecurebootca2.cer
Normal file
BIN
SOURCES/redhatsecurebootca2.cer
Normal file
Binary file not shown.
16
SOURCES/x509.genkey
Normal file
16
SOURCES/x509.genkey
Normal file
@ -0,0 +1,16 @@
|
||||
[ req ]
|
||||
default_bits = 3072
|
||||
distinguished_name = req_distinguished_name
|
||||
prompt = no
|
||||
x509_extensions = myexts
|
||||
|
||||
[ req_distinguished_name ]
|
||||
O = Red Hat
|
||||
CN = Red Hat Enterprise Linux kernel signing key
|
||||
emailAddress = secalert@redhat.com
|
||||
|
||||
[ myexts ]
|
||||
basicConstraints=critical,CA:FALSE
|
||||
keyUsage=digitalSignature
|
||||
subjectKeyIdentifier=hash
|
||||
authorityKeyIdentifier=keyid
|
18375
SPECS/kernel-rt.spec
Normal file
18375
SPECS/kernel-rt.spec
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user