不想啰嗦直接肝,依次执行:

git clone git://github.com/openwrt/openwrt.git

cd openwrt

./scripts/feeds update -a

./scripts/feeds install -a

make menuconfig

make -j4 V=s

您需要gcc, binutils, bzip2, flex, python3.5+, perl, make, find, grep, diff,unzip, gawk, getopt, subversion, libz-dev 和libc 头文件已安装。

安装编译所需软件包的例子

关于 OpenWrt

openwrt是嵌入式设备上运行的linux系统。

OpenWrt 的文件系统是可写的,开发者无需在每一次修改后重新编译。令它更像一个小型的 Linux 电脑系统,也加快了开发速度。

你会发现无论是 ARM, PowerPC 或 MIPS 的处理器,都有很好的支持。并且附带3000左右的软件包,用户可以方便的自定义功能来制作固件。也可以方便的移植各类功能到openwrt下。

Openwrt官网:https://openwrt.org/

学习OpenWrt的网站:

OpenWrt中文网 : http://www.openwrt.org.cn

下载OpenWrt源码并编译

OpenWrt源码分两种,Trunk开发版与Backfire稳定版,建议下载官方源码:https://git.openwrt.org/

https://github.com/openwrt/openwrt

官方参考教程。

以下参考自官方教程

OpenWrt编译系统 – 安装

OpenWrt build system是OpenWrt这个Linux发行版的编译程序。OpenWrt build system 能够在Linux、BSD或者Mac OS X系统上正常工作。但是请注意你必须使用一个对大小写敏感的文件系统。

环境要求:

编译一个可以安装的OpenWrt固件镜像文件(大约8MB大小的),你需要:

一个纯净的OpenWrt编译系统大约需要200MB的空间。

一个包含feeds的OpenWrt编译系统大约需要300MB的空间。

编译feeds中的软件包大约需要2.1GB的空间用于存放下载来的源代码。

构建OpenWrt并生成固件文件需要大约3-4 GB的空间。

编译OpenWrt需要大约1-4 GB的内存。

在Linux上的安装步骤

请使用一个非root用户来完成这些工作!

这里的所有命令都在OpenWrt编译系统的根目录下运行(例如~/openwrt/trunk/)

编译系统的绝对路径中不能含有空格!

如果你使用root用户下载了源码,请把你下载来的源码的所有者更改为一个非root用户。(sudo chown -R user:user /openwrt/)

1、安装git以下载OpenWrt源码。安装编译工具以进行交叉编译:

sudo apt-get update

sudo apt-get install git-core build-essential libssl-dev libncurses5-dev unzip

feeds中的部分软件包可能只能通过subversion (缩写: svn)或者mercurial下载源代码。如果你需要安装这些软件包,你同时也应当安装svn和mercurial:

sudo apt-get install subversion mercurial

2、通过git来下载OpenWrt bleeding edge(trunk版本):

git clone git://git.openwrt.org/openwrt.git

如果执行这个命令的时候,系统报错,如下:

Cloning into ‘openwrt’…

fatal: remote error: access denied or repository not exported: /openwrt.git

则执行:

git clone git://github.com/openwrt/openwrt.git

重点来了,刚学的新知识

进入 https://github.com/openwrt/openwrt网站。可以看到当前的项目

执行的git clone git://github.com/openwrt/openwrt.git命令下载下来后cd openwrt默认显示的是master,但是如果需要openwrt-18.06的话执行命令

cd open-wrt

git branch

git checkout -b openwrt-18.06 origin/openwrt-18.06

就可以得到我们想要的分支

Git branch && Git checkout用法

其他版本,

如:chaos_calmer ,它是15.05分支(Chaos Calmer)。(请于Github上验证发布版名称)

报错则:

git clone git://github.com/openwrt/chaos_calmer.git

这将会创建’openwrt’这个目录。这个目录将会是OpenWrt的编译主目录。

OpenWrt的交叉编译工具链也已经被包含在内

