summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md221
1 files changed, 77 insertions, 144 deletions
diff --git a/README.md b/README.md
index 5c5ae63cd..ecec336fe 100644
--- a/README.md
+++ b/README.md
@@ -1,160 +1,93 @@
# OpenBMC
-[![Build Status](https://openpower.xyz/buildStatus/icon?job=openbmc-build)](https://openpower.xyz/job/openbmc-build/)
+![Build status](https://dev.azure.com/openbmc/OpenBMC/_apis/build/status/Intel-BMC.openbmc?branchName=intel "Build status")
+
+Intel-BMC/openbmc is a BMC implementation for servers. The purpose is to provide
+early access to features and capabilities which have not yet been accepted or
+merged in the OpenBMC main project (github.com/openbmc). In due course, all of
+the capabilities here will be brought to the OpenBMC project.
+
+Some answers to the main questions that tend to get asked:
+
+### Does this mean that Intel is no longer contributing to the Linux foundation project?
+
+No. This repo is for components that are intended for the eventual
+release to the LF OpenBMC project. There are a number of reasons where things
+might be checked in here. For example: functionality that is still under
+discussion or in the LF OpenBMC project, features that have not gone through
+the level of testing or integration needed to be included in the OpenBMC
+project
+
+### Why does this repo exist at all?
+
+Upstreaming changes to the linux kernel, uboot, systemd, yocto, and the various
+projects that OpenBMC pulls in requires a significant effort. While we aspire
+to that process being fast, painless, and with minimal rework, the reality is
+far from that, and features or functions that require changes across a number
+of repos require a coordinated effort, and a single source of function. As a
+general rule, this repository loosens the requirements of "form over function"
+and prefers to make some simplifying assumptions of BMC capabilities, chipsets,
+and required features.
+
+### Can I upstream/release the code from this repository?
+
+It very much depends on the component. While in general the answer ends up
+being "yes", prior approval should be granted, as this repo contains future
+facing capabilities that may not have been announced yet. Please email
+openbmc@intel.com to discuss. Appropriate licenses will be applied to the
+portions of this codebase that are approved for upstreaming.
+
+### How to build for Wolf Pass
+```bash
+export TEMPLATECONF=meta-openbmc-mods/meta-wolfpass/conf
+source oe-init-build-env
+bitbake intel-platforms
+```
+### How to build for Intel reference
+```bash
+export TEMPLATECONF=meta-openbmc-mods/meta-wht/conf
+source oe-init-build-env
+bitbake intel-platforms
+```
-The OpenBMC project can be described as a Linux distribution for embedded
-devices that have a BMC; typically, but not limited to, things like servers,
-top of rack switches or RAID appliances. The OpenBMC stack uses technologies
-such as [Yocto](https://www.yoctoproject.org/),
-[OpenEmbedded](https://www.openembedded.org/wiki/Main_Page),
-[systemd](https://www.freedesktop.org/wiki/Software/systemd/), and
-[D-Bus](https://www.freedesktop.org/wiki/Software/dbus/) to allow easy
-customization for your server platform.
+### Default User Credentials
+To meet Intel security requirements, this OpenBMC implementation will not have
+default user credentials enabled by default.
-## Setting up your OpenBMC project
+IPMI commands are available to enable the root user for serial console access
+and to enable users for IPMI, Redfish, and web access.
-### 1) Prerequisite
-- Ubuntu 14.04
+There is also a `"debug-tweaks"` feature that can be added to a build to
+re-enable the default user credentials.
-```
-sudo apt-get install -y git build-essential libsdl1.2-dev texinfo gawk chrpath diffstat
-```
+#### Enable root user
-- Fedora 28
+Without `"debug-tweaks"`, the root user is disabled by default.
-```
-sudo dnf install -y git patch diffstat texinfo chrpath SDL-devel bitbake \
- rpcgen perl-Thread-Queue perl-bignum perl-Crypt-OpenSSL-Bignum
-sudo dnf groupinstall "C Development Tools and Libraries"
-```
-### 2) Download the source
-```
-git clone git@github.com:openbmc/openbmc.git
-cd openbmc
-```
+The following IPMI command can be used to enable the root user. This root
+user allows access to the BMC serial console, but cannot be used to access
+IPMI, Redfish, or the web console.
-### 3) Target your hardware
-Any build requires an environment variable known as `TEMPLATECONF` to be set
-to a hardware target.
-You can see all of the known targets with
-`find meta-* -name local.conf.sample`. Choose the hardware target and
-then move to the next step. Additional examples can be found in the
-[OpenBMC Cheatsheet](https://github.com/openbmc/docs/blob/master/cheatsheet.md)
+IPMI OEM net function 0x30, command 0x5f. For root user, the first byte is
+0 followed by the password.
-Machine | TEMPLATECONF
---------|---------
-Palmetto | ```meta-ibm/meta-palmetto/conf```
-Zaius| ```meta-ingrasys/meta-zaius/conf```
-Witherspoon| ```meta-ibm/meta-witherspoon/conf```
-Romulus| ```meta-ibm/meta-romulus/conf```
+For example, to enable the root user with password `0penBmc1`:
+```ipmitool raw 0x30 0x5f 0x00 0x30 0x70 0x65 0x6e 0x42 0x6d 0x63 0x31```
-As an example target Romulus
-```
-export TEMPLATECONF=meta-ibm/meta-romulus/conf
-```
+#### Enable IPMI, Redfish, and web users
-### 4) Build
+Without `"debug-tweaks"`, there are no IPMI, Redfish, or web users by default.
-```
-. openbmc-env
-bitbake obmc-phosphor-image
-```
+The standard IPMI commands to set usernames and passwords are supported.
+These users allow access to IPMI, Redfish, and the web console, but cannot be
+used to access the BMC serial console.
+
+#### debug-tweaks
+
+Debug features, including the default user credentials, can be enabled by
+adding the `"debug-tweaks"` feature to the build by including the following
+in your `local.conf` file:
-Additional details can be found in the [docs](https://github.com/openbmc/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](https://github.com/openbmc/docs/blob/master/development/README.md)
-
-## Build Validation and Testing
-Commits submitted by members of the OpenBMC GitHub community are compiled and
-tested via our [Jenkins](https://openpower.xyz/) 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](https://openpower.xyz/job/openbmc-test-qemu-ci/).
-
-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](http://robotframework.org/) for all automation. Our
-complete test repository can be found
-[here](https://github.com/openbmc/openbmc-test-automation).
-
-## Submitting Patches
-Support of additional hardware and software packages is always welcome.
-Please follow the [contributing guidelines](https://github.com/openbmc/docs/blob/master/CONTRIBUTING.md)
-when making a submission. It is expected that contributions contain test
-cases.
-
-## Bug Reporting
-[Issues](https://github.com/openbmc/openbmc/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](https://stackoverflow.com/questions/tagged/openbmc).
-Please review the [discussion](https://meta.stackexchange.com/questions/272956/a-new-code-license-the-mit-this-time-with-attribution-required?cb=1)
-on Stack Overflow licensing before posting any code.
-
-For technical discussions, please see [contact info](#contact) below for IRC 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 IRC.
-
-## 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](https://github.com/openbmc/docs) repository.
-
-## Technical Steering Committee
-
-The Technical Steering Committee (TSC) guides the project. Members are:
-
- * Brad Bishop (chair), IBM
- * Nancy Yuen, Google
- * Sai Dasari, Facebook
- * James Mihm, Intel
- * Sagar Dharia, Microsoft
- * Supreeth Venkatesh, Arm
-
-## Contact
-- Mail: openbmc@lists.ozlabs.org [https://lists.ozlabs.org/listinfo/openbmc](https://lists.ozlabs.org/listinfo/openbmc)
-- IRC: #openbmc on freenode.net
-- Riot: [#openbmc:matrix.org](https://riot.im/app/#/room/#openbmc:matrix.org)
+```EXTRA_IMAGE_FEATURES += "debug-tweaks"```