OpenBMC: Difference between revisions

From 15h.org
Jump to navigation Jump to search
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Compiling from source ==
[[OpenBMC]] is available for motherboards using the [[ASPEED AST2050]] co-processor. Compilation and usage instructions are available [[ASPEED_AST2050#OpenBMC|here]].
Compilation has been tested on Debian 9.
 
'''Debian 9 Dependencies'''
 
<nowiki>
apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib autotools-dev build-essential chrpath socat libsdl1.2-dev xterm
</nowiki>
 
Create the missing /etc/perl/find.pl file<ref>https://blog.kempj.co.uk/2015/09/missing-find-pl-compiling-oe/</ref>
<nowiki>
warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
 
# This library is deprecated and unmaintained. It is included for
# compatibility with Perl 4 scripts which may use it, but it will be
# removed in a future version of Perl. Please use the File::Find module
# instead.
 
# Usage:
# require "find.pl";
#
# &find('/foo','/bar');
#
# sub wanted { ... }
# where wanted does whatever you want.  $dir contains the
# current directory name, and $_ the current filename within
# that directory.  $name contains "$dir/$_".  You are cd'ed
# to $dir when the function is called.  The function may
# set $prune to prune the tree.
#
# For example,
#
#  find / -name .nfs\* -mtime +7 -exec rm -f {} \; -o -fstype nfs -prune
#
# corresponds to this
#
# sub wanted {
#     /^\.nfs.*$/ &&
#     (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
#     int(-M _) > 7 &&
#     unlink($_)
#     ||
#     ($nlink || (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_))) &&
#     $dev < 0 &&
#     ($prune = 1);
# }
#
# Set the variable $dont_use_nlink if you're using AFS, since AFS cheats.
 
use File::Find ();
 
*name = *File::Find::name;
*prune = *File::Find::prune;
*dir = *File::Find::dir;
*topdir = *File::Find::topdir;
*topdev = *File::Find::topdev;
*topino = *File::Find::topino;
*topmode = *File::Find::topmode;
*topnlink = *File::Find::topnlink;
 
sub find {
    &File::Find::find(\&wanted, @_);
}
 
1;
</nowiki>
'''Configuring and Compiling'''
 
<nowiki>
### Fetch Sources
git clone -b fido https://git.15h.org/mrothfuss/ast2050-yocto-poky.git ast2050-yocto-poky
 
cd ast2050-yocto-poky
git clone -b fido https://git.15h.org/mrothfuss/ast2050-yocto-openembedded.git meta-openembedded
git clone https://git.15h.org/mrothfuss/ast2050-yocto-openbmc.git meta-openbmc
 
### Setup Build
export TEMPLATECONF=meta-openbmc/meta-raptor/meta-asus/conf
source oe-init-build-env
cp -Rp ../local-aspeed.conf conf/local.conf
touch conf/sanity.conf
 
### Edit the config to change the default root password from 0penBmc (See EXTRA_USERS_PARAMS)
vim conf/local.conf
 
### Build. Your ROM will be at tmp/deploy/images/asus/flash-asus-DATETIME
bitbake asus-image
 
</nowiki>

Latest revision as of 06:16, 9 December 2025

OpenBMC is available for motherboards using the ASPEED AST2050 co-processor. Compilation and usage instructions are available here.