OpenWrt源码变动频繁。建议总是使用最新的源码进行工作。

git pull

3、(可选)下载并安装所有可用的"feeds"(参见OpenWrt Feeds以获取更多选择):

cd openwrt

./scripts/feeds update -a //更新源

./scripts/feeds install -a //安装下载好的包: (可选,或者 install ')

4、运行下面的命令(3选1!)让OpenWrt编译系统检查你的编译环境中缺失的软件包:

make menuconfig (推荐使用此命令)

或者

make defconfig

或者

make prereq

//如果以上3个命令都运行了,编译会出错!

同配置Linux内核类似,几乎每一个设置都有三个选项:y / m / n,分别代表如下含义:

(按下y)这个包会被包含进固件镜像

(按下m)这个包会在生成刷新OpenWrt的镜像文件以后被编译,但是不会被包含进镜像文件

(按下n)这个包不会被编译

当你保存你的配置后,~/openwrt/trunk/.config这个文件会按照你的配置被生成。

\编译环境会提供一个这样的配置文件给OpenWrt ‘Backfire’ 10.03.1-RC5。

这儿有三种选项可选:

< > 该代码将不会被编译

该代码将被交叉编译,生成的ipk软件包将被放在 /buildsystem/bla/bla/bla, 但该软件包不会放入固件中

该代码将被放入固件中 (on the SqashFS partition)

5、编译,make -j4 V=s // -j4使用四个线程编译,速度快。 V=s可以看到详细的编译过程和错误信息

译详情参见:build

安装编译所需软件包的例子

Arch Linux

pacman -S --needed subversion asciidoc bash bc binutils bzip2 fastjar flex git gcc util-linux gawk intltool zlib make cdrkit ncurses openssl patch perl-extutils-makemaker rsync sdcc unzip wget gettext libxslt boost libusb bin86 sharutils b43-fwcutter findutils

Debian 7 Wheezy:

apt-get install libncurses5-dev zlib1g-dev gawk

Fedora 22 - 64Bit :

dnf install -y 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 sed sdcc intltool sharutils bison wget openssl-devel

openSUSE 13.2

zypper install asciidoc bash bc binutils bzip2 fastjar flex git-core gcc-c++ gcc util-linux gawk gtk2-devel intltool jikes zlib-devel mercurial make genisoimage ncurses-devel libopenssl-devel patch perl-ExtUtils-MakeMaker python-devel rsync ruby sdcc unzip wget gettext-tools libxslt-tools zlib-devel subversion

Ubuntu 12.04LTS:

sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip

Ubuntu 64bit:

sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core gettext libssl-dev

Centos x86-64:

yum install subversion binutils bzip2 gcc gcc-c++ gawk gettext flex ncurses-devel zlib-devel make patch unzip perl-ExtUtils-MakeMaker glibc glibc-devel glibc-static quilt ncurses-lib sed sdcc intltool sharutils bison wget git-core openssl-devel xz

Gentoo:

$ echo \

app-arch/{bzip2,fastjar,sharutils,unzip,zip} \

app-text/asciidoc dev-java/{icedtea:7,jikes,oracle-jdk-bin} \

dev-libs/{libusb-compat,libxslt,openssl} dev-util/intltool \

dev-vcs/{git,mercurial} net-misc/{rsync,wget} \

net-wireless/b43-fwcutter sys-apps/{gawk,util-linux} \

sys-devel/{bc,bin86,binutils,dev86,flex,gcc[gcj],gettext} \

sys-libs/{ncurses,zlib} virtual/{cdrtools,perl-ExtUtils-MakeMaker} \

x11-libs/gtk+:2 \

| sed 's/\s/\n/g' \

| sort \

| sudo tee /etc/portage/sets/openwrt-prerequisites \

&& sudo emerge -DuvNa '@openwrt-prerequisites'

