Coder Social home page Coder Social logo

docs's Introduction

OpenBMC

Build Status

OpenBMC is a Linux distribution for management controllers used in devices such as servers, top of rack switches or RAID appliances. It uses Yocto, OpenEmbedded, systemd, and D-Bus to allow easy customization for your platform.

Setting up your OpenBMC project

1) Prerequisite

See the Yocto documentation for the latest requirements

Ubuntu

sudo apt install git python3-distutils gcc g++ make file wget \
    gawk diffstat bzip2 cpio chrpath zstd lz4 bzip2

Fedora

sudo dnf install git python3 gcc g++ gawk which bzip2 chrpath cpio \
    hostname file diffutils diffstat lz4 wget zstd rpcgen patch

2) Download the source

git clone https://github.com/openbmc/openbmc
cd openbmc

3) Target your hardware

Any build requires an environment set up according to your hardware target. There is a special script in the root of this repository that can be used to configure the environment as needed. The script is called setup and takes the name of your hardware target as an argument.

The script needs to be sourced while in the top directory of the OpenBMC repository clone, and, if run without arguments, will display the list of supported hardware targets, see the following example:

$ . setup <machine> [build_dir]
Target machine must be specified. Use one of:

ahe50dc                 harma                   s7106
bletchley               kudo                    s8036
daytonax                lannister               sbp1
dl360-g11               minerva                 spc621d8hm3
dl360poc                mori                    starscream
dl385-g11               mtjade                  system1
e3c246d4i               mtmitchell              tatlin-archive-x86
e3c256d4i               ncplite                 tiogapass
ethanolx                nicole                  transformers
evb-ast2500             olympus-nuvoton         vegman-n110
evb-ast2600             p10bmc                  vegman-rx20
evb-npcm750             palmetto                vegman-sx20
evb-npcm845             qcom-dc-scm-v1          witherspoon
f0b                     quanta-q71l             witherspoon-tacoma
fp5280g3                rl300-g11               x11spi
g220a                   romed8hm3               yosemite4
gbs                     romulus                 yosemitev2
genesis3                s2600wf                 zaius
greatlakes              s6q

Once you know the target (e.g. romulus), source the setup script as follows:

. setup romulus

4) Build

bitbake obmc-phosphor-image

Additional details can be found in the docs repository.

OpenBMC Development

The OpenBMC community maintains a set of tutorials new users can go through to get up to speed on OpenBMC development out here

Build Validation and Testing

Commits submitted by members of the OpenBMC GitHub community are compiled and tested via our Jenkins server. Commits are run through two levels of testing. At the repository level the makefile make check directive is run. At the system level, the commit is built into a firmware image and run with an arm-softmmu QEMU model against a barrage of CI tests.

Commits submitted by non-members do not automatically proceed through CI testing. After visual inspection of the commit, a CI run can be manually performed by the reviewer.

Automated testing against the QEMU model along with supported systems are performed. The OpenBMC project uses the Robot Framework for all automation. Our complete test repository can be found here.

Submitting Patches

Support of additional hardware and software packages is always welcome. Please follow the contributing guidelines when making a submission. It is expected that contributions contain test cases.

Bug Reporting

Issues are managed on GitHub. It is recommended you search through the issues before opening a new one.

Questions

First, please do a search on the internet. There's a good chance your question has already been asked.

For general questions, please use the openbmc tag on Stack Overflow. Please review the discussion on Stack Overflow licensing before posting any code.

For technical discussions, please see contact info below for Discord and mailing list information. Please don't file an issue to ask a question. You'll get faster results by using the mailing list or Discord.

Will OpenBMC run on my Acme Server Corp. XYZ5000 motherboard?

This is a common question, particularly regarding boards from popular COTS (commercial off-the-shelf) vendors such as Supermicro and ASRock. You can see the list of supported boards by running . setup (with no further arguments) in the root of the OpenBMC source tree. Most of the platforms supported by OpenBMC are specialized servers operated by companies running large datacenters, but some more generic COTS servers are supported to varying degrees.

If your motherboard is not listed in the output of . setup it is not currently supported. Porting OpenBMC to a new platform is a non-trivial undertaking, ideally done with the assistance of schematics and other documentation from the manufacturer (it is not completely infeasible to take on a porting effort without documentation via reverse engineering, but it is considerably more difficult, and probably involves a greater risk of hardware damage).

However, even if your motherboard is among those listed in the output of . setup, there are two significant caveats to bear in mind. First, not all ports are equally mature -- some platforms are better supported than others, and functionality on some "supported" boards may be fairly limited. Second, support for a motherboard is not the same as support for a complete system -- in particular, fan control is critically dependent on not just the motherboard but also the fans connected to it and the chassis that the board and fans are housed in, both of which can vary dramatically between systems using the same board model. So while you may be able to compile and install an OpenBMC build on your system and get some basic functionality, rough edges (such as your cooling fans running continuously at full throttle) are likely.

Features of OpenBMC

Feature List

  • Host management: Power, Cooling, LEDs, Inventory, Events, Watchdog
  • Full IPMI 2.0 Compliance with DCMI
  • Code Update Support for multiple BMC/BIOS images
  • Web-based user interface
  • REST interfaces
  • D-Bus based interfaces
  • SSH based SOL
  • Remote KVM
  • Hardware Simulation
  • Automated Testing
  • User management
  • Virtual media

Features In Progress

  • OpenCompute Redfish Compliance
  • Verified Boot

Features Requested but need help

  • OpenBMC performance monitoring

Finding out more

Dive deeper into OpenBMC by opening the docs repository.

Technical Steering Committee

The Technical Steering Committee (TSC) guides the project. Members are:

  • Benjamin Fair, Google
  • Patrick Williams, Meta
  • Roxanne Clarke, IBM
  • Sagar Dharia, Microsoft
  • Samer El-Haj-Mahmoud, Arm
  • Terry Duncan, Intel

Contact

docs's People

Contributors

amboar avatar anoo1 avatar antwil avatar apuli1 avatar bjwyman avatar bradbishop avatar causten avatar dhruvibm avatar dkodihal avatar edtanous avatar fighternan avatar geissonator avatar gkeishin avatar gluhow avatar gtmills avatar htnakayrus avatar jk-ozlabs avatar kostr avatar krtaylor avatar mdmillerii avatar mine260309 avatar nasamuffin avatar phawryle avatar pstrinkle avatar rfrandse avatar shenki avatar spinler avatar vijaykhemka avatar williamspatrick avatar zkurzyns avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docs's Issues

Missing a step in documentation

I've been following the "Adding a new system" document here: https://github.com/openbmc/docs/blob/master/development/add-new-system.md

And I get to the step that says: Nothing RPROVIDES 'romulus-prime-config'
First of all, I don't get that error, instead I get:
ERROR: BBFILE_PATTERN_romulus-prime-layer not defined
Also, following that, the instructions say to copy some files:
cp meta-ibm/meta-romulus-prime/recipes-phosphor/workbook/romulus-config.bb meta-ibm/meta-romulus-prime/recipes-phosphor/workbook/romulus-prime-config.bb

However, I don't see the "workbook" directory.

ls meta-ibm/meta-romulus-prime/recipes-phosphor/    
chassis        console  flash  host    inventory  leds     mboxd  packagegroups  skeleton
configuration  fans     gpio   images  ipmi       logging  occ    sensors        state

I'm confused as to what to do here.

Not print hello word

