OpenBMC - это распределение Linux для контроллеров управления, используемых в таких устройствах, как серверы, верхняя часть стойки или приборы RAID. Он использует YOCTO, OpenEMBED, SYSTERD и D-BUS, чтобы обеспечить легкую настройку для вашей платформы.
Смотрите документацию YOCTO для последних требований
sudo apt install git python3-distutils gcc g++ make file wget
gawk diffstat bzip2 cpio chrpath zstd lz4 bzip2
sudo dnf install git python3 gcc g++ gawk which bzip2 chrpath cpio
hostname file diffutils diffstat lz4 wget zstd rpcgen patch
git clone https://github.com/openbmc/openbmc
cd openbmc
Любая сборка требует среды, настраивающейся в соответствии с вашей аппаратной целью. В корне этого репозитория существует специальный скрипт, который можно использовать для настройки среды по мере необходимости. Сценарий называется setup
и принимает имя вашей аппаратной цели в качестве аргумента.
Сценарий должен быть получен в верхнем каталоге клона репозитория OpenBMC, и, если запустить без аргументов, будет отображать список поддерживаемых аппаратных целей, см. Следующий пример:
$ . setup <machine> [build_dir]
Target machine must be specified. Use one of:
...
Более полный список поддерживаемых машин можно найти под метафосфором/документами.
Как только вы узнаете цель (например, Romulus), поставьте сценарий setup
следующим образом:
. setup romulus
bitbake obmc-phosphor-image
Дополнительную информацию можно найти в репозитории DOCS.
Сообщество OpenBMC поддерживает набор учебных пособий.
Commits, представленные членами сообщества OpenBMC GitHub, скомпилированы и протестированы через наш сервер Jenkins. Коммуты проходят через два уровня тестирования. На уровне хранилища MakeFile make check
Directive запускается. На системном уровне коммит встроен в изображение прошивки и работает с моделью Qemu Arm-Softmmu против заграды от тестов CI.
Коммитами, представленные не членами, не проходят автоматически через тестирование CI. После визуального осмотра коммита, рецензент может выполнить пробег CI вручную.
Проводятся автоматическое тестирование на модель QEMU вместе с поддерживаемыми системами. Проект OpenBMC использует Robot Framework для всей автоматизации. Наш полный тестовый хранилище можно найти здесь.
Поддержка дополнительных аппаратных и программных пакетов всегда приветствуется. Пожалуйста, следуйте рекомендациям в соответствии с подачей заявки. Ожидается, что взносы содержат тестовые случаи.
Проблемы управляются на GitHub. Рекомендуется искать проблемы, прежде чем открывать новый.
Во -первых, пожалуйста, выполните поиск в Интернете. Есть большая вероятность, что ваш вопрос уже задан.
Для общих вопросов, пожалуйста, используйте тег OpenBMC на переполнении стека. Пожалуйста, просмотрите обсуждение лицензирования переполнения стека перед публикацией какого -либо кода.
Для технических обсуждений см. Контактную информацию ниже для раздора и информации о рассылке. Пожалуйста, не подавайте проблему, чтобы задать вопрос. Вы получите более быстрые результаты, используя список рассылки или раздоры.
Это общий вопрос, особенно в отношении досок из популярных кроваток (коммерческих готовых) поставщиков, таких как Supermicro и Asrock. Вы можете увидеть список поддерживаемых досок, работая . setup
(без дальнейших аргументов) в корне дерева источника OpenBMC. Большинство платформ, поддерживаемых OpenBMC, представляют собой специализированные серверы, управляемые компаниями, управляющими крупными образными обработкой обработки данных, но некоторые более общие серверы Cots поддерживаются в различной степени.
Если ваша материнская плата не указана в выводе . setup
в настоящее время не поддерживается. Портирование OpenBMC на новую платформу-это нетривиальное предприятие, которое в идеале сделано с помощью схемы и другой документации от производителя (не совсем невозможно принять усилия по портированию без документации через реверс-инженерию, но это значительно сложнее и, вероятно, включает в себя больший риск повреждения оборудования).
Однако , даже если ваша материнская плата входит в число перечисленных в результатах . setup
, есть два важных предостережения, которые следует иметь в виду. Во -первых, не все порты одинаково зрелые - некоторые платформы лучше поддерживаются, чем другие, а функциональность на некоторых «поддерживаемых» досках может быть довольно ограниченной. Во -вторых, поддержка материнской платы - это не то же самое, что поддержка полной системы - в частности, управление вентиляторами критически зависит не только от материнской платы, но и от фанатов, подключенных к ней, и на шасси, в которой хранятся доска и поклонники, в Оба из которых могут резко различаться между системами, используя одну и ту же модель платы. Таким образом, хотя вы можете скомпилировать и установить настройку OpenBMC на вашу систему и получить некоторые базовые функциональные возможности, скорее всего, грубые края (например, ваши вентиляторы охлаждения, работающие непрерывно при полном дроссельном заслонке).
См. Также «Поддерживаемые машины».
Погрузитесь глубже в OpenBMC, открыв репозиторий DOCS.
Технический рулевой комитет (TSC) направляет проект. Участники: