『壹』 在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編譯流程如下:
進入OpenWRT根目錄:
執行編譯命令:
確保網路暢通:
等待編譯完成:
查找編譯生成的固件:
掌握編譯技巧:
『肆』 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>