Centos6下編譯lede
阿新 • • 發佈:2017-10-12
根據 git 特殊字符 免編譯 編譯失敗 pan defcon strong 安裝
準備工作
1. 安裝依賴軟件
這是官方文檔提供的依賴列表
yum install subversion binutils bzip2 gcc gcc-c++ gawk gettext flex ncurses-devel zlib-devel zlib-static make patch unzip perl-ExtUtils-MakeMaker glibc glibc-devel glibc-static quilt ncurses-libs sed sdcc intltool sharutils bison wget git-core openssl-devel xz
除此以外, 建議加上 glib2-devel
2. 編譯升級gcc
Centos6自帶的gcc版本只到4.4.7, 不支持c++11, 必須升級. 參考 這篇文章 升級到gcc 6.4.0
3. 導出最新源碼
例如在home下的用戶目錄下, 新建一個lede目錄, 然後在此目錄下執行, 然後將source目錄更名為 source_master
git clone https://git.lede-project.org/source.git
註意: 編譯將在此目錄下執行, 根據官方文檔的要求, 路徑中要避免出現空格等特殊字符, 以免編譯失敗
配置工作
1. 當git代碼庫有更新時, 更新源碼
git pull
2. 更新組件源
# 更新組件源 ./scripts/feeds update -a # 安裝所有組件, 安裝後, 在make menuconfig中才可以選擇 ./scripts/feeds install -a # 安裝指定組件 ./scripts/feeds install <PACKAGENAME>
3. 設置編譯目標設備以及包含的組件, 主要是兩個命令
# 重置默認的設備和組件 make defconfig # 進入配置界面 make menuconfig
使用make menuconfig時, 需要註意的
- 常用的mt7620/7621芯片所屬的target位於 Target System -> MediaTek Ralink MIPS
- 設置之後, 除了save到.config_[device name]以外, 還需要設置到.config, 否則編譯時因為.config沒變, 你的設置不會生效
a
開始編譯
1. 執行編譯命令行
make -j2 V=s TARGET_DEVICES=hc5761 # -j2 表示用2核, 根據當前機器配置而定 # V=s 表示顯示詳細輸出
2. 如果需要後臺進行, 使用
nohup make -j2 V=s TARGET_DEVICES=hc5761 > ~/lede/logs/20171011.log 2>&1 &
常見問題
1. 編譯時因網絡問題下載失敗
自行下載文件後放到dl目錄下
2. 編譯transmission時出現 config.status: error: cannot find input file: `po/Makefile.in.in‘ 錯誤
這是因為沒安裝glib2-devel
Centos6下編譯lede