[{"data":1,"prerenderedAt":1586},["ShallowReactive",2],{"\u002Fzh\u002Fblogs\u002Fstart_openUBMC":3,"content-doc-\u002Fen\u002Fblogs\u002Fstart_openUBMC":826,"surround-\u002Fen\u002Fblogs\u002Fstart_openUBMC":1584},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"sig":11,"archives":12,"category":13,"author":14,"body":18,"_type":818,"_id":819,"_source":820,"_file":821,"_stem":822,"_extension":823,"coverImage":104,"plainText":824,"authorNames":825},"\u002Fzh\u002Fblogs\u002Fstart_openUBMC","blogs",false,"","从零开始，玩转openUBMC","openUBMC是一款架构领先、开发友好、开放标准的算力设备开源管理软件。在本博客中，我们将从零开始带你玩转openUBMC。","2025\u002F05\u002F10","sig-docs","2025-05","guide",[15],{"name":16,"description":17},"范信鑫","openUBMC社区开发者范信鑫。专注于为openUBMC开发者提供舒适又快捷的上手流程，同时又致力于openUBMC的社区和新特性开发。",{"type":19,"children":20,"toc":805},"root",[21,29,34,39,44,60,67,74,97,106,111,118,131,138,143,149,154,198,204,209,261,268,290,295,337,344,357,417,422,429,434,440,445,452,457,464,469,476,490,497,503,509,522,527,546,553,574,580,585,614,621,650,657,662,681,688,693,699,704,709,716,721,772,777,784,789,799],{"type":22,"tag":23,"props":24,"children":26},"element","h1",{"id":25},"从零开始玩转openubmc",[27],{"type":28,"value":8},"text",{"type":22,"tag":23,"props":30,"children":32},{"id":31},"前言",[33],{"type":28,"value":31},{"type":22,"tag":35,"props":36,"children":37},"p",{},[38],{"type":28,"value":9},{"type":22,"tag":23,"props":40,"children":42},{"id":41},"环境准备",[43],{"type":28,"value":41},{"type":22,"tag":35,"props":45,"children":46},{},[47,49,58],{"type":28,"value":48},"openUBMC的官网中介绍了多种环境准备的方法，本博客将会介绍自由度最高的Ubuntu安装方式。如果想要体验更快捷的安装方法，可以使用Docker来安装，参考",{"type":22,"tag":50,"props":51,"children":55},"a",{"href":52,"rel":53},"https:\u002F\u002Fopenubmc.cn\u002Fdocs\u002Fzh\u002Fdevelopment\u002Fquick_start\u002Fprepare_environment\u002Fdocker_env.html",[54],"nofollow",[56],{"type":28,"value":57},"Docker开发环境搭建 | openUBMC",{"type":28,"value":59},"。",{"type":22,"tag":61,"props":62,"children":64},"h2",{"id":63},"ubuntu-准备openubmc环境",[65],{"type":28,"value":66},"Ubuntu 准备openUBMC环境",{"type":22,"tag":68,"props":69,"children":71},"h3",{"id":70},"_1配置gitcode账户",[72],{"type":28,"value":73},"1、配置gitcode账户",{"type":22,"tag":35,"props":75,"children":76},{},[77,79,86,88,95],{"type":28,"value":78},"进入",{"type":22,"tag":50,"props":80,"children":83},{"href":81,"rel":82},"https:\u002F\u002Fgitcode.com\u002FopenUBMC\u002Fmanifest",[54],[84],{"type":28,"value":85},"项目首页 - manifest:manifest - GitCode",{"type":28,"value":87},"，然后点击",{"type":22,"tag":89,"props":90,"children":92},"code",{"className":91},[],[93],{"type":28,"value":94},"clone",{"type":28,"value":96},"按钮",{"type":22,"tag":35,"props":98,"children":99},{},[100],{"type":22,"tag":101,"props":102,"children":105},"img",{"alt":103,"src":104},"image","\u002Fcategory\u002Fblog\u002Fstart_openUBMC\u002Fimage0.png",[],{"type":22,"tag":35,"props":107,"children":108},{},[109],{"type":28,"value":110},"会弹出如何配置gitcode账户和clone仓库的方法。",{"type":22,"tag":35,"props":112,"children":113},{},[114],{"type":22,"tag":101,"props":115,"children":117},{"alt":103,"src":116},"\u002Fcategory\u002Fblog\u002Fstart_openUBMC\u002Fimage1.png",[],{"type":22,"tag":35,"props":119,"children":120},{},[121,123,129],{"type":28,"value":122},"根据gitcode提供的配置，在Ubuntu命令行中执行",{"type":22,"tag":89,"props":124,"children":126},{"className":125},[],[127],{"type":28,"value":128},"git config",{"type":28,"value":130},"命令",{"type":22,"tag":35,"props":132,"children":133},{},[134],{"type":22,"tag":101,"props":135,"children":137},{"alt":103,"src":136},"\u002Fcategory\u002Fblog\u002Fstart_openUBMC\u002Fimage2.png",[],{"type":22,"tag":35,"props":139,"children":140},{},[141],{"type":28,"value":142},"除此之外，还需要配置ssh公钥，根据如下的步骤2和步骤3提示完成即可",{"type":22,"tag":35,"props":144,"children":145},{},[146],{"type":22,"tag":101,"props":147,"children":148},{"alt":103,"src":116},[],{"type":22,"tag":35,"props":150,"children":151},{},[152],{"type":28,"value":153},"根据openUBMC中的推荐，使用ssh替换https下载，此步将跳过https的Token的复杂配置。",{"type":22,"tag":155,"props":156,"children":160},"pre",{"className":157,"code":158,"language":159,"meta":7,"style":7},"language-shell shiki shiki-themes github-light github-dark monokai","git config --global url.\"git@gitcode.com:\".insteadof \"https:\u002F\u002Fgitcode.com\u002F\"\n","shell",[161],{"type":22,"tag":89,"props":162,"children":163},{"__ignoreMap":7},[164],{"type":22,"tag":165,"props":166,"children":169},"span",{"class":167,"line":168},"line",1,[170,176,182,188,193],{"type":22,"tag":165,"props":171,"children":173},{"style":172},"--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E",[174],{"type":28,"value":175},"git",{"type":22,"tag":165,"props":177,"children":179},{"style":178},"--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74",[180],{"type":28,"value":181}," config",{"type":22,"tag":165,"props":183,"children":185},{"style":184},"--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF",[186],{"type":28,"value":187}," --global",{"type":22,"tag":165,"props":189,"children":190},{"style":178},[191],{"type":28,"value":192}," url.\"git@gitcode.com:\".insteadof",{"type":22,"tag":165,"props":194,"children":195},{"style":178},[196],{"type":28,"value":197}," \"https:\u002F\u002Fgitcode.com\u002F\"\n",{"type":22,"tag":68,"props":199,"children":201},{"id":200},"_2下载manifest仓库",[202],{"type":28,"value":203},"2、下载manifest仓库",{"type":22,"tag":35,"props":205,"children":206},{},[207],{"type":28,"value":208},"分别执行如下命令：",{"type":22,"tag":155,"props":210,"children":212},{"className":157,"code":211,"language":159,"meta":7,"style":7},"mkdir workspace\ncd workspace\ngit clone git@gitcode.com:openUBMC\u002Fmanifest.git\n",[213],{"type":22,"tag":89,"props":214,"children":215},{"__ignoreMap":7},[216,229,243],{"type":22,"tag":165,"props":217,"children":218},{"class":167,"line":168},[219,224],{"type":22,"tag":165,"props":220,"children":221},{"style":172},[222],{"type":28,"value":223},"mkdir",{"type":22,"tag":165,"props":225,"children":226},{"style":178},[227],{"type":28,"value":228}," workspace\n",{"type":22,"tag":165,"props":230,"children":232},{"class":167,"line":231},2,[233,239],{"type":22,"tag":165,"props":234,"children":236},{"style":235},"--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#66D9EF",[237],{"type":28,"value":238},"cd",{"type":22,"tag":165,"props":240,"children":241},{"style":178},[242],{"type":28,"value":228},{"type":22,"tag":165,"props":244,"children":246},{"class":167,"line":245},3,[247,251,256],{"type":22,"tag":165,"props":248,"children":249},{"style":172},[250],{"type":28,"value":175},{"type":22,"tag":165,"props":252,"children":253},{"style":178},[254],{"type":28,"value":255}," clone",{"type":22,"tag":165,"props":257,"children":258},{"style":178},[259],{"type":28,"value":260}," git@gitcode.com:openUBMC\u002Fmanifest.git\n",{"type":22,"tag":35,"props":262,"children":263},{},[264],{"type":22,"tag":101,"props":265,"children":267},{"alt":103,"src":266},"\u002Fcategory\u002Fblog\u002Fstart_openUBMC\u002Fimage4.png",[],{"type":22,"tag":35,"props":269,"children":270},{},[271,273,280,282,288],{"type":28,"value":272},"进入到manifest仓库中，执行其环境初始化命令。在执行之前需要先从",{"type":22,"tag":50,"props":274,"children":277},{"href":275,"rel":276},"https:\u002F\u002Fopenubmc.cn\u002Fzh\u002Fmarketplace\u002Fbmcsdk",[54],[278],{"type":28,"value":279},"openUBMC社区软件应用中心",{"type":28,"value":281},"中下载",{"type":22,"tag":89,"props":283,"children":285},{"className":284},[],[286],{"type":28,"value":287},"bmc_sdk.zip",{"type":28,"value":289},"，并放在manifest代码目录下。",{"type":22,"tag":35,"props":291,"children":292},{},[293],{"type":28,"value":294},"执行",{"type":22,"tag":155,"props":296,"children":298},{"className":157,"code":297,"language":159,"meta":7,"style":7},"cd manifest\npython3 init.py -path .\u002Fbmc_sdk.zip\n",[299],{"type":22,"tag":89,"props":300,"children":301},{"__ignoreMap":7},[302,314],{"type":22,"tag":165,"props":303,"children":304},{"class":167,"line":168},[305,309],{"type":22,"tag":165,"props":306,"children":307},{"style":235},[308],{"type":28,"value":238},{"type":22,"tag":165,"props":310,"children":311},{"style":178},[312],{"type":28,"value":313}," manifest\n",{"type":22,"tag":165,"props":315,"children":316},{"class":167,"line":231},[317,322,327,332],{"type":22,"tag":165,"props":318,"children":319},{"style":172},[320],{"type":28,"value":321},"python3",{"type":22,"tag":165,"props":323,"children":324},{"style":178},[325],{"type":28,"value":326}," init.py",{"type":22,"tag":165,"props":328,"children":329},{"style":184},[330],{"type":28,"value":331}," -path",{"type":22,"tag":165,"props":333,"children":334},{"style":178},[335],{"type":28,"value":336}," .\u002Fbmc_sdk.zip\n",{"type":22,"tag":35,"props":338,"children":339},{},[340],{"type":22,"tag":101,"props":341,"children":343},{"alt":103,"src":342},"\u002Fcategory\u002Fblog\u002Fstart_openUBMC\u002Fimage5.png",[],{"type":22,"tag":35,"props":345,"children":346},{},[347,349,355],{"type":28,"value":348},"在",{"type":22,"tag":89,"props":350,"children":352},{"className":351},[],[353],{"type":28,"value":354},"init.py",{"type":28,"value":356},"中, 完成了如下的环境配置：",{"type":22,"tag":358,"props":359,"children":360},"ul",{},[361,367,372,377,382,387,392,397,402,407,412],{"type":22,"tag":362,"props":363,"children":364},"li",{},[365],{"type":28,"value":366},"环境代理配置",{"type":22,"tag":362,"props":368,"children":369},{},[370],{"type":28,"value":371},"sudo权限获取",{"type":22,"tag":362,"props":373,"children":374},{},[375],{"type":28,"value":376},"Ubuntu 镜像配置 （使用华为镜像源）",{"type":22,"tag":362,"props":378,"children":379},{},[380],{"type":28,"value":381},"安装Ubuntu软件包（例如 python3、gcc、dbus等等）",{"type":22,"tag":362,"props":383,"children":384},{},[385],{"type":28,"value":386},"python镜像源配置（使用华为镜像源）",{"type":22,"tag":362,"props":388,"children":389},{},[390],{"type":28,"value":391},"安装openUBMC开发者套件（RTOS编译工具、SDK、lua-format等）",{"type":22,"tag":362,"props":393,"children":394},{},[395],{"type":28,"value":396},"安装node和npm",{"type":22,"tag":362,"props":398,"children":399},{},[400],{"type":28,"value":401},"openUBMC构建工具bingo安装",{"type":22,"tag":362,"props":403,"children":404},{},[405],{"type":28,"value":406},"conan远程仓库配置",{"type":22,"tag":362,"props":408,"children":409},{},[410],{"type":28,"value":411},"Qemu开发依赖安装",{"type":22,"tag":362,"props":413,"children":414},{},[415],{"type":28,"value":416},"Qemu运行时依赖安装",{"type":22,"tag":35,"props":418,"children":419},{},[420],{"type":28,"value":421},"最终执行完成的标志为如下的输出：",{"type":22,"tag":35,"props":423,"children":424},{},[425],{"type":22,"tag":101,"props":426,"children":428},{"alt":103,"src":427},"\u002Fcategory\u002Fblog\u002Fstart_openUBMC\u002Fimage6.png",[],{"type":22,"tag":35,"props":430,"children":431},{},[432],{"type":28,"value":433},"至此已经完成了下载manifest和使用manifest配置openUBMC的开发环境。",{"type":22,"tag":68,"props":435,"children":437},{"id":436},"_3-配置conan用户",[438],{"type":28,"value":439},"3. 配置conan用户",{"type":22,"tag":35,"props":441,"children":442},{},[443],{"type":28,"value":444},"在openUBMC的文档中提到要使用openUBMC社区用户名来完成配置。",{"type":22,"tag":35,"props":446,"children":447},{},[448],{"type":22,"tag":101,"props":449,"children":451},{"alt":103,"src":450},"\u002Fcategory\u002Fblog\u002Fstart_openUBMC\u002Fimage7.png",[],{"type":22,"tag":35,"props":453,"children":454},{},[455],{"type":28,"value":456},"因此在命令行中执行该配置，配置成功后会有如下的打印。",{"type":22,"tag":35,"props":458,"children":459},{},[460],{"type":22,"tag":101,"props":461,"children":463},{"alt":103,"src":462},"\u002Fcategory\u002Fblog\u002Fstart_openUBMC\u002Fimage8.png",[],{"type":22,"tag":35,"props":465,"children":466},{},[467],{"type":28,"value":468},"当然我们也能够通过conan的一些搜索命令来查看是否配置正确。",{"type":22,"tag":35,"props":470,"children":471},{},[472],{"type":22,"tag":101,"props":473,"children":475},{"alt":103,"src":474},"\u002Fcategory\u002Fblog\u002Fstart_openUBMC\u002Fimage9.png",[],{"type":22,"tag":35,"props":477,"children":478},{},[479,481,488],{"type":28,"value":480},"NOTE：如果你不知道openUBMC社区用户名如何获取，请登录",{"type":22,"tag":50,"props":482,"children":485},{"href":483,"rel":484},"https:\u002F\u002Fopenubmc.cn\u002Fzh",[54],[486],{"type":28,"value":487},"openUBMC官网",{"type":28,"value":489},",并查看红色框内的内容，此为你的openUBMC社区用户名。",{"type":22,"tag":35,"props":491,"children":492},{},[493],{"type":22,"tag":101,"props":494,"children":496},{"alt":103,"src":495},"\u002Fcategory\u002Fblog\u002Fstart_openUBMC\u002Fimage10.png",[],{"type":22,"tag":61,"props":498,"children":500},{"id":499},"开始你的openubmc之旅",[501],{"type":28,"value":502},"开始你的openUBMC之旅",{"type":22,"tag":68,"props":504,"children":506},{"id":505},"openubmc固件升级包构建",[507],{"type":28,"value":508},"openUBMC固件升级包构建",{"type":22,"tag":35,"props":510,"children":511},{},[512,514,520],{"type":28,"value":513},"在上一小节中，我们已经完成了openUBMC的开发环境的搭建。可以使用该环境开始开发openUBMC。manifest仓库除了能够一键初始化环境外，还能够自动化地完成openUBMC的整包构建。利用openUBMC提供的",{"type":22,"tag":89,"props":515,"children":517},{"className":516},[],[518],{"type":28,"value":519},"bingo",{"type":28,"value":521},"工具，能够完成此项。",{"type":22,"tag":35,"props":523,"children":524},{},[525],{"type":28,"value":526},"进入到manifest目录中，并执行如下命令：",{"type":22,"tag":155,"props":528,"children":530},{"className":157,"code":529,"language":159,"meta":7,"style":7},"bingo build\n",[531],{"type":22,"tag":89,"props":532,"children":533},{"__ignoreMap":7},[534],{"type":22,"tag":165,"props":535,"children":536},{"class":167,"line":168},[537,541],{"type":22,"tag":165,"props":538,"children":539},{"style":172},[540],{"type":28,"value":519},{"type":22,"tag":165,"props":542,"children":543},{"style":178},[544],{"type":28,"value":545}," build\n",{"type":22,"tag":35,"props":547,"children":548},{},[549],{"type":22,"tag":101,"props":550,"children":552},{"alt":103,"src":551},"\u002Fcategory\u002Fblog\u002Fstart_openUBMC\u002Fimage11.png",[],{"type":22,"tag":35,"props":554,"children":555},{},[556,558,564,566,572],{"type":28,"value":557},"出现如上的输出及表示openUBMC的整包构建开始了。构建等待时间预计等待4~6分钟（Intel(R) Xeon(R) Gold 6161 CPU @ 2.20GHz 云服务），即可在",{"type":22,"tag":89,"props":559,"children":561},{"className":560},[],[562],{"type":28,"value":563},"manifest\u002Foutput\u002Frootfs_openUBMC.hpm",{"type":28,"value":565},"找到用于openUBMC固件升级的",{"type":22,"tag":89,"props":567,"children":569},{"className":568},[],[570],{"type":28,"value":571},"hpm",{"type":28,"value":573},"包。该包能够让BMC服务器完成固件升级。",{"type":22,"tag":68,"props":575,"children":577},{"id":576},"openubmc仿真启动",[578],{"type":28,"value":579},"openUBMC仿真启动",{"type":22,"tag":35,"props":581,"children":582},{},[583],{"type":28,"value":584},"通常硬件调试资源比较紧缺，一次次地在硬件服务器上进行调试会变成非常的困难。openUBMC也提供了仿真启动方式，采用Qemu进行模拟openUBMC运行环境。在manifest中中执行如下命令，可构建出Qemu仿真启动的固件包。",{"type":22,"tag":155,"props":586,"children":588},{"className":157,"code":587,"language":159,"meta":7,"style":7},"bingo build -sc qemu\n",[589],{"type":22,"tag":89,"props":590,"children":591},{"__ignoreMap":7},[592],{"type":22,"tag":165,"props":593,"children":594},{"class":167,"line":168},[595,599,604,609],{"type":22,"tag":165,"props":596,"children":597},{"style":172},[598],{"type":28,"value":519},{"type":22,"tag":165,"props":600,"children":601},{"style":178},[602],{"type":28,"value":603}," build",{"type":22,"tag":165,"props":605,"children":606},{"style":184},[607],{"type":28,"value":608}," -sc",{"type":22,"tag":165,"props":610,"children":611},{"style":178},[612],{"type":28,"value":613}," qemu\n",{"type":22,"tag":35,"props":615,"children":616},{},[617],{"type":22,"tag":101,"props":618,"children":620},{"alt":103,"src":619},"\u002Fcategory\u002Fblog\u002Fstart_openUBMC\u002Fimage12.png",[],{"type":22,"tag":35,"props":622,"children":623},{},[624,626,632,634,640,642,648],{"type":28,"value":625},"当提示",{"type":22,"tag":89,"props":627,"children":629},{"className":628},[],[630],{"type":28,"value":631},"任务 personal执行成功",{"type":28,"value":633},"后，表示固件包构建完成。同时能够在",{"type":22,"tag":89,"props":635,"children":637},{"className":636},[],[638],{"type":28,"value":639},"manifest\u002Foutput\u002Fpacket\u002Finner",{"type":28,"value":641},"目录下找到",{"type":22,"tag":89,"props":643,"children":645},{"className":644},[],[646],{"type":28,"value":647},"openUBMC_25.00.00.01_qemu.cpio.gz",{"type":28,"value":649},",此为openUBMC仿真所需的固件包，其格式与hpm包有些差异，但内含的文件系统是一致的。",{"type":22,"tag":35,"props":651,"children":652},{},[653],{"type":22,"tag":101,"props":654,"children":656},{"alt":103,"src":655},"\u002Fcategory\u002Fblog\u002Fstart_openUBMC\u002Fimage13.png",[],{"type":22,"tag":35,"props":658,"children":659},{},[660],{"type":28,"value":661},"执行如下的命令，一键启动openUBMC的仿真环境：",{"type":22,"tag":155,"props":663,"children":665},{"className":157,"code":664,"language":159,"meta":7,"style":7},"python3 build\u002Fworks\u002Fpacket\u002Fqemu_shells\u002Fvemake_1711.py\n",[666],{"type":22,"tag":89,"props":667,"children":668},{"__ignoreMap":7},[669],{"type":22,"tag":165,"props":670,"children":671},{"class":167,"line":168},[672,676],{"type":22,"tag":165,"props":673,"children":674},{"style":172},[675],{"type":28,"value":321},{"type":22,"tag":165,"props":677,"children":678},{"style":178},[679],{"type":28,"value":680}," build\u002Fworks\u002Fpacket\u002Fqemu_shells\u002Fvemake_1711.py\n",{"type":22,"tag":35,"props":682,"children":683},{},[684],{"type":22,"tag":101,"props":685,"children":687},{"alt":103,"src":686},"\u002Fcategory\u002Fblog\u002Fstart_openUBMC\u002Fimage14.png",[],{"type":22,"tag":35,"props":689,"children":690},{},[691],{"type":28,"value":692},"等待5~10分钟（视启动宿主机性能而定），可以通过ssh\u002Fweb\u002Fredfish\u002Fipmi等方法与openUBMC进行交互。",{"type":22,"tag":68,"props":694,"children":696},{"id":695},"openubmc使用",[697],{"type":28,"value":698},"openUBMC使用",{"type":22,"tag":35,"props":700,"children":701},{},[702],{"type":28,"value":703},"当我们启动了openUBMC之后，可以通过web界面访问openUBMC。",{"type":22,"tag":35,"props":705,"children":706},{},[707],{"type":28,"value":708},"输入用户名密码登录后，可以看到openUBMC的主界面，更多的内容可以尝试在该界面中点击。",{"type":22,"tag":35,"props":710,"children":711},{},[712],{"type":22,"tag":101,"props":713,"children":715},{"alt":103,"src":714},"\u002Fcategory\u002Fblog\u002Fstart_openUBMC\u002Fimage16.png",[],{"type":22,"tag":35,"props":717,"children":718},{},[719],{"type":28,"value":720},"除此之外，还可以通过ssh连接进入到openUBMC的CLI界面。通过在命令行中执行：",{"type":22,"tag":155,"props":722,"children":724},{"className":157,"code":723,"language":159,"meta":7,"style":7},"ssh Administrator@\u003Cyour ip>:10022\n",[725],{"type":22,"tag":89,"props":726,"children":727},{"__ignoreMap":7},[728],{"type":22,"tag":165,"props":729,"children":730},{"class":167,"line":168},[731,736,741,747,752,757,762,767],{"type":22,"tag":165,"props":732,"children":733},{"style":172},[734],{"type":28,"value":735},"ssh",{"type":22,"tag":165,"props":737,"children":738},{"style":178},[739],{"type":28,"value":740}," Administrator@",{"type":22,"tag":165,"props":742,"children":744},{"style":743},"--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672",[745],{"type":28,"value":746},"\u003C",{"type":22,"tag":165,"props":748,"children":749},{"style":178},[750],{"type":28,"value":751},"your",{"type":22,"tag":165,"props":753,"children":754},{"style":178},[755],{"type":28,"value":756}," i",{"type":22,"tag":165,"props":758,"children":760},{"style":759},"--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2",[761],{"type":28,"value":35},{"type":22,"tag":165,"props":763,"children":764},{"style":743},[765],{"type":28,"value":766},">",{"type":22,"tag":165,"props":768,"children":769},{"style":178},[770],{"type":28,"value":771},":10022\n",{"type":22,"tag":35,"props":773,"children":774},{},[775],{"type":28,"value":776},"并输入密码即可进入。",{"type":22,"tag":35,"props":778,"children":779},{},[780],{"type":22,"tag":101,"props":781,"children":783},{"alt":103,"src":782},"\u002Fcategory\u002Fblog\u002Fstart_openUBMC\u002Fimage17.png",[],{"type":22,"tag":23,"props":785,"children":787},{"id":786},"参考资料",[788],{"type":28,"value":786},{"type":22,"tag":35,"props":790,"children":791},{},[792],{"type":22,"tag":50,"props":793,"children":796},{"href":794,"rel":795},"https:\u002F\u002Fopenubmc.cn\u002Fdocs\u002Fzh\u002Fdevelopment\u002Fquick_start\u002Fexplore_openubmc.html",[54],[797],{"type":28,"value":798},"探索openUBMC | openUBMC",{"type":22,"tag":800,"props":801,"children":802},"style",{},[803],{"type":28,"value":804},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}",{"title":7,"searchDepth":806,"depth":806,"links":807},4,[808,813],{"id":63,"depth":231,"text":66,"children":809},[810,811,812],{"id":70,"depth":245,"text":73},{"id":200,"depth":245,"text":203},{"id":436,"depth":245,"text":439},{"id":499,"depth":231,"text":502,"children":814},[815,816,817],{"id":505,"depth":245,"text":508},{"id":576,"depth":245,"text":579},{"id":695,"depth":245,"text":698},"markdown","content:zh:blogs:start_openUBMC.md","content","zh\u002Fblogs\u002Fstart_openUBMC.md","zh\u002Fblogs\u002Fstart_openUBMC","md","从零开始，玩转openUBMC 前言 openUBMC是一款架构领先、开发友好、开放标准的算力设备开源管理软件。在本博客中，我们将从零开始带你玩转openUBMC。 环境准备 openUBMC的官网中介绍了多种环境准备的方法，本博客将会介绍自由度最高的Ubuntu安装方式。如果想要体验更快捷的安装方法，可以使用Docker来安装，参考 Docker开发环境搭建 | openUBMC 。 Ubuntu 准备openUBMC环境 1、配置gitcode账户 进入 项目首页 - manifest:manifest - GitCode ，然后点击 clone 按钮  会弹出如何配置gitcode账户和clone仓库的方法。  根据gitcode提供的配置，在Ubuntu命令行中执行 git config 命令  除此之外，还需要配置ssh公钥，根据如下的步骤2和步骤3提示完成即可  根据openUBMC中的推荐，使用ssh替换https下载，此步将跳过https的Token的复杂配置。 git  config  --global  url.\"git@gitcode.com:\".insteadof  \"https:\u002F\u002Fgitcode.com\u002F\"\n 2、下载manifest仓库 分别执行如下命令： mkdir  workspace\n cd  workspace\n git  clone  git@gitcode.com:openUBMC\u002Fmanifest.git\n  进入到manifest仓库中，执行其环境初始化命令。在执行之前需要先从 openUBMC社区软件应用中心 中下载 bmc_sdk.zip ，并放在manifest代码目录下。 执行 cd  manifest\n python3  init.py  -path  .\u002Fbmc_sdk.zip\n  在 init.py 中, 完成了如下的环境配置： 环境代理配置 sudo权限获取 Ubuntu 镜像配置 （使用华为镜像源） 安装Ubuntu软件包（例如 python3、gcc、dbus等等） python镜像源配置（使用华为镜像源） 安装openUBMC开发者套件（RTOS编译工具、SDK、lua-format等） 安装node和npm openUBMC构建工具bingo安装 conan远程仓库配置 Qemu开发依赖安装 Qemu运行时依赖安装 最终执行完成的标志为如下的输出：  至此已经完成了下载manifest和使用manifest配置openUBMC的开发环境。 3. 配置conan用户 在openUBMC的文档中提到要使用openUBMC社区用户名来完成配置。  因此在命令行中执行该配置，配置成功后会有如下的打印。  当然我们也能够通过conan的一些搜索命令来查看是否配置正确。  NOTE：如果你不知道openUBMC社区用户名如何获取，请登录 openUBMC官网 ,并查看红色框内的内容，此为你的openUBMC社区用户名。  开始你的openUBMC之旅 openUBMC固件升级包构建 在上一小节中，我们已经完成了openUBMC的开发环境的搭建。可以使用该环境开始开发openUBMC。manifest仓库除了能够一键初始化环境外，还能够自动化地完成openUBMC的整包构建。利用openUBMC提供的 bingo 工具，能够完成此项。 进入到manifest目录中，并执行如下命令： bingo  build\n  出现如上的输出及表示openUBMC的整包构建开始了。构建等待时间预计等待4~6分钟（Intel(R) Xeon(R) Gold 6161 CPU @ 2.20GHz 云服务），即可在 manifest\u002Foutput\u002Frootfs_openUBMC.hpm 找到用于openUBMC固件升级的 hpm 包。该包能够让BMC服务器完成固件升级。 openUBMC仿真启动 通常硬件调试资源比较紧缺，一次次地在硬件服务器上进行调试会变成非常的困难。openUBMC也提供了仿真启动方式，采用Qemu进行模拟openUBMC运行环境。在manifest中中执行如下命令，可构建出Qemu仿真启动的固件包。 bingo  build  -sc  qemu\n  当提示 任务 personal执行成功 后，表示固件包构建完成。同时能够在 manifest\u002Foutput\u002Fpacket\u002Finner 目录下找到 openUBMC_25.00.00.01_qemu.cpio.gz ,此为openUBMC仿真所需的固件包，其格式与hpm包有些差异，但内含的文件系统是一致的。  执行如下的命令，一键启动openUBMC的仿真环境： python3  build\u002Fworks\u002Fpacket\u002Fqemu_shells\u002Fvemake_1711.py\n  等待5~10分钟（视启动宿主机性能而定），可以通过ssh\u002Fweb\u002Fredfish\u002Fipmi等方法与openUBMC进行交互。 openUBMC使用 当我们启动了openUBMC之后，可以通过web界面访问openUBMC。 输入用户名密码登录后，可以看到openUBMC的主界面，更多的内容可以尝试在该界面中点击。  除此之外，还可以通过ssh连接进入到openUBMC的CLI界面。通过在命令行中执行： ssh  Administrator@ \u003C your  i p > :10022\n 并输入密码即可进入。  参考资料 探索openUBMC | openUBMC html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}",[16],{"_path":827,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":828,"description":829,"date":10,"sig":11,"archives":12,"category":13,"author":830,"body":833,"_type":818,"_id":1579,"_source":820,"_file":1580,"_stem":1581,"_extension":823,"coverImage":104,"plainText":1582,"authorNames":1583},"\u002Fen\u002Fblogs\u002Fstart_openUBMC","Zero to Hero: Getting Started with openUBMC","openUBMC is a leading, open-standard, and developer-friendly open source management software for computing devices. In this blog, we'll guide you step-by-step to get started with openUBMC from scratch.",[831],{"name":16,"description":832},"openUBMC community developer, focusing on making openUBMC easy to start with, developing the community, and creating new features.",{"type":19,"children":834,"toc":1567},[835,840,844,850,864,870,875,893,899,915,922,937,943,951,957,962,991,997,1002,1013,1056,1062,1091,1127,1133,1145,1193,1198,1204,1210,1215,1221,1226,1232,1237,1243,1248,1254,1259,1265,1277,1282,1299,1305,1310,1330,1336,1341,1349,1374,1380,1385,1407,1413,1421,1438,1444,1452,1458,1463,1474,1480,1490,1531,1536,1542,1547,1553,1563],{"type":22,"tag":23,"props":836,"children":838},{"id":837},"zero-to-hero-getting-started-with-openubmc",[839],{"type":28,"value":828},{"type":22,"tag":35,"props":841,"children":842},{},[843],{"type":28,"value":829},{"type":22,"tag":61,"props":845,"children":847},{"id":846},"environment-setup-on-ubuntu",[848],{"type":28,"value":849},"Environment Setup on Ubuntu",{"type":22,"tag":35,"props":851,"children":852},{},[853,855,862],{"type":28,"value":854},"The openUBMC official website offers several setup methods. We'll use the Ubuntu installation, which offers the highest level of flexibility. (For a faster start, see the ",{"type":22,"tag":50,"props":856,"children":859},{"href":857,"rel":858},"https:\u002F\u002Fwww.openubmc.cn\u002Fdocs\u002Fen\u002Fdevelopment\u002Fquick_start\u002Fprepare_environment\u002Fdocker_env.html",[54],[860],{"type":28,"value":861},"Docker Developer Environment Setup",{"type":28,"value":863},".",{"type":22,"tag":68,"props":865,"children":867},{"id":866},"_1-configuring-your-gitcode-account",[868],{"type":28,"value":869},"1. Configuring Your GitCode Account",{"type":22,"tag":35,"props":871,"children":872},{},[873],{"type":28,"value":874},"First, you need to configure access to the GitCode repository.",{"type":22,"tag":876,"props":877,"children":878},"ol",{},[879],{"type":22,"tag":362,"props":880,"children":881},{},[882,884,892],{"type":28,"value":883},"Go to the (project's homepage)",{"type":22,"tag":165,"props":885,"children":886},{},[887],{"type":22,"tag":50,"props":888,"children":890},{"href":81,"rel":889},[54],[891],{"type":28,"value":81},{"type":28,"value":863},{"type":22,"tag":35,"props":894,"children":895},{},[896],{"type":22,"tag":101,"props":897,"children":898},{"alt":103,"src":104},[],{"type":22,"tag":876,"props":900,"children":901},{"start":231},[902],{"type":22,"tag":362,"props":903,"children":904},{},[905,907,913],{"type":28,"value":906},"Click ",{"type":22,"tag":89,"props":908,"children":910},{"className":909},[],[911],{"type":28,"value":912},"Clone",{"type":28,"value":914},". A dialog will show you how to configure your GitCode account and clone the repository.",{"type":22,"tag":35,"props":916,"children":917},{},[918],{"type":22,"tag":101,"props":919,"children":921},{"alt":103,"src":920},"\u002Fcategory\u002Fblog\u002Fstart_openUBMC\u002Fimage1-en.png",[],{"type":22,"tag":876,"props":923,"children":924},{"start":245},[925],{"type":22,"tag":362,"props":926,"children":927},{},[928,930,935],{"type":28,"value":929},"Execute the recommended ",{"type":22,"tag":89,"props":931,"children":933},{"className":932},[],[934],{"type":28,"value":128},{"type":28,"value":936}," commands in your Ubuntu terminal.",{"type":22,"tag":35,"props":938,"children":939},{},[940],{"type":22,"tag":101,"props":941,"children":942},{"alt":103,"src":136},[],{"type":22,"tag":876,"props":944,"children":945},{"start":806},[946],{"type":22,"tag":362,"props":947,"children":948},{},[949],{"type":28,"value":950},"Set up your SSH public key by following steps 2 and 3 as prompted by GitCode.",{"type":22,"tag":35,"props":952,"children":953},{},[954],{"type":22,"tag":101,"props":955,"children":956},{"alt":103,"src":116},[],{"type":22,"tag":35,"props":958,"children":959},{},[960],{"type":28,"value":961},"Note: We recommend using SSH instead of HTTPS for downloading. This avoids complex HTTPS token configuration. Execute this command:",{"type":22,"tag":155,"props":963,"children":964},{"className":157,"code":158,"language":159,"meta":7,"style":7},[965],{"type":22,"tag":89,"props":966,"children":967},{"__ignoreMap":7},[968],{"type":22,"tag":165,"props":969,"children":970},{"class":167,"line":168},[971,975,979,983,987],{"type":22,"tag":165,"props":972,"children":973},{"style":172},[974],{"type":28,"value":175},{"type":22,"tag":165,"props":976,"children":977},{"style":178},[978],{"type":28,"value":181},{"type":22,"tag":165,"props":980,"children":981},{"style":184},[982],{"type":28,"value":187},{"type":22,"tag":165,"props":984,"children":985},{"style":178},[986],{"type":28,"value":192},{"type":22,"tag":165,"props":988,"children":989},{"style":178},[990],{"type":28,"value":197},{"type":22,"tag":68,"props":992,"children":994},{"id":993},"_2-downloading-the-manifest-repository",[995],{"type":28,"value":996},"2. Downloading the Manifest Repository",{"type":22,"tag":35,"props":998,"children":999},{},[1000],{"type":28,"value":1001},"The manifest repository is your key to setting up the openUBMC environment automatically.",{"type":22,"tag":876,"props":1003,"children":1004},{},[1005,1010],{"type":22,"tag":362,"props":1006,"children":1007},{},[1008],{"type":28,"value":1009},"Create a workspace and clone the repository:",{"type":22,"tag":362,"props":1011,"children":1012},{},[],{"type":22,"tag":155,"props":1014,"children":1015},{"className":157,"code":211,"language":159,"meta":7,"style":7},[1016],{"type":22,"tag":89,"props":1017,"children":1018},{"__ignoreMap":7},[1019,1030,1041],{"type":22,"tag":165,"props":1020,"children":1021},{"class":167,"line":168},[1022,1026],{"type":22,"tag":165,"props":1023,"children":1024},{"style":172},[1025],{"type":28,"value":223},{"type":22,"tag":165,"props":1027,"children":1028},{"style":178},[1029],{"type":28,"value":228},{"type":22,"tag":165,"props":1031,"children":1032},{"class":167,"line":231},[1033,1037],{"type":22,"tag":165,"props":1034,"children":1035},{"style":235},[1036],{"type":28,"value":238},{"type":22,"tag":165,"props":1038,"children":1039},{"style":178},[1040],{"type":28,"value":228},{"type":22,"tag":165,"props":1042,"children":1043},{"class":167,"line":245},[1044,1048,1052],{"type":22,"tag":165,"props":1045,"children":1046},{"style":172},[1047],{"type":28,"value":175},{"type":22,"tag":165,"props":1049,"children":1050},{"style":178},[1051],{"type":28,"value":255},{"type":22,"tag":165,"props":1053,"children":1054},{"style":178},[1055],{"type":28,"value":260},{"type":22,"tag":35,"props":1057,"children":1058},{},[1059],{"type":22,"tag":101,"props":1060,"children":1061},{"alt":103,"src":266},[],{"type":22,"tag":876,"props":1063,"children":1064},{"start":231},[1065,1086],{"type":22,"tag":362,"props":1066,"children":1067},{},[1068,1070,1075,1077,1084],{"type":28,"value":1069},"Before initialization, download ",{"type":22,"tag":89,"props":1071,"children":1073},{"className":1072},[],[1074],{"type":28,"value":287},{"type":28,"value":1076}," from the ",{"type":22,"tag":50,"props":1078,"children":1081},{"href":1079,"rel":1080},"https:\u002F\u002Fopenubmc.cn\u002Fen\u002Fmarketplace\u002Fbmcsdk",[54],[1082],{"type":28,"value":1083},"openUBMC community software application center",{"type":28,"value":1085}," and place it inside your cloned manifest directory.",{"type":22,"tag":362,"props":1087,"children":1088},{},[1089],{"type":28,"value":1090},"Execute the environment initialization script:",{"type":22,"tag":155,"props":1092,"children":1093},{"className":157,"code":297,"language":159,"meta":7,"style":7},[1094],{"type":22,"tag":89,"props":1095,"children":1096},{"__ignoreMap":7},[1097,1108],{"type":22,"tag":165,"props":1098,"children":1099},{"class":167,"line":168},[1100,1104],{"type":22,"tag":165,"props":1101,"children":1102},{"style":235},[1103],{"type":28,"value":238},{"type":22,"tag":165,"props":1105,"children":1106},{"style":178},[1107],{"type":28,"value":313},{"type":22,"tag":165,"props":1109,"children":1110},{"class":167,"line":231},[1111,1115,1119,1123],{"type":22,"tag":165,"props":1112,"children":1113},{"style":172},[1114],{"type":28,"value":321},{"type":22,"tag":165,"props":1116,"children":1117},{"style":178},[1118],{"type":28,"value":326},{"type":22,"tag":165,"props":1120,"children":1121},{"style":184},[1122],{"type":28,"value":331},{"type":22,"tag":165,"props":1124,"children":1125},{"style":178},[1126],{"type":28,"value":336},{"type":22,"tag":35,"props":1128,"children":1129},{},[1130],{"type":22,"tag":101,"props":1131,"children":1132},{"alt":103,"src":342},[],{"type":22,"tag":35,"props":1134,"children":1135},{},[1136,1138,1143],{"type":28,"value":1137},"The ",{"type":22,"tag":89,"props":1139,"children":1141},{"className":1140},[],[1142],{"type":28,"value":354},{"type":28,"value":1144}," script performs a comprehensive setup, including:",{"type":22,"tag":358,"props":1146,"children":1147},{},[1148,1153,1158,1163,1168,1173,1178,1183,1188],{"type":22,"tag":362,"props":1149,"children":1150},{},[1151],{"type":28,"value":1152},"Setting environment proxies.",{"type":22,"tag":362,"props":1154,"children":1155},{},[1156],{"type":28,"value":1157},"Acquiring sudo permissions.",{"type":22,"tag":362,"props":1159,"children":1160},{},[1161],{"type":28,"value":1162},"Configuring Ubuntu package mirrors (using Huawei mirror sites).",{"type":22,"tag":362,"props":1164,"children":1165},{},[1166],{"type":28,"value":1167},"Installing necessary Ubuntu packages (such as python3, gcc, and dbus).",{"type":22,"tag":362,"props":1169,"children":1170},{},[1171],{"type":28,"value":1172},"Installing the openUBMC developer suite (including RTOS build tools, SDK, and lua-format).",{"type":22,"tag":362,"props":1174,"children":1175},{},[1176],{"type":28,"value":1177},"Installing Node and npm.",{"type":22,"tag":362,"props":1179,"children":1180},{},[1181],{"type":28,"value":1182},"Installing the openUBMC build tool, bingo.",{"type":22,"tag":362,"props":1184,"children":1185},{},[1186],{"type":28,"value":1187},"Configuring Conan remote repositories.",{"type":22,"tag":362,"props":1189,"children":1190},{},[1191],{"type":28,"value":1192},"Installing QEMU development and runtime dependencies.",{"type":22,"tag":35,"props":1194,"children":1195},{},[1196],{"type":28,"value":1197},"The successful completion is marked by the final output printout. You have now completed your development environment setup!",{"type":22,"tag":35,"props":1199,"children":1200},{},[1201],{"type":22,"tag":101,"props":1202,"children":1203},{"alt":103,"src":427},[],{"type":22,"tag":68,"props":1205,"children":1207},{"id":1206},"_3-configuring-your-conan-user",[1208],{"type":28,"value":1209},"3. Configuring Your Conan User",{"type":22,"tag":35,"props":1211,"children":1212},{},[1213],{"type":28,"value":1214},"The openUBMC documentation requires you to configure the Conan user with your openUBMC community username.",{"type":22,"tag":35,"props":1216,"children":1217},{},[1218],{"type":22,"tag":101,"props":1219,"children":1220},{"alt":103,"src":450},[],{"type":22,"tag":35,"props":1222,"children":1223},{},[1224],{"type":28,"value":1225},"Execute the necessary configuration command. You will see a success message upon completion.",{"type":22,"tag":35,"props":1227,"children":1228},{},[1229],{"type":22,"tag":101,"props":1230,"children":1231},{"alt":103,"src":462},[],{"type":22,"tag":35,"props":1233,"children":1234},{},[1235],{"type":28,"value":1236},"Verify the configuration using the conan search command.",{"type":22,"tag":35,"props":1238,"children":1239},{},[1240],{"type":22,"tag":101,"props":1241,"children":1242},{"alt":103,"src":474},[],{"type":22,"tag":35,"props":1244,"children":1245},{},[1246],{"type":28,"value":1247},"Note: To find your openUBMC community username, log in to the openUBMC official website and look for the name displayed in the upper right corner.",{"type":22,"tag":61,"props":1249,"children":1251},{"id":1250},"start-your-openubmc-journey",[1252],{"type":28,"value":1253},"Start Your openUBMC Journey",{"type":22,"tag":35,"props":1255,"children":1256},{},[1257],{"type":28,"value":1258},"Now that the environment is rea dy, let's explore building and running openUBMC.",{"type":22,"tag":68,"props":1260,"children":1262},{"id":1261},"_1-building-the-openubmc-firmware-update-package",[1263],{"type":28,"value":1264},"1. Building the openUBMC Firmware Update Package",{"type":22,"tag":35,"props":1266,"children":1267},{},[1268,1270,1275],{"type":28,"value":1269},"The manifest repository can also perform an automated full-package build using the openUBMC-provided ",{"type":22,"tag":89,"props":1271,"children":1273},{"className":1272},[],[1274],{"type":28,"value":519},{"type":28,"value":1276}," tool.",{"type":22,"tag":35,"props":1278,"children":1279},{},[1280],{"type":28,"value":1281},"From the manifest directory, run:",{"type":22,"tag":155,"props":1283,"children":1284},{"className":157,"code":529,"language":159,"meta":7,"style":7},[1285],{"type":22,"tag":89,"props":1286,"children":1287},{"__ignoreMap":7},[1288],{"type":22,"tag":165,"props":1289,"children":1290},{"class":167,"line":168},[1291,1295],{"type":22,"tag":165,"props":1292,"children":1293},{"style":172},[1294],{"type":28,"value":519},{"type":22,"tag":165,"props":1296,"children":1297},{"style":178},[1298],{"type":28,"value":545},{"type":22,"tag":35,"props":1300,"children":1301},{},[1302],{"type":22,"tag":101,"props":1303,"children":1304},{"alt":103,"src":551},[],{"type":22,"tag":35,"props":1306,"children":1307},{},[1308],{"type":28,"value":1309},"The output shows the build has started. The build process typically takes about 4 to 6 minutes (depending on your host CPU).",{"type":22,"tag":35,"props":1311,"children":1312},{},[1313,1315,1321,1323,1328],{"type":28,"value":1314},"The final firmware update package (",{"type":22,"tag":89,"props":1316,"children":1318},{"className":1317},[],[1319],{"type":28,"value":1320},".hpm",{"type":28,"value":1322}," file) will be located at ",{"type":22,"tag":89,"props":1324,"children":1326},{"className":1325},[],[1327],{"type":28,"value":563},{"type":28,"value":1329},". This package is used to update the BMC firmware on a server.",{"type":22,"tag":68,"props":1331,"children":1333},{"id":1332},"_2-starting-openubmc-simulation-qemu",[1334],{"type":28,"value":1335},"2. Starting openUBMC Simulation (QEMU)",{"type":22,"tag":35,"props":1337,"children":1338},{},[1339],{"type":28,"value":1340},"Hardware debugging resources are often scarce. openUBMC provides a QEMU-based simulation for easier development.",{"type":22,"tag":876,"props":1342,"children":1343},{},[1344],{"type":22,"tag":362,"props":1345,"children":1346},{},[1347],{"type":28,"value":1348},"Build the QEMU simulation firmware package:",{"type":22,"tag":155,"props":1350,"children":1351},{"className":157,"code":587,"language":159,"meta":7,"style":7},[1352],{"type":22,"tag":89,"props":1353,"children":1354},{"__ignoreMap":7},[1355],{"type":22,"tag":165,"props":1356,"children":1357},{"class":167,"line":168},[1358,1362,1366,1370],{"type":22,"tag":165,"props":1359,"children":1360},{"style":172},[1361],{"type":28,"value":519},{"type":22,"tag":165,"props":1363,"children":1364},{"style":178},[1365],{"type":28,"value":603},{"type":22,"tag":165,"props":1367,"children":1368},{"style":184},[1369],{"type":28,"value":608},{"type":22,"tag":165,"props":1371,"children":1372},{"style":178},[1373],{"type":28,"value":613},{"type":22,"tag":35,"props":1375,"children":1376},{},[1377],{"type":22,"tag":101,"props":1378,"children":1379},{"alt":103,"src":619},[],{"type":22,"tag":35,"props":1381,"children":1382},{},[1383],{"type":28,"value":1384},"Once the personal task is reported successful, the simulation firmware package is complete.",{"type":22,"tag":876,"props":1386,"children":1387},{"start":231},[1388],{"type":22,"tag":362,"props":1389,"children":1390},{},[1391,1393,1398,1400,1405],{"type":28,"value":1392},"Find ",{"type":22,"tag":89,"props":1394,"children":1396},{"className":1395},[],[1397],{"type":28,"value":647},{"type":28,"value":1399}," in the ",{"type":22,"tag":89,"props":1401,"children":1403},{"className":1402},[],[1404],{"type":28,"value":639},{"type":28,"value":1406}," directory.",{"type":22,"tag":35,"props":1408,"children":1409},{},[1410],{"type":22,"tag":101,"props":1411,"children":1412},{"alt":103,"src":655},[],{"type":22,"tag":876,"props":1414,"children":1415},{"start":245},[1416],{"type":22,"tag":362,"props":1417,"children":1418},{},[1419],{"type":28,"value":1420},"Start the openUBMC simulation environment with a single command:",{"type":22,"tag":155,"props":1422,"children":1423},{"className":157,"code":664,"language":159,"meta":7,"style":7},[1424],{"type":22,"tag":89,"props":1425,"children":1426},{"__ignoreMap":7},[1427],{"type":22,"tag":165,"props":1428,"children":1429},{"class":167,"line":168},[1430,1434],{"type":22,"tag":165,"props":1431,"children":1432},{"style":172},[1433],{"type":28,"value":321},{"type":22,"tag":165,"props":1435,"children":1436},{"style":178},[1437],{"type":28,"value":680},{"type":22,"tag":35,"props":1439,"children":1440},{},[1441],{"type":22,"tag":101,"props":1442,"children":1443},{"alt":103,"src":686},[],{"type":22,"tag":876,"props":1445,"children":1446},{"start":806},[1447],{"type":22,"tag":362,"props":1448,"children":1449},{},[1450],{"type":28,"value":1451},"Wait 5 to 10 minutes (depending on your host performance). The simulated openUBMC environment will be ready!",{"type":22,"tag":68,"props":1453,"children":1455},{"id":1454},"interacting-with-openubmc",[1456],{"type":28,"value":1457},"Interacting with openUBMC",{"type":22,"tag":35,"props":1459,"children":1460},{},[1461],{"type":28,"value":1462},"Once the simulation starts, you can interact with openUBMC via its interfaces.",{"type":22,"tag":35,"props":1464,"children":1465},{},[1466,1472],{"type":22,"tag":1467,"props":1468,"children":1469},"strong",{},[1470],{"type":28,"value":1471},"WebUI",{"type":28,"value":1473},": Access openUBMC through its WebUI. Log in with the username and password and explore the various features available.",{"type":22,"tag":35,"props":1475,"children":1476},{},[1477],{"type":22,"tag":101,"props":1478,"children":1479},{"alt":103,"src":714},[],{"type":22,"tag":35,"props":1481,"children":1482},{},[1483,1488],{"type":22,"tag":1467,"props":1484,"children":1485},{},[1486],{"type":28,"value":1487},"SSH CLI",{"type":28,"value":1489},": Connect to the CLI via SSH:",{"type":22,"tag":155,"props":1491,"children":1492},{"className":157,"code":723,"language":159,"meta":7,"style":7},[1493],{"type":22,"tag":89,"props":1494,"children":1495},{"__ignoreMap":7},[1496],{"type":22,"tag":165,"props":1497,"children":1498},{"class":167,"line":168},[1499,1503,1507,1511,1515,1519,1523,1527],{"type":22,"tag":165,"props":1500,"children":1501},{"style":172},[1502],{"type":28,"value":735},{"type":22,"tag":165,"props":1504,"children":1505},{"style":178},[1506],{"type":28,"value":740},{"type":22,"tag":165,"props":1508,"children":1509},{"style":743},[1510],{"type":28,"value":746},{"type":22,"tag":165,"props":1512,"children":1513},{"style":178},[1514],{"type":28,"value":751},{"type":22,"tag":165,"props":1516,"children":1517},{"style":178},[1518],{"type":28,"value":756},{"type":22,"tag":165,"props":1520,"children":1521},{"style":759},[1522],{"type":28,"value":35},{"type":22,"tag":165,"props":1524,"children":1525},{"style":743},[1526],{"type":28,"value":766},{"type":22,"tag":165,"props":1528,"children":1529},{"style":178},[1530],{"type":28,"value":771},{"type":22,"tag":35,"props":1532,"children":1533},{},[1534],{"type":28,"value":1535},"Enter the password to access the CLI and start executing commands.",{"type":22,"tag":35,"props":1537,"children":1538},{},[1539],{"type":22,"tag":101,"props":1540,"children":1541},{"alt":103,"src":782},[],{"type":22,"tag":35,"props":1543,"children":1544},{},[1545],{"type":28,"value":1546},"You are now set up to develop and test with openUBMC!",{"type":22,"tag":23,"props":1548,"children":1550},{"id":1549},"reference",[1551],{"type":28,"value":1552},"Reference",{"type":22,"tag":35,"props":1554,"children":1555},{},[1556],{"type":22,"tag":50,"props":1557,"children":1560},{"href":1558,"rel":1559},"https:\u002F\u002Fwww.openubmc.cn\u002Fdocs\u002Fzh\u002Fdevelopment\u002Fquick_start\u002Fexplore_openubmc.html",[54],[1561],{"type":28,"value":1562},"Exploring openUBMC",{"type":22,"tag":800,"props":1564,"children":1565},{},[1566],{"type":28,"value":804},{"title":7,"searchDepth":806,"depth":806,"links":1568},[1569,1574],{"id":846,"depth":231,"text":849,"children":1570},[1571,1572,1573],{"id":866,"depth":245,"text":869},{"id":993,"depth":245,"text":996},{"id":1206,"depth":245,"text":1209},{"id":1250,"depth":231,"text":1253,"children":1575},[1576,1577,1578],{"id":1261,"depth":245,"text":1264},{"id":1332,"depth":245,"text":1335},{"id":1454,"depth":245,"text":1457},"content:en:blogs:start_openUBMC.md","en\u002Fblogs\u002Fstart_openUBMC.md","en\u002Fblogs\u002Fstart_openUBMC","Zero to Hero: Getting Started with openUBMC openUBMC is a leading, open-standard, and developer-friendly open source management software for computing devices. In this blog, we'll guide you step-by-step to get started with openUBMC from scratch. Environment Setup on Ubuntu The openUBMC official website offers several setup methods. We'll use the Ubuntu installation, which offers the highest level of flexibility. (For a faster start, see the  Docker Developer Environment Setup . 1. Configuring Your GitCode Account First, you need to configure access to the GitCode repository. Go to the (project's homepage) https:\u002F\u002Fgitcode.com\u002FopenUBMC\u002Fmanifest .  Click  Clone . A dialog will show you how to configure your GitCode account and clone the repository.  Execute the recommended  git config  commands in your Ubuntu terminal.  Set up your SSH public key by following steps 2 and 3 as prompted by GitCode.  Note: We recommend using SSH instead of HTTPS for downloading. This avoids complex HTTPS token configuration. Execute this command: git  config  --global  url.\"git@gitcode.com:\".insteadof  \"https:\u002F\u002Fgitcode.com\u002F\"\n 2. Downloading the Manifest Repository The manifest repository is your key to setting up the openUBMC environment automatically. Create a workspace and clone the repository:  mkdir  workspace\n cd  workspace\n git  clone  git@gitcode.com:openUBMC\u002Fmanifest.git\n  Before initialization, download  bmc_sdk.zip  from the  openUBMC community software application center  and place it inside your cloned manifest directory. Execute the environment initialization script: cd  manifest\n python3  init.py  -path  .\u002Fbmc_sdk.zip\n  The  init.py  script performs a comprehensive setup, including: Setting environment proxies. Acquiring sudo permissions. Configuring Ubuntu package mirrors (using Huawei mirror sites). Installing necessary Ubuntu packages (such as python3, gcc, and dbus). Installing the openUBMC developer suite (including RTOS build tools, SDK, and lua-format). Installing Node and npm. Installing the openUBMC build tool, bingo. Configuring Conan remote repositories. Installing QEMU development and runtime dependencies. The successful completion is marked by the final output printout. You have now completed your development environment setup!  3. Configuring Your Conan User The openUBMC documentation requires you to configure the Conan user with your openUBMC community username.  Execute the necessary configuration command. You will see a success message upon completion.  Verify the configuration using the conan search command.  Note: To find your openUBMC community username, log in to the openUBMC official website and look for the name displayed in the upper right corner. Start Your openUBMC Journey Now that the environment is rea dy, let's explore building and running openUBMC. 1. Building the openUBMC Firmware Update Package The manifest repository can also perform an automated full-package build using the openUBMC-provided  bingo  tool. From the manifest directory, run: bingo  build\n  The output shows the build has started. The build process typically takes about 4 to 6 minutes (depending on your host CPU). The final firmware update package ( .hpm  file) will be located at  manifest\u002Foutput\u002Frootfs_openUBMC.hpm . This package is used to update the BMC firmware on a server. 2. Starting openUBMC Simulation (QEMU) Hardware debugging resources are often scarce. openUBMC provides a QEMU-based simulation for easier development. Build the QEMU simulation firmware package: bingo  build  -sc  qemu\n  Once the personal task is reported successful, the simulation firmware package is complete. Find  openUBMC_25.00.00.01_qemu.cpio.gz  in the  manifest\u002Foutput\u002Fpacket\u002Finner  directory.  Start the openUBMC simulation environment with a single command: python3  build\u002Fworks\u002Fpacket\u002Fqemu_shells\u002Fvemake_1711.py\n  Wait 5 to 10 minutes (depending on your host performance). The simulated openUBMC environment will be ready! Interacting with openUBMC Once the simulation starts, you can interact with openUBMC via its interfaces. WebUI : Access openUBMC through its WebUI. Log in with the username and password and explore the various features available.  SSH CLI : Connect to the CLI via SSH: ssh  Administrator@ \u003C your  i p > :10022\n Enter the password to access the CLI and start executing commands.  You are now set up to develop and test with openUBMC! Reference Exploring openUBMC html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}",[16],[1585,1585],null,1785415973889]