summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md224
1 files changed, 75 insertions, 149 deletions
diff --git a/README.md b/README.md
index eb2772ab6..178c83869 100644
--- a/README.md
+++ b/README.md
@@ -1,169 +1,95 @@
# OpenBMC
-[![Build Status](https://openpower.xyz/buildStatus/icon?job=openbmc-build)](https://openpower.xyz/job/openbmc-build/)
-
-OpenBMC is a Linux distribution for management controllers used in devices such
-as servers, top of rack switches or RAID appliances. It uses
-[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 platform.
-
-## Setting up your OpenBMC project
-
-### 1) Prerequisite
-- Ubuntu 14.04
-
-```
-sudo apt-get install -y git build-essential libsdl1.2-dev texinfo gawk chrpath diffstat
-```
-
-- Fedora 28
-
+![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.
+
+For questions or support please email OpenBMC.Support@intel.com.
+
+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.Support@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
```
-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"
+### How to build for Intel reference
+```bash
+export TEMPLATECONF=meta-openbmc-mods/meta-wht/conf
+source oe-init-build-env
+bitbake intel-platforms
```
-### 2) Download the source
-```
-git clone git@github.com:openbmc/openbmc.git
-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:
-
-bletchley gsj romulus
-dl360poc kudo s2600wf
-e3c246d4i mihawk swift
-ethanolx mtjade tiogapass
-evb-ast2500 nicole transformers
-evb-ast2600 olympus-nuvoton witherspoon
-evb-npcm750 on5263m5 witherspoon-tacoma
-f0b p10bmc x11spi
-fp5280g2 palmetto yosemitev2
-g220a qemuarm zaius
-gbs quanta-q71l
-```
-
-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](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://jenkins.openbmc.org/) 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
+### Default User Credentials
-First, please do a search on the internet. There's a good chance your question
-has already been asked.
+To meet Intel security requirements, this OpenBMC implementation will not have
+default user credentials enabled by default.
-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.
+IPMI commands are available to enable the root user for serial console access
+and to enable users for IPMI, Redfish, and web access.
-For technical discussions, please see [contact info](#contact) 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.
+There is also a `"debug-tweaks"` feature that can be added to a build to
+re-enable the default user credentials.
-## Features of OpenBMC
+#### Enable root user
-**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
+Without `"debug-tweaks"`, the root user is disabled by default.
-**Features In Progress**
-* OpenCompute Redfish Compliance
-* Verified Boot
+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.
-**Features Requested but need help**
-* OpenBMC performance monitoring
+IPMI OEM net function 0x30, command 0x5f. For root user, the first byte is
+0 followed by the password.
+For example, to enable the root user with password `0penBmc1`:
-## Finding out more
+```ipmitool raw 0x30 0x5f 0x00 0x30 0x70 0x65 0x6e 0x42 0x6d 0x63 0x31```
-Dive deeper into OpenBMC by opening the
-[docs](https://github.com/openbmc/docs) repository.
+#### Enable IPMI, Redfish, and web users
-## Technical Steering Committee
+Without `"debug-tweaks"`, there are no IPMI, Redfish, or web users by default.
-The Technical Steering Committee (TSC) guides the project. Members are:
+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.
- * Brad Bishop (chair), IBM
- * Nancy Yuen, Google
- * Sai Dasari, Facebook
- * James Mihm, Intel
- * Sagar Dharia, Microsoft
- * Samer El-Haj-Mahmoud, Arm
+#### debug-tweaks
-## Contact
-- Mail: openbmc@lists.ozlabs.org [https://lists.ozlabs.org/listinfo/openbmc](https://lists.ozlabs.org/listinfo/openbmc)
-- Discord: https://discord.gg/69Km47zH98
+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:
+```EXTRA_IMAGE_FEATURES += "debug-tweaks"```