使用 , 讓嵌入式Linux系統(tǒng)構(gòu)建更加便捷。
是什么?
是 Linux 平臺(tái)上一個(gè)開源的嵌入式 Linux 系統(tǒng)自動(dòng)構(gòu)建框架。整個(gè)是由 腳本和 Kconfig 配置文件構(gòu)成的。你可以和編譯Linux內(nèi)核一樣,通過 配置, 修改,編譯出一個(gè)完整的可以直接燒寫到機(jī)器上運(yùn)行的Linux系統(tǒng)軟件(包含boot、kernel、rootfs以及rootfs中的各種庫和應(yīng)用程序)。
使用演示
以 官方開源社區(qū)維護(hù)的經(jīng)典 開發(fā)板的項(xiàng)目為例,演示其使用方法。
1) 先從 官網(wǎng)下載最新的穩(wěn)定版壓縮包,放到 Ubuntu 系統(tǒng)下解壓。
2) 進(jìn)入解壓后的 主目錄,其目錄結(jié)構(gòu)圖如下。
3) make
4) make all
5) 編譯完,生成的可燒寫文件鏡像,主目錄的在output/images/ 文件夾下,截圖如下:
看起來,只要執(zhí)行make *config和make all的命令,u-boot//rootfs 都能一次性編譯好,而且編出來的鏡像可以直接燒到開發(fā)板中運(yùn)行,以后制作uboot, 編譯kenrel, 編譯各種app, 制作rootfs的繁瑣工作都可以自動(dòng)化一步搞定,媽媽再也不用擔(dān)心我構(gòu)建過程出錯(cuò)了。不愧是自動(dòng)構(gòu)建神器。
的優(yōu)勢
大概有以下幾點(diǎn)優(yōu)勢:
a). 可以通在make *config 之后,make 配置需要編譯的軟件包,目錄如下:
實(shí)際上,uboot, linux kernel 還有 ffmpeg等這些應(yīng)用包,并不是強(qiáng)制都有編譯出來的,都可以通過make 進(jìn)行選擇,編譯和構(gòu)建。原則上是提供自動(dòng)構(gòu)建框架,具體要編譯什么包,都是用戶自己可以選擇的。
b). 對豐富的開源應(yīng)用軟件包的支持,誰說嵌入式軟件工程師都是搞內(nèi)核驅(qū)動(dòng)的,有了, 這么多開源應(yīng)用都能移植構(gòu)建到你的開發(fā)板中去,以下是/package/ 目錄下支持的自動(dòng)構(gòu)建開源項(xiàng)目的截圖:
boost、python、ffmpeg、redis、opencv、opengl、webkit……這些開源應(yīng)用軟件是不是耳熟能詳呢?沒錯(cuò),這些開源應(yīng)用軟件包都可以在下通過你的配置腳本,自動(dòng)完成官網(wǎng)下載à解壓à系統(tǒng)環(huán)境配置à編譯à安裝到根文件系統(tǒng)等這一系列機(jī)械繁瑣的工作。
嵌入式物聯(lián)網(wǎng)需要學(xué)的東西真的非常多,千萬不要學(xué)錯(cuò)了路線和內(nèi)容,導(dǎo)致工資要不上去!
無償分享大家一個(gè)資料包,差不多150多G。里面學(xué)習(xí)內(nèi)容、面經(jīng)、項(xiàng)目都比較新也比較全!某魚上買估計(jì)至少要好幾十。
點(diǎn)擊這里找小助理0元領(lǐng)取:嵌入式物聯(lián)網(wǎng)學(xué)習(xí)資料(頭條)
你不用再為某某開源軟件如何移植到我的Linux 開發(fā)板而到處在QQ群和論壇問人了,哪怕以后還要你自己開發(fā)的新的軟件包,所有繁瑣的移植工作,只要做了一次,都可以用寫成自動(dòng)構(gòu)建腳本,移植工作做了一次,就不用做第二次了,交給自動(dòng)來做就可以了。
c). 可以一塊開發(fā)板多次利用。一塊板子,可以配置成手機(jī),機(jī)頂盒,監(jiān)控器,路由器或者各種想不到的有意思的應(yīng)用。沒錯(cuò),只要把相應(yīng)的配置文件加到configs/目錄下,下次編譯的時(shí)候,選擇該種配置,make all 。那么馬上就可以構(gòu)建出相應(yīng)的可燒寫鏡像,燒錄的開發(fā)板中,讓你的開發(fā)板瞬間從手機(jī)變成路由器,無需每次耗時(shí)地移植和改動(dòng)了。
d). 團(tuán)隊(duì)協(xié)作的利器。不用手把手告訴你的同事或者合作伙伴如果重頭構(gòu)建某種系統(tǒng)的整個(gè)軟件包,把你配置好的交給他,一切自動(dòng)完成,不明白的步驟,看看各個(gè)軟件包的構(gòu)建腳本,瞬間一目了然。
的工作原理
原則上是一個(gè)自動(dòng)構(gòu)建框架,雖然說 u-boot、linux kernel 這些經(jīng)典的開源軟件包的構(gòu)建腳本,官方社區(qū)都在幫你實(shí)現(xiàn)了,但是有時(shí)候你還是需要加入你自己特有的 app_pkg 軟件包,用以構(gòu)建自己的應(yīng)用。
提供了函數(shù)框架和變量命令框架(下一篇文章將介紹細(xì)節(jié)),采用它的框架編寫的 app_pkg.mk 這種格式的自動(dòng)構(gòu)建腳本,將被package/pkg-generic.mk 這個(gè)核心腳本展開填充到主目錄下的中去。最后 make all 執(zhí)行 主目錄下的 ,生成你想要的 image。
package/pkg-generic.mk中通過調(diào)用同目錄下的pkg-.mk、pkg-utils.mk文件,已經(jīng)幫你自動(dòng)實(shí)現(xiàn)了下載、解壓、依賴包下載編譯等一系列機(jī)械化的流程。你只要需要按照格式寫腳app_pkg.mk,填充下載地址,鏈接依賴庫的名字等一些特有的構(gòu)建細(xì)節(jié)即可。
總而言之, 本身提供構(gòu)建流程的框架,開發(fā)者按照格式寫腳本,提供必要的構(gòu)建細(xì)節(jié),配置整個(gè)系統(tǒng),最后自動(dòng)構(gòu)建出你的系統(tǒng)。
目錄結(jié)構(gòu)簡介
主目錄截圖如下,其中各個(gè)目錄存放的腳本簡要介紹。
arch/ 目錄存放CPU架構(gòu)相關(guān)的配置腳本,如arm/mips/x86 ,這些CPU相關(guān)的配置,在制作工具鏈,編譯boot和內(nèi)核時(shí)很關(guān)鍵。
board/ 目錄存放各種board 特有的一些配置腳本,在構(gòu)建系統(tǒng)時(shí),board默認(rèn)的boot和Linux kernel配置文件,以及一些板相關(guān)特殊構(gòu)建流程的腳本,都在該目錄下,等待自動(dòng)構(gòu)建時(shí)調(diào)用。
boot/ 目錄存在各種boot軟件的自動(dòng)構(gòu)建腳本,不只是u-boot,還有g(shù)rub等,也可以通過來構(gòu)建。
configs/ 目錄存放這每種方案上層的全局配置文件,之前的make 實(shí)際上就是調(diào)用了該目錄下的方案的配置。該目錄下的配置文件記錄著該機(jī)器平臺(tái)或者方案使用的工具欄,boot, kernel,各種應(yīng)用軟件包的配置和是否編譯選擇的狀態(tài),之前所說的某個(gè)特殊開發(fā)板整個(gè)系統(tǒng)的配置文件,就在configs/目錄下。
dl/ 目錄存在從官網(wǎng)上下載的開源軟件包,第一次下載后,下次就不會(huì)再去從官網(wǎng)下載了,而是從dl/目錄下拿開源包,以節(jié)約時(shí)間。
docs/ 存放相關(guān)的參考文檔。
fs/ 存放著各種文件系統(tǒng)的自動(dòng)構(gòu)建腳本。
linux/ 存放著Linux kernel的自動(dòng)構(gòu)建腳本。
output/ 是編譯出來的輸出文件夾,里面的build/目錄存放著解壓后的各種軟件包編譯完后的現(xiàn)場。host/目錄放著制作好的編譯工具鏈,target/ 目錄是用來制作rootfs的,里面放著Linux系統(tǒng)基本的目錄結(jié)構(gòu),以及各種編譯好的應(yīng)用庫和bin可執(zhí)行文件。Images/目錄下就是最終生成的可燒寫到板子上的各種image。
package/ 目錄存放著各種第三方開源應(yīng)用軟件包的自動(dòng)編譯構(gòu)建腳本,這些構(gòu)建腳本一般都是經(jīng)過測試,能夠構(gòu)建出相應(yīng)的軟件包的。
support/ 目錄存放著一些固定的流程腳本,以備構(gòu)建時(shí)調(diào)用執(zhí)行。
system/ 目錄存放著文件系統(tǒng)目錄的和設(shè)備節(jié)點(diǎn)的模板,這些模板會(huì)被拷貝到 output/ 目錄下,用于制作根文件系統(tǒng)rootfs。
/ 目錄中存放著各種制作工具鏈的腳本,可以選擇從0開始,用gcc和linux 內(nèi)核,glibc、uclibc庫等原材料制作一個(gè)自己工具鏈,也可以下載第三方制作好的開源工具。
原文鏈接:
SEO優(yōu)化必學(xué)的簡易網(wǎng)站建設(shè)流程
織夢系統(tǒng):織夢內(nèi)容管理系統(tǒng)(DEdeCms)以簡單、實(shí)用、開源而聞名,是國內(nèi)最知名的PHP開源網(wǎng)站管理系統(tǒng),也是使用使用用戶最多的PHP類系統(tǒng)。
需要 PHP:編程語言 MYSQL:數(shù)據(jù)庫語言APACHE:調(diào)試環(huán)境=>
Dedecms系統(tǒng)的安裝
(1)搭建dedecms的運(yùn)行環(huán)境()
(2)下載dedecms安裝包
(3)安裝dedecms系統(tǒng),將安裝包解壓縮,將Uplads文件夾的所有文件,復(fù)制到
網(wǎng)站根目錄WWW下(虛擬機(jī)上ftp上傳軟件,建站點(diǎn),配置連接( ip地址 用戶密碼)
將Uplods文件夾里的文件上傳到虛擬服務(wù)器)
(4)打開瀏覽器,輸入127.0.0.1,按步驟安裝dedecms系統(tǒng)
(5)安裝過程中配置(數(shù)據(jù)庫,空間ip密碼),安裝成功后進(jìn)行dedecms系統(tǒng)
生成板塊
1.建欄目,(網(wǎng)站欄目管理,增加頂級欄目,若有頂級欄目則進(jìn)行下一步。)
2.添加文章(在補(bǔ)充里面,增加文檔。)
3.輸入文章標(biāo)題,內(nèi)容及關(guān)鍵詞
4.生成文檔(左側(cè)選擇生產(chǎn)版塊,①生成主頁,htm靜態(tài),②一鍵更新網(wǎng)站,更新所有)dedecms系統(tǒng)前后臺(tái)的認(rèn)識
(1)前臺(tái):網(wǎng)站的主頁面,網(wǎng)站地址,各級欄目,內(nèi)容板塊(文章板塊,評論板塊,視屏 板塊,圖片)
(2)后臺(tái):欄目管理(單頁、列表,排序,增改刪),生成更新(首頁,全站,單個(gè)欄目),系統(tǒng)管理(賬戶,安全,密碼,數(shù)據(jù)管理備份),文章管理,模板管理
一鍵更新:
更新網(wǎng)站所有頁面:網(wǎng)站數(shù)據(jù)還原的時(shí)候,需要一鍵更新;更新模板時(shí),需要一鍵更新;大批量操作時(shí),或單個(gè)操作費(fèi)時(shí)時(shí),使用一鍵更新
更新系統(tǒng)緩存:
系統(tǒng)有更新,但是緩存沒變化,使用此功能;更新模板的時(shí)候,一定要更新系統(tǒng)緩存;
更新主頁HTML只更新網(wǎng)站首頁(動(dòng)態(tài)或靜態(tài))
更新欄目HTML更新具體欄目
更新文檔HTML
更換php程序的方法
1.把所要的模板程序拷貝到WWW。
2.安裝織夢系統(tǒng)后進(jìn)入后臺(tái)。
3.點(diǎn)擊系統(tǒng)板塊,數(shù)據(jù)庫還原,(點(diǎn)擊開始還原數(shù)據(jù))。
*請認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。