Hello !
not print hello word phosphor-bmc-state-manager
i follow the instruction - https://github.com/openbmc/docs/blob/master/development/sdk-hello-world.md
root@romulus:# /tmp/phosphor-bmc-state-manager
^C
root@romulus:
# journalctl | tail
Nov 05 13:00:51 romulus systemd[1]: xyz.openbmc_project.State.BMC.service: Succeeded.
Nov 05 13:00:51 romulus systemd[1]: Stopped Phosphor BMC State Manager.
Nov 05 13:02:01 romulus systemd[1]: Created slice system-dropbear.slice.
Nov 05 13:02:01 romulus systemd[1]: Started SSH Per-Connection Server (10.0.2.2:53728).
Nov 05 13:02:01 romulus dropbear[321]: Child connection from ::ffff:10.0.2.2:53728
Nov 05 13:02:12 romulus dropbear[321]: PAM password auth succeeded for 'root' from ::ffff:10.0.2.2:53728
Nov 05 13:02:12 romulus dropbear[321]: Exit (root) from <::ffff:10.0.2.2:53728>: Disconnect received
Nov 05 13:02:12 romulus systemd[1]: [email protected]:22-10.0.2.2:53728.service: Succeeded.
Nov 05 13:02:56 romulus phosphor-bmc-state-manager[327]: Setting the BMCState field
Nov 05 13:02:56 romulus phosphor-bmc-state-manager[327]: Setting the BMCState field

Commands to check progress of code update no longer work

I was attempting to follow optional step 5 listed in https://github.com/openbmc/docs/blob/master/architecture/code-update/code-update.md and I hit got these errors :

