OpenBMC开发4:启动编译的镜像

OpenBMC开发4:启动编译的镜像1、安装qemusudoaptinstall-yqemu如果安装失败执行sudoaptinstall-fsudoaptinstall-yqemuqemu使用请参考也可以从官网下载qemu-system-armwgethttps://openpower.xyz/job/openbmc-qemu-build-merge-x86/lastSucce…

大家好,又见面了,我是你们的朋友全栈君。

1 安装qemu

      1)安装ubuntu官方qemu

sudo apt install -y qemu

如果安装失败执行

sudo apt install -f
sudo apt install -y qemu

     2)安装OpenBMC维护的qemu

git clone https://github.com/openbmc/qemu.git
cd qemu
git submodule update --init dtc
mkdir build
cd build
../configure --target-list=arm-softmmu
make

     3)下载官方编译的qemu-system-arm

wget https://jenkins.openbmc.org/job/latest-qemu-x86/lastSuccessfulBuild/artifact/qemu/build/qemu-system-arm

qemu使用请参考 :Ubuntu下qemu使用

       注:建议安装openbmc维护的qemu或者下载openbmc官方的qemu-system-arm,直接apt安装的qemu启动会很卡,并且会有重启看门狗等问题。

CSDN下载:qemu-system-armqemu-system-arm.zip_qemuopenbmc-Linux文档类资源-CSDN下载

        注:openbmc官方编译服务器地址: https://jenkins.openbmc.org/,该网站可以看到部分layer编译的镜像以及qemu、sdk等等。

 OpenBMC开发4:启动编译的镜像

 

2 运行镜像

     2.1 本地端口映射启动

 apt安装或者下载源码安装qemu启动镜像:进入到build目录,执行如下命令,使用映射本地端口方式启动bmc(访问bmc的ip地127.0.0.1)。

sudo qemu-system-arm -m 256 -M romulus-bmc -nographic -drive file=./tmp/deploy/images/romulus/obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd -net nic -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu

如果没有还没有编译好,可以下载官方的最后一个镜像:

wget https://jenkins.openbmc.org/job/latest-master/label=docker-builder,target=romulus/lastSuccessfulBuild/artifact/openbmc/build/tmp/deploy/images/romulus/obmc-phosphor-image-romulus.static.mtd

用openbmc官方的qemu,需要下载下来(这里下载后放到build目录下),然后在进入build目录执行命令如下:

sudo ./qemu-system-arm -m 256 -M romulus-bmc -nographic -drive file=./tmp/deploy/images/romulus/obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd -net nic -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu

   2.2 网桥方式启动    

 使用如下命令使用网桥方式启动镜像(该方式可以指定bmc的ip地址,请参考:qemu网络通信),启动镜像后需要进入bmc配置IP地址。

##安装网桥相关,已安装直接启动镜像即可
apt-get install libvirt libvirt-bin bridge-utils uml-utilities qemu-system-common

###apt安装的qemu启动镜像
sudo qemu-system-arm -m 256 -M romulus-bmc -nographic \
-drive file=<path>/flash-palmetto,format=raw,if=mtd \
-net nic,macaddr=10:aa:bb:00:00:02,model=ftgmac100  \
-net bridge,id=net0,helper=/usr/lib/qemu-bridge-helper,br=virbr0

##下载的qemu启动镜像
sudo <qemu-path>/qemu-system-arm -m 256 -M romulus-bmc -nographic \
-drive file=<path>/flash-palmetto,format=raw,if=mtd \
-net nic,macaddr=10:aa:bb:00:00:02,model=ftgmac100  \
-net bridge,id=net0,helper=/usr/lib/qemu-bridge-helper,br=virbr0

注:路径不能错!!!自己下载的qemu-system-arm和-drive后面的file都是相对路径,可以改成绝对路径。进入bmc系统后需要执行“udhcpc”命令即可自动配置bmc的ip地址。

palmetto-bmc:模拟aspeed 2400平台

romulus-bmc:模拟aspeed 2500平台

3 登录BMC系统

如果顺利启动将会看到uboot启动过程和内核启动过程。

OpenBMC开发4:启动编译的镜像

OpenBMC开发4:启动编译的镜像

登录BMC:用户名:root   密码:0penBmc  (数字零)

结束qemu:Ctrl + a 再按x

4 访问BMC管理页面

打开浏览器输入如下地址:(如果以网桥方式启动,进入bmc系统后输入udhcp命令可以得到IP地址,也可以通过ifconfig命令配置IP地址。如果是tap方式启动,需要输入tap的IP地址。)

https://192.168.122.51/

如果是本地端口映射启动输入如下地址:

https://localhost:2443/

在登录时会有安全提示,点击show advanced->Proceed…

OpenBMC开发4:启动编译的镜像

