linux下下载openwrt源码,OpenWrt下载编译
不想啰嗦直接肝,依次执行:
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下载编译相关推荐
- 从 Blast2GO 本地化聊一聊 Linux 下 MySQL 的源码安装
Blast2GO 是一个基于序列相似性搜索的 GO 注释和功能分析工具,它可以直接统计分析基因功能信息,并可视化 GO 有向非循环图(DAG)上的相关功能特征,分析 BLAST.GO-mapping. ...
- linux下看libc源码,获得libc的调试信息
获得libc的调试信息 日期:2014-07-01 11:04:57 最后更新日期:2014-11-25 11:20:32 [技术文章,非码农勿入] 需求: 获得libc的调试信息(研究学习libc内 ...
- cuda 编译 linux,Linux下安装Tensorflow源码及编译
下载Tensorflow源码 git clone https://github.com/tensorflow/tensorflow 如果无法下载也可以在github上直接下载tensorflow的打包 ...
- Linux下的命令源码下载
1.首先安装dpkg-dev: apt-get install dpkg-dev 2.设置资源的URL 进入 sudo vim /etc/apt/sources.list ,然后加入以下URL: d ...
- linux下的geany源码安装,linux 下php开发工具geany-0.16的安装。
说明 一款linux下的编辑器,支持很多开发语言. 下载 下载地址:http://www.geany.org/ 安装 源码安装 #./configure #make #make install 我在m ...
- linux下调试paddlelite源码,PaddlePaddle/Paddle-Lite
Paddle Lite Paddle Lite是一个高性能.轻量级.灵活性强且易于扩展的深度学习推理框架,定位支持包括移动端.嵌入式以及服务器端在内的多硬件平台. 当前Paddle Lite不仅在百度 ...
- linux下软件包管理-源码包-二进制包
linux软件包管理 1.软件包分类 源码包 二进制包(rpm包) 2.rpm包命名规则 命名规则: name-major-minjor-re ...
- Linux 下 Git 的源码安装
先从 Git 官网下载源码,然后解压,依次输入 ./config make sudo make install 这几个命令安装就好了.
- Linux下读取smBIOS源码,Linux下读取SMBIOS信息
来源:http://www.linuxde.net/2013/02/12499.html uefi shell下使用smbiosview linux下使用dmidecode 或者amidecode(a ...
最新文章
- Hadoop学习之Hadoop集群的定制配置(二)
- 《认知设计:提升学习体验的艺术》——小结
- 正则表达式 特殊符号系列 通配符系列
- MySQL 高级 —— 索引实现的思考
- python——若一个list中的元素都是dict,要获取该list中的某个dict中的某个value所在的dict在list中的索引
- Java集合Collection之实现原理解读(ArrayList)
- mysql 问题:Unknown system variable 'query_cache_size'
- 系统软硬件测试工具介绍
- 机器学习入门——简单线性回归
- python模块之signal信号
- 【潍坊seo公司】普通人都能学会的SEO,让你打破网络营销瓶颈
- nagios 的安装
- while,do while,for 循环语句总结大全,一步到位
- 六十星系之21紫微天府坐寅申
- HTML表单控件的集合
- 如何让Surface RT支持网站的flash
- 变色龙给驱动打补丁实现USB驱动无需USBInjectAll.kext
- python学习——flask架构全家桶
- selenium原理以及要掌握的方法
- ps快速导出png图片设置为小程序tabBar图标变形