summaryrefslogtreecommitdiff
path: root/meta-supermicro/meta-common
diff options
context:
space:
mode:
Diffstat (limited to 'meta-supermicro/meta-common')
-rw-r--r--meta-supermicro/meta-common/recipes-extended/pam/libpam/pam.d/common-password30
-rw-r--r--meta-supermicro/meta-common/recipes-extended/pam/libpam_%.bbappend4
-rw-r--r--meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service9
-rw-r--r--meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.sh10
-rw-r--r--meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog-override.conf2
-rw-r--r--meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.conf79
-rw-r--r--meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate22
-rw-r--r--meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend24
-rw-r--r--meta-supermicro/meta-common/recipes-kernel/linux/linux-aspeed/smci.cfg83
-rw-r--r--meta-supermicro/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend3
-rw-r--r--meta-supermicro/meta-common/recipes-supermicro/packagegroups/packagegroup-supermicro-apps.bb27
11 files changed, 194 insertions, 99 deletions
diff --git a/meta-supermicro/meta-common/recipes-extended/pam/libpam/pam.d/common-password b/meta-supermicro/meta-common/recipes-extended/pam/libpam/pam.d/common-password
new file mode 100644
index 000000000..5a42680ee
--- /dev/null
+++ b/meta-supermicro/meta-common/recipes-extended/pam/libpam/pam.d/common-password
@@ -0,0 +1,30 @@
+#
+# /etc/pam.d/common-password - password-related modules common to all services
+#
+# This file is included from other service-specific PAM config files,
+# and should contain a list of modules that define the services to be
+# used to change user passwords. The default is pam_unix.
+
+# Explanation of pam_unix options:
+#
+# The "sha512" option enables salted SHA512 passwords. Without this option,
+# the default is Unix crypt. Prior releases used the option "md5".
+#
+# The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in
+# login.defs.
+#
+# See the pam_unix manpage for other options.
+
+# here are the per-package modules (the "Primary" block)
+password [success=ok default=die] pam_cracklib.so debug enforce_for_root reject_username minlen=9 difok=0 lcredit=-1 ocredit=-1 dcredit=-1 ucredit=-1 maxrepeat=3
+password [success=ok default=die] pam_ipmicheck.so spec_grp_name=ipmi use_authtok
+password [success=ok ignore=ignore default=die] pam_pwhistory.so debug enforce_for_root remember=0 use_authtok
+password [success=ok default=die] pam_unix.so sha512 use_authtok
+password [success=1 default=die] pam_ipmisave.so spec_grp_name=ipmi spec_pass_file=/etc/ipmi_pass key_file=/etc/key_file
+# here's the fallback if no module succeeds
+password requisite pam_deny.so
+# prime the stack with a positive return value if there isn't one already;
+# this avoids us returning an error just because nothing sets a success code
+# since the modules above will each just jump around
+password required pam_permit.so
+# and here are more per-package modules (the "Additional" block)
diff --git a/meta-supermicro/meta-common/recipes-extended/pam/libpam_%.bbappend b/meta-supermicro/meta-common/recipes-extended/pam/libpam_%.bbappend
new file mode 100644
index 000000000..20fe5e4cd
--- /dev/null
+++ b/meta-supermicro/meta-common/recipes-extended/pam/libpam_%.bbappend
@@ -0,0 +1,4 @@
+FILESEXTRAPATHS:append := "${THISDIR}/${PN}:"
+
+SRC_URI += " file://pam.d/common-password \
+ "
diff --git a/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service
new file mode 100644
index 000000000..8f3a2bc31
--- /dev/null
+++ b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Rotate the event logs
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/rotate-event-logs.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.sh b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.sh
new file mode 100644
index 000000000..5a8c5cc10
--- /dev/null
+++ b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+while true; do
+ sleep 60
+ /usr/sbin/logrotate /etc/logrotate.d/logrotate.rsyslog
+ ec=$?
+ if [ $ec -ne 0 ] ; then
+ echo "logrotate failed ($ec)"
+ fi
+done
diff --git a/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog-override.conf b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog-override.conf
new file mode 100644
index 000000000..14bcc0781
--- /dev/null
+++ b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog-override.conf
@@ -0,0 +1,2 @@
+[Service]
+ExecReload=/bin/kill -HUP $MAINPID
diff --git a/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.conf b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.conf
new file mode 100644
index 000000000..46a287eef
--- /dev/null
+++ b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.conf
@@ -0,0 +1,79 @@
+# if you experience problems, check
+# http://www.rsyslog.com/troubleshoot for assistance
+
+# rsyslog v3: load input modules
+# If you do not load inputs, nothing happens!
+# You may need to set the module load path if modules are not found.
+#
+# Ported from debian's sysklogd.conf
+
+# Journal-style logging
+# Limit to no more than 2000 entries in one minute and enable the
+# journal workaround to avoid duplicate entries
+module(load="imjournal" StateFile="/var/log/state"
+ RateLimit.Interval="60"
+ RateLimit.Burst="2000")
+
+# Template for IPMI SEL messages
+# "<timestamp> <ID>,<Type>,<EventData>,[<Generator ID>,<Path>,<Direction>]"
+template(name="IPMISELTemplate" type="list") {
+ property(name="timereported" dateFormat="rfc3339")
+ constant(value=" ")
+ property(name="$!IPMI_SEL_RECORD_ID")
+ constant(value=",")
+ property(name="$!IPMI_SEL_RECORD_TYPE")
+ constant(value=",")
+ property(name="$!IPMI_SEL_DATA")
+ constant(value=",")
+ property(name="$!IPMI_SEL_GENERATOR_ID")
+ constant(value=",")
+ property(name="$!IPMI_SEL_SENSOR_PATH")
+ constant(value=",")
+ property(name="$!IPMI_SEL_EVENT_DIR")
+ constant(value="\n")
+}
+
+# Template for Redfish messages
+# "<timestamp> <MessageId>,<MessageArgs>"
+template(name="RedfishTemplate" type="list") {
+ property(name="timereported" dateFormat="rfc3339")
+ constant(value=" ")
+ property(name="$!REDFISH_MESSAGE_ID")
+ constant(value=",")
+ property(name="$!REDFISH_MESSAGE_ARGS")
+ constant(value="\n")
+}
+
+# Template for Application Crashes
+# "<timestamp> <MessageId>,<MessageArgs>"
+template(name="CrashTemplate" type="list") {
+ property(name="timereported" dateFormat="rfc3339")
+ constant(value=" ")
+ constant(value="OpenBMC.0.1.ServiceFailure")
+ constant(value=",")
+ property(name="$!UNIT")
+ constant(value="\n")
+}
+
+
+# If the journal entry has the IPMI SEL MESSAGE_ID, save as IPMI SEL
+# The MESSAGE_ID string is generated using journalctl and must match the
+# MESSAGE_ID used in IPMI to correctly find the SEL entries.
+if ($!MESSAGE_ID == "b370836ccf2f4850ac5bee185b77893a") then {
+ action(type="omfile" file="/var/log/ipmi_sel" template="IPMISELTemplate")
+}
+
+# If the journal entry has a Redfish MessageId, save as a Redfish event
+if ($!REDFISH_MESSAGE_ID != "") then {
+ action(type="omfile" file="/var/log/redfish" template="RedfishTemplate")
+}
+
+# If the journal entry has a Exit Code, save as a Redfish event
+if ($!EXIT_STATUS != "" and $!EXIT_STATUS != "0") then {
+ action(type="omfile" file="/var/log/redfish" template="CrashTemplate")
+}
+
+#
+# Include all config files in /etc/rsyslog.d/
+#
+$IncludeConfig /etc/rsyslog.d/*.conf
diff --git a/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate
new file mode 100644
index 000000000..a6ba28d86
--- /dev/null
+++ b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate
@@ -0,0 +1,22 @@
+# /etc/logrotate.d/rsyslog - Ported from Debian
+
+# Keep up to four 64k files for ipmi_sel (256k total)
+/var/log/ipmi_sel
+{
+ rotate 3
+ size 64k
+ missingok
+ postrotate
+ systemctl reload rsyslog 2> /dev/null || true
+ endscript
+}
+# Keep up to four 64k files for redfish (256k total)
+/var/log/redfish
+{
+ rotate 3
+ size 64k
+ missingok
+ postrotate
+ systemctl reload rsyslog 2> /dev/null || true
+ endscript
+}
diff --git a/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend
new file mode 100644
index 000000000..034ae3cfa
--- /dev/null
+++ b/meta-supermicro/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend
@@ -0,0 +1,24 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += "file://rsyslog.conf \
+ file://rsyslog.logrotate \
+ file://rotate-event-logs.service \
+ file://rotate-event-logs.sh \
+ file://rsyslog-override.conf \
+ "
+
+FILES:${PN} += "${systemd_system_unitdir}/rsyslog.service.d/rsyslog-override.conf"
+
+PACKAGECONFIG:append = " imjournal"
+
+do_install:append() {
+ install -m 0644 ${WORKDIR}/rotate-event-logs.service ${D}${systemd_system_unitdir}
+ install -d ${D}${systemd_system_unitdir}/rsyslog.service.d
+ install -m 0644 ${WORKDIR}/rsyslog-override.conf \
+ ${D}${systemd_system_unitdir}/rsyslog.service.d/rsyslog-override.conf
+ install -d ${D}${bindir}
+ install -m 0755 ${WORKDIR}/rotate-event-logs.sh ${D}/${bindir}/rotate-event-logs.sh
+ rm ${D}${sysconfdir}/rsyslog.d/imjournal.conf
+}
+
+SYSTEMD_SERVICE:${PN} += " rotate-event-logs.service"
diff --git a/meta-supermicro/meta-common/recipes-kernel/linux/linux-aspeed/smci.cfg b/meta-supermicro/meta-common/recipes-kernel/linux/linux-aspeed/smci.cfg
deleted file mode 100644
index d566e2d6d..000000000
--- a/meta-supermicro/meta-common/recipes-kernel/linux/linux-aspeed/smci.cfg
+++ /dev/null
@@ -1,83 +0,0 @@
-CONFIG_BLK_DEV_RAM=y
-CONFIG_HWMON=y
-CONFIG_SPI=y
-CONFIG_SPI_MASTER=y
-CONFIG_IIO=y
-CONFIG_SENSORS_IIO_HWMON=y
-CONFIG_ASPEED_ADC=y
-CONFIG_SGPIO_ASPEED=y
-CONFIG_CRC8=y
-CONFIG_PECI=y
-CONFIG_PECI_CHARDEV=y
-CONFIG_PECI_ASPEED=y
-CONFIG_SENSORS_PECI_CPUTEMP=y
-CONFIG_SENSORS_PECI_DIMMTEMP=y
-CONFIG_SENSORS_PECI_CPUPOWER=y
-CONFIG_SENSORS_PECI_DIMMPOWER=y
-CONFIG_SENSORS_PECI_PLATFORMPOWER=y
-CONFIG_CONFIGFS_FS=y
-CONFIG_BLK_DEV_RAM_SIZE=49152
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x01
-CONFIG_MAGIC_SYSRQ_SERIAL=y
-CONFIG_ASPEED_ESPI_SLAVE=y
-CONFIG_ASPEED_KCS_IPMI_BMC=y
-CONFIG_I2C_SLAVE=y
-CONFIG_I2C_SLAVE_MQUEUE=y
-CONFIG_I2C_SLAVE_MQUEUE_MESSAGE_SIZE=256
-CONFIG_I2C_SLAVE_MQUEUE_QUEUE_SIZE=32
-CONFIG_ASPEED_BT_IPMI_BMC=n
-CONFIG_ASPEED_LPC_CTRL=n
-CONFIG_ASPEED_LPC_MBOX=y
-CONFIG_ASPEED_LPC_SIO=y
-CONFIG_JTAG=y
-CONFIG_JTAG_ASPEED=y
-CONFIG_FRAME_VECTOR=y
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_VIDEO_DEV=y
-CONFIG_VIDEO_V4L2=y
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_ASPEED=y
-CONFIG_VIDEOBUF2_CORE=y
-CONFIG_VIDEOBUF2_V4L2=y
-CONFIG_VIDEOBUF2_MEMOPS=y
-CONFIG_VIDEOBUF2_DMA_CONTIG=y
-CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
-CONFIG_USB_GADGET_VBUS_DRAW=2
-CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
-CONFIG_USB_LIBCOMPOSITE=y
-CONFIG_USB_F_HID=y
-CONFIG_USB_GADGET=y
-CONFIG_U_SERIAL_CONSOLE=y
-CONFIG_USB_ASPEED_VHUB=y
-CONFIG_USB_CONFIGFS=y
-CONFIG_USB_CONFIGFS_F_FS=y
-CONFIG_USB_CONFIGFS_F_HID=y
-CONFIG_ASPEED_UART_ROUTING=y
-CONFIG_ASPEED_VGA_SHAREDMEM=y
-CONFIG_PWM=y
-CONFIG_PWM_FTTMR010=y
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_PWM_BEEPER=y
-CONFIG_VFAT_FS=y
-CONFIG_NLS=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_15=y
-CONFIG_NLS_UTF8=y
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_CIFS=y
-CONFIG_CIFS_XATTR=y
-CONFIG_PSTORE=y
-CONFIG_PSTORE_ZLIB_COMPRESS=y
-CONFIG_PSTORE_RAM=y
-CONFIG_FSI=n
-CONFIG_FSI_MASTER_HUB=n
-CONFIG_FSI_MASTER_ASPEED=n
-CONFIG_FSI_SCOM=n
-CONFIG_FSI_SBEFIFO=n
-CONFIG_FSI_OCC=n
-CONFIG_ASPEED_P2A_CTRL=n
-CONFIG_IPMB_DEVICE_INTERFACE=y
diff --git a/meta-supermicro/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-supermicro/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend
deleted file mode 100644
index 540aadcad..000000000
--- a/meta-supermicro/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += " file://smci.cfg"
diff --git a/meta-supermicro/meta-common/recipes-supermicro/packagegroups/packagegroup-supermicro-apps.bb b/meta-supermicro/meta-common/recipes-supermicro/packagegroups/packagegroup-supermicro-apps.bb
index 2373cec9f..4549bf70f 100644
--- a/meta-supermicro/meta-common/recipes-supermicro/packagegroups/packagegroup-supermicro-apps.bb
+++ b/meta-supermicro/meta-common/recipes-supermicro/packagegroups/packagegroup-supermicro-apps.bb
@@ -16,28 +16,29 @@ PROVIDES += "virtual/obmc-fan-mgmt"
PROVIDES += "virtual/obmc-flash-mgmt"
PROVIDES += "virtual/obmc-system-mgmt"
-RPROVIDES_${PN}-chassis += "virtual-obmc-chassis-mgmt"
-RPROVIDES_${PN}-fans += "virtual-obmc-fan-mgmt"
-RPROVIDES_${PN}-flash += "virtual-obmc-flash-mgmt"
-RPROVIDES_${PN}-system += "virtual-obmc-system-mgmt"
+RPROVIDES:${PN}-chassis += "virtual-obmc-chassis-mgmt"
+RPROVIDES:${PN}-fans += "virtual-obmc-fan-mgmt"
+RPROVIDES:${PN}-flash += "virtual-obmc-flash-mgmt"
+RPROVIDES:${PN}-system += "virtual-obmc-system-mgmt"
-SUMMARY_${PN}-chassis = "Supermicro Chassis"
-RDEPENDS_${PN}-chassis = " \
+SUMMARY:${PN}-chassis = "Supermicro Chassis"
+RDEPENDS:${PN}-chassis = " \
x86-power-control \
+ obmc-host-failure-reboots \
"
-SUMMARY_${PN}-fans = "Supermicro Fans"
-RDEPENDS_${PN}-fans = " \
+SUMMARY:${PN}-fans = "Supermicro Fans"
+RDEPENDS:${PN}-fans = " \
phosphor-pid-control \
"
-SUMMARY_${PN}-flash = "Supermicro Flash"
-RDEPENDS_${PN}-flash = " \
- phosphor-software-manager \
+SUMMARY:${PN}-flash = "Supermicro Flash"
+RDEPENDS:${PN}-flash = " \
+ obmc-control-bmc \
"
-SUMMARY_${PN}-system = "Supermicro System"
-RDEPENDS_${PN}-system = " \
+SUMMARY:${PN}-system = "Supermicro System"
+RDEPENDS:${PN}-system = " \
bmcweb \
entity-manager \
dbus-sensors \