導航:首頁 > 源碼編譯 > 源碼文件夾怎麼編譯到固件中

源碼文件夾怎麼編譯到固件中

發布時間:2025-07-12 16:48:14

『壹』 在ubuntu 12.04下怎樣編譯極路由1s的openwrt固件

搭建編譯環境
Ubuntu x64 12.04下的命令
sudo apt-get install subversion
sudo apt-get install git
sudo apt-get install flex
sudo apt-get install g++
sudo apt-get install gawk
sudo apt-get install zlib1g-dev
sudo apt-get install libncurses5-dev
當然,也可以將上面的命令合起來:
sudo apt-get install subversion git flex g++ gawk zlib1g-dev libncurses5-dev
建立工作目錄及顫沒獲取openwrt源碼
mkdir openwrt
cd openwrt
svn co svn://svn.openwrt.org/openwrt/trunk/
trunk是openwrt的開發版,openwrt有好幾個分支,要編譯其它分支,sun://後的換為相應的地址即可。
建立openwrt文件夾是為了方便存放不同分支的代碼,如果你不需要,可以省核洞衫略「mkdir openwrt」及「cd openwrt」。
如果svn的速度慢,可以使用openwrt的第三方鏡像,比如國內的openwrt中文論壇所建的鏡像。
更新feed及添加package
openwrt的一些額外功能都是通過package實現的,很多個package就組成了一個feed,我們可以根據需求更新自己想要的feed的源。 例如我們需要luci的web管理界面和python的支持,那麼我們需要更新luci和packages的feed源:
cd trunk
./scripts/feeds update luci packages
./scripts/feeds install luci packages

當然,我們推薦更新所有feed並添加所有package
./scripts/feeds update -a
./scripts/feeds install -a
配置及編譯
進入配置界面
make menuconfig
以後再次編譯時,要先切換到工作目錄:
cd openwrt
cd trunk
然後在次過程中選擇好target system和target profile,target system需要看你路由器的cpu晶元信息,target profile是你路由器的型號。接下來就可以根據自己的需求進行定製了,添加上需要的支持或去掉無用的包,按「Y」在固件中添加包按「Y」,按「N」去 掉不需要的包。
要運行OH3C,必須有python-mini(lang->python->python-mini)的改腔支持。
如果你的路由器flash空間比較緊張,可以去掉下面的包:
Kernel moles->Network Support->kmod-ppp
Network->ppp
選好後就保存配置退出開始編譯了:
make -j
-j 後面可以跟參數,即同時進行的任務數,比如2或4,不跟參數意為不限制同時進行的任務數,會大大減少編譯的時間,特別是首次編譯。
編譯過程中可能不會下載一些東西,所以斷網可能造成編譯中斷,編譯所需時間與你的CPU及網速有很大關系,一般首次編譯在40分鍾到2小時之間不等。以後的編譯一般在30分鍾之內。

『貳』 用戶使用說明可以分享一下嗎

本文提供LCPI全志A33 linux/安卓開源創客開發板的詳細使用說明,包括程序燒錄和源碼編譯兩部分。


一、程序燒錄

1. 使用USB OTG將開發板與電腦連接,打開PhoenixSuit,選擇預覽並載入要燒錄的img文件。


2. 按住音量+鍵不放,快速按下電源鍵至升級窗口出現,選擇「是」。


3. 燒錄時間約一分鍾,請耐心等待。固件燒錄在EMMC內。


二、源碼編譯

1. 下載並解壓Ubuntu_16.04_X64_A33_android6.0虛擬機文件,使用VMware Workstation啟動虛擬機。


2. 登錄Ubuntu系統,輸入密碼123456。


3. 進入虛擬機內的源碼編譯環境。


4. 按照指令進行編譯,包括配置、構建和打包鏡像文件。


具體操作如下:
- 進入lcpi-a33/home/test/Test/LCPI-A33-ANDROID6.0目錄,分別進入lichee和android文件夾。
- 在Terminal中輸入./sinlinx_config.sh並選擇0,然後輸入./build.sh。
- 進入android目錄,依次輸入source build/envsetup.sh、lunch、輸入chich would you like?時選擇1、輸入extract-bsp、輸入make -j8、輸入pack。
- 等待約1小時完成文件打包,鏡像文件輸出路徑為/home/test/Test/LCPI-A33-ANDROID6.0/lichee/tools/pack/LCPI-A33_Android6.0_lcd1024x600_v3.1.img。