linux下下载openwrt源码,OpenWrt下载编译相关推荐

  1. 从 Blast2GO 本地化聊一聊 Linux 下 MySQL 的源码安装

    Blast2GO 是一个基于序列相似性搜索的 GO 注释和功能分析工具,它可以直接统计分析基因功能信息,并可视化 GO 有向非循环图(DAG)上的相关功能特征,分析 BLAST.GO-mapping. ...

  2. linux下看libc源码,获得libc的调试信息

    获得libc的调试信息 日期:2014-07-01 11:04:57 最后更新日期:2014-11-25 11:20:32 [技术文章,非码农勿入] 需求: 获得libc的调试信息(研究学习libc内 ...

  3. cuda 编译 linux,Linux下安装Tensorflow源码及编译

    下载Tensorflow源码 git clone https://github.com/tensorflow/tensorflow 如果无法下载也可以在github上直接下载tensorflow的打包 ...

  4. Linux下的命令源码下载

    1.首先安装dpkg-dev: apt-get install dpkg-dev 2.设置资源的URL 进入 sudo vim /etc/apt/sources.list  ,然后加入以下URL: d ...

  5. linux下的geany源码安装,linux 下php开发工具geany-0.16的安装。

    说明 一款linux下的编辑器,支持很多开发语言. 下载 下载地址:http://www.geany.org/ 安装 源码安装 #./configure #make #make install 我在m ...

  6. linux下调试paddlelite源码,PaddlePaddle/Paddle-Lite

    Paddle Lite Paddle Lite是一个高性能.轻量级.灵活性强且易于扩展的深度学习推理框架,定位支持包括移动端.嵌入式以及服务器端在内的多硬件平台. 当前Paddle Lite不仅在百度 ...

  7. linux下软件包管理-源码包-二进制包

    linux软件包管理   1.软件包分类     源码包     二进制包(rpm包)      2.rpm包命名规则       命名规则:         name-major-minjor-re ...

  8. Linux 下 Git 的源码安装

    先从 Git 官网下载源码,然后解压,依次输入 ./config make sudo make install 这几个命令安装就好了.

  9. Linux下读取smBIOS源码,Linux下读取SMBIOS信息

    来源:http://www.linuxde.net/2013/02/12499.html uefi shell下使用smbiosview linux下使用dmidecode 或者amidecode(a ...

最新文章

  1. Hadoop学习之Hadoop集群的定制配置(二)
  2. 《认知设计:提升学习体验的艺术》——小结
  3. 正则表达式 特殊符号系列 通配符系列
  4. MySQL 高级 —— 索引实现的思考
  5. python——若一个list中的元素都是dict,要获取该list中的某个dict中的某个value所在的dict在list中的索引
  6. Java集合Collection之实现原理解读(ArrayList)
  7. mysql 问题:Unknown system variable 'query_cache_size'
  8. 系统软硬件测试工具介绍
  9. 机器学习入门——简单线性回归
  10. python模块之signal信号
  11. 【潍坊seo公司】普通人都能学会的SEO,让你打破网络营销瓶颈
  12. nagios 的安装
  13. while,do while,for 循环语句总结大全,一步到位
  14. 六十星系之21紫微天府坐寅申
  15. HTML表单控件的集合
  16. 如何让Surface RT支持网站的flash
  17. 变色龙给驱动打补丁实现USB驱动无需USBInjectAll.kext
  18. python学习——flask架构全家桶
  19. selenium原理以及要掌握的方法
  20. ps快速导出png图片设置为小程序tabBar图标变形

热门文章

  1. matlab滤波有几种形式,几种经典常用的滤波算法
  2. 【程序源代码】微信小程序商城
  3. windows 查看IP地址或端口是否可以连接-常用命令
  4. Centos7 ping 不通百度 可能是网络配置问题
  5. Linux命令之nslookup
  6. python 提取列表中长度大于3的字符串,列表中什么元素都有
  7. 解决Photoshop CS6在window10中窗口字体太小问题
  8. C++函数的递归调用
  9. 英文词典中的那些词性缩写字母的原型
  10. Google Open Images Dataset V4 百度网盘地址。