root@mybmc:~# busctl get-property xyz.openbmc_project.Software.BMC.Updater  /xyz/openbmc_project/software/40789442 xyz.openbmc_project.Software.ActivationProgress Progress
Failed to get property Progress on interface xyz.openbmc_project.Software.ActivationProgress: Unknown interface xyz.openbmc_project.Software.ActivationProgress or property Progress.
[crgeddes@mysystem hibernia]$ curl -u root -b cjar -k https://mybmc/xyz/openbmc_project/software/40789442/attr/Progress
Enter host password for user 'root':
{
  "data": {
    "description": "The specified property cannot be found"
  },
  "message": "404 Not Found",
  "status": "error"

subtree: Need a tutorial for new layer

The subtree doc is great and introduce the develop flow on existing openbmc.

But I do not know how to add a new layer to the combo, e.g. if a (new) system vendor foo adds a new machine bar.
To do it right with openbmc's subtree:

  1. They will have their own repo meta-foo with machine layer meta-bar.
  2. They need to know how to correctly add this subtree into openbmc

This issue is to ask for an introduction about the above 2, so system vendors know how to do it correctly based on openbmc's subtree work flow.

Not see results work phosphor-bmc-state-manager

Hello .
I'm not see result work phosphor-bmc-state-manager. not print "Hello World"
this insraction - https://github.com/openbmc/docs/blob/master/development/sdk-hello-world.md
root@romulus:~# journalctl | tail
Nov 05 13:00:51 romulus systemd[1]: xyz.openbmc_project.State.BMC.service: Succeeded.
Nov 05 13:00:51 romulus systemd[1]: Stopped Phosphor BMC State Manager.
Nov 05 13:02:01 romulus systemd[1]: Created slice system-dropbear.slice.
Nov 05 13:02:01 romulus systemd[1]: Started SSH Per-Connection Server (10.0.2.2:53728).
Nov 05 13:02:01 romulus dropbear[321]: Child connection from ::ffff:10.0.2.2:53728
Nov 05 13:02:12 romulus dropbear[321]: PAM password auth succeeded for 'root' from ::ffff:10.0.2.2:53728
Nov 05 13:02:12 romulus dropbear[321]: Exit (root) from <::ffff:10.0.2.2:53728>: Disconnect received
Nov 05 13:02:12 romulus systemd[1]: [email protected]:22-10.0.2.2:53728.service: Succeeded.
Nov 05 13:02:56 romulus phosphor-bmc-state-manager[327]: Setting the BMCState field
Nov 05 13:02:56 romulus phosphor-bmc-state-manager[327]: Setting the BMCState field

Example command to get latest Romulus image isn't working

Location

development tutorials...OpenBMC Developer Documentation...Development Environment Setup...Download and Start QEMU Session...Download the Romulus image

Issue

This command
wget https://jenkins.openbmc.org/job/latest-master/label=docker-builder,target=romulus/lastSuccessfulBuild/artifact/openbmc/build/tmp/deploy/images/romulus/obmc-phosphor-image-romulus.static.mtd
returns
2022-03-29 09:54:25 ERROR 404: Not Found
Actual filename has the format
obmc-phosphor-image-romulus-20220329025139.static.mtd

Request

Provide a working example using wget for those who are not familiar with the Jenkins api

Unable to open UDP PORT

I have a self hosted server on windows machine with qemu linux as guest, my server is working fine now i installed jitsi on itso i need to open/forward port 10000[UDP] my TCP forwarding working fine but not listning at udp port.
----AT UBUNTU[GUEST]
10000/tcp ALLOW Anywhere
10000/udp ALLOW Anywhere

----AT Windows [HOST]

TCP port 10000 (unknown service): LISTENING
portqry.exe -n 127.0.0.1 -e 10000 -p TCP exits with return code 0x00000000.

UDP port 10000 (unknown service): LISTENING or FILTERED
portqry.exe -n 127.0.0.1 -e 10000 -p UDP exits with return code 0x00000002.

Command used to run
"..\qemu-system-x86_64.exe" -smp 4 -accel whpx -hda ".\ubuntu01.qcow2" -m 8G -vga std -net nic -net user,hostfwd=tcp::80-:80,hostfwd=tcp::443-:443,hostfwd=tcp::10000-:10000,hostfwd=udp::10000-:10000
Also tried
"..\qemu-system-x86_64.exe" -smp 4 -accel whpx -hda ".\ubuntu01.qcow2" -m 8G -vga std -net nic -net user,hostfwd=tcp::80-:80,hostfwd=tcp::443-:443 -chardev udp,id=udp_fwd,host=127.0.0.1,port=10000

Please help!
i need a UPD port to open

Hello world example is failed in ninja -C build

Hi,

I'm tying to follow Hello world example to familier to the openbmc.
I met the problems which are described and resolved earlier post and solved it.
But, there is an another problem.
Could you give me some guide to resolve those link errror below?

- Relevant Info:

Operating system: Ubuntu 20.04.4 LTS (Focal)
Branch/Commit: phosphor-state-manager/main ("master") 7e0e4e9227d495b47ebc6c38b97998254dcad5be

- Problem:

Description: link error in the header file "sysroots/arm1176jzs-openbmc-linux-gnueabi/usr/include/fmt/core.h".
Log: (Sorry. I can't upload full log due to restrictions in my work space.)
ninja: Entering directory build' [1/4] Linking target test_hypervisor_state [2/4] Linking target test_scheduled_host_transition [3/4] Linking target phosphor-secure-boot-check FAILED: phosphor-secure-boot-check arm-openbmc-linux-gnueabi-g++ -marm -mcpu=arm1176jz-s -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/home/gt82lee/project/bmc/sdk/romulus-2022-09-02/sysroots/arm1176jzs-openbmc-linux-gnueabi -o phosphor-secure-boot-check phosphor-secure-boot-check.p/secure_boot_check.cpp.o phosphor-secure-boot-check.p/utils.cpp.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now -Wl,--start-group /home/gt82lee/project/bmc/sdk/romulus-2022-09-02/sysroots/arm1176jzs-openbmc-linux-gnueabi/usr/lib/libsdbusplus.so /home/gt82lee/project/bmc/sdk/romulus-2022-09-02/sysroots/arm1176jzs-openbmc-linux-gnueabi/lib/libsystemd.so /home/gt82lee/project/bmc/sdk/romulus-2022-09-02/sysroots/arm1176jzs-openbmc-linux-gnueabi/usr/lib/libphosphor_logging.so /home/gt82lee/project/bmc/sdk/romulus-2022-09-02/sysroots/arm1176jzs-openbmc-linux-gnueabi/usr/lib/libphosphor_dbus.so /home/gt82lee/project/bmc/sdk/romulus-2022-09-02/sysroots/arm1176jzs-openbmc-linux-gnueabi/usr/lib/libgpiod.so -Wl,--end-group /home/gt82lee/project/bmc/sdk/romulus-2022-09-02/sysroots/x86_64-oesdk-linux/usr/libexec/arm-openbmc-linux-gnueabi/gcc/arm-openbmc-linux-gnueabi/12.1.0/real-ld: phosphor-secure-boot-check.p/utils.cpp.o: in function std::make_unsigned::type fmt::v8::detail::to_unsigned(int)':
/home/gt82lee/project/bmc/sdk/romulus-2022-09-02/sysroots/arm1176jzs-openbmc-linux-gnueabi/usr/include/fmt/core.h:426: undefined reference to fmt::v8::detail::assert_fail(char const*, int, char const*)' /home/gt82lee/project/bmc/sdk/romulus-2022-09-02/sysroots/x86_64-oesdk-linux/usr/libexec/arm-openbmc-linux-gnueabi/gcc/arm-openbmc-linux-gnueabi/12.1.0/real-ld: phosphor-secure-boot-check.p/utils.cpp.o: in function fmt::v8::detail::format_decimal_result<char*> fmt::v8::detail::format_decimal<char, unsigned long long>(char*, unsigned long long, int)':
/home/gt82lee/project/bmc/sdk/romulus-2022-09-02/sysroots/arm1176jzs-openbmc-linux-gnueabi/usr/include/fmt/format.h:1108: undefined reference to fmt::v8::detail::assert_fail(char const*, int, char const*)' /home/gt82lee/project/bmc/sdk/romulus-2022-09-02/sysroots/x86_64-oesdk-linux/usr/libexec/arm-openbmc-linux-gnueabi/gcc/arm-openbmc-linux-gnueabi/12.1.0/real-ld: phosphor-secure-boot-check.p/utils.cpp.o: in function unsigned int fmt::v8::detail::printf_width_handler::operator()<fmt::v8::monostate, 0>(fmt::v8::monostate)':
/home/gt82lee/project/bmc/sdk/romulus-2022-09-02/sysroots/arm1176jzs-openbmc-linux-gnueabi/usr/include/fmt/printf.h:219: undefined reference to vtable for fmt::v8::format_error' /home/gt82lee/project/bmc/sdk/romulus-2022-09-02/sysroots/x86_64-oesdk-linux/usr/libexec/arm-openbmc-linux-gnueabi/gcc/arm-openbmc-linux-gnueabi/12.1.0/real-ld: /home/gt82lee/project/bmc/sdk/romulus-2022-09-02/sysroots/arm1176jzs-openbmc-linux-gnueabi/usr/include/fmt/printf.h:219: undefined reference to fmt::v8::format_error::~format_error()'
/home/gt82lee/project/bmc/sdk/romulus-2022-09-02/sysroots/x86_64-oesdk-linux/usr/libexec/arm-openbmc-linux-gnueabi/gcc/arm-openbmc-linux-gnueabi/12.1.0/real-ld: /home/gt82lee/project/bmc/sdk/romulus-2022-09-02/sysroots/arm1176jzs-openbmc-linux-gnueabi/usr/include/fmt/printf.h:219: undefined reference to typeinfo for fmt::v8::format_error' /home/gt82lee/project/bmc/sdk/romulus-2022-09-02/sysroots/x86_64-oesdk-linux/usr/libexec/arm-openbmc-linux-gnueabi/gcc/arm-openbmc-linux-gnueabi/12.1.0/real-ld: phosphor-secure-boot-check.p/utils.cpp.o: in function int fmt::v8::detail::printf_precision_handler::operator()<fmt::v8::monostate, 0>(fmt::v8::monostate)':
/home/gt82lee/project/bmc/sdk/romulus-2022-09-02/sysroots/arm1176jzs-openbmc-linux-gnueabi/usr/include/fmt/printf.h:91: undefined reference to `vtable for fmt::v8::format_error'

OpenBMC Hello World in SDK

I'm newbie in OpenBMC. I started from the begining: https://github.com/openbmc/docs/tree/master/development and successfully made first step - Development Environment Setup. Now I'm trying to build Hello World in SDK (https://github.com/openbmc/docs/blob/master/development/sdk-hello-world.md).
When I use command:

./configure ${CONFIGURE_FLAGS}

I get ERROR

...
checking for PHOSPHOR_DBUS_INTERFACES... no
configure: error: Package requirements (phosphor-dbus-interfaces) were not met:

No package 'phosphor-dbus-interfaces' found

What is this error means? What I need to do to fix it?

Question about OpenBMC -> Board integration

What documentation I should use to learn how to integrate OpenBMC to host motherboard ?
Most of the documents seems to be about OpenBMC embedded in new MC hardware. Am I wrong?

Sincerely,
Jorge Ventura

PS: I am posting here because I don't know where to do that and I apologize if it's the wrong place.

Power monitoring and management didn't work

Hi, we use the Palmetto code,want to monitor the power status of the host and hard power on/off/cycle. We changed some pins, like PGOOD, RESET_BUTTON and POWER_BUTTON, but it didn't work. Can you give me some guidance for where should make changes, thank you very much.

Hello world example ERROR Dependency 'fmt' is required but not found.

Hi,
I'm NEW to openbmc, and I met a problem that confused me when I tried to build an openbmc application "Hello world" and I have spent a lot time on it. I thought I have found where the problem is but I can't solve it. It seemed that the fmt subproject didn't build successfully.Could you help me?

INFO

OS:Ubuntu 20.04.1
Cmake version: 3.24.3
Meson version: 0.63.3

PROBLEM

when I run meson build command, the output of the fmt Cmake seemed normal, but the process failed in the and and report that

WARNING: Subproject 'fmt' did not override 'fmt' dependency and no variable name specified
Dependency fmt from subproject subprojects/fmt found: NO

meson.build:86:0: ERROR: Dependency 'fmt' is required but not found.

but the previous log showed that the fmt had been build successfully. The log:

stdplus| Run-time dependency threads found: YES
stdplus| Run-time dependency fmt found: NO (tried pkgconfig and cmake)
stdplus| Using subprojects/sdeventplus/subprojects/fmt.wrap
stdplus| WARNING: Subproject fmt's revision may be out of date; its wrap file has changed since it was first configured

Executing subproject sdeventplus:stdplus:fmt method cmake


| Configuring the build directory with CMake version 3.24.3
| Running CMake with: -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DMASTER_PROJECT=OFF
|   - build directory:          /home/xxxxx/Desktop/OpenBMC/code/phosphor-state-manager/build/subprojects/fmt/__CMake_build
|   - source directory:         /home/xxxxx/Desktop/OpenBMC/code/phosphor-state-manager/subprojects/fmt
|   - toolchain file:           /home/xxxxx/Desktop/OpenBMC/code/phosphor-state-manager/build/subprojects/fmt/__CMake_build/CMakeMesonToolchainFile.cmake
|   - preload file:             /home/xxxxx/Desktop/OpenBMC/code/phosphor-state-manager/build/meson-private/data/preload.cmake
|   - trace args:               --trace-expand --trace-format=json-v1 --no-warn-unused-cli --trace-redirect=cmake_trace.txt
|   - disabled policy warnings: [CMP0025, CMP0047, CMP0056, CMP0060, CMP0065, CMP0066, CMP0067, CMP0082, CMP0089, CMP0102]

| Running with expanded trace output on.
| Not searching for unused variables given on the command line.
| Trace will be written to cmake_trace.txt
| -- CMake version: 3.24.3
| -- The CXX compiler identification is GNU 9.4.0
| -- Detecting CXX compiler ABI info
| -- Detecting CXX compiler ABI info - done
| -- Check for working CXX compiler: /usr/bin/c++ - skipped
| -- Detecting CXX compile features
| -- Detecting CXX compile features - done
| -- Module support is disabled.
| -- Version: 9.1.1
| -- Build type: Release
| -- CXX_STANDARD: 11
| -- Performing Test has_std_11_flag
| -- Performing Test has_std_11_flag - Success
| -- Performing Test has_std_0x_flag
| -- Performing Test has_std_0x_flag - Success
| -- Required features: cxx_variadic_templates
| -- Target 'doc' disabled (requires doxygen)
| -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
| -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
| -- Looking for pthread_create in pthreads
| -- Looking for pthread_create in pthreads - not found
| -- Looking for pthread_create in pthread
| -- Looking for pthread_create in pthread - found
| -- Found Threads: TRUE
| -- Performing Test HAVE_FNO_DELETE_NULL_POINTER_CHECKS
| -- Performing Test HAVE_FNO_DELETE_NULL_POINTER_CHECKS - Success
| -- FMT_PEDANTIC: OFF
| -- Configuring done
| -- Generating done
| -- Build files have been written to: /home/xxxxx/Desktop/OpenBMC/code/phosphor-state-manager/build/subprojects/fmt/__CMake_build

fmt| CMake configuration: SUCCEEDED
fmt| CMake project FMT has 24 build targets.

cmake-ast| Processing generated meson AST
cmake-ast| Build file: /home/xxxxx/Desktop/OpenBMC/code/phosphor-state-manager/build/subprojects/fmt/meson.build

fmt| Project name: FMT
fmt| Project version: undefined
fmt| C compiler for the host machine: cc (gcc 9.4.0 "cc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0")
fmt| C linker for the host machine: cc ld.bfd 2.34
fmt| C++ compiler for the host machine: c++ (gcc 9.4.0 "c++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0")
fmt| C++ linker for the host machine: c++ ld.bfd 2.34
fmt| Build targets in project: 28
fmt| Subproject fmt finished.

Hello-World example fails: boost not found

Hello, I am following the instructions provided to build hello-world. I was able to configure the environment and boot Romulus via Qemu, but encountered an error when building phosphor-state-manager.

The problem:

phosphor-state-manager doesn't build due to cereal build issue (see attached log). Seems boost can't be found via BoostConfig.cmake?

I looked in the sdk-workspace, it appears boost 1.79.0 and associated .hpp/.c
cp files are present and I have the sdk for Romulus in my path, so I'm not sure where to look next.

Relevant Info

Operating system: Ubuntu 20.04.4 LTS (Focal)
Chipset: Intel i7-9700T
Branch/Commit: phosphor-state-manager/main ("master") 128ea8e3f1c56af1f7aa615a6f3b94088c9ba978
Meson Log:
meson-log.txt

Thanks for taking a look, hope I haven't missed one of the setup steps in the docs :)

Rendered documentation

Is this documentation repository rendered on a website somewhere? I found that Gitiles is used, but something like this does not seem ideal to me. In case something that completely renders it isn't used yet, what about using mdBook?

ubi code update

There are something wrong
The code downloaded from github cant generate file about ubi like obmc-phosphor-image-.ubi.mtd.tar by bitbake.
Do you konw where to configure the method of bitbake or is there a patch used to generate some file about uib? i'll be very appreciated.

Bitbake error:Nothing RPROVIDES'virtual=p9-vcs-workaround'

i am newbie in OpenBMC and i follow this guidence : Add a New System to OpenBMC
everything is ok until i start to do building step :
'bitbake obmc-phosphor-image'
and then i get 2 errors.
look below:
Parsing recipes: 100% |##################################################################################################################| Time: 0:03:28
Parsing of 2592 .bb files complete (0 cached, 2592 parsed). 3903 targets, 355 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'virtual-p9-vcs-workaround' (but /home/zhangzhuang/openbmc/meta-openpower/recipes-phosphor/host/p9-vcs-workaround.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'virtual-p9-vcs-workaround' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['virtual-p9-vcs-workaround']
NOTE: Runtime target 'p9-vcs-workaround' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['p9-vcs-workaround', 'virtual-p9-vcs-workaround']
NOTE: Runtime target 'virtual-obmc-host-ctl' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['virtual-obmc-host-ctl', 'p9-vcs-workaround', 'virtual-p9-vcs-workaround']
ERROR: Required build target 'obmc-phosphor-image' has no buildable providers.
Missing or unbuildable dependency chain was: ['obmc-phosphor-image', 'virtual-obmc-host-ctl', 'p9-vcs-workaround', 'virtual-p9-vcs-workaround']

i have do my best , try to find a solution to this problem, but it does not work.
if anyone give some suggestions?

QEMU error: Could not set up host forwarding rule 'udp:127.0.0.1:664-:664'

Hi, Guys:
i am following the guide: [https://github.com/openbmc/docs/blob/master/development/dev-environment.md]
image
Normally, i often run the first one, but today i want to use "devtool deploy-target" to deploy my modifications to the running machine(this machine i runed it on QEMU),
i run the second one :
./qemu-system-arm -m 256 -machine romulus-bmc -nographic -drive file=./tmp/deploy/images/romulus/obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd -net nic -net user,hostfwd=:127.0.0.1:22-:22,hostfwd=:127.0.0.1:443-:443,hostfwd=tcp:127.0.0.1:80-:80,hostfwd=tcp:127.0.0.1:2200-:2200,hostfwd=udp:127.0.0.1:623-:623,hostfwd=udp:127.0.0.1:664-:664,hostname=qemu
but i get the error return:
`qemu-system-arm: Could not set up host forwarding rule 'udp:127.0.0.1:664-:664'

anyone could help me?

host-management.md and cheatsheet.md has expired links

root@rpc:~# curl -b cjar -k https://10.127.90.71/xyz/openbmc/sensors/temperature/ambient
{
"data": {
"description": "org.freedesktop.DBus.Error.FileNotFound: path or object not found: /xyz/openbmc/sensors/temperature/ambient"
},
"message": "404 Not Found",
"status": "error"

root@zaius:~# uname -a
Linux zaius 4.10.17-76ff93cf4565068e97b802e41748eb6745500606 #1 Sun Sep 10 05:42:01 CDT 2017 armv6l GNU/Linux

root@zaius:# uname -a
Linux zaius 4.10.17-76ff93cf4565068e97b802e41748eb6745500606 #1 Sun Sep 10 05:42:01 CDT 2017 armv6l GNU/Linux
root@zaius:
# cat /etc/os-release
ID="openbmc-phosphor"
NAME="Phosphor OpenBMC (Phosphor OpenBMC Project Reference Distro)"
VERSION="v1.99.9-136"
VERSION_ID="v1.99.9-136-g0187c31-dirty"
PRETTY_NAME="Phosphor OpenBMC (Phosphor OpenBMC Project Reference Distro) v1.99.9-136"
BUILD_ID="v1.99.9"

NCSI does not work.

Hello !
I use the Neptune Alfa OpenBMC kit from Portwell. It has an Intel I210 network interface chip. A host is connected to it through PCIe. The host network is working well. BMC has a dedicated interface (MAC0 + RTL8211), it works well.
I want to create a BMC interface via NCSI + VLAN, but it does not work: see dmesg output below.
Please help me solve this problem.

/openbmc/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig
CONFIG_VLAN_8021Q=y
CONFIG_NET_NCSI=y
CONFIG_FTGMAC100=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_REALTEK_PHY=y

mac config from aspeed-bmc-facebook-tiogapas2.dts file:
&mac0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii1_default>;
};

&mac1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii2_default>;
use-ncsi;
};

dmesg outpu (messages in bold are highlighted by me):
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.3.0-4fde000 (oe-user@oe-host) (gcc version 9.2.0 (GCC)) #1 Mon Nov 11 13:23:06 UTC 2019
[ 0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr=00c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[ 0.000000] OF: fdt: Machine model: Facebook TiogaPass BMC
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] cma: Reserved 16 MiB at 0x9d800000
[ 0.000000] On node 0 totalpages: 126976
[ 0.000000] Normal zone: 992 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 126976 pages, LIFO batch:31
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 125984
[ 0.000000] Kernel command line: console=ttyS4,115200n8 root=/dev/ram rw
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 475688K/507904K available (6144K kernel code, 390K rwdata, 1424K rodata, 1024K init, 146K bss, 15832K reserved, 16384K cma-reserved)
[ 0.000000] random: get_random_u32 called from cache_alloc_refill+0x3e8/0x8d8 with crng_init=0
[ 0.000000] ftrace: allocating 21063 entries in 42 pages
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] i2c controller registered, irq 16
[ 0.000000] clocksource: FTTMR010-TIMER2: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 77222644334 ns
[ 0.000017] sched_clock: 32 bits at 24MHz, resolution 40ns, wraps every 86767015915ns
[ 0.000091] Switching to timer-based delay loop, resolution 40ns
[ 0.001220] Calibrating delay loop (skipped), value calculated using timer frequency.. 49.50 BogoMIPS (lpj=247500)
[ 0.001271] pid_max: default: 32768 minimum: 301
[ 0.001985] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.002030] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.003739] CPU: Testing write buffer coherency: ok
[ 0.005499] Setting up static identity map for 0x80100000 - 0x80100038
[ 0.009216] devtmpfs: initialized
[ 0.023298] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.023358] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[ 0.026693] pinctrl core: initialized pinctrl subsystem
[ 0.027738] NET: Registered protocol family 16
[ 0.029584] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.031631] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
[ 0.031663] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 0.070451] videodev: Linux video capture interface: v2.00
[ 0.073541] clocksource: Switched to clocksource FTTMR010-TIMER2
[ 0.127223] NET: Registered protocol family 2
[ 0.128430] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.128520] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[ 0.128604] TCP bind hash table entries: 4096 (order: 2, 16384 bytes, linear)
[ 0.128674] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.128899] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.128959] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.129488] NET: Registered protocol family 1
[ 0.130385] Unpacking initramfs...
[ 1.811602] Freeing initrd memory: 1492K
[ 1.814453] workingset: timestamp_bits=30 max_order=17 bucket_order=0
[ 1.814984] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 1.815019] jffs2: version 2.2. (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 1.815637] NET: Registered protocol family 38
[ 1.818598] aspeed-kcs-bmc: channel=2 addr=0xca8 idr=0x28 odr=0x34 str=0x40
[ 1.819330] aspeed-kcs-bmc: channel=3 addr=0xca2 idr=0x2c odr=0x38 str=0x44
[ 1.825329] Serial: 8250/16550 driver, 6 ports, IRQ sharing enabled
[ 1.829242] 1e787000.serial: ttyS5 at MMIO 0x1e787000 (irq = 31, base_baud = 1546875) is a 16550A
[ 1.831276] 1e783000.serial: ttyS0 at MMIO 0x1e783000 (irq = 29, base_baud = 1500000) is a 16550A
[ 1.832696] 1e784000.serial: ttyS4 at MMIO 0x1e784000 (irq = 30, base_baud = 1500000) is a 16550A
[ 2.206545] printk: console [ttyS4] enabled
[ 2.212327] 1e78d000.serial: ttyS1 at MMIO 0x1e78d000 (irq = 32, base_baud = 1500000) is a 16550A
[ 2.222657] 1e78e000.serial: ttyS2 at MMIO 0x1e78e000 (irq = 33, base_baud = 1500000) is a 16550A
[ 2.233420] timeriomem_rng 1e6e2078.hwrng: 32bits from 0x(ptrval) @ 1us
[ 2.241581] random: fast init done
[ 2.252504] random: crng init done
[ 2.265195] loop: module loaded
[ 2.310309] aspeed-smc 1e620000.spi: Using 50 MHz SPI frequency
[ 2.316469] aspeed-smc 1e620000.spi: mx25l25635e (32768 Kbytes)
[ 2.322419] aspeed-smc 1e620000.spi: CE0 window [ 0x20000000 - 0x22000000 ] 32MB
[ 2.329922] aspeed-smc 1e620000.spi: CE1 window [ 0x22000000 - 0x2a000000 ] 128MB
[ 2.337500] aspeed-smc 1e620000.spi: read control register: 203c0641
[ 2.480979] 5 fixed-partitions partitions found on MTD device 1e620000.spi
[ 2.487985] Creating 5 MTD partitions on "1e620000.spi":
[ 2.493345] 0x000000000000-0x000000060000 : "u-boot"
[ 2.500647] 0x000000060000-0x000000080000 : "u-boot-env"
[ 2.508427] 0x000000080000-0x0000004c0000 : "kernel"
[ 2.515842] 0x0000004c0000-0x000001c00000 : "rofs"
[ 2.522881] 0x000001c00000-0x000002000000 : "rwfs"
[ 2.531696] aspeed-smc 1e630000.spi: Using 50 MHz SPI frequency
[ 2.537918] aspeed-smc 1e630000.spi: s25fl008k (1024 Kbytes)
[ 2.543712] aspeed-smc 1e630000.spi: CE0 window [ 0x30000000 - 0x30100000 ] 1MB
[ 2.551042] aspeed-smc 1e630000.spi: CE1 window [ 0x30100000 - 0x38000000 ] 127MB
[ 2.558620] aspeed-smc 1e630000.spi: read control register: 203b0241
[ 2.573348] aspeed-smc 1e630000.spi: Calibration area too uniform, using low speed
[ 2.585249] libphy: Fixed MDIO Bus: probed
[ 2.590271] ftgmac100 1e660000.ethernet: Read MAC address 72:8a:5f:b4:0a:dc from chip
[ 2.605952] libphy: ftgmac100_mdio: probed
[ 2.610832] RTL8211E Gigabit Ethernet 1e660000.ethernet--1:00: attached PHY driver [RTL8211E Gigabit Ethernet] (mii_bus:phy_addr=1e660000.ethernet--1:00, irq=POLL)
[ 2.626621] ftgmac100 1e660000.ethernet eth0: irq 19, mapped at 93f530f2
[ 2.633817] ftgmac100 1e680000.ethernet: Read MAC address 72:8a:5f:b4:0a:dd from chip
[ 2.641684] ftgmac100 1e680000.ethernet: Using NCSI interface
[ 2.648728] ftgmac100 1e680000.ethernet eth1: irq 20, mapped at 9fed6c95
[ 2.656453] udc-core: couldn't find an available UDC - added [g_mass_storage] to list of pending drivers
[ 2.666551] i2c /dev entries driver
[ 2.671429] aspeed-i2c-bus 1e78a0c0.i2c-bus: i2c bus 2 registered, irq 34
[ 2.679569] aspeed-i2c-bus 1e78a100.i2c-bus: i2c bus 3 registered, irq 35
[ 2.688520] pca953x 6-0027: failed writing register
[ 2.693900] aspeed-i2c-bus 1e78a1c0.i2c-bus: i2c bus 6 registered, irq 36
[ 3.454060] tpm_i2c_infineon 7-0020: could not request locality
[ 3.460889] aspeed-i2c-bus 1e78a300.i2c-bus: i2c bus 7 registered, irq 37
[ 7.605535] aspeed-i2c-bus 1e78a380.i2c-bus: i2c bus 9 registered, irq 38
[ 7.613186] Driver for 1-wire Dallas network protocol.
[ 7.621532] tmp421 7-004e: Could not read configuration register (-6)
[ 7.628664] tmp421 7-004f: Could not read configuration register (-6)
[ 7.645359] NET: Registered protocol family 10
[ 7.652465] Segment Routing with IPv6
[ 7.656936] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 7.664341] NET: Registered protocol family 17
[ 7.668852] 8021q: 802.1Q VLAN Support v1.8
[ 7.682534] printk: console [netcon0] enabled
[ 7.687016] netconsole: network logging started
[ 7.691857] hctosys: unable to open rtc device (rtc0)
[ 7.702762] Freeing unused kernel memory: 1024K
[ 7.709409] Checked W+X mappings: passed, no W+X pages found
[ 7.715203] Run /init as init process
[ 8.666987] jffs2: notice: (78) jffs2_build_xattr_subsystem: complete building xattr subsystem, 28 of xdatum (24 unchecked, 4 orphan) and 55 of xref (3 dead, 1 orphan) found.
[ 8.723302] overlayfs: upper fs does not support tmpfile.
[ 11.026466] systemd[1]: systemd 242-108-gf875dce+ running in system mode. (+PAM -AUDIT -SELINUX -IMA -APPARMOR -SMACK +SYSVINIT -UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS -ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS -KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid)
[ 11.051268] systemd[1]: Detected architecture arm.
[ 11.160109] systemd[1]: Set hostname to .
[ 11.939717] systemd[1]: File /lib/systemd/system/systemd-journald.service:14 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.
[ 11.957130] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
[ 12.350703] systemd[1]: /lib/systemd/system/dbus.socket:5: ListenStream= references a path below legacy directory /var/run/, updating /var/run/dbus/system_bus_socket → /run/dbus/system_bus_socket; please update the unit file accordingly.
[ 13.351756] systemd[1]: /lib/systemd/system/phosphor-pid-control.service:6: Neither a valid executable name nor an absolute path: {bindir}/swampd
[ 13.730302] systemd[1]: /lib/systemd/system/[email protected]:3: Invalid interface name, ignoring: sys-subsystem-net-devices-%i.device
[ 13.843385] systemd[1]: phosphor-pid-control.service: Cannot add dependency job, ignoring: Unit phosphor-pid-control.service has a bad unit file setting.
[ 13.888443] systemd[1]: Reached target Slices.
[ 16.084123] systemd[1]: Started Journal Service.
[ 16.568021] systemd-journald[103]: Received request to flush runtime journal from PID 1
[ 21.576567] 8021q: adding VLAN 0 to HW filter on device eth1
[ 25.844268] ftgmac100 1e660000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 25.852610] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 38.256875] ftgmac100 1e680000.ethernet eth1: NCSI: No channel found to configure!
[ 39.283785] ftgmac100 1e680000.ethernet eth1: Wrong NCSI state 0x100 in workqueue
[ 83.135194] ------------[ cut here ]------------
[ 83.139889] WARNING: CPU: 0 PID: 149 at net/sched/sch_generic.c:447 dev_watchdog+0x268/0x288
[ 83.148456] NETDEV WATCHDOG: eth1 (ftgmac100): transmit queue 0 timed out
[ 83.155351] CPU: 0 PID: 149 Comm: rngd Not tainted 5.3.0-4fde000 #1
[ 83.161629] Hardware name: Generic DT based system
[ 83.166500] Backtrace:
[ 83.169021] [<80107cf0>] (dump_backtrace) from [<80107f24>] (show_stack+0x20/0x24)
[ 83.176701] r7:80a12d00 r6:00000000 r5:9c8f7e04 r4:00000009
[ 83.182400] [<80107f04>] (show_stack) from [<806b1410>] (dump_stack+0x20/0x28)
[ 83.189744] [<806b13f0>] (dump_stack) from [<80116880>] (__warn.part.0+0xb4/0xdc)
[ 83.197342] [<801167cc>] (__warn.part.0) from [<80116918>] (warn_slowpath_fmt+0x70/0x98)
[ 83.205526] r6:805b6518 r5:000001bf r4:80842460
[ 83.210188] [<801168a8>] (warn_slowpath_fmt) from [<805b6518>] (dev_watchdog+0x268/0x288)
[ 83.218459] r3:9d63a000 r2:80842424
[ 83.222051] r6:00000000 r5:9d61db00 r4:9d63a22c
[ 83.226794] [<805b62b0>] (dev_watchdog) from [<8015aca4>] (call_timer_fn+0x40/0x124)
[ 83.234557] r9:00000122 r8:ffffab48 r7:00000100 r6:805b62b0 r5:9d63a22c r4:9d63a22c
[ 83.242409] [<8015ac64>] (call_timer_fn) from [<8015ae28>] (expire_timers+0xa0/0xdc)
[ 83.250259] r8:ffffab48 r7:80a13a20 r6:9c8f7ecc r5:9c8f7ecc r4:9d63a22c
[ 83.257079] [<8015ad88>] (expire_timers) from [<8015af04>] (run_timer_softirq+0xa0/0x198)
[ 83.265359] r10:00000002 r9:00000100 r8:80a12d00 r7:80a13a20 r6:80a13a20 r5:9c8f7ecc
[ 83.273198] r4:9c8f7ecc r3:ffffab49
[ 83.276887] [<8015ae64>] (run_timer_softirq) from [<801022cc>] (__do_softirq+0xdc/0x314)
[ 83.284996] r8:00000000 r7:9c8f6000 r6:80a62174 r5:00000002 r4:00000001
[ 83.291817] [<801021f0>] (__do_softirq) from [<8011a8bc>] (irq_exit+0xac/0xe4)
[ 83.299153] r10:00000001 r9:00000f50 r8:00000000 r7:9d414600 r6:00000001 r5:80a4a490
[ 83.307073] r4:00000000
[ 83.309667] [<8011a810>] (irq_exit) from [<8014d12c>] (__handle_domain_irq+0x60/0xb4)
[ 83.317623] [<8014d0cc>] (__handle_domain_irq) from [<801021e4>] (avic_handle_irq+0x68/0x70)
[ 83.326168] r9:00000f50 r8:00c5387d r7:00c5387d r6:ffffffff r5:9c8f7fb0 r4:9d402e40
[ 83.333935] [<8010217c>] (avic_handle_irq) from [<80101e34>] (__irq_usr+0x54/0x80)
[ 83.341600] Exception stack(0x9c8f7fb0 to 0x9c8f7ff8)
[ 83.346757] 7fa0: 777fa06b 00000002 00000001 00000000
[ 83.354949] 7fc0: 00000000 00000000 00000001 00000000 58000000 00000f50 00000001 76f5bd24
[ 83.363214] 7fe0: 00000001 76f5bc60 4be80bf0 4be80e58 80000010 ffffffff
[ 83.369927] r5:80000010 r4:4be80e58
[ 83.373516] ---[ end trace 0bd7cec28593fee8 ]---