如果没有显示登录页面,就是没有添加phosphor-webui或者webui-vue(两个只能添加一个),添加方式如下:

local.conf中添加:

CORE_IMAGE_EXTRA_INSTALL  += "phosphor-webui"
或者
CORE_IMAGE_EXTRA_INSTALL  += "webui-vue"

recipes-phosphor/image/obmc-phosphor-image.bbappend文件中添加

OBMC_IMAGE_EXTRA_INSTALL_${MACHINE} += "phosphor-webui"
或者
OBMC_IMAGE_EXTRA_INSTALL_${MACHINE} += "webui-vue"

 recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend文件中添加:

RDEPENDS_${PN}-inventory_${MACHINE} += "phosphor-webui"
或者
RDEPENDS_${PN}-inventory_${MACHINE} += "webui-vue"

1、phosphor-webui软件包编译所依赖的AngularJS在2021年6月30日停止维护,所以使用基于VUE开发的webui-vue 来代替phosphor-webui的功能,目前,webui-vue的功能没有phosphor-webui的全面,但是也增加一些新功能,比如添加语言切换更方便,同时使用VUE开发也使得webui的二次开发更容易(本人觉得……^_^)。(phosphor-webui软件包社区也已经停止了维护和更新)

2、添加方式无外乎是给变量添加值,以添加需要的软件包到镜像,更多请参考:配置文件介绍、应用软件管理

3、确认是否将webui编译到镜像中,如果是phosphor-webui可以在BMC的串口下查看/usr/share/www/下是否有app文件夹、app.bundle.js.gz、index.html.gz等。 如果是webui-vue则查看是否有ccs、img、js文件夹以及favicon.ico.gz和index.html.gz文件。

OpenBMC开发4:启动编译的镜像

输入用户root和密码0penBmc(数字零): 

OpenBMC开发4:启动编译的镜像

5 SSH访问BMC

如果没有SSH,请参考ubutun下ssh安装。执行如下命令登录BMC。

ssh root@192.168.122.51

或者

ssh -p 2222 root@127.0.0.1

OpenBMC开发4:启动编译的镜像

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135651.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 云计算(1)—基础知识

    云计算(1)—基础知识一、云计算概述   云计算到底是什么呢?在这个问题上,可谓众说纷纭。比如,在维基百科上的定义是“云计算是一种基于互联网的计算新方式,通过互联网上异构、自治的服务为个人和企业用户提供按需即取的计算”;著名咨询机构Gartner将云计算定义为“云计算是利用互联网技术来将庞大且可伸缩的IT能力集合起来作为服务提供给多个客户的技术”;而IBM则认为“云计算是一种新兴的IT服务交付方式,应用、数据…

    2022年5月15日
    30
  • findwindowex函数用法_内核防止findwindow

    findwindowex函数用法_内核防止findwindow函数功能:该函数获得一个顶层窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数不查找子窗口。在查找时不区分大小写。函数型:HWNDFindWindow(LPCTSTRIpClassName,LPCTSTRIpWindowName);参数:IpClassName:指向一个指定了类名的空结束字符串,或一个标识类名字符串的成员的指针。IpWindowName:指向一个指定了窗口名(窗…

    2022年8月13日
    13
  • pycharm下的多个python版本共存(二)

    pycharm下的多个python版本共存(二)

    2021年10月22日
    51
  • WIN10X64_LTSB2016极限精简版by双心「建议收藏」

    WIN10X64_LTSB2016极限精简版by双心「建议收藏」WIN10X64LTSB2016极限精简版by双心http://www.cnblogs.com/liuzhaoyzz/p/9162113.html下载地址1:https://cloud.189.cn

    2022年8月4日
    17
  • 门面模式 Facade「建议收藏」

    门面模式 Facade「建议收藏」门面模式Facade动机模式定义结构要点总结笔记动机上述A方案的问题在于组件的客户和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子系统的演化.这种过多的耦合面临很多变化的挑战如何简化外部客户端和系统间的交互接口呢?如何将外部客户程序的演化和内部子系统的变化之间的依赖相互解耦模式定义为子系统中的一组接口提供一个**一致(稳定)**的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用(复用)结构要点总结从客户程序的角度来看,Facade模式简化了整个

    2022年8月11日
    2
  • linux用命令dpkg,Linux中dpkg命令起什么作用呢?

    linux用命令dpkg,Linux中dpkg命令起什么作用呢?摘要:下文讲述Linux中dpkg的功能说明,如下所示;dpkg是(Debianpackage英文的缩写)dpkg命令功能:用于管理DebianLinux中的包管理(安装,创建,管理软件)的一种实用性工具dpkg命令的语法格式:dpkg[参数]—–常用参数说明——-i:安装软件包-r:删除软件包-l:输出已安装软件包列表-L:输出于软件包关联的文件-c:输出软件包内文件列表–…

    2022年5月21日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号