diff options
author | Jason M. Bills <jason.m.bills@linux.intel.com> | 2021-09-28 20:46:50 +0300 |
---|---|---|
committer | Jason M. Bills <jason.m.bills@linux.intel.com> | 2021-09-28 20:46:50 +0300 |
commit | d73e39703a0260c8911cb439b579e1c2bada4b20 (patch) | |
tree | 4fa9f965ae954c587ab773ecaced6b8f8e18d359 /meta-hpe | |
parent | 6f106a0a4ce15fe0678d4ffefd572e6978c72597 (diff) | |
parent | 6d8c5d2c6204714ca6b7a43f04348162b683cdbc (diff) | |
download | openbmc-d73e39703a0260c8911cb439b579e1c2bada4b20.tar.xz |
Merge tag '0.75' of ssh://git-amr-1.devtools.intel.com:29418/openbmc-openbmc into update
Diffstat (limited to 'meta-hpe')
43 files changed, 630 insertions, 264 deletions
diff --git a/meta-hpe/MAINTAINERS b/meta-hpe/MAINTAINERS index 3563ffc22..4b79d6650 100644 --- a/meta-hpe/MAINTAINERS +++ b/meta-hpe/MAINTAINERS @@ -45,6 +45,6 @@ START OF MAINTAINERS LIST # THIS REPOSITORY HAS A DIFFERENT SUBMISSION PROCESS: this is a subtree in # @openbmc and is synced by the maintainer using git-subtree. Please submit # changes against @openbmc. -M: Gilbert Chen <gilbert.chen@hpe.com> M: Jorge Cisneros <jorge.cisneros@hpe.com> M: Mike Garrett <mike.garrett@hpe.com> +M: Jean-Marie Verdun <jean-marie.verdun@hpe.com> diff --git a/meta-hpe/OWNERS b/meta-hpe/OWNERS index 4976300ca..bd8c07562 100644 --- a/meta-hpe/OWNERS +++ b/meta-hpe/OWNERS @@ -1,4 +1,4 @@ owners: -- gilbert.chen@hpe.com - jorge.cisneros@hpe.com - mike.garrett@hpe.com +- jean-marie.verdun@hpe.com diff --git a/meta-hpe/classes/hpe-rootfs-postcommands.bbclass b/meta-hpe/classes/hpe-rootfs-postcommands.bbclass new file mode 100644 index 000000000..6980c2312 --- /dev/null +++ b/meta-hpe/classes/hpe-rootfs-postcommands.bbclass @@ -0,0 +1,7 @@ +touch_var_lib_systemd_clock() { + install -d ${IMAGE_ROOTFS}/var/lib/systemd/timesync/ + touch ${IMAGE_ROOTFS}/var/lib/systemd/timesync/clock +} + +ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "systemd", "touch_var_lib_systemd_clock; ", "", d)}' + diff --git a/meta-hpe/conf/layer.conf b/meta-hpe/conf/layer.conf index 6ff79df8f..da14cfc28 100644 --- a/meta-hpe/conf/layer.conf +++ b/meta-hpe/conf/layer.conf @@ -7,7 +7,7 @@ BBFILES += "${LAYERDIR}/meta-common/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "hpe-layer" BBFILE_PATTERN_hpe-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_hpe-layer = "gatesgarth hardknott" +LAYERSERIES_COMPAT_hpe-layer = "hardknott honister" # Provide a variable that points the base of the hpe layer. HPEBASE = '${@os.path.normpath("${LAYERDIR}/")}' diff --git a/meta-hpe/conf/machine/include/hpe.inc b/meta-hpe/conf/machine/include/hpe.inc index 1e928beeb..74b1a2c6d 100644 --- a/meta-hpe/conf/machine/include/hpe.inc +++ b/meta-hpe/conf/machine/include/hpe.inc @@ -8,6 +8,9 @@ OBMC_MACHINE_FEATURES += "\ obmc-bmc-state-mgmt \ " +VIRTUAL-RUNTIME_obmc-host-state-manager ?= "x86-power-control" +VIRTUAL-RUNTIME_obmc-chassis-state-manager ?= "x86-power-control" + PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw = "phosphor-ipmi-kcs" PREFERRED_PROVIDER_virtual/obmc-chassis-mgmt = "packagegroup-hpe-apps" PREFERRED_PROVIDER_virtual/obmc-fan-mgmt = "packagegroup-hpe-apps" @@ -16,4 +19,4 @@ PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-hpe-apps" PREFERRED_PROVIDER_virtual/obmc-host-ctl ?= "" #PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-hostfw-config ?= "hostboot-inventory-config-native" -IMAGE_FEATURES_remove = "obmc-fan-control" +IMAGE_CLASSES:append = " hpe-rootfs-postcommands" diff --git a/meta-hpe/meta-common/recipes-hpe/host/host-boot-enable.bb b/meta-hpe/meta-common/recipes-hpe/host/host-boot-enable.bb new file mode 100644 index 000000000..58cc921a5 --- /dev/null +++ b/meta-hpe/meta-common/recipes-hpe/host/host-boot-enable.bb @@ -0,0 +1,20 @@ +SUMMARY = "Enable Host Boot" +PR = "r1" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${HPEBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658" + +inherit obmc-phosphor-systemd + +HOST_BOOT_SERVICE = "host-boot-enable.service" +SYSTEMD_SERVICE:${PN} += "${HOST_BOOT_SERVICE}" + +HOST_BOOT_FMT = "../${HOST_BOOT_SERVICE}:multi-user.target.wants/${HOST_BOOT_SERVICE}" +SYSTEMD_LINK_${PN} += "${HOST_BOOT_FMT}" + +SRC_URI += "file://host-boot-enable.service" +SRC_URI += "file://host-boot-enable.sh" + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${WORKDIR}/host-boot-enable.sh ${D}${bindir} +} diff --git a/meta-hpe/meta-common/recipes-hpe/host/host-boot-enable/host-boot-enable.service b/meta-hpe/meta-common/recipes-hpe/host/host-boot-enable/host-boot-enable.service new file mode 100644 index 000000000..58f8c5d25 --- /dev/null +++ b/meta-hpe/meta-common/recipes-hpe/host/host-boot-enable/host-boot-enable.service @@ -0,0 +1,15 @@ +[Unit] +Description=Enable Host Boot +Wants=phosphor-ipmi-host.service +After=phosphor-ipmi-host.service + +[Service] +Type=simple +ExecStart=/bin/sh -c "host-boot-enable.sh" +SyslogIdentifier=host-boot-enable +Restart=always +RestartSec=5 +StartLimitInterval=0 + +[Install] +WantedBy=multi-user.target diff --git a/meta-hpe/meta-common/recipes-hpe/host/host-boot-enable/host-boot-enable.sh b/meta-hpe/meta-common/recipes-hpe/host/host-boot-enable/host-boot-enable.sh new file mode 100644 index 000000000..1798607e0 --- /dev/null +++ b/meta-hpe/meta-common/recipes-hpe/host/host-boot-enable/host-boot-enable.sh @@ -0,0 +1,40 @@ +#!/bin/sh + +findmtd() { + m=$(grep -xl "$1" /sys/class/mtd/*/name) + m=${m%/name} + m=${m##*/} + echo $m +} + +rom_lists=(host-prime host-second vrom-prime vrom-second) +rom_mtd_list=() + +for f in "${rom_lists[@]}" +do + image=$(findmtd ${f}) + if test -z "$image" + then + echo "Unable to find mtd partition for ${f}" + exit 1 + fi + rom_mtd_list+=($image) +done + +#enable vrom +# host-prime to vrom-prime +dd if=/dev/${rom_mtd_list[0]} of=/dev/${rom_mtd_list[2]} +# host-second to vrom-second +dd if=/dev/${rom_mtd_list[1]} of=/dev/${rom_mtd_list[3]} + +echo 0x1800008a > /sys/class/soc/srom/vromoff + +val=$(( ("$(devmem 0xd1000006 8)" && 0xff) | 0x04 )) +devmem 0xd1000006 8 $val +devmem 0xd1000018 8 0xff +while [ true ] +do + devmem 0xd100000f 8 0x14 + sleep 1 +done + diff --git a/meta-hpe/meta-common/recipes-phosphor/image/obmc-phosphor-image.bbappend b/meta-hpe/meta-common/recipes-phosphor/image/obmc-phosphor-image.bbappend index 7c21fb4d2..721ad10ad 100644 --- a/meta-hpe/meta-common/recipes-phosphor/image/obmc-phosphor-image.bbappend +++ b/meta-hpe/meta-common/recipes-phosphor/image/obmc-phosphor-image.bbappend @@ -47,19 +47,19 @@ do_generate_static[depends] += " \ " -make_image_links_append() { +make_image_links:append() { ln -sf ${DEPLOY_DIR_IMAGE}/hpe-section image-section } -do_mk_static_symlinks_append() { +do_mk_static_symlinks:append() { ln -sf hpe-section image-section } -do_generate_static_prepend() { +do_generate_static:prepend() { bb.build.exec_func("do_generate_hpe_image", d) } -do_generate_static_append() { +do_generate_static:append() { _append_image(os.path.join(d.getVar('DEPLOY_DIR_IMAGE', True), 'hpe-section'), int(d.getVar('FLASH_SECTION_OFFSET', True)), diff --git a/meta-hpe/meta-common/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bbappend b/meta-hpe/meta-common/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bbappend index cdf163cea..ab76653ff 100644 --- a/meta-hpe/meta-common/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bbappend +++ b/meta-hpe/meta-common/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bbappend @@ -1,11 +1,11 @@ -FILESEXTRAPATHS_prepend :="${THISDIR}/files:" +FILESEXTRAPATHS:prepend :="${THISDIR}/files:" SRC_URI += "file://gxp-obmc-init.sh \ " -do_install_append() { +do_install:append() { install -m 0755 ${WORKDIR}/gxp-obmc-init.sh ${D}/init } -FILES_${PN} += " /init /shutdown /update /whitelist /dev " -FILES_${PN} += " /init-options /init-download-url " +FILES:${PN} += " /init /shutdown /update /whitelist /dev " +FILES:${PN} += " /init-options /init-download-url " diff --git a/meta-hpe/meta-common/recipes-phosphor/packagegroups/packagegroup-hpe-apps.bb b/meta-hpe/meta-common/recipes-phosphor/packagegroups/packagegroup-hpe-apps.bb index 82a748b91..3f16d41e7 100644 --- a/meta-hpe/meta-common/recipes-phosphor/packagegroups/packagegroup-hpe-apps.bb +++ b/meta-hpe/meta-common/recipes-phosphor/packagegroups/packagegroup-hpe-apps.bb @@ -16,31 +16,31 @@ 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 = "HPE Chassis" -RDEPENDS_${PN}-chassis = " \ +SUMMARY:${PN}-chassis = "HPE Chassis" +RDEPENDS:${PN}-chassis = " \ obmc-phosphor-buttons-signals \ obmc-phosphor-buttons-handler \ obmc-op-control-power \ obmc-host-failure-reboots \ " -SUMMARY_${PN}-fans = "HPE Fans" -RDEPENDS_${PN}-fans = " \ +SUMMARY:${PN}-fans = "HPE Fans" +RDEPENDS:${PN}-fans = " \ phosphor-pid-control \ " -SUMMARY_${PN}-flash = "HPE Flash" -RDEPENDS_${PN}-flash = " \ +SUMMARY:${PN}-flash = "HPE Flash" +RDEPENDS:${PN}-flash = " \ obmc-control-bmc \ " -SUMMARY_${PN}-system = "HPE System" -RDEPENDS_${PN}-system = " \ +SUMMARY:${PN}-system = "HPE System" +RDEPENDS:${PN}-system = " \ bmcweb \ phosphor-webui \ phosphor-ipmi-ipmb \ diff --git a/meta-hpe/meta-common/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-hpe/meta-common/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend index fc6a05510..101e9c1c0 100644 --- a/meta-hpe/meta-common/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend +++ b/meta-hpe/meta-common/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend @@ -1,10 +1,10 @@ -RDEPENDS_${PN}-logging += "phosphor-logging" -RDEPENDS_${PN}-extras += " bmcweb \ +RDEPENDS:${PN}-logging += "phosphor-logging" +RDEPENDS:${PN}-extras += " bmcweb \ phosphor-webui \ phosphor-image-signing \ phosphor-pid-control \ " -RDEPENDS_${PN}-fan-control = " \ +RDEPENDS:${PN}-fan-control = " \ ${VIRTUAL-RUNTIME_obmc-fan-control} \ " diff --git a/meta-hpe/meta-dl360poc/conf/layer.conf b/meta-hpe/meta-dl360poc/conf/layer.conf index 5f85f7c1c..999ad04fc 100644 --- a/meta-hpe/meta-dl360poc/conf/layer.conf +++ b/meta-hpe/meta-dl360poc/conf/layer.conf @@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "dl360poc-layer" BBFILE_PATTERN_dl360poc-layer := "^${LAYERDIR}/" -LAYERSERIES_COMPAT_dl360poc-layer = "gatesgarth hardknott" +LAYERSERIES_COMPAT_dl360poc-layer = "hardknott honister" diff --git a/meta-hpe/meta-dl360poc/conf/local.conf.sample b/meta-hpe/meta-dl360poc/conf/local.conf.sample index a111ba715..41698669b 100644 --- a/meta-hpe/meta-dl360poc/conf/local.conf.sample +++ b/meta-hpe/meta-dl360poc/conf/local.conf.sample @@ -2,11 +2,11 @@ # This file is your local configuration file and is where all local user settings # are placed. The comments in this file give some guide to the options a new user # to the system might want to change but pretty much any configuration option can -# be set in this file. More adventurous users can look at local.conf.extended +# be set in this file. More adventurous users can look at local.conf.extended # which contains other examples of configuration which can be placed in this file # but new users likely won't need any of them initially. # -# Lines starting with the '#' character are commented out and in some cases the +# Lines starting with the '#' character are commented out and in some cases the # default values are provided as comments to show people example syntax. Enabling # the option is a question of removing the # character and making any change to the # variable as required. @@ -14,26 +14,6 @@ # # Machine Selection # -# You need to select a specific machine to target the build with. There are a selection -# of emulated machines available which can boot and run in the QEMU emulator: -# -#MACHINE ?= "qemuarm" -#MACHINE ?= "qemuarm64" -#MACHINE ?= "qemumips" -#MACHINE ?= "qemuppc" -#MACHINE ?= "qemux86" -#MACHINE ?= "qemux86-64" -# -# There are also the following hardware board target machines included for -# demonstration purposes: -# -#MACHINE ?= "beaglebone" -#MACHINE ?= "genericx86" -#MACHINE ?= "genericx86-64" -#MACHINE ?= "mpc8315e-rdb" -#MACHINE ?= "edgerouter" -# -# This sets the default machine to be qemux86 if no other machine is selected: MACHINE ??= "dl360poc" # @@ -82,12 +62,12 @@ MACHINE ??= "dl360poc" # # The distribution setting controls which policy settings are used as defaults. # The default value is fine for general Yocto project use, at least initially. -# Ultimately when creating custom policy, people will likely end up subclassing +# Ultimately when creating custom policy, people will likely end up subclassing # these defaults. # DISTRO ?= "openbmc-phosphor" # As an example of a subclass there is a "bleeding" edge policy configuration -# where many versions are set to the absolute latest code from the upstream +# where many versions are set to the absolute latest code from the upstream # source control systems. This is just mentioned here as an example, its not # useful to most new users. # DISTRO ?= "poky-bleeding" @@ -95,8 +75,8 @@ DISTRO ?= "openbmc-phosphor" # # Package Management configuration # -# This variable lists which packaging formats to enable. Multiple package backends -# can be enabled at once and the first item listed in the variable will be used +# This variable lists which packaging formats to enable. Multiple package backends +# can be enabled at once and the first item listed in the variable will be used # to generate the root filesystems. # Options are: # - 'package_deb' for debian style deb files @@ -107,24 +87,26 @@ DISTRO ?= "openbmc-phosphor" PACKAGE_CLASSES ?= "package_rpm" # -# SDK/ADT target architecture +# SDK target architecture # -# This variable specifies the architecture to build SDK/ADT items for and means -# you can build the SDK packages for architectures other than the machine you are +# This variable specifies the architecture to build SDK items for and means +# you can build the SDK packages for architectures other than the machine you are # running the build on (i.e. building i686 packages on an x86_64 host). -# Supported values are i686 and x86_64 +# Supported values are i686, x86_64, aarch64 #SDKMACHINE ?= "i686" -SANITY_TESTED_DISTROS_append ?= " RedHatEnterpriseWorkstation-6.*" +SANITY_TESTED_DISTROS:append ?= " *" # # Extra image configuration defaults # -# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated +# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated # images. Some of these options are added to certain image types automatically. The # variable can contain the following options: # "dbg-pkgs" - add -dbg packages for all installed packages # (adds symbol information for debugging/profiling) +# "src-pkgs" - add -src packages for all installed packages +# (adds source code for debugging) # "dev-pkgs" - add -dev packages for all installed packages # (useful if you want to develop against libs in the image) # "ptest-pkgs" - add -ptest packages for all ptest-enabled packages @@ -132,41 +114,39 @@ SANITY_TESTED_DISTROS_append ?= " RedHatEnterpriseWorkstation-6.*" # "tools-sdk" - add development tools (gcc, make, pkgconfig etc.) # "tools-debug" - add debugging tools (gdb, strace) # "eclipse-debug" - add Eclipse remote debugging support -# "tools-profile" - add profiling tools (oprofile, exmap, lttng, valgrind) +# "tools-profile" - add profiling tools (oprofile, lttng, valgrind) # "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.) # "debug-tweaks" - make an image suitable for development # e.g. ssh root access has a blank password # There are other application targets that can be used here too, see # meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details. # We default to enabling the debugging tweaks. -EXTRA_IMAGE_FEATURES = "debug-tweaks" +EXTRA_IMAGE_FEATURES ?= "debug-tweaks" # # Additional image features # # The following is a list of additional classes to use when building images which -# enable extra features. Some available options which can be included in this variable +# enable extra features. Some available options which can be included in this variable # are: # - 'buildstats' collect build statistics -# - 'image-prelink' in order to prelink the filesystem image -# - 'image-swab' to perform host system intrusion detection -# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink -# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended -USER_CLASSES ?= "buildstats image-prelink" +USER_CLASSES ?= "buildstats" # # Runtime testing of images # # The build system can test booting virtual machine images under qemu (an emulator) -# after any root filesystems are created and run tests against those images. To -# enable this uncomment this line. See classes/testimage(-auto).bbclass for -# further details. -#TEST_IMAGE = "1" +# after any root filesystems are created and run tests against those images. It can also +# run tests against any SDK that are built. To enable this uncomment these lines. +# See classes/test{image,sdk}.bbclass for further details. +#IMAGE_CLASSES += "testimage testsdk" +#TESTIMAGE_AUTO:qemuall = "1" + # # Interactive shell configuration # -# Under certain circumstances the system may need input from you and to do this it -# can launch an interactive shell. It needs to do this since the build is +# Under certain circumstances the system may need input from you and to do this it +# can launch an interactive shell. It needs to do this since the build is # multithreaded and needs to be able to handle the case where more than one parallel # process may require the user's attention. The default is iterate over the available # terminal types to find one that works. @@ -186,12 +166,12 @@ PATCHRESOLVE = "noop" # # Monitor the disk space during the build. If there is less that 1GB of space or less # than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully -# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort +# shutdown the build. If there is less than 100MB or 1K inodes, perform a hard abort # of the build. The reason for this is that running completely out of space can corrupt # files and damages the build in ways which may not be easily recoverable. # It's necessary to monitor /tmp, if there is no space left the build will fail # with very exotic errors. -BB_DISKMON_DIRS = "\ +BB_DISKMON_DIRS ??= "\ STOPTASKS,${TMPDIR},1G,100K \ STOPTASKS,${DL_DIR},1G,100K \ STOPTASKS,${SSTATE_DIR},1G,100K \ @@ -204,13 +184,13 @@ BB_DISKMON_DIRS = "\ # # Shared-state files from other locations # -# As mentioned above, shared state files are prebuilt cache data objects which can +# As mentioned above, shared state files are prebuilt cache data objects which can be # used to accelerate build time. This variable can be used to configure the system # to search other mirror locations for these objects before it builds the data itself. # # This can be a filesystem directory, or a remote url such as http or ftp. These -# would contain the sstate-cache results from previous builds (possibly from other -# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the +# would contain the sstate-cache results from previous builds (possibly from other +# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the # cache locations to check for the shared objects. # NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH # at the end as shown in the examples below. This will be substituted with the @@ -219,26 +199,57 @@ BB_DISKMON_DIRS = "\ #file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \ #file://.* file:///some/local/dir/sstate/PATH" +# +# Yocto Project SState Mirror +# +# The Yocto Project has prebuilt artefacts available for its releases, you can enable +# use of these by uncommenting the following line. This will mean the build uses +# the network to check for artefacts at the start of builds, which does slow it down +# equally, it will also speed up the builds by not having to build things if they are +# present in the cache. It assumes you can download something faster than you can build it +# which will depend on your network. +# +#SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/2.5/PATH;downloadfilename=PATH" # # Qemu configuration # -# By default qemu will build with a builtin VNC server where graphical output can be -# seen. The two lines below enable the SDL backend too. This assumes there is a -# libsdl library available on your build system. -PACKAGECONFIG_append_pn-qemu-native = " sdl" -PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl" -#ASSUME_PROVIDED += "libsdl-native" +# By default native qemu will build with a builtin VNC server where graphical output can be +# seen. The line below enables the SDL UI frontend too. +#PACKAGECONFIG:append:pn-qemu-system-native = " sdl" +# By default libsdl2-native will be built, if you want to use your host's libSDL instead of +# the minimal libsdl built by libsdl2-native then uncomment the ASSUME_PROVIDED line below. +#ASSUME_PROVIDED += "libsdl2-native" +# You can also enable the Gtk UI frontend, which takes somewhat longer to build, but adds +# a handy set of menus for controlling the emulator. +#PACKAGECONFIG:append:pn-qemu-system-native = " gtk+" + +# +# Hash Equivalence +# +# Enable support for automatically running a local hash equivalence server and +# instruct bitbake to use a hash equivalence aware signature generator. Hash +# equivalence improves reuse of sstate by detecting when a given sstate +# artifact can be reused as equivalent, even if the current task hash doesn't +# match the one that generated the artifact. +# +# A shared hash equivalent server can be set with "<HOSTNAME>:<PORT>" format +# +#BB_HASHSERVE = "auto" +#BB_SIGNATURE_HANDLER = "OEEquivHash" + +# +# Memory Resident Bitbake +# +# Bitbake's server component can stay in memory after the UI for the current command +# has completed. This means subsequent commands can run faster since there is no need +# for bitbake to reload cache files and so on. Number is in seconds, after which the +# server will shut down. +# +#BB_SERVER_TIMEOUT = "60" # CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to # track the version of this file when it was generated. This can safely be ignored if # this doesn't mean anything to you. -CONF_VERSION = "1" - -# Set the root password to '0penBmc' -INHERIT += "extrausers" - -EXTRA_USERS_PARAMS = " \ - usermod -p '\$1\$UGMqyqdG\$FZiylVFmRRfl9Z0Ue8G7e/' root; \ - " +CONF_VERSION = "2" diff --git a/meta-hpe/meta-dl360poc/recipes-bsp/image/gxp-bootblock.bb b/meta-hpe/meta-dl360poc/recipes-bsp/image/gxp-bootblock.bb new file mode 100644 index 000000000..969937551 --- /dev/null +++ b/meta-hpe/meta-dl360poc/recipes-bsp/image/gxp-bootblock.bb @@ -0,0 +1 @@ +inherit gxp-bootblock-n-poc diff --git a/meta-hpe/meta-dl360poc/recipes-hpe/host/host-boot-enable.bbappend b/meta-hpe/meta-dl360poc/recipes-hpe/host/host-boot-enable.bbappend new file mode 100644 index 000000000..4fc41d058 --- /dev/null +++ b/meta-hpe/meta-dl360poc/recipes-hpe/host/host-boot-enable.bbappend @@ -0,0 +1 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" diff --git a/meta-hpe/meta-dl360poc/recipes-hpe/host/host-boot-enable/host-boot-enable.sh b/meta-hpe/meta-dl360poc/recipes-hpe/host/host-boot-enable/host-boot-enable.sh new file mode 100644 index 000000000..08b882d6d --- /dev/null +++ b/meta-hpe/meta-dl360poc/recipes-hpe/host/host-boot-enable/host-boot-enable.sh @@ -0,0 +1,40 @@ +#!/bin/sh + +findmtd() { + m=$(grep -xl "$1" /sys/class/mtd/*/name) + m=${m%/name} + m=${m##*/} + echo $m +} + +rom_lists=(host-prime host-second vrom-prime vrom-second) +rom_mtd_list=() + +for f in "${rom_lists[@]}" +do + image=$(findmtd ${f}) + if test -z "$image" + then + echo "Unable to find mtd partition for ${f}" + exit 1 + fi + rom_mtd_list+=($image) +done + +#enable vrom +# host-prime to vrom-prime +dd if=/dev/${rom_mtd_list[0]} of=/dev/${rom_mtd_list[2]} +# host-second to vrom-second +dd if=/dev/${rom_mtd_list[1]} of=/dev/${rom_mtd_list[3]} + +echo 0x1800008a > /sys/class/soc/srom/vromoff + +while [ true ] +do + devmem 0x8000005C 8 0 + devmem 0xd1000306 8 5 + devmem 0xd1000318 8 0x03 + devmem 0xd100030f 8 0x04 + sleep 1 +done + diff --git a/meta-hpe/meta-dl360poc/recipes-kernel/linux/linux-obmc/gxp.dts b/meta-hpe/meta-dl360poc/recipes-kernel/linux/linux-obmc/gxp.dts index c11ccb023..92f933b50 100644 --- a/meta-hpe/meta-dl360poc/recipes-kernel/linux/linux-obmc/gxp.dts +++ b/meta-hpe/meta-dl360poc/recipes-kernel/linux/linux-obmc/gxp.dts @@ -44,7 +44,7 @@ interrupt-parent = <&vic0>; clock-frequency = <400000000>; }; - + watchdog: watchdog@c0000090 { compatible = "hpe,gxp-wdt"; reg = <0xc0000090 0x02>, <0xc0000096 0x01>; @@ -82,7 +82,7 @@ reg = <0x80fc0230 0x100>; reg-io-width = <1>; }; - + vuart_a: vuart_a@80fd0200 { compatible = "hpe,gxp-vuart"; reg = <0x80fd0200 0x100>; @@ -94,7 +94,21 @@ serial-line = <3>; vuart_cfg = <&vuart_a_cfg>; }; - + + usb0: ehci@cefe0000 { + compatible = "generic-ehci"; + reg = <0xcefe0000 0x100>; + interrupts = <7>; + interrupt-parent = <&vic0>; + }; + + usb1: ohci@cefe0100 { + compatible = "generic-ohci"; + reg = <0xcefe0100 0x110>; + interrupts = <6>; + interrupt-parent = <&vic0>; + }; + spifi0: spifi@c0000200 { compatible = "hpe,gxp-spifi"; reg = <0xc0000200 0x80>, <0xc000c000 0x100>, <0xf8000000 0x8000000>; @@ -110,7 +124,11 @@ compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; - + + bmc@0 { + label = "bmc"; + reg = <0x0 0x2000000>; + }; u-boot@0 { label = "u-boot"; reg = <0x0 0x60000>; @@ -132,7 +150,7 @@ reg = <0x1c80000 0x250000>; }; section@1edf000{ - labele = "section"; + label = "section"; reg = <0x1ed0000 0x130000>; }; }; @@ -197,7 +215,7 @@ compatible = "syscon"; reg = <0xc00000f8 0x08>; }; - + i2c0: i2c@c0002000 { compatible = "hpe,gxp-i2c"; reg = <0xc0002000 0x70>; @@ -227,8 +245,8 @@ #address-cells = <1>; #size-cells = <0>; - at24c02@50 { - compatible = "at24,24c02"; + 24c02@50 { + compatible = "atmel,24c02"; pagesize = <8>; reg = <0x50>; }; @@ -260,18 +278,6 @@ interrupts = <9>; interrupt-parent = <&vic0>; i2cg-handle = <&i2cg>; - #address-cells = <1>; - #size-cells = <0>; - - emc1402@4c { - compatible = "emc1402"; - reg = <0x4c>; - }; - - emc1404@1c { - compatible = "emc1404"; - reg = <0x1c>; - }; }; i2c6: i2c@c0002600 { @@ -441,7 +447,7 @@ compatible = "hpe,gxp-kcs-bmc-cfg", "simple-mfd", "syscon"; reg = <0x80fc0430 0x100>; }; - + kcs_reg: kcs_reg@080fd0400 { compatible = "hpe,gxp-kcs-bmc"; reg = <0x80fd0400 0x8>; @@ -460,9 +466,23 @@ height = <600>; }; - xreg: xreg@d1000000 { + xreg: xreg@d1000300 { compatible = "hpe,gxp-xreg", "simple-mfd", "syscon"; reg = <0xd1000300 0xFF>; + interrupts = <26>; + interrupt-parent = <&vic0>; + #gpio-cells = <2>; + gpio-line-names = + "", "", "", "", "", "", "POWER", "HEARTBEAT", "FAN1_INST", "FAN2_INST", + "FAN3_INST", "FAN4_INST", "FAN5_INST", "FAN6_INST", "FAN7_INST", "FAN8_INST", "FAN9_INST", "FAN10_INST", "FAN11_INST", "FAN12_INST", + "FAN13_INST", "FAN14_INST", "FAN15_INST", "FAN16_INST", "FAN1_FAIL", "FAN2_FAIL", "FAN3_FAIL", "FAN4_FAIL", "FAN5_FAIL", "FAN6_FAIL", + "FAN7_FAIL", "FAN8_FAIL", "FAN9_FAIL", "FAN10_FAIL", "FAN11_FAIL", "FAN12_FAIL", "FAN13_FAIL", "FAN14_FAIL", "FAN15_FAIL", "FAN16_FAIL", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "IDENTIFY", "HEALTH_RED", "HEALTH_AMBER", "POWER_BUTTON", + "", "SIO_POWER_GOOD", "NMI_BUTTON", "RESET_BUTTON", "SIO_S5", "SIO_ONCONTROL", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", ""; }; fanctrl: fanctrl@c1000c00 { @@ -475,154 +495,107 @@ fn2: fn2@80200000 { compatible = "hpe,gxp-fn2", "simple-mfd", "syscon"; reg = <0x80200000 0x100000>; + xreg_handle = <&xreg>; interrupts = <0>; interrupt-parent = <&vic1>; + #gpio-cells = <2>; + gpio-line-names = + "POWER_OUT", "PS_PWROK", "PCIERST", "POST_COMPLETE", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", ""; + chif { + compatible = "hpe,gxp-chif"; + interrupts = <12>; + }; }; csm: csm@80000000 { compatible = "hpe,gxp-csm", "simple-mfd", "syscon"; - reg = <0x80000000 0x100000>; + reg = <0x80000000 0x400>; }; - gpio: gpio { + gpio: gpio@0 { compatible = "hpe,gxp-gpio"; #gpio-cells = <2>; csm_handle = <&csm>; - fn2_handle = <&fn2>; - xreg_handle = <&xreg>; vuhc0_handle = <&vuhc0>; - interrupts = <26>; - interrupt-parent = <&vic0>; + gpio-line-names = + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "RESET_OUT", "NMI_OUT", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", ""; }; leds: leds { compatible = "gpio-leds"; power { - gpios = <&gpio 306 0>; + gpios = <&xreg 6 0>; default-state = "off"; }; heartbeat { - gpios = <&gpio 307 0>; + gpios = <&xreg 7 0>; default-state = "off"; }; identify { - gpios = <&gpio 356 0>; + gpios = <&xreg 56 0>; default-state = "off"; }; health_red { - gpios = <&gpio 357 0>; + gpios = <&xreg 57 0>; default-state = "off"; }; health_amber { - gpios = <&gpio 358 0>; + gpios = <&xreg 58 0>; default-state = "off"; }; }; - presence: presence { + xreg_kyes: xreg_keys { compatible = "gpio-keys-polled"; poll-interval = <100>; - autorepeat; - fan1 { - label = "fan1 presence"; + IdButton { + label = "ID Button"; linux,code = <200>; - gpios = <&gpio 308 0>; - }; - - fan2 { - label = "fan2 presence"; - linux,code = <201>; - gpios = <&gpio 309 0>; - }; - - fan3 { - label = "fan3 presence"; - linux,code = <202>; - gpios = <&gpio 310 0>; - }; - - fan4 { - label = "fan4 presence"; - linux,code = <203>; - gpios = <&gpio 311 0>; - }; - - fan5 { - label = "fan5 presence"; - linux,code = <204>; - gpios = <&gpio 312 0>; - }; - - fan6 { - label = "fan6 presence"; - linux,code = <205>; - gpios = <&gpio 313 0>; - }; - - fan7 { - label = "fan7 presence"; - linux,code = <206>; - gpios = <&gpio 314 0>; - }; - - fan8 { - label = "fan8 presence"; - linux,code = <207>; - gpios = <&gpio 315 0>; - }; - - fan9 { - label = "fan9 presence"; - linux,code = <208>; - gpios = <&gpio 316 0>; - }; - - fan10 { - label = "fan10 presence"; - linux,code = <209>; - gpios = <&gpio 317 0>; - }; - - fan11 { - label = "fan11 presence"; - linux,code = <210>; - gpios = <&gpio 318 0>; - }; - - fan12 { - label = "fan12 presence"; - linux,code = <211>; - gpios = <&gpio 319 0>; - }; - - fan13 { - label = "fan13 presence"; - linux,code = <212>; - gpios = <&gpio 320 0>; - }; - - fan14 { - label = "fan14 presence"; - linux,code = <213>; - gpios = <&gpio 321 0>; - }; - - fan15 { - label = "fan15 presence"; - linux,code = <214>; - gpios = <&gpio 322 0>; - }; - - fan16 { - label = "fan16 presence"; - linux,code = <215>; - gpios = <&gpio 323 0>; + gpios = <&xreg 60 1>; }; }; @@ -641,6 +614,12 @@ linux,code = <201>; gpios = <&gpio 251 1>; }; + + PortOwner@2 { + label = "Port Owner"; + linux,code = <202>; + gpios = <&gpio 252 1>; + }; }; vuhc0: vuhc@80400080 { @@ -659,7 +638,7 @@ interrupts = <13>; interrupt-parent = <&vic1>; vdevnum = <0>; - fepnum = <7>; + fepnum = <4>; udcg-handle = <&udcg>; }; @@ -669,7 +648,17 @@ interrupts = <13>; interrupt-parent = <&vic1>; vdevnum = <1>; - fepnum = <7>; + fepnum = <4>; + udcg-handle = <&udcg>; + }; + + udc2: udc@80403000 { + compatible = "hpe, gxp-udc"; + reg = <0x80403000 0x1000>; + interrupts = <13>; + interrupt-parent = <&vic1>; + vdevnum = <2>; + fepnum = <4>; udcg-handle = <&udcg>; }; @@ -682,6 +671,13 @@ compatible = "hpe,gxp-power"; psu_phandle = <&psu1>, <&psu2>; }; + + peci: peci@80000400 { + compatible = "hpe,gxp-peci"; + reg = <0x80000400 0x200>; + interrupts = <22>; + interrupt-parent = <&vic1>; + }; }; clocks { diff --git a/meta-hpe/meta-dl360poc/recipes-kernel/linux/linux-obmc_%.bbappend b/meta-hpe/meta-dl360poc/recipes-kernel/linux/linux-obmc_%.bbappend index 57be249c9..4a6250ecb 100644 --- a/meta-hpe/meta-dl360poc/recipes-kernel/linux/linux-obmc_%.bbappend +++ b/meta-hpe/meta-dl360poc/recipes-kernel/linux/linux-obmc_%.bbappend @@ -1,8 +1,8 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/linux-obmc:" +FILESEXTRAPATHS:prepend := "${THISDIR}/linux-obmc:" SRC_URI += "file://gxp.dts \ " -do_patch_append() { +do_patch:append() { for DTB in "${KERNEL_DEVICETREE}"; do DT=`basename ${DTB} .dtb` if [ -r "${WORKDIR}/${DT}.dts" ]; then diff --git a/meta-hpe/meta-dl360poc/recipes-phosphor/image/obmc-phosphor-image.bbappend b/meta-hpe/meta-dl360poc/recipes-phosphor/image/obmc-phosphor-image.bbappend index ad672452a..fc239be98 100644 --- a/meta-hpe/meta-dl360poc/recipes-phosphor/image/obmc-phosphor-image.bbappend +++ b/meta-hpe/meta-dl360poc/recipes-phosphor/image/obmc-phosphor-image.bbappend @@ -1,5 +1,3 @@ - - do_generate_hpe_image() { # Add gxp-bootblock to hpe-section dd bs=1k conv=notrunc seek=64 \ diff --git a/meta-hpe/meta-gxp/classes/gxp-bootblock-n-poc.bbclass b/meta-hpe/meta-gxp/classes/gxp-bootblock-n-poc.bbclass index 206203055..fb3570104 100644 --- a/meta-hpe/meta-gxp/classes/gxp-bootblock-n-poc.bbclass +++ b/meta-hpe/meta-gxp/classes/gxp-bootblock-n-poc.bbclass @@ -4,15 +4,14 @@ LIC_FILES_CHKSUM = "" BBRANCH = "master" SRC_URI = "git://github.com/HewlettPackard/gxp-bootblock.git;branch=${BBRANCH}" -SRCREV = "1d4b424934ab3a2f22cf1b9a459a38e45971509f" +SRCREV = "bab416f8ca8c8465d308cfeb7f8d5abc21ba343b" S = "${WORKDIR}/git" inherit deploy do_deploy () { install -d ${DEPLOYDIR} - - install -m 644 gxp-bootblock-dl360poc.bin ${DEPLOYDIR}/gxp-bootblock.bin + install -m 644 gxp-bootblock.bin ${DEPLOYDIR}/gxp-bootblock.bin } diff --git a/meta-hpe/meta-gxp/classes/gxp-bootblock-n.bbclass b/meta-hpe/meta-gxp/classes/gxp-bootblock-n.bbclass new file mode 100644 index 000000000..bd69e16a0 --- /dev/null +++ b/meta-hpe/meta-gxp/classes/gxp-bootblock-n.bbclass @@ -0,0 +1,26 @@ +LICENSE = "CLOSED" +LIC_FILES_CHKSUM = "" + +# TODO: Manually copy the U-Boot signing key and customer-key-block here: +HPE_GXP_KEY_FILES_DIR = "${COREBASE}/meta-hpe/meta-gxp/recipes-bsp/image/files" + +inherit deploy + +do_deploy () { + install -d ${DEPLOYDIR} + + # Copy in the bootblock + install -m 644 ${HPE_GXP_KEY_FILES_DIR}/gxp-bootblock.bin ${DEPLOYDIR}/gxp-bootblock.bin + + # Copy in files from the files subdirectory + install -m 644 ${HPE_GXP_KEY_FILES_DIR}/header.sig ${DEPLOYDIR}/hpe-uboot-header.section + + # Copy in the U-Boot signing key + install -m 644 ${HPE_GXP_KEY_FILES_DIR}/private_key.pem ${DEPLOYDIR}/hpe-uboot-signing-key.pem + + # Copy in the customer keyblock + install -m 644 ${HPE_GXP_KEY_FILES_DIR}/customer-key-block ${DEPLOYDIR}/customer-key-block +} + +addtask deploy before do_build after do_compile + diff --git a/meta-hpe/meta-gxp/conf/layer.conf b/meta-hpe/meta-gxp/conf/layer.conf index 28f2ddc87..7a9a11085 100644 --- a/meta-hpe/meta-gxp/conf/layer.conf +++ b/meta-hpe/meta-gxp/conf/layer.conf @@ -7,6 +7,6 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "gxp-layer" BBFILE_PATTERN_gxp-layer = "^${LAYERDIR}/" LAYERVERSION_gxp-layer = "1" -LAYERSERIES_COMPAT_gxp-layer = "gatesgarth hardknott" +LAYERSERIES_COMPAT_gxp-layer = "hardknott honister" GXPBASE = '${@os.path.normpath("${LAYERDIR}/")}' diff --git a/meta-hpe/meta-gxp/conf/machine/include/fitimage-sign.inc b/meta-hpe/meta-gxp/conf/machine/include/fitimage-sign.inc new file mode 100644 index 000000000..80af00af2 --- /dev/null +++ b/meta-hpe/meta-gxp/conf/machine/include/fitimage-sign.inc @@ -0,0 +1,14 @@ +inherit uboot-sign + +UBOOT_SIGN_ENABLE = "0" +UBOOT_SIGN_KEYDIR = "${COREBASE}/meta-hpe/meta-gxp/recipes-bsp/u-boot/u-boot-gxp/" +UBOOT_SIGN_KEYNAME = "dev" +FIT_HASH_ALG = "sha512" +UBOOT_FIT_HASH_ALG = "sha512" + +concat_dtb_helper:append() { + if [ -e "${DEPLOYDIR}/${UBOOT_NODTB_IMAGE}" -a -e "$deployed_uboot_dtb_binary" ]; then + cd ${DEPLOYDIR} + cat ${UBOOT_NODTB_IMAGE} $deployed_uboot_dtb_binary | tee ${B}/${UBOOT_BINARY} > ${UBOOT_IMAGE} + fi +} diff --git a/meta-hpe/meta-gxp/conf/machine/include/gxp.inc b/meta-hpe/meta-gxp/conf/machine/include/gxp.inc index 8f515d99a..e31814556 100644 --- a/meta-hpe/meta-gxp/conf/machine/include/gxp.inc +++ b/meta-hpe/meta-gxp/conf/machine/include/gxp.inc @@ -15,8 +15,8 @@ MACHINEOVERRIDES .= ":gxp" DEFAULTTUNE ?= "armv6-novfp" require conf/machine/include/arm/arch-armv6.inc -UBOOT_MACHINE = "gxp_defconfig" -UBOOT_ENTRYPOINT = "0x40100000" -UBOOT_LOADADDRESS = "0x40100000" +UBOOT_MACHINE ?= "gxp_defconfig" +UBOOT_ENTRYPOINT ?= "0x40100000" +UBOOT_LOADADDRESS ?= "0x40100000" diff --git a/meta-hpe/meta-gxp/conf/machine/include/hpe_soc.inc b/meta-hpe/meta-gxp/conf/machine/include/hpe_soc.inc index 016d9c675..747e7763e 100644 --- a/meta-hpe/meta-gxp/conf/machine/include/hpe_soc.inc +++ b/meta-hpe/meta-gxp/conf/machine/include/hpe_soc.inc @@ -2,5 +2,5 @@ PREFERRED_PROVIDER_virtual/kernel ?= "linux-obmc" PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-gxp" PREFERRED_PROVIDER_u-boot ?= "u-boot-gxp" -//PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-fw-utils-gxp" +PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-fw-utils-gxp" diff --git a/meta-hpe/meta-gxp/recipes-bsp/image/files/header-512.sig b/meta-hpe/meta-gxp/recipes-bsp/image/files/header-512.sig Binary files differnew file mode 100644 index 000000000..818bd6f74 --- /dev/null +++ b/meta-hpe/meta-gxp/recipes-bsp/image/files/header-512.sig diff --git a/meta-hpe/meta-gxp/recipes-bsp/image/files/header.sig b/meta-hpe/meta-gxp/recipes-bsp/image/files/header.sig Binary files differnew file mode 100644 index 000000000..765375d02 --- /dev/null +++ b/meta-hpe/meta-gxp/recipes-bsp/image/files/header.sig diff --git a/meta-hpe/meta-gxp/recipes-bsp/image/gxp-bootblock.bb b/meta-hpe/meta-gxp/recipes-bsp/image/gxp-bootblock.bb index 969937551..d8bcc5428 100644 --- a/meta-hpe/meta-gxp/recipes-bsp/image/gxp-bootblock.bb +++ b/meta-hpe/meta-gxp/recipes-bsp/image/gxp-bootblock.bb @@ -1 +1 @@ -inherit gxp-bootblock-n-poc +inherit gxp-bootblock-n diff --git a/meta-hpe/meta-gxp/recipes-bsp/u-boot/u-boot-common-gxp_2019.07.inc b/meta-hpe/meta-gxp/recipes-bsp/u-boot/u-boot-common-gxp_2020.10.inc index 13cd7b42a..2efeb9e09 100644 --- a/meta-hpe/meta-gxp/recipes-bsp/u-boot/u-boot-common-gxp_2019.07.inc +++ b/meta-hpe/meta-gxp/recipes-bsp/u-boot/u-boot-common-gxp_2020.10.inc @@ -1,4 +1,4 @@ -HOMEPAGE = "https://www.github.com/HewlettPackard/gxp-uboot" +HOMEPAGE = "https://github.com/HewlettPackard/gxp-uboot" DEPENDS += "flex-native bison-native bc-native" LICENSE = "GPLv2+" @@ -7,10 +7,10 @@ PE = "1" # We use the revision in order to avoid having to fetch it from the # repo during parse -SRCREV = "e15b2ace2d7f38d470ba3b0415d47e05281c7660" -UBRANCH = "v2019.07-gxp-openbmc" +SRCREV = "b139a8a9e6e89e4115741498d454847d99239eda" +UBRANCH = "v2020.10-gxp-openbmc" SRC_URI = "git://github.com/HewlettPackard/gxp-uboot.git;branch=${UBRANCH}" S = "${WORKDIR}/git" -PV = "v2019.07+git${SRCPV}" +PV = "v2020.10+git${SRCPV}" diff --git a/meta-hpe/meta-gxp/recipes-bsp/u-boot/u-boot-fw-utils-gxp/alt_fw_env.config b/meta-hpe/meta-gxp/recipes-bsp/u-boot/u-boot-fw-utils-gxp/alt_fw_env.config new file mode 100644 index 000000000..3d85f9974 --- /dev/null +++ b/meta-hpe/meta-gxp/recipes-bsp/u-boot/u-boot-fw-utils-gxp/alt_fw_env.config @@ -0,0 +1,25 @@ +# Configuration file for fw_(printenv/setenv) utility. +# Up to two entries are valid, in this case the redundant +# environment sector is assumed present. +# Notice, that the "Number of sectors" is ignored on NOR and SPI-dataflash. +# Furthermore, if the Flash sector size is omitted, this value is assumed to +# be the same as the Environment size, which is valid for NOR and SPI-dataflash + +# NOR example +# MTD device name Device offset Env. size Flash sector size Number of sectors +#/dev/mtd1 0x0000 0x20000 0x20000 +#/dev/mtd2 0x0000 0x4000 0x4000 + +# MTD SPI-dataflash example +# MTD device name Device offset Env. size Flash sector size Number of sectors +#/dev/mtd2 0x00000 0x20000 +/dev/mtd/alt-u-boot-env 0x00000 0x10000 +/dev/mtd/alt-u-boot-env 0x10000 0x10000 +#/dev/mtd5 0x4200 0x4200 +#/dev/mtd6 0x4200 0x4200 + +# NAND example +#/dev/mtd0 0x4000 0x4000 0x20000 2 + +# Block device example +#/dev/mmcblk0 0xc0000 0x20000 diff --git a/meta-hpe/meta-gxp/recipes-bsp/u-boot/u-boot-fw-utils-gxp/fw_env.config b/meta-hpe/meta-gxp/recipes-bsp/u-boot/u-boot-fw-utils-gxp/fw_env.config new file mode 100644 index 000000000..19ace4b88 --- /dev/null +++ b/meta-hpe/meta-gxp/recipes-bsp/u-boot/u-boot-fw-utils-gxp/fw_env.config @@ -0,0 +1,25 @@ +# Configuration file for fw_(printenv/setenv) utility. +# Up to two entries are valid, in this case the redundant +# environment sector is assumed present. +# Notice, that the "Number of sectors" is ignored on NOR and SPI-dataflash. +# Furthermore, if the Flash sector size is omitted, this value is assumed to +# be the same as the Environment size, which is valid for NOR and SPI-dataflash + +# NOR example +# MTD device name Device offset Env. size Flash sector size Number of sectors +#/dev/mtd1 0x0000 0x20000 0x20000 +#/dev/mtd2 0x0000 0x4000 0x4000 + +# MTD SPI-dataflash example +# MTD device name Device offset Env. size Flash sector size Number of sectors +#/dev/mtd2 0x00000 0x20000 +/dev/mtd/u-boot-env 0x00000 0x10000 +/dev/mtd/u-boot-env 0x10000 0x10000 +#/dev/mtd5 0x4200 0x4200 +#/dev/mtd6 0x4200 0x4200 + +# NAND example +#/dev/mtd0 0x4000 0x4000 0x20000 2 + +# Block device example +#/dev/mmcblk0 0xc0000 0x20000 diff --git a/meta-hpe/meta-gxp/recipes-bsp/u-boot/u-boot-fw-utils-gxp_2020.10.bb b/meta-hpe/meta-gxp/recipes-bsp/u-boot/u-boot-fw-utils-gxp_2020.10.bb new file mode 100644 index 000000000..daf5a2cde --- /dev/null +++ b/meta-hpe/meta-gxp/recipes-bsp/u-boot/u-boot-fw-utils-gxp_2020.10.bb @@ -0,0 +1,46 @@ +require u-boot-common-gxp_2020.10.inc + +SRC_URI += "file://fw_env.config" +SRC_URI += "file://alt_fw_env.config" + +# FIXME - Get fw_printenv/fw_setenv tool +UBOOT_MACHINE ?= "gxp_defconfig" + +SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities" +DEPENDS += "mtd-utils" + +PROVIDES += "u-boot-fw-utils" + +INSANE_SKIP:${PN} = "already-stripped" +EXTRA_OEMAKE:class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" V=1' +EXTRA_OEMAKE:class-cross = 'ARCH=${TARGET_ARCH} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1' + +inherit uboot-config + +do_compile () { + oe_runmake ${UBOOT_MACHINE} + oe_runmake envtools +} + +do_install () { + install -d ${D}${base_sbindir} + install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv + ln -sf fw_printenv ${D}${base_sbindir}/fw_setenv + + install -d ${D}${sysconfdir} + install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config + install -m 644 ${WORKDIR}/alt_fw_env.config ${D}${sysconfdir}/alt_fw_env.config +} + +do_install:class-cross () { + install -d ${D}${bindir_cross} + install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_printenv + ln -sf fw_printenv ${D}${bindir_cross}/fw_setenv +} + +SYSROOT_DIRS:append:class-cross = " ${bindir_cross}" + +PACKAGE_ARCH = "${MACHINE_ARCH}" +BBCLASSEXTEND = "cross" + +RDEPENDS:${PN} = "udev-gxp-mtd-partitions" diff --git a/meta-hpe/meta-gxp/recipes-bsp/u-boot/u-boot-gxp_2019.07.bb b/meta-hpe/meta-gxp/recipes-bsp/u-boot/u-boot-gxp_2020.10.bb index 58a65b398..92e1975f9 100644 --- a/meta-hpe/meta-gxp/recipes-bsp/u-boot/u-boot-gxp_2019.07.bb +++ b/meta-hpe/meta-gxp/recipes-bsp/u-boot/u-boot-gxp_2020.10.bb @@ -1,6 +1,7 @@ require recipes-bsp/u-boot/u-boot-common.inc require recipes-bsp/u-boot/u-boot.inc -require u-boot-common-gxp_2019.07.inc +require u-boot-common-gxp_2020.10.inc +require conf/machine/include/fitimage-sign.inc S = "${WORKDIR}/git" diff --git a/meta-hpe/meta-gxp/recipes-connectivity/jsnbd/jsnbd/state_hook b/meta-hpe/meta-gxp/recipes-connectivity/jsnbd/jsnbd/state_hook new file mode 100755 index 000000000..f28326339 --- /dev/null +++ b/meta-hpe/meta-gxp/recipes-connectivity/jsnbd/jsnbd/state_hook @@ -0,0 +1,69 @@ +#!/bin/sh + +if [ $# -ne 2 ] +then + echo "usage: $0 <start|stop> <config>" >&2 + exit 1 +fi + +action=$1 +config=$2 + +gadget_name=mass-storage +gadget_dir=/sys/kernel/config/usb_gadget/$gadget_name + +case "$config" in +0) + nbd_device=/dev/nbd0 + ;; +*) + echo "invalid config $config" >&2 + exit 1 + ;; +esac + +set -ex + +case "$action" in +start) + mkdir -p $gadget_dir + ( + cd $gadget_dir + # http://www.linux-usb.org/usb.ids + # |-> 1d6b Linux Foundation + # |-> 0104 Multifunction Composite Gadget + echo "0x1d6b" > idVendor + echo "0x0104" > idProduct + mkdir -p strings/0x409 + echo "OpenBMC" > strings/0x409/manufacturer + echo "Virtual Media Device" > strings/0x409/product + mkdir -p configs/c.1/strings/0x409 + echo "config 1" > configs/c.1/strings/0x409/configuration + mkdir -p functions/mass_storage.usb0 + ln -s functions/mass_storage.usb0 configs/c.1 + echo 1 > functions/mass_storage.usb0/lun.0/removable + echo 1 > functions/mass_storage.usb0/lun.0/ro + echo 0 > functions/mass_storage.usb0/lun.0/cdrom + echo $nbd_device > functions/mass_storage.usb0/lun.0/file + echo "80402000.udc" > UDC + ) + ;; +stop) + ( + cd $gadget_dir + echo "" > UDC + rm configs/c.1/mass_storage.usb0 + rmdir functions/mass_storage.usb0 + rmdir configs/c.1/strings/0x409 + rmdir configs/c.1 + rmdir strings/0x409 + ) + rmdir $gadget_dir + ;; +*) + echo "invalid action $action" >&2 + exit 1 +esac + +exit 0 + diff --git a/meta-hpe/meta-gxp/recipes-connectivity/jsnbd/jsnbd_git.bbappend b/meta-hpe/meta-gxp/recipes-connectivity/jsnbd/jsnbd_git.bbappend new file mode 100644 index 000000000..1061a9271 --- /dev/null +++ b/meta-hpe/meta-gxp/recipes-connectivity/jsnbd/jsnbd_git.bbappend @@ -0,0 +1,9 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +FILES:${PN} += "${sysconfdir}/nbd-proxy/state" +SRC_URI += "file://state_hook" + +do_install:append() { + install -d ${D}${sysconfdir}/nbd-proxy/ + install -m 0755 ${WORKDIR}/state_hook ${D}${sysconfdir}/nbd-proxy/state +} diff --git a/meta-hpe/meta-gxp/recipes-core/busybox/busybox/FEATURE_FANCY_HEAD.cfg b/meta-hpe/meta-gxp/recipes-core/busybox/busybox/FEATURE_FANCY_HEAD.cfg new file mode 100644 index 000000000..16017ea48 --- /dev/null +++ b/meta-hpe/meta-gxp/recipes-core/busybox/busybox/FEATURE_FANCY_HEAD.cfg @@ -0,0 +1 @@ +CONFIG_FEATURE_FANCY_HEAD=y diff --git a/meta-hpe/meta-gxp/recipes-core/busybox/busybox_%.bbappend b/meta-hpe/meta-gxp/recipes-core/busybox/busybox_%.bbappend new file mode 100644 index 000000000..a1d63848f --- /dev/null +++ b/meta-hpe/meta-gxp/recipes-core/busybox/busybox_%.bbappend @@ -0,0 +1,2 @@ +SRC_URI += "file://FEATURE_FANCY_HEAD.cfg" +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" diff --git a/meta-hpe/meta-gxp/recipes-core/udev/udev-gxp-mtd-partitions.bb b/meta-hpe/meta-gxp/recipes-core/udev/udev-gxp-mtd-partitions.bb index dc185655b..4321a39de 100644 --- a/meta-hpe/meta-gxp/recipes-core/udev/udev-gxp-mtd-partitions.bb +++ b/meta-hpe/meta-gxp/recipes-core/udev/udev-gxp-mtd-partitions.bb @@ -7,9 +7,9 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5 S = "${WORKDIR}" SRC_URI += "file://76-gxp-mtd-partitions.rules" -RDEPENDS_${PN} += "udev" +RDEPENDS:${PN} += "udev" do_install() { - install -d ${D}/${base_libdir}/udev/rules.d - install -m 0644 ${WORKDIR}/76-gxp-mtd-partitions.rules ${D}/${base_libdir}/udev/rules.d + install -d ${D}/${nonarch_base_libdir}/udev/rules.d + install -m 0644 ${WORKDIR}/76-gxp-mtd-partitions.rules ${D}/${nonarch_base_libdir}/udev/rules.d } diff --git a/meta-hpe/meta-gxp/recipes-kernel/linux/linux-obmc.inc b/meta-hpe/meta-gxp/recipes-kernel/linux/linux-obmc.inc index 40de352f3..5d79797f7 100644 --- a/meta-hpe/meta-gxp/recipes-kernel/linux/linux-obmc.inc +++ b/meta-hpe/meta-gxp/recipes-kernel/linux/linux-obmc.inc @@ -10,7 +10,7 @@ KSRC ?= "git://github.com/HewlettPackard/gxp-linux.git;branch=${KBRANCH}" SRC_URI = "${KSRC}" SRC_URI += " file://defconfig" -FILESEXTRAPATHS_prepend_linux-obmc := "${THISDIR}/linux-obmc:" +FILESEXTRAPATHS:prepend_linux-obmc := "${THISDIR}/linux-obmc:" LINUX_VERSION_EXTENSION ?= "-${SRCREV}" @@ -21,3 +21,4 @@ require recipes-kernel/linux/linux-yocto.inc # From 4.16+ the COPYING file changed LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" + diff --git a/meta-hpe/meta-gxp/recipes-kernel/linux/linux-obmc/defconfig b/meta-hpe/meta-gxp/recipes-kernel/linux/linux-obmc/defconfig index 1507daf83..cdd03e3f7 100644 --- a/meta-hpe/meta-gxp/recipes-kernel/linux/linux-obmc/defconfig +++ b/meta-hpe/meta-gxp/recipes-kernel/linux/linux-obmc/defconfig @@ -26,8 +26,6 @@ CONFIG_ARCH_HPE=y CONFIG_ARCH_HPE_GXP=y CONFIG_SECCOMP=y # CONFIG_ATAGS is not set -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZBOOT_ROM_BSS=0x0 # CONFIG_SUSPEND is not set CONFIG_ARM_CRYPTO=y CONFIG_CRYPTO_SHA1_ARM=y @@ -37,8 +35,6 @@ CONFIG_CRYPTO_AES_ARM=y CONFIG_CRYPTO_CHACHA20_NEON=y CONFIG_CRYPTO_POLY1305_ARM=y CONFIG_JUMP_LABEL=y -# CONFIG_STRICT_KERNEL_RWX is not set -# CONFIG_BLK_DEBUG_FS is not set # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set CONFIG_KSM=y CONFIG_CLEANCACHE=y @@ -50,12 +46,22 @@ CONFIG_UNIX_DIAG=y CONFIG_XFRM_USER=y CONFIG_XFRM_STATISTICS=y CONFIG_INET=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_OPTIMISTIC_DAD=y # CONFIG_IPV6_SIT is not set +CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_BPFILTER=y CONFIG_VLAN_8021Q=y CONFIG_NETLINK_DIAG=y +CONFIG_NET_NCSI=y # CONFIG_WIRELESS is not set CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y @@ -114,7 +120,7 @@ CONFIG_NETDEVICES=y # CONFIG_NET_VENDOR_VIA is not set # CONFIG_NET_VENDOR_WIZNET is not set # CONFIG_NET_VENDOR_XILINX is not set -CONFIG_UMAC=y +CONFIG_GXP_UMAC=y # CONFIG_USB_NET_DRIVERS is not set # CONFIG_WLAN is not set # CONFIG_INPUT_LEDS is not set @@ -140,16 +146,20 @@ CONFIG_IPMI_DEVICE_INTERFACE=y CONFIG_IPMI_SI=y CONFIG_IPMI_SSIF=y CONFIG_HPE_KCS_IPMI_BMC=y +CONFIG_IPMB_DEVICE_INTERFACE=y CONFIG_HW_RANDOM_TIMERIOMEM=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_GXP=y CONFIG_I2C_SLAVE=y CONFIG_I2C_SLAVE_EEPROM=y -CONFIG_I2C_SLAVE_MQUEUE=y CONFIG_SPI=y CONFIG_GPIOLIB=y CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GXP_XREG=y CONFIG_GPIO_GXP=y +CONFIG_SENSORS_PECI_CPUTEMP=y +CONFIG_SENSORS_PECI_DIMMTEMP=y +CONFIG_SENSORS_SBTSI=y CONFIG_SENSORS_EMC1403=y CONFIG_SENSORS_GXP_FAN_CTRL=y CONFIG_SENSORS_GXP_CORETEMP=y @@ -205,12 +215,17 @@ CONFIG_HPE_GXP_XREG=y CONFIG_HPE_GXP_FN2=y CONFIG_HPE_GXP_CSM=y CONFIG_HPE_GXP_SROM=y +CONFIG_HPE_GXP_CHIF=y CONFIG_PECI=y CONFIG_PECI_CHARDEV=y +CONFIG_PECI_GXP=y CONFIG_FANOTIFY=y CONFIG_AUTOFS_FS=y CONFIG_OVERLAY_FS=y CONFIG_OVERLAY_FS_REDIRECT_DIR=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_UTF8=y +CONFIG_EXFAT_FS=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_JFFS2_FS=y @@ -235,6 +250,7 @@ CONFIG_CRYPTO_ARC4=y CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_LZO=y CONFIG_CRYPTO_ZSTD=y +CONFIG_CRYPTO_ANSI_CPRNG=y CONFIG_CRYPTO_USER_API_HASH=y # CONFIG_CRYPTO_HW is not set CONFIG_CRC16=y @@ -249,10 +265,9 @@ CONFIG_DEBUG_INFO=y # CONFIG_ENABLE_MUST_CHECK is not set CONFIG_MAGIC_SYSRQ=y CONFIG_PANIC_ON_OOPS=y -CONFIG_SCHED_TRACER=y -CONFIG_STACK_TRACER=y CONFIG_FUNCTION_PROFILER=y -CONFIG_TEST_KSTRTOX=y +CONFIG_STACK_TRACER=y +CONFIG_SCHED_TRACER=y CONFIG_STRICT_DEVMEM=y CONFIG_DEBUG_USER=y CONFIG_DEBUG_LL=y @@ -261,4 +276,4 @@ CONFIG_DEBUG_UART_PHYS=0xC00000F0 CONFIG_DEBUG_UART_VIRT=0xF00000F0 CONFIG_DEBUG_UART_8250_SHIFT=0 CONFIG_EARLY_PRINTK=y -CONFIG_UNWINDER_FRAME_POINTER=y +CONFIG_TEST_KSTRTOX=y diff --git a/meta-hpe/meta-gxp/recipes-kernel/linux/linux-obmc_5.10.bb b/meta-hpe/meta-gxp/recipes-kernel/linux/linux-obmc_5.10.bb new file mode 100644 index 000000000..d0b5407ae --- /dev/null +++ b/meta-hpe/meta-gxp/recipes-kernel/linux/linux-obmc_5.10.bb @@ -0,0 +1,10 @@ +KBRANCH ?= "dev-5.10-gxp-openbmc" +LINUX_VERSION ?= "5.10.17" +SRCREV="8d942b456304d3a21597cda47387a45ace61a225" + +require linux-obmc.inc +require conf/machine/include/fitimage-sign.inc + +# OpenBMC loads in kernel features via other mechanisms so this check +# in the kernel-yocto.bbclass is not required +#KERNEL_DANGLING_FEATURES_WARN_ONLY="1" diff --git a/meta-hpe/meta-gxp/recipes-kernel/linux/linux-obmc_5.7.bb b/meta-hpe/meta-gxp/recipes-kernel/linux/linux-obmc_5.7.bb deleted file mode 100644 index 0e57afd87..000000000 --- a/meta-hpe/meta-gxp/recipes-kernel/linux/linux-obmc_5.7.bb +++ /dev/null @@ -1,9 +0,0 @@ -KBRANCH ?= "dev-5.7-gxp-openbmc" -LINUX_VERSION ?= "5.7.10" - -SRCREV="1ca49db2b4baf304d29396a603d0308770797a5c" -require linux-obmc.inc - -# OpenBMC loads in kernel features via other mechanisms so this check -# in the kernel-yocto.bbclass is not required -KERNEL_DANGLING_FEATURES_WARN_ONLY="1" |