Clarification of "button" type, in devicetree GPIO names

Currently, the Device Tree GPIO Naming in OpenBMC document is rather short on words about buttons. However, I think there is potential for ambiguity here.

In my experience, a GPIO labeled a "button" could mean either of two things:

  1. An output of the BMC, connected to an input of other circuitry, which acts like a botton. For example, a power button GPIO in this context would be asserted for a short time and then released, to change the host power state.
  2. An input of the BMC, connected to an actual physical button. For example, a UID botton can be pressed by the user to show local presence.

I think both cases can occur in hardware designs and are useful, but they are quite different. The DT GPIO name document should, IMHO, be extended to clarify what *-button currently means, and potentially also to accomodate the other meaning of "button".

code update: updating the whole chip

Is there a way to trigger an update of the entire chip instead of updating each partition separately?

This is required in cases where partition offsets are changed.

openbmc,Hwmon Sensors, Fan diaplay web problem

Hi,

I have a problem need your help,
And
I set it like this:
image
image
image
image
Linux has achieved the normal control of PWM Fan:
image
use ipmitool sensor can display the fan information:
image
but web Unable to display the fan:
image
so need your give me some guidance,Thank you very much!

Thanks.

Best Regards

How to build for ASPEED 2400/2500

After a lot of testing, I am feeling a bit lost here. We have ASPEED AST2400/2500 BMCs, and I just want to upload a firmware to it - so that I can test stock functionality. (Eventually, I want to customize the firmware with small changes.) The build process in README.md looks like it applies to a specific hardware manufacturer (IBM) and SKU (unknown).

