中易网

有谁知道到关于OpenWrt固件编译开发的入门的书籍在那里买 或者书名叫什么?

答案:3  悬赏:0  
解决时间 2021-02-20 13:41
有谁知道到关于OpenWrt固件编译开发的入门的书籍在那里买 或者书名叫什么?
最佳答案
编译openwrt固件并没有想象的那么复杂,我也是个小白,以下内容是我将网络上的编译教程稍微进行了一下整合。因为我发现很多编译教程没有说明如何更改flash相关配置。

安装ubuntu,不赘述。
注意在安装完成后,root不能直接登录,需要设置密码,设置方法,自己百度一下。

如果是虚拟机安装,将虚拟机的网卡配置为桥接模式;
**************以下操作需要在root用户下操作************************
编辑/etc/networt/option文件夹下的interfaces,将iface eth0 inet dhcp配置为dhcp模式,
然后执行/etc/init.d/networking restar即可自动获取到ip地址(此方法适用于家中或单位使用dhcp获取IP地址的场合,如果为固定地址,请自行研究)。互联网联通以后执行以下:

sudo apt-get update
安装编译需要的组件:
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install binutils
sudo apt-get install patch
sudo apt-get install bzip2
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install make
sudo apt-get install autoconf
sudo apt-get install gettext
sudo apt-get install texinfo
sudo apt-get install unzip
sudo apt-get install sharutils
sudo apt-get install subversion
sudo apt-get install libncurses5-dev
sudo apt-get install ncurses-term
sudo apt-get install zlib1g-dev
sudo apt-get install gawk
sudo apt-get install asciidoc
sudo apt-get install libz-dev
如果编译过程中提示缺少某个组件,同样使用sudo apt-get install安装即可
编译环境搭建完成
**************注意:以下操作需要在自己建的用户下操作************************
mkdir openwrt 创建一个openwrt文件夹
cd openwrt进入openwrt文件夹
svn co svn://svn.openwrt.org/openwrt/branches/backfire
或者svn co svn://svn.openwrt.org/openwrt/trunk下载官网的源码
注:backfire和trunk为两个不同分支的openwrt源码,backfire据说较为稳定,但是支持的路由器没有trunk多,trunk更多称之为测试版,但编译好后使用也没什么问题。编译的时候只需执行以上一条命令即可。执行完成后,会在openwrt下生成目录,使用backfire源码生成backfire目录,trunk同理。
然后cd trunk或者cd backfire
Svn up
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
进入定制界面(里面可以选择芯片的型号,集成的组件等等,根据实际情况选择,多编译几次就熟悉了)
使用make defconfig,检查编译环境,如要报错参考以下:
注:较常见的问题是编译时不能使用root用户编译,如果使用root登录,需要使用su 用户名切换到非root用户;如果切换用户后,报权限错误,再切换到root用户,使用 sudo chown -R [自己用户名] trunk(如果编译的是backfire源码,此处trunk替换为backfire),然后返回自己的用户名,重新进行编译。
make V=99
(开始编译)
剩下的就是等待了,第一次编译需要的时间相对比较长,这个跟你的电脑配置和网速有关。
以上为路由器未更改flash大小的编译过程;如果要编译非标准大小的flash固件,需要更改编译环境中的一些文件,以703N,使用trunk源码编译为例(trunk与backfire需要更改的文件不一样)
新版本trunk,703N编译8M固件需要更改以下两个文件:
1、/turnk/tools/firmware-utils/src/mktplinkfw.c
在mktplinkfw.c中找到703N的相关属性,
.id = "TL-WR703Nv1",
.hw_id= HWID_TL_WR703N_V1,
.hw_rev = 1,
.layout_id= "8Mlzma",(改成8)
2、/trunk/ target/linux/ar71xx/image/Makefile
Makefiel中找到以下内容
$(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR703,tl-wr703n-v1,TL-WR703N,ttyATH0,115200,0x07030101,1,8Mlzma))
将4改成以上的8;

修改完成以上两个文件后,即可make V=99进行编译。

Backfire源码需要改动的文件,第一个与trunk一样,第二个文件位于
openwrt/backfire/target/linux/ar71xx/files/arch/mips/ar71xx目录下,找到对应的设备型号进行更改即可。

编译完成后,在bin/ar71xx目录下会有固件产生,固件名必包含编译的路由器型号,如果没有这两个文件,说明编译失败,有可能为编译时候选择的包太多,需重新选择后进行编译。

以上编译未进行相关配置文件的修改,如想修改配置文件,如默认打开无线等等,请自己百度/google。

注:以上大部分内容均来自互联网,我仅进行了整合。
全部回答
网上有教程的,比如:跟着佐大学OpenWrt。
常用的型号,网上已经很全了,完全没有必要学习,除非你有大量的时间,与精力,开发研究,否则还是算了吧
追问:老实说我我并不需要太深入自要能和plc 和单片机通信就行了接受指令能控制 每个io口的电瓶就行了 能在里面按装摄像头 音频驱动之类的就行了!openwrt对来说是完全陌生你说这这下我到网上去下载 有很多五花八门的乱七八糟的 就就连教程也是啊所以想买书知己慢慢搞懂他。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
妙提宝檀地址在什么地方,想过去办事
怎样把pcb中的顶层布线改到底层布线?
青浦乐活天地怎么样
应用宝上我们的APP每天都有人下载,为什么数
平凉市崆峒区民政局婚姻登记处地址在哪,我要
小明看见农民伯伯在用铁锹挖土时,不时往手上
出国旅游查攻略和酒店等预定在那个网站好
武术qq群名
国资大楼这个地址在什么地方,我要处理点事
QQ游戏围棋盘太小了
在重庆市的发展过程中发挥重要作用的运输方式
辽宁省承认统考的院校
为何新买一年多的抽油烟机没有收到隔油网??
这款王立夫酒的价格是多少?用来招待客户怎么
石家庄工程技术学校好么?
推荐资讯
雷霆战机怎么才能获得黄金战神零件
瑾杰什么意思
酒驾至人死亡所产生的债务属于夫妻共同债务吗
德立名妆(德汇大厦店)怎么去啊,有知道地址的
有谁有洋葱路由器(tor)么?
有一个偷用化妆品,偷拿别人东西的室友怎么破?
农历1998年6月26他的阳历是几号
本田crv换了齿轮油拐弯有响声
annloft的小图死活打不开,怎么回事
张家埫怎么去啊,有知道地址的么
湖南湘怡宁乡石材工厂在什么地方啊,我要过去
创维电视怎样降级系统
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?