码迷,mamicode.com
首页 > 其他好文 > 详细

Centos6下编译lede

时间:2017-10-12 13:13:29      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:最新   perl   执行   pac   c++11   特殊字符   lex   ips   mil   

准备工作

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

标签:最新   perl   执行   pac   c++11   特殊字符   lex   ips   mil   

原文地址:http://www.cnblogs.com/milton/p/7655524.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!