I can boot QEMU with the built image just fine, and test functionality there. But from what I gather from dmesg and cat /proc/cpu etc, I am worried it might brick my test BMC.

I can't tell from the documentation how to do a basic build for ASPEED AST2500. Could someone point me in the right direction? Note: I do see aspeed in the dmesg output.

abe@godel:~/Downloads/openbmc-2.6.0$ TEMPLATECONF=meta-ibm/meta-palmetto/conf . openbmc-env
...
abe@godel:~/Downloads/openbmc-2.6.0$ bitbake obmc-phosphor-image
...
/home/abe/qemu/build/arm-softmmu/qemu-system-arm -m 256 -M palmetto-bmc -nographic -drive file=/home/abe/Downloads/openbmc-2.6.0/build/tmp/deploy/images/palmetto/flash-palmetto,format=raw,if=mtd -net nic -net user,hostfwd=:0.0.0.0:2222-:22,hostfwd=:0.0.0.0:2443-:443,hostname=qemu
root@palmetto:~# cat /proc/cpuinfo
processor	: 0
model name	: ARM926EJ-S rev 5 (v5l)
BogoMIPS	: 96.00
Features	: swp half thumb fastmult edsp java
CPU implementer	: 0x41
CPU architecture: 5TEJ
CPU variant	: 0x0
CPU part	: 0x926
CPU revision	: 5

