您当前的位置是:  首页 > 新闻 > 文章精选 >
 首页 > 新闻 > 文章精选 >

用Buildroot创建OpenStack Ironic部署镜像

2017-08-16 11:09:36   作者:Jonathan Zhang    来源: 开源云中文社区   评论:0  点击:16039


闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劌銈搁弻鐔兼儌閸濄儳袦闂佸搫鐭夌紞渚€銆佸鈧幃娆撳箹椤撶噥妫ч梻鍌欑窔濞佳兾涘▎鎴炴殰闁圭儤顨愮紞鏍ㄧ節闂堟侗鍎愰柡鍛叀閺屾稑鈽夐崡鐐差潻濡炪們鍎查懝楣冨煘閹寸偛绠犻梺绋匡攻椤ㄥ棝骞堥妸鈺傚€婚柦妯侯槺閿涙稑鈹戦悙鏉戠亶闁瑰磭鍋ゅ畷鍫曨敆娴i晲缂撶紓鍌欑椤戝懘鎮樺┑瀣€垫い鎾跺枍缁诲棝鏌曢崼婵堢闁告帊鍗抽弻娑㈡偆娴i晲绨界紓渚囧枦椤曆囧煡婢跺á鐔荤疀閹惧墎楔闂佽桨鐒﹂崝娆忕暦閵娾晩鏁婇悹渚厛閺€銊х磽閸屾艾鈧绮堟笟鈧、鏍礋椤栨稑娈戦梺鍛婃尫閻掞箓锝為弴銏$厵闁硅鍔﹂崵娆戠棯閹冩倯闁逛究鍔岄~婊堝幢濡も偓楠炲姊虹粙娆惧剱闁圭懓娲獮鍐ㄢ堪閸喎娈熼梺闈涱槶閸庮噣宕戦幘璇查敜婵°倓鑳堕崣鍡涙⒑閸濆嫭澶勬慨妯稿姂瀹曟繂顓兼径瀣幍闂佸憡鍔樼亸娆撴倿閸涘﹥鍙忓┑鐘插鐢盯鏌熷畡鐗堝殗鐎规洏鍔嶇换婵嬪磼濞戞瑧鏆梻鍌氬€峰ù鍥х暦閻㈢ǹ绐楅柛鈩冪☉绾惧潡鏌熼幆鐗堫棄缂佺姵鐓¢弻鏇$疀閺囩儐鈧本绻涚粭鍝勫闁哄苯绉烽¨渚€鏌涢幘瀵告噰妞ゃ垺宀搁弫鎰板幢濞嗘垹妲囨繝娈垮枟閿曗晠宕㈤崗鑲╊洸婵犲﹤鎳愮壕濂告煟閹伴潧澧い搴㈢矊椤啰鈧稒蓱閸婃劗鈧鍠楅悡锟犮€佸Δ鍛妞ゆ垼濮ょ€氬ジ姊绘担鍛婅础閺嬵亝绻涢幘顕呮缂侇喖顭烽獮妯尖偓闈涙憸椤旀洟鏌i悩鍙夊巶闁告侗鍘奸悡鍌炴⒑鏉炴壆顦﹂柣妤€锕ョ粚杈ㄧ節閸ヮ灛褔鏌涘☉鍗炴灈婵炲懌鍊濆铏圭矙濞嗘儳鍓梺鍛婃尰缁诲嫰骞戦姀鐘斀闁搞儮鏅濋惁鍫ユ⒑缁嬫寧婀扮紒瀣灥閳诲秹鏁愰崪浣瑰瘜闂侀潧鐗嗙换鎺楀礆娴煎瓨鐓忛柛顐ゅ枑閸婃劖顨ラ悙鎻掓殲缂佸倹甯為埀顒婄到閻忔岸寮查鈧埞鎴︽倷閺夋垹浠搁柦鍐憾閹綊宕堕埡浣锋濠殿喖锕ㄥ▍锝夊箯閻樿鐏抽柧蹇e亞娴滃爼姊绘担钘夊惞闁革綇闄勬穱濠囧炊椤掆偓缁犳煡鏌曡箛鏇炐涢柡鈧禒瀣€甸柨婵嗙凹缁ㄤ粙鏌涙繝鍕槐婵﹥妞藉Λ鍐归妶鍡欐创鐎规洘锕㈡俊鎼佸Ψ椤旇棄鏋犳繝鐢靛Х閺佸憡鎱ㄩ悜钘夋瀬闁告稑锕ラ崣蹇涙煟閹达絾顥夐柡瀣╃窔閺岀喖姊荤€靛壊妲紒鐐礃椤濡甸崟顖氬唨妞ゆ劦婢€缁爼姊虹紒妯虹瑨闁诲繑宀告俊鐢稿礋椤栨氨顔婇梺鐟扮摠缁诲秵绂掗懖鈺冪<闁绘劦鍓欓崝銈嗐亜椤撶姴鍘寸€殿喖顭烽幃銏ゆ偂鎼达綆妲堕柣鐔哥矊缁绘帡寮灏栨闁靛骏绱曢崢浠嬫⒑鐟欏嫬鍔ゆい鏇ㄥ幖鐓ら柟缁㈠枟閻撴瑦銇勯弮鍌滄憘婵炲牊绮撻弻鈩冩媴閻熸澘顫嶉梺璇″灡濡啴宕规ィ鍐╁殤妞ゆ帊鐒﹀▍锕€鈹戦悩鍨毄濠殿噮鍙冮獮蹇涘礃椤旇偐顦ㄥ銈呯箰閸熺増銇欓幎鑺モ拻濞撴埃鍋撻柍褜鍓氱粙鎾诲煘閹烘鐓曢柡鍌濇硶鑲栭梺鐟扮畭閸ㄥ綊鍩為幋鐘亾閿濆簼绨荤紒鎰☉椤啴濡堕崱妯碱槬闂佺懓鍟跨粔鐟扮暦椤愨懡鏃堝川椤旇瀚藉┑鐐舵彧缁蹭粙骞夐敍鍕闁跨喓濮甸悡娆撴煣韫囷絽浜濋悘蹇曟暬閺屽秷顧侀柛鎾磋壘椤繈濡搁敂鑺ョ彿濠德板€撻懗鍫曞煘瀹ュ應鏀介柣妯哄级閹兼劗绱掗悩鍨殌闂囧鏌ㄥ┑鍡欏闁逞屽厸缁瑦淇婇幖浣哥厸闁稿本绮屽鎶芥⒒娴e憡鎯堥柛鐔哄█瀹曟垿骞樼紒妯煎幈闁硅壈鎻槐鏇㈡晬瀹ュ洨纾奸弶鍫氭櫅娴犺鲸顨ラ悙鏉戠瑨閾绘牕霉閿濆懎绾ч悗姘矙濮婄粯鎷呴崨闈涚秺瀵敻顢楅崟顒€浠梺闈浥堥弲娑氱矆閸屾壕鍋撻崗澶婁壕闂佸憡娲﹂崜娑㈠储閻㈠憡鈷戦柟顖嗗嫮顩伴梺绋款儏閹冲酣鎮惧畡鎵殕闁逞屽墴閸┾偓妞ゆ帒鍠氬ḿ鎰箾閸欏鐭掔€殿噮鍋嗛幏鐘差啅椤斿吋顓垮┑鐐差嚟婵挳顢栭幇鏉挎瀬闁搞儺鍓氶悡鐔兼煙闁箑寮鹃柛鐔风箻閺屾盯鎮欓崹顐f瘓濠殿喖锕︾划顖炲箯閸涘瓨鍤嶉柕澹讲鍋撴繝鍥ㄢ拺闂傚牃鏅濈粔鍓佺磼閻樿櫕宕岄柣娑卞枦缁犳稑鈽夊▎鎰仧闂備浇娉曢崳锕傚箯閿燂拷...
  Ironic是一个OpenStack项目,它提供裸机(而不是虚拟机)。
  一个称为Ironic Python Agent(IPA)的工具用于控制和配置这些物理节点,执行擦除机器和将镜像写入磁盘等任务。这是通过引导自定义的Linux内核和运行IPA并连接到Ironic Conductor的initramfs镜像来完成的。
  Ironic项目通过Disk Image Builder支持几个不同的镜像构建器,包括CoreOS、TinyCore等。
  然而,这些镜像构建器都有限制,例如,它们需要root权限,它们的大小都是几百兆字节(除了TinyCore)。TinyCore的缺点之一是硬件支持有限,虽然它不在生产中使用,但它被用于OpenStack门控测试(在具有大约300MB RAM的虚拟机中启动)。
  大型部署镜像意味着节点的配置时间较长,因此笔者开始创建一个小型、可定制的镜像,以解决其他现有镜像的问题。
  Buildroot
  笔者选择使用Buildroot,这是一个大家都认为易于使用的、构建嵌入式Linux镜像的工具。
  到目前为止,它作为一个概念验证是相当成功的。
  Linux内核是2MB
  压缩的initramfs映像是25MB
  通过OpenStack Ironic门控测试
  高度可定制(多亏了Buildroot)
  可以通过menuconfig系统进行定制,类似于Linux内核。
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劌銈搁弻鐔兼儌閸濄儳袦闂佸搫鐭夌紞渚€銆佸鈧幃娆撳箹椤撶噥妫ч梻鍌欑窔濞佳兾涘▎鎴炴殰闁圭儤顨愮紞鏍ㄧ節闂堟侗鍎愰柡鍛叀閺屾稑鈽夐崡鐐差潻濡炪們鍎查懝楣冨煘閹寸偛绠犻梺绋匡攻椤ㄥ棝骞堥妸鈺傚€婚柦妯侯槺閿涙稑鈹戦悙鏉戠亶闁瑰磭鍋ゅ畷鍫曨敆娴i晲缂撶紓鍌欑椤戝懘鎮樺┑瀣€垫い鎾跺枍缁诲棝鏌曢崼婵堢闁告帊鍗抽弻娑㈡偆娴i晲绨界紓渚囧枦椤曆囧煡婢跺á鐔荤疀閹惧墎楔闂佽桨鐒﹂崝娆忕暦閵娾晩鏁婇悹渚厛閺€銊х磽閸屾艾鈧绮堟笟鈧、鏍礋椤栨稑娈戦梺鍛婃尫閻掞箓锝為弴銏$厵闁硅鍔﹂崵娆戠棯閹冩倯闁逛究鍔岄~婊堝幢濡も偓楠炲姊虹粙娆惧剱闁圭懓娲獮鍐ㄢ堪閸喎娈熼梺闈涱槶閸庮噣宕戦幘璇查敜婵°倓鑳堕崣鍡涙⒑閸濆嫭澶勬慨妯稿姂瀹曟繂顓兼径瀣幍闂佸憡鍔樼亸娆撴倿閸涘﹥鍙忓┑鐘插鐢盯鏌熷畡鐗堝殗鐎规洏鍔嶇换婵嬪磼濞戞瑧鏆梻鍌氬€峰ù鍥х暦閻㈢ǹ绐楅柛鈩冪☉绾惧潡鏌熼幆鐗堫棄缂佺姵鐓¢弻鏇$疀閺囩儐鈧本绻涚粭鍝勫闁哄苯绉烽¨渚€鏌涢幘瀵告噰妞ゃ垺宀搁弫鎰板幢濞嗘垹妲囨繝娈垮枟閿曗晠宕㈤崗鑲╊洸婵犲﹤鎳愮壕濂告煟閹伴潧澧い搴㈢矊椤啰鈧稒蓱閸婃劗鈧鍠楅悡锟犮€佸Δ鍛妞ゆ垼濮ょ€氬ジ姊绘担鍛婅础閺嬵亝绻涢幘顕呮缂侇喖顭烽獮妯尖偓闈涙憸椤旀洟鏌i悩鍙夊巶闁告侗鍘奸悡鍌炴⒑鏉炴壆顦﹂柣妤€锕ョ粚杈ㄧ節閸ヮ灛褔鏌涘☉鍗炴灈婵炲懌鍊濆铏圭矙濞嗘儳鍓梺鍛婃尰缁诲嫰骞戦姀鐘斀闁搞儮鏅濋惁鍫ユ⒑缁嬫寧婀扮紒瀣灥閳诲秹鏁愰崪浣瑰瘜闂侀潧鐗嗙换鎺楀礆娴煎瓨鐓忛柛顐ゅ枑閸婃劖顨ラ悙鎻掓殲缂佸倹甯為埀顒婄到閻忔岸寮查鈧埞鎴︽倷閺夋垹浠搁柦鍐憾閹綊宕堕埡浣锋濠殿喖锕ㄥ▍锝夊箯閻樿鐏抽柧蹇e亞娴滃爼姊绘担钘夊惞闁革綇闄勬穱濠囧炊椤掆偓缁犳煡鏌曡箛鏇炐涢柡鈧禒瀣€甸柨婵嗙凹缁ㄤ粙鏌涙繝鍕槐婵﹥妞藉Λ鍐归妶鍡欐创鐎规洘锕㈡俊鎼佸Ψ椤旇棄鏋犳繝鐢靛Х閺佸憡鎱ㄩ悜钘夋瀬闁告稑锕ラ崣蹇涙煟閹达絾顥夐柡瀣╃窔閺岀喖姊荤€靛壊妲紒鐐礃椤濡甸崟顖氬唨妞ゆ劦婢€缁爼姊虹紒妯虹瑨闁诲繑宀告俊鐢稿礋椤栨氨顔婇梺鐟扮摠缁诲秵绂掗懖鈺冪<闁绘劦鍓欓崝銈嗐亜椤撶姴鍘寸€殿喖顭烽幃銏ゆ偂鎼达綆妲堕柣鐔哥矊缁绘帡寮灏栨闁靛骏绱曢崢浠嬫⒑鐟欏嫬鍔ゆい鏇ㄥ幖鐓ら柟缁㈠枟閻撴瑦銇勯弮鍌滄憘婵炲牊绮撻弻鈩冩媴閻熸澘顫嶉梺璇″灡濡啴宕规ィ鍐╁殤妞ゆ帊鐒﹀▍锕€鈹戦悩鍨毄濠殿噮鍙冮獮蹇涘礃椤旇偐顦ㄥ銈呯箰閸熺増銇欓幎鑺モ拻濞撴埃鍋撻柍褜鍓氱粙鎾诲煘閹烘鐓曢柡鍌濇硶鑲栭梺鐟扮畭閸ㄥ綊鍩為幋鐘亾閿濆簼绨荤紒鎰☉椤啴濡堕崱妯碱槬闂佺懓鍟跨粔鐟扮暦椤愨懡鏃堝川椤旇瀚藉┑鐐舵彧缁蹭粙骞夐敍鍕闁跨喓濮甸悡娆撴煣韫囷絽浜濋悘蹇曟暬閺屽秷顧侀柛鎾磋壘椤繈濡搁敂鑺ョ彿濠德板€撻懗鍫曞煘瀹ュ應鏀介柣妯哄级閹兼劗绱掗悩鍨殌闂囧鏌ㄥ┑鍡欏闁逞屽厸缁瑦淇婇幖浣哥厸闁稿本绮屽鎶芥⒒娴e憡鎯堥柛鐔哄█瀹曟垿骞樼紒妯煎幈闁硅壈鎻槐鏇㈡晬瀹ュ洨纾奸弶鍫氭櫅娴犺鲸顨ラ悙鏉戠瑨閾绘牕霉閿濆懎绾ч悗姘矙濮婄粯鎷呴崨闈涚秺瀵敻顢楅崟顒€浠梺闈浥堥弲娑氱矆閸屾壕鍋撻崗澶婁壕闂佸憡娲﹂崜娑㈠储閻㈠憡鈷戦柟顖嗗嫮顩伴梺绋款儏閹冲酣鎮惧畡鎵殕闁逞屽墴閸┾偓妞ゆ帒鍠氬ḿ鎰箾閸欏鐭掔€殿噮鍋嗛幏鐘差啅椤斿吋顓垮┑鐐差嚟婵挳顢栭幇鏉挎瀬闁搞儺鍓氶悡鐔兼煙闁箑寮鹃柛鐔风箻閺屾盯鎮欓崹顐f瘓濠殿喖锕︾划顖炲箯閸涘瓨鍤嶉柕澹讲鍋撴繝鍥ㄢ拺闂傚牃鏅濈粔鍓佺磼閻樿櫕宕岄柣娑卞枦缁犳稑鈽夊▎鎰仧闂備浇娉曢崳锕傚箯閿燂拷...
  Buildroot menuconfig
  源代码
  用于构建镜像的所有源代码都位于ipa-buildroot存储库中笔者的GitHub帐户(https://github.com/csmart/ipa-buildroot)上。笔者还写了一些文档,用于引导你完成整个构建和定制过程。
  ipa-buildroot存储库包含IPA特定的Buildroot配置,并跟踪Git子模块中的上游Buildroot。通过使用上游Buildroot和外部存储库,IPA Buildroot配置作为常规Buildroot构建的选项出现。
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劌銈搁弻鐔兼儌閸濄儳袦闂佸搫鐭夌紞渚€銆佸鈧幃娆撳箹椤撶噥妫ч梻鍌欑窔濞佳兾涘▎鎴炴殰闁圭儤顨愮紞鏍ㄧ節闂堟侗鍎愰柡鍛叀閺屾稑鈽夐崡鐐差潻濡炪們鍎查懝楣冨煘閹寸偛绠犻梺绋匡攻椤ㄥ棝骞堥妸鈺傚€婚柦妯侯槺閿涙稑鈹戦悙鏉戠亶闁瑰磭鍋ゅ畷鍫曨敆娴i晲缂撶紓鍌欑椤戝懘鎮樺┑瀣€垫い鎾跺枍缁诲棝鏌曢崼婵堢闁告帊鍗抽弻娑㈡偆娴i晲绨界紓渚囧枦椤曆囧煡婢跺á鐔荤疀閹惧墎楔闂佽桨鐒﹂崝娆忕暦閵娾晩鏁婇悹渚厛閺€銊х磽閸屾艾鈧绮堟笟鈧、鏍礋椤栨稑娈戦梺鍛婃尫閻掞箓锝為弴銏$厵闁硅鍔﹂崵娆戠棯閹冩倯闁逛究鍔岄~婊堝幢濡も偓楠炲姊虹粙娆惧剱闁圭懓娲獮鍐ㄢ堪閸喎娈熼梺闈涱槶閸庮噣宕戦幘璇查敜婵°倓鑳堕崣鍡涙⒑閸濆嫭澶勬慨妯稿姂瀹曟繂顓兼径瀣幍闂佸憡鍔樼亸娆撴倿閸涘﹥鍙忓┑鐘插鐢盯鏌熷畡鐗堝殗鐎规洏鍔嶇换婵嬪磼濞戞瑧鏆梻鍌氬€峰ù鍥х暦閻㈢ǹ绐楅柛鈩冪☉绾惧潡鏌熼幆鐗堫棄缂佺姵鐓¢弻鏇$疀閺囩儐鈧本绻涚粭鍝勫闁哄苯绉烽¨渚€鏌涢幘瀵告噰妞ゃ垺宀搁弫鎰板幢濞嗘垹妲囨繝娈垮枟閿曗晠宕㈤崗鑲╊洸婵犲﹤鎳愮壕濂告煟閹伴潧澧い搴㈢矊椤啰鈧稒蓱閸婃劗鈧鍠楅悡锟犮€佸Δ鍛妞ゆ垼濮ょ€氬ジ姊绘担鍛婅础閺嬵亝绻涢幘顕呮缂侇喖顭烽獮妯尖偓闈涙憸椤旀洟鏌i悩鍙夊巶闁告侗鍘奸悡鍌炴⒑鏉炴壆顦﹂柣妤€锕ョ粚杈ㄧ節閸ヮ灛褔鏌涘☉鍗炴灈婵炲懌鍊濆铏圭矙濞嗘儳鍓梺鍛婃尰缁诲嫰骞戦姀鐘斀闁搞儮鏅濋惁鍫ユ⒑缁嬫寧婀扮紒瀣灥閳诲秹鏁愰崪浣瑰瘜闂侀潧鐗嗙换鎺楀礆娴煎瓨鐓忛柛顐ゅ枑閸婃劖顨ラ悙鎻掓殲缂佸倹甯為埀顒婄到閻忔岸寮查鈧埞鎴︽倷閺夋垹浠搁柦鍐憾閹綊宕堕埡浣锋濠殿喖锕ㄥ▍锝夊箯閻樿鐏抽柧蹇e亞娴滃爼姊绘担钘夊惞闁革綇闄勬穱濠囧炊椤掆偓缁犳煡鏌曡箛鏇炐涢柡鈧禒瀣€甸柨婵嗙凹缁ㄤ粙鏌涙繝鍕槐婵﹥妞藉Λ鍐归妶鍡欐创鐎规洘锕㈡俊鎼佸Ψ椤旇棄鏋犳繝鐢靛Х閺佸憡鎱ㄩ悜钘夋瀬闁告稑锕ラ崣蹇涙煟閹达絾顥夐柡瀣╃窔閺岀喖姊荤€靛壊妲紒鐐礃椤濡甸崟顖氬唨妞ゆ劦婢€缁爼姊虹紒妯虹瑨闁诲繑宀告俊鐢稿礋椤栨氨顔婇梺鐟扮摠缁诲秵绂掗懖鈺冪<闁绘劦鍓欓崝銈嗐亜椤撶姴鍘寸€殿喖顭烽幃銏ゆ偂鎼达綆妲堕柣鐔哥矊缁绘帡寮灏栨闁靛骏绱曢崢浠嬫⒑鐟欏嫬鍔ゆい鏇ㄥ幖鐓ら柟缁㈠枟閻撴瑦銇勯弮鍌滄憘婵炲牊绮撻弻鈩冩媴閻熸澘顫嶉梺璇″灡濡啴宕规ィ鍐╁殤妞ゆ帊鐒﹀▍锕€鈹戦悩鍨毄濠殿噮鍙冮獮蹇涘礃椤旇偐顦ㄥ銈呯箰閸熺増銇欓幎鑺モ拻濞撴埃鍋撻柍褜鍓氱粙鎾诲煘閹烘鐓曢柡鍌濇硶鑲栭梺鐟扮畭閸ㄥ綊鍩為幋鐘亾閿濆簼绨荤紒鎰☉椤啴濡堕崱妯碱槬闂佺懓鍟跨粔鐟扮暦椤愨懡鏃堝川椤旇瀚藉┑鐐舵彧缁蹭粙骞夐敍鍕闁跨喓濮甸悡娆撴煣韫囷絽浜濋悘蹇曟暬閺屽秷顧侀柛鎾磋壘椤繈濡搁敂鑺ョ彿濠德板€撻懗鍫曞煘瀹ュ應鏀介柣妯哄级閹兼劗绱掗悩鍨殌闂囧鏌ㄥ┑鍡欏闁逞屽厸缁瑦淇婇幖浣哥厸闁稿本绮屽鎶芥⒒娴e憡鎯堥柛鐔哄█瀹曟垿骞樼紒妯煎幈闁硅壈鎻槐鏇㈡晬瀹ュ洨纾奸弶鍫氭櫅娴犺鲸顨ラ悙鏉戠瑨閾绘牕霉閿濆懎绾ч悗姘矙濮婄粯鎷呴崨闈涚秺瀵敻顢楅崟顒€浠梺闈浥堥弲娑氱矆閸屾壕鍋撻崗澶婁壕闂佸憡娲﹂崜娑㈠储閻㈠憡鈷戦柟顖嗗嫮顩伴梺绋款儏閹冲酣鎮惧畡鎵殕闁逞屽墴閸┾偓妞ゆ帒鍠氬ḿ鎰箾閸欏鐭掔€殿噮鍋嗛幏鐘差啅椤斿吋顓垮┑鐐差嚟婵挳顢栭幇鏉挎瀬闁搞儺鍓氶悡鐔兼煙闁箑寮鹃柛鐔风箻閺屾盯鎮欓崹顐f瘓濠殿喖锕︾划顖炲箯閸涘瓨鍤嶉柕澹讲鍋撴繝鍥ㄢ拺闂傚牃鏅濈粔鍓佺磼閻樿櫕宕岄柣娑卞枦缁犳稑鈽夊▎鎰仧闂備浇娉曢崳锕傚箯閿燂拷...
  在Buildroot 默认配置列表中的IPA
  Buildroot将编译内核和initramfs,然后发布构建脚本克隆Ironic Python Agent存储库并为目标创建Python Wheels。
  以下最终镜像将在。/output/images下找到:
  • bzImage(内核)
  • rootfs.cpio.xz(ramdisk)
  • rootfs.iso9660(ISO镜像)
  这些文件可以上传到Glance与Ironic一起使用。
  自定义
  Buildroot允许你自定义构建参数、目标initramfs和Linux内核。这样做也很简单,每次运行make时,它会回到你离开的地方,重新创建你的镜像。
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劌銈搁弻鐔兼儌閸濄儳袦闂佸搫鐭夌紞渚€銆佸鈧幃娆撳箹椤撶噥妫ч梻鍌欑窔濞佳兾涘▎鎴炴殰闁圭儤顨愮紞鏍ㄧ節闂堟侗鍎愰柡鍛叀閺屾稑鈽夐崡鐐差潻濡炪們鍎查懝楣冨煘閹寸偛绠犻梺绋匡攻椤ㄥ棝骞堥妸鈺傚€婚柦妯侯槺閿涙稑鈹戦悙鏉戠亶闁瑰磭鍋ゅ畷鍫曨敆娴i晲缂撶紓鍌欑椤戝懘鎮樺┑瀣€垫い鎾跺枍缁诲棝鏌曢崼婵堢闁告帊鍗抽弻娑㈡偆娴i晲绨界紓渚囧枦椤曆囧煡婢跺á鐔荤疀閹惧墎楔闂佽桨鐒﹂崝娆忕暦閵娾晩鏁婇悹渚厛閺€銊х磽閸屾艾鈧绮堟笟鈧、鏍礋椤栨稑娈戦梺鍛婃尫閻掞箓锝為弴銏$厵闁硅鍔﹂崵娆戠棯閹冩倯闁逛究鍔岄~婊堝幢濡も偓楠炲姊虹粙娆惧剱闁圭懓娲獮鍐ㄢ堪閸喎娈熼梺闈涱槶閸庮噣宕戦幘璇查敜婵°倓鑳堕崣鍡涙⒑閸濆嫭澶勬慨妯稿姂瀹曟繂顓兼径瀣幍闂佸憡鍔樼亸娆撴倿閸涘﹥鍙忓┑鐘插鐢盯鏌熷畡鐗堝殗鐎规洏鍔嶇换婵嬪磼濞戞瑧鏆梻鍌氬€峰ù鍥х暦閻㈢ǹ绐楅柛鈩冪☉绾惧潡鏌熼幆鐗堫棄缂佺姵鐓¢弻鏇$疀閺囩儐鈧本绻涚粭鍝勫闁哄苯绉烽¨渚€鏌涢幘瀵告噰妞ゃ垺宀搁弫鎰板幢濞嗘垹妲囨繝娈垮枟閿曗晠宕㈤崗鑲╊洸婵犲﹤鎳愮壕濂告煟閹伴潧澧い搴㈢矊椤啰鈧稒蓱閸婃劗鈧鍠楅悡锟犮€佸Δ鍛妞ゆ垼濮ょ€氬ジ姊绘担鍛婅础閺嬵亝绻涢幘顕呮缂侇喖顭烽獮妯尖偓闈涙憸椤旀洟鏌i悩鍙夊巶闁告侗鍘奸悡鍌炴⒑鏉炴壆顦﹂柣妤€锕ョ粚杈ㄧ節閸ヮ灛褔鏌涘☉鍗炴灈婵炲懌鍊濆铏圭矙濞嗘儳鍓梺鍛婃尰缁诲嫰骞戦姀鐘斀闁搞儮鏅濋惁鍫ユ⒑缁嬫寧婀扮紒瀣灥閳诲秹鏁愰崪浣瑰瘜闂侀潧鐗嗙换鎺楀礆娴煎瓨鐓忛柛顐ゅ枑閸婃劖顨ラ悙鎻掓殲缂佸倹甯為埀顒婄到閻忔岸寮查鈧埞鎴︽倷閺夋垹浠搁柦鍐憾閹綊宕堕埡浣锋濠殿喖锕ㄥ▍锝夊箯閻樿鐏抽柧蹇e亞娴滃爼姊绘担钘夊惞闁革綇闄勬穱濠囧炊椤掆偓缁犳煡鏌曡箛鏇炐涢柡鈧禒瀣€甸柨婵嗙凹缁ㄤ粙鏌涙繝鍕槐婵﹥妞藉Λ鍐归妶鍡欐创鐎规洘锕㈡俊鎼佸Ψ椤旇棄鏋犳繝鐢靛Х閺佸憡鎱ㄩ悜钘夋瀬闁告稑锕ラ崣蹇涙煟閹达絾顥夐柡瀣╃窔閺岀喖姊荤€靛壊妲紒鐐礃椤濡甸崟顖氬唨妞ゆ劦婢€缁爼姊虹紒妯虹瑨闁诲繑宀告俊鐢稿礋椤栨氨顔婇梺鐟扮摠缁诲秵绂掗懖鈺冪<闁绘劦鍓欓崝銈嗐亜椤撶姴鍘寸€殿喖顭烽幃銏ゆ偂鎼达綆妲堕柣鐔哥矊缁绘帡寮灏栨闁靛骏绱曢崢浠嬫⒑鐟欏嫬鍔ゆい鏇ㄥ幖鐓ら柟缁㈠枟閻撴瑦銇勯弮鍌滄憘婵炲牊绮撻弻鈩冩媴閻熸澘顫嶉梺璇″灡濡啴宕规ィ鍐╁殤妞ゆ帊鐒﹀▍锕€鈹戦悩鍨毄濠殿噮鍙冮獮蹇涘礃椤旇偐顦ㄥ銈呯箰閸熺増銇欓幎鑺モ拻濞撴埃鍋撻柍褜鍓氱粙鎾诲煘閹烘鐓曢柡鍌濇硶鑲栭梺鐟扮畭閸ㄥ綊鍩為幋鐘亾閿濆簼绨荤紒鎰☉椤啴濡堕崱妯碱槬闂佺懓鍟跨粔鐟扮暦椤愨懡鏃堝川椤旇瀚藉┑鐐舵彧缁蹭粙骞夐敍鍕闁跨喓濮甸悡娆撴煣韫囷絽浜濋悘蹇曟暬閺屽秷顧侀柛鎾磋壘椤繈濡搁敂鑺ョ彿濠德板€撻懗鍫曞煘瀹ュ應鏀介柣妯哄级閹兼劗绱掗悩鍨殌闂囧鏌ㄥ┑鍡欏闁逞屽厸缁瑦淇婇幖浣哥厸闁稿本绮屽鎶芥⒒娴e憡鎯堥柛鐔哄█瀹曟垿骞樼紒妯煎幈闁硅壈鎻槐鏇㈡晬瀹ュ洨纾奸弶鍫氭櫅娴犺鲸顨ラ悙鏉戠瑨閾绘牕霉閿濆懎绾ч悗姘矙濮婄粯鎷呴崨闈涚秺瀵敻顢楅崟顒€浠梺闈浥堥弲娑氱矆閸屾壕鍋撻崗澶婁壕闂佸憡娲﹂崜娑㈠储閻㈠憡鈷戦柟顖嗗嫮顩伴梺绋款儏閹冲酣鎮惧畡鎵殕闁逞屽墴閸┾偓妞ゆ帒鍠氬ḿ鎰箾閸欏鐭掔€殿噮鍋嗛幏鐘差啅椤斿吋顓垮┑鐐差嚟婵挳顢栭幇鏉挎瀬闁搞儺鍓氶悡鐔兼煙闁箑寮鹃柛鐔风箻閺屾盯鎮欓崹顐f瘓濠殿喖锕︾划顖炲箯閸涘瓨鍤嶉柕澹讲鍋撴繝鍥ㄢ拺闂傚牃鏅濈粔鍓佺磼閻樿櫕宕岄柣娑卞枦缁犳稑鈽夊▎鎰仧闂備浇娉曢崳锕傚箯閿燂拷...
  该构建脚本直接获取Ironic Python Agent,使得构建高度灵活地获取要使用的确切版本。你可以通过在Buildroot的menuconfig中自定义设置来指定Ironic Python Agent和需求存储库的位置和分支。
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劌銈搁弻鐔兼儌閸濄儳袦闂佸搫鐭夌紞渚€銆佸鈧幃娆撳箹椤撶噥妫ч梻鍌欑窔濞佳兾涘▎鎴炴殰闁圭儤顨愮紞鏍ㄧ節闂堟侗鍎愰柡鍛叀閺屾稑鈽夐崡鐐差潻濡炪們鍎查懝楣冨煘閹寸偛绠犻梺绋匡攻椤ㄥ棝骞堥妸鈺傚€婚柦妯侯槺閿涙稑鈹戦悙鏉戠亶闁瑰磭鍋ゅ畷鍫曨敆娴i晲缂撶紓鍌欑椤戝懘鎮樺┑瀣€垫い鎾跺枍缁诲棝鏌曢崼婵堢闁告帊鍗抽弻娑㈡偆娴i晲绨界紓渚囧枦椤曆囧煡婢跺á鐔荤疀閹惧墎楔闂佽桨鐒﹂崝娆忕暦閵娾晩鏁婇悹渚厛閺€銊х磽閸屾艾鈧绮堟笟鈧、鏍礋椤栨稑娈戦梺鍛婃尫閻掞箓锝為弴銏$厵闁硅鍔﹂崵娆戠棯閹冩倯闁逛究鍔岄~婊堝幢濡も偓楠炲姊虹粙娆惧剱闁圭懓娲獮鍐ㄢ堪閸喎娈熼梺闈涱槶閸庮噣宕戦幘璇查敜婵°倓鑳堕崣鍡涙⒑閸濆嫭澶勬慨妯稿姂瀹曟繂顓兼径瀣幍闂佸憡鍔樼亸娆撴倿閸涘﹥鍙忓┑鐘插鐢盯鏌熷畡鐗堝殗鐎规洏鍔嶇换婵嬪磼濞戞瑧鏆梻鍌氬€峰ù鍥х暦閻㈢ǹ绐楅柛鈩冪☉绾惧潡鏌熼幆鐗堫棄缂佺姵鐓¢弻鏇$疀閺囩儐鈧本绻涚粭鍝勫闁哄苯绉烽¨渚€鏌涢幘瀵告噰妞ゃ垺宀搁弫鎰板幢濞嗘垹妲囨繝娈垮枟閿曗晠宕㈤崗鑲╊洸婵犲﹤鎳愮壕濂告煟閹伴潧澧い搴㈢矊椤啰鈧稒蓱閸婃劗鈧鍠楅悡锟犮€佸Δ鍛妞ゆ垼濮ょ€氬ジ姊绘担鍛婅础閺嬵亝绻涢幘顕呮缂侇喖顭烽獮妯尖偓闈涙憸椤旀洟鏌i悩鍙夊巶闁告侗鍘奸悡鍌炴⒑鏉炴壆顦﹂柣妤€锕ョ粚杈ㄧ節閸ヮ灛褔鏌涘☉鍗炴灈婵炲懌鍊濆铏圭矙濞嗘儳鍓梺鍛婃尰缁诲嫰骞戦姀鐘斀闁搞儮鏅濋惁鍫ユ⒑缁嬫寧婀扮紒瀣灥閳诲秹鏁愰崪浣瑰瘜闂侀潧鐗嗙换鎺楀礆娴煎瓨鐓忛柛顐ゅ枑閸婃劖顨ラ悙鎻掓殲缂佸倹甯為埀顒婄到閻忔岸寮查鈧埞鎴︽倷閺夋垹浠搁柦鍐憾閹綊宕堕埡浣锋濠殿喖锕ㄥ▍锝夊箯閻樿鐏抽柧蹇e亞娴滃爼姊绘担钘夊惞闁革綇闄勬穱濠囧炊椤掆偓缁犳煡鏌曡箛鏇炐涢柡鈧禒瀣€甸柨婵嗙凹缁ㄤ粙鏌涙繝鍕槐婵﹥妞藉Λ鍐归妶鍡欐创鐎规洘锕㈡俊鎼佸Ψ椤旇棄鏋犳繝鐢靛Х閺佸憡鎱ㄩ悜钘夋瀬闁告稑锕ラ崣蹇涙煟閹达絾顥夐柡瀣╃窔閺岀喖姊荤€靛壊妲紒鐐礃椤濡甸崟顖氬唨妞ゆ劦婢€缁爼姊虹紒妯虹瑨闁诲繑宀告俊鐢稿礋椤栨氨顔婇梺鐟扮摠缁诲秵绂掗懖鈺冪<闁绘劦鍓欓崝銈嗐亜椤撶姴鍘寸€殿喖顭烽幃銏ゆ偂鎼达綆妲堕柣鐔哥矊缁绘帡寮灏栨闁靛骏绱曢崢浠嬫⒑鐟欏嫬鍔ゆい鏇ㄥ幖鐓ら柟缁㈠枟閻撴瑦銇勯弮鍌滄憘婵炲牊绮撻弻鈩冩媴閻熸澘顫嶉梺璇″灡濡啴宕规ィ鍐╁殤妞ゆ帊鐒﹀▍锕€鈹戦悩鍨毄濠殿噮鍙冮獮蹇涘礃椤旇偐顦ㄥ銈呯箰閸熺増銇欓幎鑺モ拻濞撴埃鍋撻柍褜鍓氱粙鎾诲煘閹烘鐓曢柡鍌濇硶鑲栭梺鐟扮畭閸ㄥ綊鍩為幋鐘亾閿濆簼绨荤紒鎰☉椤啴濡堕崱妯碱槬闂佺懓鍟跨粔鐟扮暦椤愨懡鏃堝川椤旇瀚藉┑鐐舵彧缁蹭粙骞夐敍鍕闁跨喓濮甸悡娆撴煣韫囷絽浜濋悘蹇曟暬閺屽秷顧侀柛鎾磋壘椤繈濡搁敂鑺ョ彿濠德板€撻懗鍫曞煘瀹ュ應鏀介柣妯哄级閹兼劗绱掗悩鍨殌闂囧鏌ㄥ┑鍡欏闁逞屽厸缁瑦淇婇幖浣哥厸闁稿本绮屽鎶芥⒒娴e憡鎯堥柛鐔哄█瀹曟垿骞樼紒妯煎幈闁硅壈鎻槐鏇㈡晬瀹ュ洨纾奸弶鍫氭櫅娴犺鲸顨ラ悙鏉戠瑨閾绘牕霉閿濆懎绾ч悗姘矙濮婄粯鎷呴崨闈涚秺瀵敻顢楅崟顒€浠梺闈浥堥弲娑氱矆閸屾壕鍋撻崗澶婁壕闂佸憡娲﹂崜娑㈠储閻㈠憡鈷戦柟顖嗗嫮顩伴梺绋款儏閹冲酣鎮惧畡鎵殕闁逞屽墴閸┾偓妞ゆ帒鍠氬ḿ鎰箾閸欏鐭掔€殿噮鍋嗛幏鐘差啅椤斿吋顓垮┑鐐差嚟婵挳顢栭幇鏉挎瀬闁搞儺鍓氶悡鐔兼煙闁箑寮鹃柛鐔风箻閺屾盯鎮欓崹顐f瘓濠殿喖锕︾划顖炲箯閸涘瓨鍤嶉柕澹讲鍋撴繝鍥ㄢ拺闂傚牃鏅濈粔鍓佺磼閻樿櫕宕岄柣娑卞枦缁犳稑鈽夊▎鎰仧闂備浇娉曢崳锕傚箯閿燂拷...
  设置Ironic Python Agent和Requirement位置、Git版本
  笔者从头开始(使用tinyconfig)创建了内核配置,并故意努力实现平衡大小和功能。应该在大多数基于Intel的计算机(BIOS和UEFI)上引导,但对硬盘和以太网控制器等硬件的支持被故意限制。我们的目标是从小开始,再根据需要增加更多支持,因此可能需要修改才能在你的硬件上工作。
  使用imagebuild脚本自动构建
  手动进行构建是很好的,因为它有助于了解拼接过程,但是手动涉及的更多。
  Ionic Python Agent(IPA)repo有一些镜像创建脚本,这使得构建CoreOS和TinyCore镜像非常简单。笔者现在提供一些补丁,来增加对创建Buildroot镜像的支持。
  这些补丁包含几个脚本,其中包括手动构建方法和一个Makefile来将它们整合在一起。只有install-deps.sh脚本需要root权限,而且如果它检测到没有依赖关系,其他所有Buildroot任务将作为非特权用户运行。这是Buildroot方法的一大优点!
  再次强调,笔者已经在repo中包含了文档(https://github.com/csmart/ironic-python-agent/tree/buildroot/imagebuild/buildroot#buildroot-ironic-python-agent),所以请参阅有关如何构建和自定义镜像的更多细节。但总的来说,做这个是很简单的:
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劌銈搁弻鐔兼儌閸濄儳袦闂佸搫鐭夌紞渚€銆佸鈧幃娆撳箹椤撶噥妫ч梻鍌欑窔濞佳兾涘▎鎴炴殰闁圭儤顨愮紞鏍ㄧ節闂堟侗鍎愰柡鍛叀閺屾稑鈽夐崡鐐差潻濡炪們鍎查懝楣冨煘閹寸偛绠犻梺绋匡攻椤ㄥ棝骞堥妸鈺傚€婚柦妯侯槺閿涙稑鈹戦悙鏉戠亶闁瑰磭鍋ゅ畷鍫曨敆娴i晲缂撶紓鍌欑椤戝懘鎮樺┑瀣€垫い鎾跺枍缁诲棝鏌曢崼婵堢闁告帊鍗抽弻娑㈡偆娴i晲绨界紓渚囧枦椤曆囧煡婢跺á鐔荤疀閹惧墎楔闂佽桨鐒﹂崝娆忕暦閵娾晩鏁婇悹渚厛閺€銊х磽閸屾艾鈧绮堟笟鈧、鏍礋椤栨稑娈戦梺鍛婃尫閻掞箓锝為弴銏$厵闁硅鍔﹂崵娆戠棯閹冩倯闁逛究鍔岄~婊堝幢濡も偓楠炲姊虹粙娆惧剱闁圭懓娲獮鍐ㄢ堪閸喎娈熼梺闈涱槶閸庮噣宕戦幘璇查敜婵°倓鑳堕崣鍡涙⒑閸濆嫭澶勬慨妯稿姂瀹曟繂顓兼径瀣幍闂佸憡鍔樼亸娆撴倿閸涘﹥鍙忓┑鐘插鐢盯鏌熷畡鐗堝殗鐎规洏鍔嶇换婵嬪磼濞戞瑧鏆梻鍌氬€峰ù鍥х暦閻㈢ǹ绐楅柛鈩冪☉绾惧潡鏌熼幆鐗堫棄缂佺姵鐓¢弻鏇$疀閺囩儐鈧本绻涚粭鍝勫闁哄苯绉烽¨渚€鏌涢幘瀵告噰妞ゃ垺宀搁弫鎰板幢濞嗘垹妲囨繝娈垮枟閿曗晠宕㈤崗鑲╊洸婵犲﹤鎳愮壕濂告煟閹伴潧澧い搴㈢矊椤啰鈧稒蓱閸婃劗鈧鍠楅悡锟犮€佸Δ鍛妞ゆ垼濮ょ€氬ジ姊绘担鍛婅础閺嬵亝绻涢幘顕呮缂侇喖顭烽獮妯尖偓闈涙憸椤旀洟鏌i悩鍙夊巶闁告侗鍘奸悡鍌炴⒑鏉炴壆顦﹂柣妤€锕ョ粚杈ㄧ節閸ヮ灛褔鏌涘☉鍗炴灈婵炲懌鍊濆铏圭矙濞嗘儳鍓梺鍛婃尰缁诲嫰骞戦姀鐘斀闁搞儮鏅濋惁鍫ユ⒑缁嬫寧婀扮紒瀣灥閳诲秹鏁愰崪浣瑰瘜闂侀潧鐗嗙换鎺楀礆娴煎瓨鐓忛柛顐ゅ枑閸婃劖顨ラ悙鎻掓殲缂佸倹甯為埀顒婄到閻忔岸寮查鈧埞鎴︽倷閺夋垹浠搁柦鍐憾閹綊宕堕埡浣锋濠殿喖锕ㄥ▍锝夊箯閻樿鐏抽柧蹇e亞娴滃爼姊绘担钘夊惞闁革綇闄勬穱濠囧炊椤掆偓缁犳煡鏌曡箛鏇炐涢柡鈧禒瀣€甸柨婵嗙凹缁ㄤ粙鏌涙繝鍕槐婵﹥妞藉Λ鍐归妶鍡欐创鐎规洘锕㈡俊鎼佸Ψ椤旇棄鏋犳繝鐢靛Х閺佸憡鎱ㄩ悜钘夋瀬闁告稑锕ラ崣蹇涙煟閹达絾顥夐柡瀣╃窔閺岀喖姊荤€靛壊妲紒鐐礃椤濡甸崟顖氬唨妞ゆ劦婢€缁爼姊虹紒妯虹瑨闁诲繑宀告俊鐢稿礋椤栨氨顔婇梺鐟扮摠缁诲秵绂掗懖鈺冪<闁绘劦鍓欓崝銈嗐亜椤撶姴鍘寸€殿喖顭烽幃銏ゆ偂鎼达綆妲堕柣鐔哥矊缁绘帡寮灏栨闁靛骏绱曢崢浠嬫⒑鐟欏嫬鍔ゆい鏇ㄥ幖鐓ら柟缁㈠枟閻撴瑦銇勯弮鍌滄憘婵炲牊绮撻弻鈩冩媴閻熸澘顫嶉梺璇″灡濡啴宕规ィ鍐╁殤妞ゆ帊鐒﹀▍锕€鈹戦悩鍨毄濠殿噮鍙冮獮蹇涘礃椤旇偐顦ㄥ銈呯箰閸熺増銇欓幎鑺モ拻濞撴埃鍋撻柍褜鍓氱粙鎾诲煘閹烘鐓曢柡鍌濇硶鑲栭梺鐟扮畭閸ㄥ綊鍩為幋鐘亾閿濆簼绨荤紒鎰☉椤啴濡堕崱妯碱槬闂佺懓鍟跨粔鐟扮暦椤愨懡鏃堝川椤旇瀚藉┑鐐舵彧缁蹭粙骞夐敍鍕闁跨喓濮甸悡娆撴煣韫囷絽浜濋悘蹇曟暬閺屽秷顧侀柛鎾磋壘椤繈濡搁敂鑺ョ彿濠德板€撻懗鍫曞煘瀹ュ應鏀介柣妯哄级閹兼劗绱掗悩鍨殌闂囧鏌ㄥ┑鍡欏闁逞屽厸缁瑦淇婇幖浣哥厸闁稿本绮屽鎶芥⒒娴e憡鎯堥柛鐔哄█瀹曟垿骞樼紒妯煎幈闁硅壈鎻槐鏇㈡晬瀹ュ洨纾奸弶鍫氭櫅娴犺鲸顨ラ悙鏉戠瑨閾绘牕霉閿濆懎绾ч悗姘矙濮婄粯鎷呴崨闈涚秺瀵敻顢楅崟顒€浠梺闈浥堥弲娑氱矆閸屾壕鍋撻崗澶婁壕闂佸憡娲﹂崜娑㈠储閻㈠憡鈷戦柟顖嗗嫮顩伴梺绋款儏閹冲酣鎮惧畡鎵殕闁逞屽墴閸┾偓妞ゆ帒鍠氬ḿ鎰箾閸欏鐭掔€殿噮鍋嗛幏鐘差啅椤斿吋顓垮┑鐐差嚟婵挳顢栭幇鏉挎瀬闁搞儺鍓氶悡鐔兼煙闁箑寮鹃柛鐔风箻閺屾盯鎮欓崹顐f瘓濠殿喖锕︾划顖炲箯閸涘瓨鍤嶉柕澹讲鍋撴繝鍥ㄢ拺闂傚牃鏅濈粔鍓佺磼閻樿櫕宕岄柣娑卞枦缁犳稑鈽夊▎鎰仧闂備浇娉曢崳锕傚箯閿燂拷...
  这些操作将自动执行以下任务:
  • 获取Buildroot Git存储库
  • 加载默认的IPA Buildroot配置
  • 下载并验证所有源代码
  • 构建工具链
  使用工具链构建:
  • 系统库和软件包
  • Linux内核
  • 用于IPA和依赖关系的Python Wheels
  创建内核、initramfs和ISO镜像
  默认配置指向上游IPA Git存储库,但是你可以将其更改为指向任何你喜欢的repo和提交。 例如,如果你正在处理IPA,你可以将Buildroot指向当地的Git repo,然后构建并引导该镜像进行测试。
  帮助
  • 要查看可用的Makefile目标,只需运行帮助目标:
  • make help
  如果你输入-help选项,那么shell脚本也可以提供帮助:
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劌銈搁弻鐔兼儌閸濄儳袦闂佸搫鐭夌紞渚€銆佸鈧幃娆撳箹椤撶噥妫ч梻鍌欑窔濞佳兾涘▎鎴炴殰闁圭儤顨愮紞鏍ㄧ節闂堟侗鍎愰柡鍛叀閺屾稑鈽夐崡鐐差潻濡炪們鍎查懝楣冨煘閹寸偛绠犻梺绋匡攻椤ㄥ棝骞堥妸鈺傚€婚柦妯侯槺閿涙稑鈹戦悙鏉戠亶闁瑰磭鍋ゅ畷鍫曨敆娴i晲缂撶紓鍌欑椤戝懘鎮樺┑瀣€垫い鎾跺枍缁诲棝鏌曢崼婵堢闁告帊鍗抽弻娑㈡偆娴i晲绨界紓渚囧枦椤曆囧煡婢跺á鐔荤疀閹惧墎楔闂佽桨鐒﹂崝娆忕暦閵娾晩鏁婇悹渚厛閺€銊х磽閸屾艾鈧绮堟笟鈧、鏍礋椤栨稑娈戦梺鍛婃尫閻掞箓锝為弴銏$厵闁硅鍔﹂崵娆戠棯閹冩倯闁逛究鍔岄~婊堝幢濡も偓楠炲姊虹粙娆惧剱闁圭懓娲獮鍐ㄢ堪閸喎娈熼梺闈涱槶閸庮噣宕戦幘璇查敜婵°倓鑳堕崣鍡涙⒑閸濆嫭澶勬慨妯稿姂瀹曟繂顓兼径瀣幍闂佸憡鍔樼亸娆撴倿閸涘﹥鍙忓┑鐘插鐢盯鏌熷畡鐗堝殗鐎规洏鍔嶇换婵嬪磼濞戞瑧鏆梻鍌氬€峰ù鍥х暦閻㈢ǹ绐楅柛鈩冪☉绾惧潡鏌熼幆鐗堫棄缂佺姵鐓¢弻鏇$疀閺囩儐鈧本绻涚粭鍝勫闁哄苯绉烽¨渚€鏌涢幘瀵告噰妞ゃ垺宀搁弫鎰板幢濞嗘垹妲囨繝娈垮枟閿曗晠宕㈤崗鑲╊洸婵犲﹤鎳愮壕濂告煟閹伴潧澧い搴㈢矊椤啰鈧稒蓱閸婃劗鈧鍠楅悡锟犮€佸Δ鍛妞ゆ垼濮ょ€氬ジ姊绘担鍛婅础閺嬵亝绻涢幘顕呮缂侇喖顭烽獮妯尖偓闈涙憸椤旀洟鏌i悩鍙夊巶闁告侗鍘奸悡鍌炴⒑鏉炴壆顦﹂柣妤€锕ョ粚杈ㄧ節閸ヮ灛褔鏌涘☉鍗炴灈婵炲懌鍊濆铏圭矙濞嗘儳鍓梺鍛婃尰缁诲嫰骞戦姀鐘斀闁搞儮鏅濋惁鍫ユ⒑缁嬫寧婀扮紒瀣灥閳诲秹鏁愰崪浣瑰瘜闂侀潧鐗嗙换鎺楀礆娴煎瓨鐓忛柛顐ゅ枑閸婃劖顨ラ悙鎻掓殲缂佸倹甯為埀顒婄到閻忔岸寮查鈧埞鎴︽倷閺夋垹浠搁柦鍐憾閹綊宕堕埡浣锋濠殿喖锕ㄥ▍锝夊箯閻樿鐏抽柧蹇e亞娴滃爼姊绘担钘夊惞闁革綇闄勬穱濠囧炊椤掆偓缁犳煡鏌曡箛鏇炐涢柡鈧禒瀣€甸柨婵嗙凹缁ㄤ粙鏌涙繝鍕槐婵﹥妞藉Λ鍐归妶鍡欐创鐎规洘锕㈡俊鎼佸Ψ椤旇棄鏋犳繝鐢靛Х閺佸憡鎱ㄩ悜钘夋瀬闁告稑锕ラ崣蹇涙煟閹达絾顥夐柡瀣╃窔閺岀喖姊荤€靛壊妲紒鐐礃椤濡甸崟顖氬唨妞ゆ劦婢€缁爼姊虹紒妯虹瑨闁诲繑宀告俊鐢稿礋椤栨氨顔婇梺鐟扮摠缁诲秵绂掗懖鈺冪<闁绘劦鍓欓崝銈嗐亜椤撶姴鍘寸€殿喖顭烽幃銏ゆ偂鎼达綆妲堕柣鐔哥矊缁绘帡寮灏栨闁靛骏绱曢崢浠嬫⒑鐟欏嫬鍔ゆい鏇ㄥ幖鐓ら柟缁㈠枟閻撴瑦銇勯弮鍌滄憘婵炲牊绮撻弻鈩冩媴閻熸澘顫嶉梺璇″灡濡啴宕规ィ鍐╁殤妞ゆ帊鐒﹀▍锕€鈹戦悩鍨毄濠殿噮鍙冮獮蹇涘礃椤旇偐顦ㄥ銈呯箰閸熺増銇欓幎鑺モ拻濞撴埃鍋撻柍褜鍓氱粙鎾诲煘閹烘鐓曢柡鍌濇硶鑲栭梺鐟扮畭閸ㄥ綊鍩為幋鐘亾閿濆簼绨荤紒鎰☉椤啴濡堕崱妯碱槬闂佺懓鍟跨粔鐟扮暦椤愨懡鏃堝川椤旇瀚藉┑鐐舵彧缁蹭粙骞夐敍鍕闁跨喓濮甸悡娆撴煣韫囷絽浜濋悘蹇曟暬閺屽秷顧侀柛鎾磋壘椤繈濡搁敂鑺ョ彿濠德板€撻懗鍫曞煘瀹ュ應鏀介柣妯哄级閹兼劗绱掗悩鍨殌闂囧鏌ㄥ┑鍡欏闁逞屽厸缁瑦淇婇幖浣哥厸闁稿本绮屽鎶芥⒒娴e憡鎯堥柛鐔哄█瀹曟垿骞樼紒妯煎幈闁硅壈鎻槐鏇㈡晬瀹ュ洨纾奸弶鍫氭櫅娴犺鲸顨ラ悙鏉戠瑨閾绘牕霉閿濆懎绾ч悗姘矙濮婄粯鎷呴崨闈涚秺瀵敻顢楅崟顒€浠梺闈浥堥弲娑氱矆閸屾壕鍋撻崗澶婁壕闂佸憡娲﹂崜娑㈠储閻㈠憡鈷戦柟顖嗗嫮顩伴梺绋款儏閹冲酣鎮惧畡鎵殕闁逞屽墴閸┾偓妞ゆ帒鍠氬ḿ鎰箾閸欏鐭掔€殿噮鍋嗛幏鐘差啅椤斿吋顓垮┑鐐差嚟婵挳顢栭幇鏉挎瀬闁搞儺鍓氶悡鐔兼煙闁箑寮鹃柛鐔风箻閺屾盯鎮欓崹顐f瘓濠殿喖锕︾划顖炲箯閸涘瓨鍤嶉柕澹讲鍋撴繝鍥ㄢ拺闂傚牃鏅濈粔鍓佺磼閻樿櫕宕岄柣娑卞枦缁犳稑鈽夊▎鎰仧闂備浇娉曢崳锕傚箯閿燂拷...
 
【免责声明】本文仅代表作者本人观点,与CTI论坛无关。CTI论坛对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

  • 0

  • 0

  • 0

  • 0

  • 0

  • 0

  • 0

  • 0

专题