本人小白一枚,前几天开始接触OPENWRT,在此之前就看过网上的有关(OPENWRT)OP的文章,关于OP的发展历程,可以查阅相关的资料。个人感觉OP是个十分强大的东西,有很多好玩的东西,奈何人生苦短,知识太多,学不过来,只好学多少用多少。

下面是个人在接触OP的一些曲折历程,各路大牛可以忽略,若有说错请指正。

OP编译过程可以参考wiki:https://wiki.openwrt.org/zh-cn/doc/howto/buildroot.exigence,网站上有对应的叙述。

本次的操作环境是64位的Ubuntu 14.04LTS,路由器是ZBT-WE826-B0,OP版本是CC。

注意事项:

1.在编译过程需要使用非root用户,在Ubuntu系统中默认是非root用户。

2.这里的所有编译指令都是在OpenWrt编译文件的根目录下运行(例如下载源码的解压后的文件夹是openwrt,那么编译目录就是openwrt/)

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

4.如果是使用Root用户下载了源码,请把下载的源码所有者改为一个非root用户。(sudo chowm -R user user /openwrt/)

过程:

1.准备工作:安装编译所需的工具,在终端输入

sudo apt-get update
sudo apt-get install git-core build-essential libssl-dev libncurses5-dev unzip
sudo apt-get install subversion mercurial
sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev 

2.下载源码:需要准备12GB左右的空间,源码体积百兆左右,但是编译过程会产生大量的文件,会使文件夹体积非常大

大部分SVN都是失效的,所以一些老的教程就不能作为参考了,这点要注意。

要是使用git来下载源码。

要下载那个版本可以参考wiki(上面的链接)以CC版本为例,在/home/文件夹下执行

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

如果下载是否,挂上VPN重试,可能在下载和编译过程中遇到下载失败的问题,VPN是一个不错的解决方法。

3.下载完成后,安装可用的"feeds":上述步骤会产生一个名为openwrt的目录,在终端中输入

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

等待下载完成。

4.配置编译选项:

make menuconfig

用方向键、空格(选择,出现M代表编译但不编译到固件,*号表示编译进固件)、按两下esc返回等操作来配置选项,选择硬件平台、CPU型号等选项。ZBT-WE826-B0的配置如下:

选择Package the OpenWrt-base Toolchain是为了有搭建交叉编译环境方便,不是必选的。

此外,勾选LuCI(网页形式的控制台)还是非常必要的。要勾选(前面出现*号):

LuCI-->1.Collections-->luci

别忘记勾选中文:

LuCI-->2.Modules-->Translations-->Chinese(zh-cn)

最后Save,退出。

以上是基本的固件编译,如果需要其他功能,要再勾选或添加。

5.编译:执行命令

make V=s
make V=99

6.得到固件:

经过上述命令后没有错误提示就表示编译固件成功了,固件在bin目录下的target目录下。

如我的编译后的固件如下图所示,因为我编译过两次不同的flash大小的固件,所以会有两个固件,烧录固件只需要把对应的固件更新到路由器上即可,可以通过web方式和ssh等方法,目前我只用到过web和ssh方式。

7.烧录

通过web方式更新固件(注意第一次刷openwrt系统的步骤会复杂些,我的路由器拿到时就是OP系统的了,所以下面的方式可能不适合初次刷OP系统的朋友,慎重),通过web更新的固件的方式最简单和方便直接连接上路由器进入路由器管理页面,选择系统更新的选项即可。

然后选择Flash image就会进入一个确定界面选择proceed就可以开始升级OP固件,注意要是系统检测到格式不对是不允许进行升级的,所以不用担心刷错固件。

到此小白入门OP就是这样了。