請根據實際情況進行操作,確保設備連接、軟體配置以及操作指令的正確性。如有任何問題,可查閱官方文檔或聯系技術支持。

『叄』 openwrt編譯流程

OpenWRT編譯流程如下

  1. 進入OpenWRT根目錄

    • 首先,需要在Ubuntu下進入OpenWRT的根目錄。
  2. 執行編譯命令

    • 通常情況下,執行make V=99命令進行編譯。V=99選項用於顯示詳細的編譯信息。
    • 如果系統為多核處理器,可以添加j選項來加速編譯過程,例如make j3 V=99,其中3代表使用3個核心進行編譯,可以根據實際情況調整。
  3. 確保網路暢通

    • 在編譯過程中,系統將自動下載所需的軟體包,因此必須確保網路暢通。
    • 如果遇到下載失敗的情況,可以先執行make download指令,提前下載所需的軟體包,以避免後續編譯過程中出現錯誤。
  4. 等待編譯完成

    • 初次編譯耗時較長,且需要下載大量源碼包,建議使用較好的VPN來加速下載過程。
  5. 查找編譯生成的固件

    • 編譯完成後,會在源碼目錄中生成一個名為bin的文件夾。
    • 該文件夾中包含兩個固件文件,分別是.bin和.bin。
    • 根據路由器的原始固件或已安裝的OpenWRT版本,選擇相應的固件進行刷寫。
  6. 掌握編譯技巧

    • 在編譯過程中,可以掌握一些技巧來提升效率。
    • 例如,執行make clean命令可以清理基本的編譯文件,make dirclean則會深度清理文件,相當於執行make clean後再清除交叉編譯工具鏈目錄。
    • make distclean命令會清除所有相關內容,包括下載的軟體包、配置文件及feed內容等。
    • 如果遇到menuconfig無法更新的問題,可以嘗試刪除tmp緩存目錄來解決。
    • 預先下載軟體包,再執行編譯的make download V=99方法同樣有效。
    • 如果需要清空所有配置,可以刪除.config文件。

『肆』 Gargoyle(石像鬼)固件自定義修改及編譯

參考 Gargoyle Document 及 安裝OpenWrt build system

Gargoyle固件是以Openwrt為藍本的二次開發固件,同樣開源。Gargoyle源碼地址

理論上Linux系統均可編譯,筆者所用過成功編譯的Linux發行版有Archlinux,Ubuntu12.04、14.04、16.04。不同發行版所需要的軟體包不一樣,其中以Ubuntu較常用,本文以其為例。

安裝Build System:

32位系統:sudo apt-get install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev subversion flex uglifyjs texinfo

64位系統:sudo apt-get install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo

另外,安裝完成後,建議安裝cache:sudo apt-get install cache。

安裝完成後,確保系統可用磁碟空間不少於20GB。

打開終端(Terminal),通過命令行操作

獲取Gargoyle源碼文件:

git clone git://github.com/ericpaulbishop/gargoyle.git

進入gargoyle文件夾內查看源碼

cd gargoyle

git相關操作:

git branch      #查看當前分支

git branch -r  #查看本地所有分支

git branch -a  #查看所有遠程分支

切換分支:

git checkout <分支名稱>

切換commit:

git checkout  <commit id>

閱讀全文

與源碼文件夾怎麼編譯到固件中相關的資料

熱點內容
pdf怎樣轉換成word格式 瀏覽:673
怎麼查找解壓文件在哪裡 瀏覽:852
德語小說pdf 瀏覽:125
陝西聯通dns伺服器地址 瀏覽:939
js表格即時編譯 瀏覽:304
51單片機串口拓展 瀏覽:307
重裝系統後加密圖片損壞 瀏覽:465
電腦怎麼放大縮小app窗口 瀏覽:526
教育十APP學校怎麼更改 瀏覽:823
空調外機壓縮機熱保護 瀏覽:756
winlinux雙系統卸載 瀏覽:241
如何對安卓應用反編譯 瀏覽:412
鯤鵬pc伺服器是什麼 瀏覽:574
一級防震梁箍筋加密 瀏覽:930
linuxxampp64位 瀏覽:730
西安哪個app能買到東西 瀏覽:459
eps命令鍵 瀏覽:40
塑料文件夾的尺寸 瀏覽:212
君威壓縮機電磁閥 瀏覽:947
安卓6手機為什麼不能用app 瀏覽:862