Hardware	: Generic DT based system
Revision	: 0000
Serial		: 0000000000000000
root@palmetto:~# dmesg
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.19.16-bbc22aa2953e0330ec9b43f1b866a59ec53fa884 (oe-user@oe-host) (gcc version 8.2.0 (GCC)) #1 Fri May 17 21:44:53 UTC 2019
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00093177
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] OF: fdt: Machine model: Palmetto BMC
[    0.000000] Memory policy: Data cache writeback
[    0.000000] On node 0 totalpages: 61440
[    0.000000]   Normal zone: 480 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 61440 pages, LIFO batch:15
[    0.000000] random: get_random_bytes called from start_kernel+0x8c/0x4b8 with crng_init=0
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 60960
[    0.000000] Kernel command line: console=ttyS4,115200n8 root=/dev/ram rw
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 233100K/245760K available (5120K kernel code, 367K rwdata, 1104K rodata, 1024K init, 143K bss, 12660K reserved, 0K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0x8f800000 - 0xff800000   (1792 MB)
[    0.000000]     lowmem  : 0x80000000 - 0x8f000000   ( 240 MB)
[    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (6112 kB)
[    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (1024 kB)
[    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 368 kB)
[    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 144 kB)
[    0.000000] ftrace: allocating 18511 entries in 55 pages
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] i2c controller registered, irq 16
[    0.000000] clocksource: FTTMR010-TIMER2: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 39817925974 ns
[    0.000147] sched_clock: 32 bits at 48MHz, resolution 20ns, wraps every 44739242997ns
[    0.001406] Switching to timer-based delay loop, resolution 20ns
[    0.005270] Calibrating delay loop (skipped), value calculated using timer frequency.. 96.00 BogoMIPS (lpj=480000)
[    0.005424] pid_max: default: 32768 minimum: 301
[    0.007060] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.007109] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.018847] CPU: Testing write buffer coherency: ok
[    0.029109] Setting up static identity map for 0x40100000 - 0x40100058
[    0.058509] devtmpfs: initialized
[    0.078006] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.078137] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.079642] pinctrl core: initialized pinctrl subsystem
[    0.083139] NET: Registered protocol family 16
[    0.085153] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.180806] usbcore: registered new interface driver usbfs
[    0.181095] usbcore: registered new interface driver hub
[    0.181304] usbcore: registered new device driver usb
[    0.200938] clocksource: Switched to clocksource FTTMR010-TIMER2
[    0.252252] NET: Registered protocol family 2
[    0.256162] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes)
[    0.256262] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[    0.256353] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.256462] TCP: Hash tables configured (established 2048 bind 2048)
[    0.257746] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.257886] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.258964] NET: Registered protocol family 1
[    0.265347] Unpacking initramfs...
[    2.538643] Freeing initrd memory: 1652K
[    2.546616] workingset: timestamp_bits=30 max_order=16 bucket_order=0
[    2.547732] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    2.547790] jffs2: version 2.2. (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    2.556444] NET: Registered protocol family 38
[    2.556755] io scheduler noop registered
[    2.556944] io scheduler cfq registered (default)
[    2.560698] GPIO line 312 (func_mode0) hogged as output/low
[    2.560805] GPIO line 313 (func_mode1) hogged as output/low
[    2.560979] random: fast init done
[    2.561069] GPIO line 314 (func_mode2) hogged as output/low
[    2.561305] GPIO line 292 (BMC_FAN_RESERVED_N) hogged as input
[    2.561377] GPIO line 293 (APSS_WDT_N) hogged as output/high
[    2.561431] GPIO line 301 (APSS_BOOT_MODE) hogged as output/high
[    2.561480] GPIO line 302 (APSS_RESET_N) hogged as output/high
[    2.561531] GPIO line 307 (SPIVID_STBY_RESET_N) hogged as output/high
[    2.561589] GPIO line 317 (BMC_POWER_UP) hogged as output/high
[    2.561641] GPIO line 333 (BMC_BATTERY_TEST) hogged as input
[    2.561687] GPIO line 336 (AST_HW_FAULT_N) hogged as input
[    2.561732] GPIO line 337 (AST_SYS_FAULT_N) hogged as input
[    2.561789] GPIO line 339 (BMC_FULL_SPEED_N) hogged as output/high
[    2.561838] GPIO line 343 (BMC_FAN_ERROR_N) hogged as output/high
[    2.561884] GPIO line 344 (BMC_WDT_RST1_P) hogged as input
[    2.561928] GPIO line 345 (BMC_WDT_RST2_P) hogged as input
[    2.561991] GPIO line 348 (PE_SLOT_TEST_EN_N) hogged as input
[    2.562041] GPIO line 349 (BMC_RTCRST_N) hogged as input
[    2.562093] GPIO line 350 (SYS_PWROK_BMC) hogged as output/high
[    2.562145] GPIO line 355 (BMC_TPM_INT_N) hogged as output/high
[    2.564586] ipmi-bt-host 1e789140.ibt: Found bt bmc device
[    2.566926] ipmi-bt-host 1e789140.ibt: Using IRQ 30
[    2.575996] Serial: 8250/16550 driver, 6 ports, IRQ sharing enabled
[    2.589147] 1e787000.serial: ttyS5 at MMIO 0x1e787000 (irq = 30, base_baud = 3000000) is a 16550A
[    2.594692] 1e783000.serial: ttyS0 at MMIO 0x1e783000 (irq = 28, base_baud = 1500000) is a 16550A
[    2.596553] 1e784000.serial: ttyS4 at MMIO 0x1e784000 (irq = 29, base_baud = 1500000) is a 16550A
[    2.618096] console [ttyS4] enabled
[    2.623842] timeriomem_rng 1e6e2078.hwrng: 32bits from 0x(ptrval) @ 1us
[    2.655812] random: crng init done
[    2.663906] loop: module loaded
[    2.668572] aspeed-lpc-ctrl 1e789080.lpc-ctrl: Loaded at [mem 0x98000000-0x98ffffff flags 0x200]
[    2.720436] aspeed-smc 1e620000.flash-controller: Using 50 MHz SPI frequency
[    2.722475] aspeed-smc 1e620000.flash-controller: n25q256a (32768 Kbytes)
[    2.723081] aspeed-smc 1e620000.flash-controller: CE0 window [ 0x20000000 - 0x22000000 ] 32MB
[    2.723611] aspeed-smc 1e620000.flash-controller: CE1 window [ 0x22000000 - 0x26000000 ] 64MB
[    2.724025] aspeed-smc 1e620000.flash-controller: read control register: 203b0641
[    2.917073] 5 fixed-partitions partitions found on MTD device bmc
[    2.917371] Creating 5 MTD partitions on "bmc":
[    2.917840] 0x000000000000-0x000000060000 : "u-boot"
[    2.926018] 0x000000060000-0x000000080000 : "u-boot-env"
[    2.933617] 0x000000080000-0x0000004c0000 : "kernel"
[    2.949134] 0x0000004c0000-0x000001c00000 : "rofs"
[    2.958939] 0x000001c00000-0x000002000000 : "rwfs"
[    3.012951] aspeed-smc 1e630000.flash-controller: Using 50 MHz SPI frequency
[    3.013387] aspeed-smc 1e630000.flash-controller: mx25l25635e (32768 Kbytes)
[    3.013718] aspeed-smc 1e630000.flash-controller: read control register: 203b2045
[    3.015955] aspeed-smc 1e630000.flash-controller: Calibration area too uniform, using low speed
[    3.027619] libphy: Fixed MDIO Bus: probed
[    3.029494] ftgmac100 1e660000.ethernet: Read MAC address 52:54:00:12:34:56 from chip
[    3.029869] ftgmac100 1e660000.ethernet: Using NCSI interface
[    3.032861] ftgmac100 1e660000.ethernet eth0: irq 19, mapped at 9f960f98
[    3.033495] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    3.033877] ehci-platform: EHCI generic platform driver
[    3.035091] i2c /dev entries driver
[    3.065677] at24 0-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[    3.077655] rtc-ds1307 0-0068: registered as rtc0
[    3.078592] aspeed-i2c-bus 1e78a040.i2c-bus: i2c bus 0 registered, irq 32
[    3.090288] aspeed-i2c-bus 1e78a080.i2c-bus: i2c bus 1 registered, irq 33
[    3.097273] aspeed-i2c-bus 1e78a0c0.i2c-bus: i2c bus 2 registered, irq 34
[    3.104409] aspeed-i2c-bus 1e78a100.i2c-bus: i2c bus 3 registered, irq 35
[    3.107256] aspeed-i2c-bus 1e78a140.i2c-bus: i2c bus 4 registered, irq 36
[    3.109558] aspeed-i2c-bus 1e78a180.i2c-bus: i2c bus 5 registered, irq 37
[    3.112676] aspeed-i2c-bus 1e78a1c0.i2c-bus: i2c bus 6 registered, irq 38
[    3.114969] aspeed-i2c-bus 1e78a300.i2c-bus: i2c bus 7 registered, irq 39
[    3.115937] Driver for 1-wire Dallas network protocol.
[    3.120373] occ-hwmon 3-0050: failed to get OCC poll response: -6
[    3.125856] usbcore: registered new interface driver usbhid
[    3.126107] usbhid: USB HID core driver
[    3.146339] fsi-master-acf gpio-fsi: ColdFire initialized, firmware v0 API v0.0 (trace disabled)
[    3.146731] fsi-master-acf gpio-fsi: Unsupported coprocessor API version !
[    3.157006] NET: Registered protocol family 10
[    3.164136] Segment Routing with IPv6
[    3.166182] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    3.169098] NET: Registered protocol family 17
[    3.169440] 8021q: 802.1Q VLAN Support v1.8
[    3.182312] console [netcon0] enabled
[    3.182527] netconsole: network logging started
[    3.186206] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    3.189766] rtc-ds1307 0-0068: setting system clock to 2019-05-17 22:33:23 UTC (1558132403)
[    3.227351] Freeing unused kernel memory: 1024K
[    3.229570] Checked W+X mappings: passed, no W+X pages found
[    3.229864] Run /init as init process
[    4.635577] jffs2: notice: (497) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[    4.718012] overlayfs: upper fs does not support tmpfile.
[    6.746673] systemd[1]: Failed to insert module 'autofs4': No such file or directory
[    7.036016] systemd[1]: systemd 239 running in system mode. (+PAM -AUDIT -SELINUX -IMA -APPARMOR -SMACK +SYSVINIT -UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid)
[    7.041270] systemd[1]: Detected architecture arm.
[    7.121918] systemd[1]: Set hostname to <palmetto>.
[    7.198440] systemd[1]: Initializing machine ID from random generator.
[    7.955559] systemd[1]: File /lib/systemd/system/systemd-journald.service:36 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.
[    7.956366] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
[    9.733660] systemd[1]: Created slice system-phosphor\x2dreset\x2dhost\x2drunning.slice.
[    9.740674] systemd[1]: Created slice system-org.openbmc.control.Power.slice.
[    9.747930] systemd[1]: Created slice system-phosphor\x2dcertificate\x2dmanager.slice.
[    9.757968] systemd[1]: Listening on udev Kernel Socket.
[   12.101920] systemd[1]: Started Create System Users.
[   12.166002] systemd[1]: Starting Create Static Device Nodes in /dev...
[   12.189931] systemd[1]: Started Journal Service.
[   12.730138] systemd-journald[517]: Received request to flush runtime journal from PID 1
[   19.425237] 8021q: adding VLAN 0 to HW filter on device eth0
[   19.430237] ftgmac100 1e660000.ethernet eth0: NCSI: Handler for packet type 0x82 returned -19
[   19.431975] ftgmac100 1e660000.ethernet eth0: NCSI: Handler for packet type 0x82 returned -19
[   19.432441] ftgmac100 1e660000.ethernet eth0: NCSI: Handler for packet type 0x82 returned -19
[   19.432842] ftgmac100 1e660000.ethernet eth0: NCSI: Handler for packet type 0x82 returned -19
[   19.433239] ftgmac100 1e660000.ethernet eth0: NCSI: Handler for packet type 0x82 returned -19
[   19.433624] ftgmac100 1e660000.ethernet eth0: NCSI: Handler for packet type 0x82 returned -19
[   19.434023] ftgmac100 1e660000.ethernet eth0: NCSI: Handler for packet type 0x82 returned -19
[   19.434418] ftgmac100 1e660000.ethernet eth0: NCSI: Handler for packet type 0x82 returned -19

