[{"data":1,"prerenderedAt":828},["ShallowReactive",2],{"content-doc-\u002Fzh\u002Fblogs\u002Fstart_openUBMC":3,"surround-\u002Fzh\u002Fblogs\u002Fstart_openUBMC":826},{"_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],[827,827],null,1785140014239]