diff options
Diffstat (limited to 'meta-fii/meta-kudo/recipes-kudo')
24 files changed, 575 insertions, 12 deletions
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update.bb b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update.bb new file mode 100644 index 000000000..b126bfc8c --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update.bb @@ -0,0 +1,33 @@ +SUMMARY = "Phosphor OpenBMC Kudo BIOS Firmware Upgrade Command" +DESCRIPTION = "Phosphor OpenBMC Kudo BIOS Firmware Upgrade Comman Daemon" + +PR = "r1" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +inherit systemd +inherit obmc-phosphor-systemd + +DEPENDS += "systemd" +DEPENDS += "phosphor-ipmi-flash" +RDEPENDS_${PN} += "libsystemd" +RDEPENDS_${PN} += "bash" + +FILES_${PN} += "${datadir}/phosphor-ipmi-flash/config-bios.json" + +SRC_URI_append_kudo = " \ + file://phosphor-ipmi-flash-bios-update.service \ + file://config-bios.json \ + " + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN}_append_kudo = " \ + phosphor-ipmi-flash-bios-update.service \ + " + +do_install () { + install -d ${D}${datadir}/phosphor-ipmi-flash + install -m 0644 ${WORKDIR}/config-bios.json ${D}${datadir}/phosphor-ipmi-flash + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/phosphor-ipmi-flash-bios-update.service ${D}${systemd_system_unitdir} +} diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update/config-bios.json b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update/config-bios.json new file mode 100644 index 000000000..de2382346 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update/config-bios.json @@ -0,0 +1,19 @@ +[{ + "blob": "/flash/bios", + "handler": { + "type": "file", + "path": "/run/initramfs/bios-image" + }, + "actions": { + "preparation": { + "type": "skip" + }, + "verification": { + "type": "skip" + }, + "update": { + "type": "systemd", + "unit": "phosphor-ipmi-flash-bios-update.service" + } + } +}] diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update/phosphor-ipmi-flash-bios-update.service b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update/phosphor-ipmi-flash-bios-update.service new file mode 100644 index 000000000..1702153d7 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bios-update/phosphor-ipmi-flash-bios-update.service @@ -0,0 +1,6 @@ +[Unit] +Description=Phosphor-ipmi-flash update BIOS firmware service + +[Service] +ExecStart=/usr/sbin/kudo-fw.sh bios /run/initramfs/bios-image +Type=oneshot
\ No newline at end of file diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bmc-update.bb b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bmc-update.bb new file mode 100644 index 000000000..184f3efc6 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bmc-update.bb @@ -0,0 +1,20 @@ +SUMMARY = "Phosphor OpenBMC Kudo BMC Firmware Upgrade Command" +DESCRIPTION = "Phosphor OpenBMC Kudo BMC Firmware Upgrade Comman Daemon" + +PR = "r1" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +DEPENDS += "phosphor-ipmi-flash" +RDEPENDS_${PN} += "bash" + +FILES_${PN} += "${datadir}/phosphor-ipmi-flash/config-bmc.json" + +SRC_URI_append_kudo = " \ + file://config-bmc.json \ + " + +do_install () { + install -d ${D}${datadir}/phosphor-ipmi-flash + install -m 0644 ${WORKDIR}/config-bmc.json ${D}${datadir}/phosphor-ipmi-flash +} diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bmc-update/config-bmc.json b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bmc-update/config-bmc.json new file mode 100644 index 000000000..5aefeb342 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-bmc-update/config-bmc.json @@ -0,0 +1,20 @@ +[{ + "blob": "/flash/image", + "handler": { + "type": "file", + "path": "/run/initramfs/image-bmc" + }, + "actions": { + "preparation": { + "type": "skip" + }, + "verification": { + "type": "skip" + }, + "update": { + "type": "systemd", + "unit": "reboot.target", + "mode": "replace-irreversibly" + } + } +}] diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update.bb b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update.bb new file mode 100644 index 000000000..b2fd8209d --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update.bb @@ -0,0 +1,39 @@ +SUMMARY = "Phosphor OpenBMC Kudo CPLD Firmware Upgrade Command" +DESCRIPTION = "Phosphor OpenBMC Kudo CPLD Firmware Upgrade Comman Daemon" + +PR = "r1" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +inherit systemd +inherit obmc-phosphor-systemd + +DEPENDS += "systemd" +DEPENDS += "phosphor-ipmi-flash" +RDEPENDS_${PN} += "libsystemd" +RDEPENDS_${PN} += "bash" + +FILES_${PN} += "${datadir}/phosphor-ipmi-flash/config-bmccpld.json" +FILES_${PN} += "${datadir}/phosphor-ipmi-flash/config-mbcpld.json" + +SRC_URI_append_kudo = " \ + file://phosphor-ipmi-flash-bmccpld-update.service \ + file://phosphor-ipmi-flash-mbcpld-update.service \ + file://config-bmccpld.json \ + file://config-mbcpld.json \ + " + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN}_append_kudo = " \ + phosphor-ipmi-flash-bmccpld-update.service \ + phosphor-ipmi-flash-mbcpld-update.service \ + " + +do_install () { + install -d ${D}${datadir}/phosphor-ipmi-flash + install -m 0644 ${WORKDIR}/config-bmccpld.json ${D}${datadir}/phosphor-ipmi-flash + install -m 0644 ${WORKDIR}/config-mbcpld.json ${D}${datadir}/phosphor-ipmi-flash + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/phosphor-ipmi-flash-bmccpld-update.service ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/phosphor-ipmi-flash-mbcpld-update.service ${D}${systemd_system_unitdir} +}
\ No newline at end of file diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/config-bmccpld.json b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/config-bmccpld.json new file mode 100644 index 000000000..687aa11c2 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/config-bmccpld.json @@ -0,0 +1,19 @@ +[{ + "blob": "/flash/bmccpld", + "handler": { + "type": "file", + "path": "/run/initramfs/bmc-cpld.svf" + }, + "actions": { + "preparation": { + "type": "skip" + }, + "verification": { + "type": "skip" + }, + "update": { + "type": "systemd", + "unit": "phosphor-ipmi-flash-bmccpld-update.service" + } + } +}] diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/config-mbcpld.json b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/config-mbcpld.json new file mode 100644 index 000000000..f5870bb33 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/config-mbcpld.json @@ -0,0 +1,20 @@ +[{ + "blob": "/flash/mbcpld", + "handler": { + "type": "file", + "path": "/run/initramfs/mb-cpld.svf" + }, + "actions": { + "preparation": { + "type": "skip" + }, + "verification": { + "type": "skip" + }, + "update": { + "type": "systemd", + "unit": "phosphor-ipmi-flash-mbcpld-update.service" + } + } +}] + diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/phosphor-ipmi-flash-bmccpld-update.service b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/phosphor-ipmi-flash-bmccpld-update.service new file mode 100644 index 000000000..b4f91f81c --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/phosphor-ipmi-flash-bmccpld-update.service @@ -0,0 +1,9 @@ +[Unit] +Description=Phosphor-ipmi-flash update BMC CPLD firmware service + +[Service] +ExecStart=/usr/sbin/kudo-fw.sh bmccpld /run/initramfs/bmc-cpld.svf +Type=oneshot + +[Install] +WantedBy=phosphor-ipmi-flash-bmccpld-update.target diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/phosphor-ipmi-flash-mbcpld-update.service b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/phosphor-ipmi-flash-mbcpld-update.service new file mode 100644 index 000000000..51b6c9c4b --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-cpld-update/phosphor-ipmi-flash-mbcpld-update.service @@ -0,0 +1,9 @@ +[Unit] +Description=Phosphor-ipmi-flash update MB CPLD firmware service + +[Service] +ExecStart=/usr/sbin/kudo-fw.sh mbcpld /run/initramfs/mb-cpld.svf +Type=oneshot + +[Install] +WantedBy=phosphor-ipmi-flash-mbcpld-update.target diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw.bb b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw.bb new file mode 100644 index 000000000..3f5a30ec6 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw.bb @@ -0,0 +1,34 @@ +SUMMARY = "Phosphor OpenBMC Kudo Firmware Upgrade Command" +DESCRIPTION = "Phosphor OpenBMC Kudo Firmware Upgrade Comman Daemon" + +PR = "r1" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +inherit systemd +inherit obmc-phosphor-systemd + +DEPENDS += "systemd" +DEPENDS += "phosphor-ipmi-flash" +RDEPENDS_${PN} += "libsystemd" +RDEPENDS_${PN} += "bash" + + +SRC_URI_append_kudo = " \ + file://kudo-fw.sh \ + file://kudo-fw-ver.service \ + file://kudo-fw-ver.sh \ + " + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN}_append_kudo = " \ + kudo-fw-ver.service \ + " + +do_install () { + install -d ${D}/${sbindir} + install -m 0755 ${WORKDIR}/kudo-fw.sh ${D}/${sbindir}/kudo-fw.sh + install -m 0755 ${WORKDIR}/kudo-fw-ver.sh ${D}/${sbindir}/kudo-fw-ver.sh + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/kudo-fw-ver.service ${D}${systemd_system_unitdir} +} diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.service b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.service new file mode 100644 index 000000000..24e21d236 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.service @@ -0,0 +1,10 @@ +[Unit] +Description=Firmware Version Daemon + +[Service] +RemainAfterExit=yes +Type=oneshot +ExecStart=/usr/sbin/kudo-fw-ver.sh + +[Install] +WantedBy=multi-user.target diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh new file mode 100644 index 000000000..498fe7d0a --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh @@ -0,0 +1,28 @@ + +#!/bin/bash +BMC_CPLD_VER_FILE="/run/cpld0.version" +MB_CPLD_VER_FILE="/run/cpld1.version" +ver='' + +function fw_rev() { + case $1 in + cpldb) + rsp=($(i2cget -y -f -a 13 0x76 0x00 i 5)) + ver=$(printf '%d.%d.%d.%d' ${rsp[6]} ${rsp[5]} ${rsp[4]} ${rsp[3]}) + ;; + cpldm) + I2C_BUS_DEV=$(readlink "/sys/bus/i2c/devices/4-0077/channel-2" | cut -c 8-) + rsp=($(i2cget -y -f -a $I2C_BUS_DEV 0x76 0x00 i 5)) + ver=$(printf '%d.%d.%d.%d' ${rsp[6]} ${rsp[5]} ${rsp[4]} ${rsp[3]}) + ;; + *) + ;; + esac +} + +fw_rev cpldb +echo "BMC CPLD version : ${ver}" +echo "${ver}" > "${BMC_CPLD_VER_FILE}" +fw_rev cpldm +echo "MB CPLD version : ${ver}" +echo "${ver}" > "${MB_CPLD_VER_FILE}"
\ No newline at end of file diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh new file mode 100644 index 000000000..e42795f0c --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh @@ -0,0 +1,120 @@ +#!/bin/bash + +devpath="/sys/bus/i2c/devices/13-0077/driver" + +# set_gpio_ctrl +# pin #, direction, high(1)/low(0) +function set_gpio_ctrl() { + echo $1 > /sys/class/gpio/export + echo $2 > /sys/class//gpio/gpio$1/direction + echo $3 > /sys/class/gpio/gpio$1/value + echo $1 > /sys/class/gpio/unexport + sleep 1 +} + +function fwbios() { + KERNEL_FIU_ID="c0000000.spi" + KERNEL_SYSFS_FIU="/sys/bus/platform/drivers/NPCM-FIU" + + # switch the SPI mux from Host to BMC + i2cset -y -f -a 13 0x76 0x10 0x01 + + # rescan the spi bus + if [ -d "${KERNEL_SYSFS_FIU}/${KERNEL_FIU_ID}" ]; then + echo "${KERNEL_FIU_ID}" > "${KERNEL_SYSFS_FIU}"/unbind + sleep 1 + fi + echo "${KERNEL_FIU_ID}" > "${KERNEL_SYSFS_FIU}"/bind + + # write to the mtd device + BIOS_MTD=$(cat /proc/mtd | grep "bios" | sed -n 's/^\(.*\):.*/\1/p') + + if [ ! -f $1 ]; then + echo " Cannot find the" $1 "image file" + exit 1 + fi + + echo "Flashing BIOS @/dev/$BIOS_MTD" + flashcp -v $1 /dev/$BIOS_MTD + wait + + # switch the SPI mux from BMC to Host + if [ -d "${KERNEL_SYSFS_FIU}/${KERNEL_FIU_ID}" ]; then + echo "${KERNEL_FIU_ID}" > "${KERNEL_SYSFS_FIU}"/unbind + fi + i2cset -y -f -a 13 0x76 0x10 0x00 + + if [[ $(find ${1} -type f -size +17156k 2>/dev/null) ]]; then + echo "Extracting the SCP from the image" + dd if=$1 bs=1024 skip=17156 count=256 of=/run/initramfs/myscp.img + fwscp /run/initramfs/myscp.img + fi + rm -f $1 +} + + +function fwbmccpld() { + # BMC_JTAG_MUX_1 #218 0:BMC 1:MB + set_gpio_ctrl 218 out 0 + loadsvf -d /dev/jtag0 -s $1 -m 0 + wait + set_gpio_ctrl 218 out 1 + rm -f $1 +} + +function fwmbcpld() { + # BMC_JTAG_MUX_1 #218 0:BMC 1:MB + # BMC_JTAG_SEL #164 0:BMC 1:CPU + set_gpio_ctrl 218 out 1 + set_gpio_ctrl 164 out 1 + loadsvf -d /dev/jtag0 -s $1 -m 0 + wait + rm -f $1 +} + +function fwscp() { + # BMC_I2C_BACKUP_SEL #168 0:failover, 1:main + # BMC_CPU_EEPROM_I2C_SEL #85 0:BMC, 1:CPU + set_gpio_ctrl 168 out 1 + set_gpio_ctrl 85 out 0 + I2C_BUS_DEV=$(ls -l $devpath/"13-0077/" | grep channel-0 | awk '{ print $11}' | cut -c 8-) + ampere_eeprom_prog -b $I2C_BUS_DEV -s 0x50 -p -f $1 + wait + set_gpio_ctrl 85 out 1 + set_gpio_ctrl 168 out 1 + rm -f $1 +} + +function fwscpback() { + # BMC_I2C_BACKUP_SEL #168 0:failover, 1:main + # BMC_CPU_EEPROM_I2C_SEL #85 0:BMC, 1:CPU + set_gpio_ctrl 168 out 0 + set_gpio_ctrl 85 out 0 + I2C_BUS_DEV=$(ls -l $devpath/"13-0077/" | grep channel-0 | awk '{ print $11}' | cut -c 8-) + ampere_eeprom_prog -b $I2C_BUS_DEV -s 0x50 -p -f $1 + wait + set_gpio_ctrl 85 out 1 + set_gpio_ctrl 168 out 1 + rm -f $1 +} + + +case $1 in + bios) + fwbios $2 + ;; + bmccpld) + fwbmccpld $2 + ;; + mbcpld) + fwmbcpld $2 + ;; + scp) + fwscp $2 + ;; + scpback) + fwscpback $2 + ;; + *) + ;; +esac diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update.bb b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update.bb new file mode 100644 index 000000000..8d2fb1324 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update.bb @@ -0,0 +1,41 @@ +SUMMARY = "Phosphor OpenBMC Kudo SCP Firmware Upgrade Command" +DESCRIPTION = "Phosphor OpenBMC Kudo SCP Firmware Upgrade Comman Daemon" +FILESEXTRAPATHS_prepend := "${THISDIR}/kudo-scp-update:" + +PR = "r1" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +inherit systemd +inherit obmc-phosphor-systemd + +DEPENDS += "systemd" +DEPENDS += "phosphor-ipmi-flash" +RDEPENDS_${PN} += "libsystemd" +RDEPENDS_${PN} += "bash" + +FILES_${PN} += "${datadir}/phosphor-ipmi-flash/config-scp.json" +FILES_${PN} += "${datadir}/phosphor-ipmi-flash/config-scpback.json" + +SRC_URI_append_kudo = " \ + file://phosphor-ipmi-flash-scp-update.service \ + file://phosphor-ipmi-flash-scpback-update.service \ + file://config-scp.json \ + file://config-scpback.json \ + " + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN}_append_kudo = " \ + phosphor-ipmi-flash-scp-update.service \ + phosphor-ipmi-flash-scpback-update.service \ + " + +do_install () { + install -d ${D}${datadir}/phosphor-ipmi-flash + install -m 0644 ${WORKDIR}/config-scp.json ${D}${datadir}/phosphor-ipmi-flash + install -m 0644 ${WORKDIR}/config-scpback.json ${D}${datadir}/phosphor-ipmi-flash + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/phosphor-ipmi-flash-scp-update.service ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/phosphor-ipmi-flash-scpback-update.service ${D}${systemd_system_unitdir} +} diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/config-scp.json b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/config-scp.json new file mode 100644 index 000000000..563238c6a --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/config-scp.json @@ -0,0 +1,19 @@ +[{ + "blob": "/flash/scp", + "handler": { + "type": "file", + "path": "/run/initramfs/scp-fw.slim" + }, + "actions": { + "preparation": { + "type": "skip" + }, + "verification": { + "type": "skip" + }, + "update": { + "type": "systemd", + "unit": "phosphor-ipmi-flash-scp-update.service" + } + } +}] diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/config-scpback.json b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/config-scpback.json new file mode 100644 index 000000000..0e6c61425 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/config-scpback.json @@ -0,0 +1,20 @@ +[{ + "blob": "/flash/scpb", + "handler": { + "type": "file", + "path": "/run/initramfs/scp-fw.slim" + }, + "actions": { + "preparation": { + "type": "skip" + }, + "verification": { + "type": "skip" + }, + "update": { + "type": "systemd", + "unit": "phosphor-ipmi-flash-scpback-update.service" + } + } +}] + diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/phosphor-ipmi-flash-scp-update.service b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/phosphor-ipmi-flash-scp-update.service new file mode 100644 index 000000000..8d5e2da30 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/phosphor-ipmi-flash-scp-update.service @@ -0,0 +1,9 @@ +[Unit] +Description=Phosphor-ipmi-flash update main EEPROM SCP firmware service + +[Service] +ExecStart=/usr/sbin/kudo-fw.sh scp /run/initramfs/scp-fw.slim +Type=oneshot + +[Install] +WantedBy=phosphor-ipmi-flash-scp-update.target diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/phosphor-ipmi-flash-scpback-update.service b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/phosphor-ipmi-flash-scpback-update.service new file mode 100644 index 000000000..c247552bf --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update/phosphor-ipmi-flash-scpback-update.service @@ -0,0 +1,9 @@ +[Unit] +Description=Phosphor-ipmi-flash update failover EEPROM SCP firmware service + +[Service] +ExecStart=/usr/sbin/kudo-fw.sh scpback /run/initramfs/scp-fw.slim +Type=oneshot + +[Install] +WantedBy=phosphor-ipmi-flash-scpback-update.target diff --git a/meta-fii/meta-kudo/recipes-kudo/network/usb-network.bb b/meta-fii/meta-kudo/recipes-kudo/network/usb-network.bb new file mode 100644 index 000000000..249e454ae --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/network/usb-network.bb @@ -0,0 +1,29 @@ +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +inherit allarch systemd + +DEPENDS += "systemd" +RDEPENDS_${PN} += "libsystemd" +RDEPENDS_${PN} += "bash" + +SRC_URI_append += " \ + file://usb_network.sh \ + file://usb_network.service \ + file://00-bmc-usb0.network \ + " + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN}_append = " usb_network.service" +FILES_${PN} += "${sysconfdir_native}/systemd/network/00-bmc-usb0.network" + +do_install() { + install -d ${D}/${sbindir} + install -m 0755 ${WORKDIR}/usb_network.sh ${D}/${sbindir} + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/usb_network.service ${D}${systemd_unitdir}/system + + install -d ${D}${sysconfdir_native}/systemd/network/ + install -m 0644 ${WORKDIR}/00-bmc-usb0.network ${D}${sysconfdir_native}/systemd/network +} diff --git a/meta-fii/meta-kudo/recipes-kudo/network/usb-network/00-bmc-usb0.network b/meta-fii/meta-kudo/recipes-kudo/network/usb-network/00-bmc-usb0.network new file mode 100644 index 000000000..1b8d66e4d --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/network/usb-network/00-bmc-usb0.network @@ -0,0 +1,7 @@ +[Match] +Name=usb0 +[Address] +Address=169.254.95.118/16 +[Network] +LinkLocalAddressing=ipv6 +IPv6AcceptRA=no diff --git a/meta-fii/meta-kudo/recipes-kudo/network/usb-network/usb_network.service b/meta-fii/meta-kudo/recipes-kudo/network/usb-network/usb_network.service new file mode 100644 index 000000000..81a4e4244 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/network/usb-network/usb_network.service @@ -0,0 +1,10 @@ +[Unit] +Description=enable usb network +After=phosphor-ipmi-host.service + +[Service] +Type=oneshot +ExecStart=/bin/bash -c '/usr/sbin/usb_network.sh' + +[Install] +WantedBy=multi-user.target diff --git a/meta-fii/meta-kudo/recipes-kudo/network/usb-network/usb_network.sh b/meta-fii/meta-kudo/recipes-kudo/network/usb-network/usb_network.sh new file mode 100644 index 000000000..8d7804d06 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/network/usb-network/usb_network.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +cd /sys/kernel/config/usb_gadget + +if [ ! -f "g1" ]; then + mkdir g1 + cd g1 + + echo 0x1d6b > idVendor # Linux foundation + echo 0x0104 > idProduct # Multifunction composite gadget + mkdir -p strings/0x409 + echo "Linux" > strings/0x409/manufacturer + echo "Ethernet/ECM gadget" > strings/0x409/product + + mkdir -p configs/c.1 + echo 100 > configs/c.1/MaxPower + mkdir -p configs/c.1/strings/0x409 + echo "ECM" > configs/c.1/strings/0x409/configuration + + mkdir -p functions/ecm.usb0 + + ln -s functions/ecm.usb0 configs/c.1 + + echo f0835000.udc > UDC + +fi +exit 0 diff --git a/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb index be879455d..f64373e89 100644 --- a/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb +++ b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb @@ -5,26 +5,32 @@ inherit packagegroup PROVIDES = "${PACKAGES}" PACKAGES = " \ - ${PN}-kudo-system \ - ${PN}-kudo-common-utils \ - " + ${PN}-kudo-system \ + ${PN}-kudo-fw \ + " PROVIDES += "virtual/obmc-system-mgmt" RPROVIDES_${PN}-kudo-system += "virtual-obmc-system-mgmt" +RPROVIDES_${PN}-kudo-fw += "virtual-obmc-system-mgmt" SUMMARY_${PN}-kudo-system = "KUDO System" RDEPENDS_${PN}-kudo-system = " \ - google-ipmi-sys \ - google-ipmi-i2c \ - " - -SUMMARY_${PN}-kudo-common-utils = "KUDO common utils" -RDEPENDS_${PN}-kudo-common-utils = " \ ipmitool \ - phosphor-webui \ - phosphor-host-postd \ + ethtool \ + memtester \ loadsvf \ obmc-console \ - phosphor-sel-logger \ + usb-network \ + ncsid \ + gbmc-mac-config \ + " + +SUMMARY_${PN}-kudo-fw = "KUDO Firmware" +RDEPENDS_${PN}-kudo-fw = " \ + kudo-fw \ + kudo-bios-update \ + kudo-bmc-update \ + kudo-cpld-update \ + kudo-scp-update \ " |