OPENWRT系统学习系列之一(系统源码到编译固件和烧录固件)相关推荐

  1. Android FrameWork学习(一)Android 7 0系统源码下载 编译

    最近计划着研究下 Android 7.0 的系统源码,之前也没做过什么记录,这次正好将学习的内容记录下来,方便以后复习巩固. 既然要学习我们的系统源码,那我们第一步要做的就是下载源码并进行编译了. # ...

  2. java毕业生设计紫陶文化传播与学习交流网站计算机源码+系统+mysql+调试部署+lw

    java毕业生设计紫陶文化传播与学习交流网站计算机源码+系统+mysql+调试部署+lw java毕业生设计紫陶文化传播与学习交流网站计算机源码+系统+mysql+调试部署+lw 本源码技术栈: 项目 ...

  3. 基于JAVA计算机类专业考研交流学习平台计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA计算机类专业考研交流学习平台计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA计算机类专业考研交流学习平台计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目 ...

  4. 基于JAVA计算机在线学习管理系统-计算机毕业设计源码+系统+mysql数据库+lw文档+部署

    基于JAVA计算机在线学习管理系统-计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA计算机在线学习管理系统-计算机毕业设计源码+系统+mysql数据库+lw文档+部署 本源码技 ...

  5. java毕业生设计学习资源下载管理计算机源码+系统+mysql+调试部署+lw

    java毕业生设计学习资源下载管理计算机源码+系统+mysql+调试部署+lw java毕业生设计学习资源下载管理计算机源码+系统+mysql+调试部署+lw 本源码技术栈: 项目架构:B/S架构 开 ...

  6. 基于JAVA智友少儿编程学习平台计算机毕业设计源码+系统+数据库+lw文档+部署

    基于JAVA智友少儿编程学习平台计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA智友少儿编程学习平台计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构:B/S架构 ...

  7. java计算机毕业设计web硕士研究生招生考试专业报考查询及学习系统设计与实现源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计web硕士研究生招生考试专业报考查询及学习系统设计与实现源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计web硕士研究生招生考试专业报考查询及学习系统设计与实 ...

  8. java毕业生设计学习社区管理系统计算机源码+系统+mysql+调试部署+lw

    java毕业生设计学习社区管理系统计算机源码+系统+mysql+调试部署+lw java毕业生设计学习社区管理系统计算机源码+系统+mysql+调试部署+lw 本源码技术栈: 项目架构:B/S架构 开 ...

  9. 基于JAVA网络学习平台计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA网络学习平台计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA网络学习平台计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

最新文章

  1. 认识一下Kotlin语言,Android平台的Swift
  2. Kaggle心得(二)
  3. [BZOJ2342] [Shoi2011]双倍回文(manacher)
  4. python3.6使用mysql_Python之——Python3.6连接MySQL
  5. Java-instanceof和类型转换
  6. mysql 忘记密码
  7. 三条中线分的六个三角形_解读三角形中的三边关系和三条线段的应用
  8. 图像算法八:【图像分割】边缘检测(Roberts,Sobel,canny)、霍夫变换(hough)、阈值分割、区域分割
  9. java获取当前时间sql_JAVA中获取当前系统时间
  10. 免费下载全球SRTM高程数据(hgt格式)
  11. Java同步和异步,阻塞和非阻塞
  12. keil出现同一个宏定义赋值在多个文件中结果不一致问题
  13. Python实现Local Reed-Xiaoli(LRX)高光谱目标检测算法
  14. EOJ 1864 二分图匹配
  15. php总结与展望_2018年的总结划下句号,展望2019
  16. nginx proxy_pass匹配路径
  17. Excel根据出生日期判断生肖,Leo老师来教你!
  18. 跨域问题的解决-gateway跨域接解决方案,使用CorsWebFilter
  19. [朝花夕拾]一个菜鸟从高一到大二的作品整理
  20. C语言计算圆周长和面积

热门文章

  1. Cesium 根据经纬度获取地形高程
  2. 制作拼多多app网页css,5+App下Mui框架开发仿拼多多App
  3. 逻辑左移、逻辑右移、算术左移、算术右移区别
  4. nmn吃第一天有什么感觉,吃完nmn的反应,一点点体会
  5. 数据库插入数据报错Unknown error finalizing or resetting statement (19: UNIQUE constraint failed:xxx.xxx)
  6. STM32F103单片机控制SG90舵机
  7. 二阶常系数齐次线性微分方程的解法
  8. vscode 学习(四)如何设置右键使用vscode打开
  9. Julia 构建对角矩阵 diag matrix
  10. 2021年第一季度中国电竞行业网络关注度分析报告