Ninja build error

I'm following the development documentation, and has successfully finish the development environment setup.
I am running into an issue in OpenBMC Hello World in SDK, particularly in the steps to run (https://github.com/openbmc/docs/blob/master/development/sdk-hello-world.md#clone-and-build-a-repo):

meson build
ninja -C build 

After running ninja -C build it returns the follow:

Screen Shot 2022-06-08 at 12 14 33 PM

I have tried installing cereal and cmake but neither seem to resolve the error.

Any suggestions on how I can resolve this error?

BMC state not ready after add a new system

Hi, I followed the steps in this tutorial.
I started QEMU with the romulus-prime image, the obmcutil state command showed these:

root@romulus-prime:~# obmcutil state
CurrentBMCState     : xyz.openbmc_project.State.BMC.BMCState.NotReady
CurrentPowerState   : xyz.openbmc_project.State.Chassis.PowerState.Off
CurrentHostState    : xyz.openbmc_project.State.Host.HostState.Off
BootProgress        : xyz.openbmc_project.State.Boot.Progress.ProgressStages.Unspecified
OperatingSystemState: xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.Inactive

The original romulus build works fine, but if I use the romulus-prime build that modified conf files as the tutorial said, I got BMC state not ready.
I know the tutorial is kind of outdated, but I'm not sure if I made some mistakes.
Lastly, if journalctl output or other details are helpful, please let me know.

Thanks!
Victor.

ERROR: Dependency "sdbusplus" not found when meson build

Hi, I'm new to OpenBMC.
I followed the steps in "OpenBMC Hello World in SDK"
I cloned the phosphor-state-manager repo and edited bmc_state_manager_main.cpp.
When I try to "meson build", I got a error message below.

`Run-time dependency sdbusplus found: NO (tried pkgconfig and cmake)

meson.build:59:0: ERROR: Dependency "sdbusplus" not found, tried pkgconfig and cmake

A full log can be found at /home/victorwang/Code/phosphor-state-manager/build/meson-logs/meson-log.txt
`
(Please tell me if it is useful to show full contents of "meson_log.txt")

I'm not sure what the problem is, should I "install" the sdbusplus dependency?
If so, could anyone tell me how to "install" that?

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.