Skip to content

Commit

Permalink
KERNEL: align kernel fragment with systemd and rename fragment nosmp
Browse files Browse the repository at this point in the history
Signed-off-by: Christophe Priouzeau <[email protected]>
  • Loading branch information
Christophe Priouzeau committed Apr 28, 2023
1 parent 46b71b3 commit 15bcb4b
Show file tree
Hide file tree
Showing 4 changed files with 95 additions and 32 deletions.
2 changes: 1 addition & 1 deletion recipes-kernel/linux/linux-stm32mp.inc
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ COMPATIBLE_MACHINE = "(stm32mpcommon)"
inherit kernel

DEPENDS += "openssl-native util-linux-native libyaml-native"
DEPENDS += "gmp-native libmpc-native"

B = "${WORKDIR}/build"
# Configure build dir for externalsrc class usage through devtool
Expand Down Expand Up @@ -79,7 +80,6 @@ do_configure:append() {
#oe_runmake -C ${S} O=${B} savedefconfig && cp ${B}/defconfig ${WORKDIR}/defconfig.saved
}

# ---------------------------------------------------------------------
do_compile_kernelmodules:append() {
if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then
# 5.10+ kernels have module.lds that we need to copy for external module builds
Expand Down
119 changes: 91 additions & 28 deletions recipes-kernel/linux/linux-stm32mp/5.15/fragment-03-systemd.config
Original file line number Diff line number Diff line change
@@ -1,6 +1,26 @@
#
# systemd specific
#
# -------------------------------------------
# Kernel Config Options
# --------------------------------------------
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_NS=y
CONFIG_INOTIFY_USER=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EPOLL=y
CONFIG_NET=y
CONFIG_UNIX=y
CONFIG_SYSFS=y
CONFIG_PROC_FS=y
CONFIG_FHANDLE=y

# -------------------------------------------
# other Kernel Config Options
# --------------------------------------------
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
Expand All @@ -10,61 +30,105 @@ CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_SCHED=y
CONFIG_BLK_CGROUP=y
CONFIG_AUTOFS4_FS=y
CONFIG_SYSV_FS=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_SYSFS_DEPRECATED_V2 is not set
CONFIG_HOTPLUG=y
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_UNIX=y
CONFIG_SYSFS=y
CONFIG_PROC_FS=y
CONFIG_TMPFS=y
CONFIG_INOTIFY_USER=y
CONFIG_SIGNALFD=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_BLK_DEV_BSG=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_NS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_RESOURCE_COUNTERS=y
CONFIG_FUSE_FS=y
CONFIG_TIMERFD=y
CONFIG_EPOLL=y
CONFIG_NET=y
CONFIG_FHANDLE=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y

# -------------------------------------------
# Kernel crypto/hash API
# --------------------------------------------
CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_SHA256=y

# -------------------------------------------
# Legacy hotplug
# --------------------------------------------
CONFIG_HOTPLUG=y
CONFIG_UEVENT_HELPER_PATH=""

# -------------------------------------------
# Userspace firmware loading is not supported and should be disabled
# --------------------------------------------
# CONFIG_FW_LOADER_USER_HELPER is not set

# -------------------------------------------
# Udev rules and virtualization
# --------------------------------------------
CONFIG_DMIID=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_SYSFS_DEPRECATED_V2 is not set

# -------------------------------------------
# SCSI devices serial number retrieval
# --------------------------------------------
CONFIG_BLK_DEV_BSG=y

# -------------------------------------------
# PrivateNetwork
# --------------------------------------------
CONFIG_NET_NS=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y

# -------------------------------------------
# PrivateUsers
# --------------------------------------------
CONFIG_USER_NS=y
CONFIG_IPV6=y

# -------------------------------------------
# Strongly recommended
# --------------------------------------------
CONFIG_AUTOFS_FS=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
CONFIG_KCMP=y
CONFIG_CHECKPOINT_RESTORE=y

# -------------------------------------------
# CPUShares
# --------------------------------------------
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_SECCOMP=y

# -------------------------------------------
# CPUQuota
# --------------------------------------------
CONFIG_CFS_BANDWIDTH=y

# -------------------------------------------
# Restricted filesystem and SocketBind{Allow|Deny}
# --------------------------------------------
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
CONFIG_CGROUP_BPF=y
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y

# -------------------------------------------
# audit
# --------------------------------------------
# CONFIG_AUDIT is not set
CONFIG_BPF_SYSCALL=y

# -------------------------------------------
# IP Table
# systemd-oomd
# --------------------------------------------
CONFIG_PSI=y
# -------------------------------------------
# RT Scheduler
# --------------------------------------------
# CONFIG_RT_GROUP_SCHED is not set

# -------------------------------------------
# IP Table / IPv6
# -------------------------------------------
CONFIG_BRIDGE_NETFILTER=m
CONFIG_UNIX_DIAG=m
CONFIG_TLS=m
CONFIG_IP_MULTICAST=y
Expand Down Expand Up @@ -380,7 +444,6 @@ CONFIG_NETLINK_DIAG=m
CONFIG_NET_NSH=m
CONFIG_HSR=m
CONFIG_CGROUP_NET_PRIO=y
CONFIG_BPF_JIT=y
CONFIG_BT_6LOWPAN=m
CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
Expand Down
6 changes: 3 additions & 3 deletions recipes-kernel/linux/linux-stm32mp_5.15.bb
Original file line number Diff line number Diff line change
Expand Up @@ -82,18 +82,18 @@ KERNEL_CONFIG_FRAGMENTS += "${@bb.utils.contains('KERNEL_DEFCONFIG', 'defconfig'
KERNEL_CONFIG_FRAGMENTS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${WORKDIR}/fragments/${LINUX_VERSION}/fragment-03-systemd.config', '', d)} "
KERNEL_CONFIG_FRAGMENTS += "${WORKDIR}/fragments/${LINUX_VERSION}/fragment-04-modules.config"
KERNEL_CONFIG_FRAGMENTS += "${@oe.utils.ifelse(d.getVar('KERNEL_SIGN_ENABLE') == '1', '${WORKDIR}/fragments/${LINUX_VERSION}/fragment-05-signature.config','')} "
KERNEL_CONFIG_FRAGMENTS += "${@bb.utils.contains('MACHINE_FEATURES', 'nosmp', '${WORKDIR}/fragments/${LINUX_VERSION}/fragment-06-smp.config', '', d)} "
KERNEL_CONFIG_FRAGMENTS += "${@bb.utils.contains('MACHINE_FEATURES', 'nosmp', '${WORKDIR}/fragments/${LINUX_VERSION}/fragment-06-nosmp.config', '', d)} "

SRC_URI += "file://${LINUX_VERSION}/fragment-03-systemd.config;subdir=fragments"
SRC_URI += "file://${LINUX_VERSION}/fragment-04-modules.config;subdir=fragments"
SRC_URI += "file://${LINUX_VERSION}/fragment-05-signature.config;subdir=fragments"
SRC_URI += "file://${LINUX_VERSION}/fragment-06-smp.config;subdir=fragments"
SRC_URI += "file://${LINUX_VERSION}/fragment-06-nosmp.config;subdir=fragments"

# Don't forget to add/del for devupstream
SRC_URI:class-devupstream += "file://${LINUX_VERSION}/fragment-03-systemd.config;subdir=fragments"
SRC_URI:class-devupstream += "file://${LINUX_VERSION}/fragment-04-modules.config;subdir=fragments"
SRC_URI:class-devupstream += "file://${LINUX_VERSION}/fragment-05-signature.config;subdir=fragments"
SRC_URI:class-devupstream += "file://${LINUX_VERSION}/fragment-06-smp.config;subdir=fragments"
SRC_URI:class-devupstream += "file://${LINUX_VERSION}/fragment-06-nosmp.config;subdir=fragments"

# -------------------------------------------------------------
# Kernel Args
Expand Down

0 comments on commit 15bcb4b

Please sign in to comment.