编译原版OpenWrt

项目地址

官方编译文档

环境要求

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

  • 一个纯净的OpenWrt编译系统大约需要200MB的空间。
  • 一个包含feeds的OpenWrt编译系统大约需要300MB的空间。
  • 编译feeds中的软件包大约需要2.1GB的空间用于存放下载来的源代码。
  • 构建OpenWrt并生成固件文件需要大约3-4 GB的空间。
  • 编译OpenWrt需要大约1-4 GB的内存。

安装依赖(Ubuntu 14.04 LTS)

sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3.5 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib linux-libc-dev:i386 curl

在Linux上的安装步骤

1. 请使用一个非root用户来完成这些工作!
2. 这里的所有命令都在OpenWrt编译系统的根目录下运行(例如~/openwrt/trunk/
3. 编译系统的绝对路径中不能含有空格!
4. 如果你使用root用户下载了源码,请把你下载来的源码的所有者更改为一个非root用户。(sudo chown -R user:user /openwrt/)

  • 安装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
  • 通过git来下载OpenWrt bleeding edge(trunk版本):(参见Downloading Sources以获得更多选择):
git clone git://github.com/openwrt/openwrt.git

这将会创建’openwrt’这个目录。这个目录将会是OpenWrt的编译主目录。
OpenWrt的交叉编译工具链也已经被包含在内。

  • OpenWrt源码更新频繁 ,进入工作目录执行(非更新不必操作此步骤)
git pull
  • 进入工作目录更新源和安装下载好的包

cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a

运行下面的命令(3选1!)让OpenWrt编译系统检查你的编译环境中缺失的软件包:
make menuconfig (推荐使用此命令)
或者
make defconfig
或者
make prereq
//如果以上3个命令都运行了,编译会出错!
在菜单里选择你想要编译的软件包和CPU型号。

  • 编译,make -j1 V=s // -j4使用四个线程编译,速度快。 V=s可以看到详细的编译过程和错误信息
  • 第一次编译推荐使用单线程,后续编译使用多线程

  • 上面是详细教程说明,依赖安装完成后,可以直接使用下方命令直接使用

第一次编译 命令执行

git clone git://github.com/openwrt/openwrt.git 下载源码
cd openwrt 进入项目目录
./scripts/feeds update -a && ./scripts/feeds install -a  更新feeds
make menuconfig   进入编译配置菜单
make download V=s 预先下载所需包
make -j1 V=s   首次编译建议使用单线程,开始编译

第二次编译 命令执行

在下次编译其他固件的时候,使用如下命令

cd openwrt 进入项目目录
git pull 更新源码
./scripts/feeds update -a && ./scripts/feeds install -a  更新feeds
rm -rf ./tmp && rm -rf .config 清除编译配置和缓存
make menuconfig 进入编译配置菜单
make download V=s 预先下载所需包
make -j5 V=s   一般为机器线程数+1,开始编译

国内编译慢问题

vim ~/.bashrc 编辑代理文件
export ALL_PROXY=socks5://192.168.1.2:1080 //最好一行添加代理地址
source ~/.bashrc 生效

编译后路径

  • 项目目录/bin/targets/芯片厂商/芯片型号
  • 找到结尾为:-squashfs-sysupgrade.bin 的文件,这个就是刷机包
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