OpenBMC Project Community Comes Together at The Linux Foundation to Define Open Source Implementation of BMC Firmware Stack

  • The OpenBMC Project community is coming together with the goal of defining a stack that will work across heterogeneous systems that include enterprise, HPC, telco, and cloud-scale data centers. The organizations behind the new project each have already made substantial contributions to creating open source baseboard management controller (BMC) firmware. Now, working together, they will define the vision for a standard stack that can be used across systems and computing environments.

    IBM is providing their OpenBMC code base to The Linux Foundation, and this project will be supported by several organizations, including Facebook, Google, Intel, and Microsoft. The community is looking to expand and invites contributors from across the industry to come together in defining and creating the OpenBMC stack.

    BMCs, specialized controllers that monitor the state of a computer or hardware, are typically found in the main circuit board of the device they monitor. They enable monitoring and management of various aspects of the machine, such as health (e.g., temperature and voltages), log events for failure analysis, and provide a range of other remote management capabilities. BMCs were introduced about two decades ago, along with the Intelligent Platform Management Interface (IPMI) and are critical to the management of remotely deployed server systems.

    The BMC software stack has been closed until the past couple of years, due to the variety of hardware topologies, such as SoC ranging from 8-bit microcontrollers to 32-bit ARM cores, and often secretive nature of hardware design. To allow greater access and control to BMCs, companies like the five coming together around OpenBMC began developing their own open versions.

    One factor lending urgency to their work is that the scale of cloud deployment makes traditional BMC development impractical for a number of reasons. These include:

    • Reproduce-debug-fix-deployment cycle: When an issue arises with a cloud-scale deployment, it is difficult to reproduce the same issue in a controlled lab environment. This makes it tough to find and fix the problem quickly. An open BMC stack allows faster debugging.
    • Security models: Modern, open BMC implementations allow end users to leverage their own security models rather than forcing them to use older models with known vulnerabilities.
    • Configuration and monitoring: Traditional BMCs required use of their own tooling. Linux, the host OS for most systems in data centers, provides standard tools that can be used to configure and monitor BMCs.

    The Linux Foundation is pleased to welcome OpenBMC to our family of open source projects and to work with the community to support its growth. To learn more, visit

    The post OpenBMC Project Community Comes Together at The Linux Foundation to Define Open Source Implementation of BMC Firmware Stack appeared first on The Linux Foundation.

Tmux Commands

screen and tmux

A comparison of the features (or more-so just a table of notes for accessing some of those features) for GNU screen and BSD-licensed tmux.

The formatting here is simple enough to understand (I would hope). ^ means ctrl+, so ^x is ctrl+x. M- means meta (generally left-alt or escape)+, so M-x is left-alt+x

It should be noted that this is no where near a full feature-set of either group. This - being a cheat-sheet - is just to point out the most very basic features to get you on the road.

Trust the developers and manpage writers more than me. This document is originally from 2009 when tmux was still new - since then both of these programs have had many updates and features added (not all of which have been dutifully noted here).

Action tmux screen
start a new session tmux OR
tmux new OR
tmux new-session
re-attach a detached session tmux attach OR
tmux attach-session
re-attach an attached session (detaching it from elsewhere) tmux attach -d OR
tmux attach-session -d
screen -dr
re-attach an attached session (keeping it attached elsewhere) tmux attach OR
tmux attach-session
screen -x
detach from currently attached session ^b d OR
^b :detach
^a ^d OR
^a :detach
rename-window to newname ^b , <newname> OR
^b :rename-window <newn>
^a A <newname>
list windows ^b w ^a w
list windows in chooseable menu ^a "
go to window # ^b # ^a #
go to last-active window ^b l ^a ^a
go to next window ^b n ^a n
go to previous window ^b p ^a p
see keybindings ^b ? ^a ?
list sessions ^b s OR
tmux ls OR
tmux list-sessions
screen -ls
toggle visual bell ^a ^g
create another window ^b c ^a c
exit current shell/window ^d ^d
split window/pane horizontally ^b " ^a S
split window/pane vertically ^b % ^a |
switch to other pane ^b o ^a <tab>
kill the current pane ^b x OR (logout/^D)
collapse the current pane/split (but leave processes running) ^a X
cycle location of panes ^b ^o
swap current pane with previous ^b {
swap current pane with next ^b }
show time ^b t
show numeric values of panes ^b q
toggle zoom-state of current pane (maximize/return current pane) ^b z
break the current pane out of its window (to form new window) ^b !
re-arrange current panels within same window (different layouts) ^b [space]
Kill the current window (and all panes within) ^b killw [target-window]