openwrt18固件编译
A. 如何编译openwrt固件
朋友你好,想要编译oPEnwrt的固件需要用到编程技术,必须要有很高的计算机技术才可以进行编译
B. 如何将openwrt ipk包直接编译到固件
如果你只是要编译一个自定义的固件(默认带什么软件,不带什么软件,自定义默认的配置等等),那推荐你用ImageBuilder,简单快速,省心省力 你要是需要自己开发软件包,用OpenWRT的SDK,直接出ipk文件 要完全重写就buildroot
C. openwrt怎么编译指定的目标版
编译流程
编译专属于您的设备的特定Openwrt固件以一下五个步骤:
通过Subversion命令获得源代码;
更新(或安装) package feeds[package feeds无法确切翻译,待译吧);
创建一个默认配置以检查编译环境是否搭建好了 (假如需要的话);
用Menuconfig来配置即将编译生成的固件映像文件的配置项;
最后开始编译固件;
D. 怎么在ubuntu系统上编译定制openwrt固件
搭建编译环境 Ubuntu x64 12/openwrt/trunk/ trunk是openwrt的开发版,openwrt有好几个分支,要编译其它分支,sun://后的换为相应的地址即可。 建立openwrt文件夹是为了方便存放不同分支的代码,如果你不需要,可以省略“mkdir openwrt”及“cd openwrt”。 如果svn的速度慢,可以使用openwrt的第三方镜像,比如国内的openwrt中文论坛所建的镜像。 更新feed及添加package openwrt的一些额外功能都是通过package实现的,很多个package就组成了一个feed,我们可以根据需求更新自己想要的feed的源。 例如我们需要luci的web管理界面和python的支持,那么我们需要更新luci和packages的feed源: cd trunk ./scripts/feeds update luci packages ./scripts/feeds install luci packages 当然,我们推荐更新所有feed并添加所有package ./scripts/feeds update -a ./scripts/feeds install -a 配置及编译 进入配置界面 make menuconfig 以后再次编译时,要先切换到工作目录: cd openwrt cd trunk 然后在次过程中选择好target system和target profile,target system需要看你路由器的cpu芯片信息,target profile是你路由器的型号。接下来就可以根据自己的需求进行定制了,添加上需要的支持或去掉无用的包,按“Y”在固件中添加包按“Y”,按“N”去 掉不需要的包。 要运行OH3C,必须有python-mini(lang->python->python-mini)的支持。 如果你的路由器flash空间比较紧张,可以去掉下面的包: Kernel moles->Network Support->kmod-ppp Network->ppp 选好后就保存配置退出开始编译了: make -j -j 后面可以跟参数,即同时进行的任务数,比如2或4,不跟参数意为不限制同时进行的任务数,会大大减少编译的时间,特别是首次编译。 编译过程中可能不会下载一些东西,所以断网可能造成编译中断,编译所需时间与你的CPU及网速有很大关系,一般首次编译在40分钟到2小时之间不等。以后的编译一般在30分钟之内。
E. Openwrt 固件编译怎么样添加patch 去修改一些默认配置
--- a/libs/web/root/etc/历迟坦config/luci 2009-09-10 16:05:56.000000000 +0800
+++ b/libs/web/root/etc/config/旦桐luci 2012-10-30 11:18:41.732607000 +0800
@@ -1,5 +1,5 @@
config core main
- option lang auto
+ option lang zh_cn
option mediaurlbase /luci-static/openwrt.org
option resourcebase /luci-static/肢桐resources
aa的话是放在/feeds/luci/luci/patches/123.patch
F. Openwrt 固件编译怎么样添加patch 去修改一些默认配置
wifi默认开启要改package/kernel/mac80211/files/lib/wifi/mac80211.sh 你打开这个文件然后拉到最底下就会明白的。
luci默认中文啊……我是改了luci-i18n-chinese的uci-defaults
在源码根目录下新建一个files文件夹,然后所有辩改你希望放进固件的文件都可以放到这里,编译固件后这些东西会全部被拷贝进固件里。(比如你希望在/etc/下放一个叫做a的文件你只要创建一个files然后在这个文件夹里面搏灶庆新建etc文件夹,把a文件放到里面就行。)
希望修改配置文件的话比较和谐的办法是一个一个基握找配置文件的位置并进行修改。而比较暴力的办法就是直接用上一行的方法覆盖配置文件……弄不好会有一点后遗症……
G. 如何编译OpenWrt
搭建编译环境。编译建议在Linux下进行。我的系统是Linux mint 17,执行以下命令,构建编译环境:
sudo apt-get update
sudo apt-get install git-core build-essential
获取openwrt源码。在当前用户主目录下执行
git clone git://git.openwrt.org/openwrt.git
等待代码下载。结束后,目录下会出现openwrt文件夹。
配置软件源。进入openwrt目录,执行
./scripts/feeds update -a
./scripts/feeds install -a
检查编译环境是否完整:
make defconfig
make prereq
根据提示信息安装需要的软件包。如果提示类似
“tmp/.config-package.in:22022:warning: multi-line strings not supported”
的信息,打开 openwrt/tmp/.config-package.in,定位到对应行,添上丢掉的一个引号就可以了。
编译选项:
执行 make menuconfig,根据路由器情况,选择 Target System 和 Subtarget。如意云一代和极壹S的 Target System 均为 Ralink RT288x/RT3xxx 。对于Subtarget ,前者为 MT7620n based boards ,后者为 MT7620a based boards。
其他选项根据个人喜好选择。一般来说要选中LuCI界面,选中中文语言包等等。
开始编译:
执行 make -j2 V=s 进行编译。-j后面的数字是电脑物理CPU数量加一。V=s可以显示出编译的详细信息。首次编译大概需要几个小时的时间。
错误排查:
编译失败,一般有两种情况:
1.代码下载链接失效。首次编译时,编译程序会实时从网上下载一些软件包的代码。如果下载链接失效,编译就会失败。这时需要根据软件包的名称,从网上自行下载,然后放在 openwrt/dl/ 目录下,执行 make -j2 V=s 继续编译即可。
2.软件包自身有问题。这时重新执行 make menuconfig ,取消对应软件包选中即可。这种情况比较少见,目前已知的有 tor 等。
编译成功,但没有生成固件。这种情况一般是因为选中的软件包过多,导致固件大小超过16MB。重新执行 make menuconfig,去掉一些软件包,重新执行编译即可。
得到固件。在排除了所有错误后,现在终于得到了固件。对于如意云RY-1,固件在 openwrt/bin/ramips 目录下,形如
openwrt-ramips-mt7620n-rt-n14u-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-wrtnode-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-mlw221-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-wr8305rt-squashfs-sysupgrade.bin
等等。
H. 如何编译OpenWrt
准备工作
在开始编译Openwrt之前需要您做些准备工作;与其他编译过程一样,类似的编译工具和编译环境是必不可少的:
一个构建OpenWrt映像的系统平台,简单说就是准备一个操作系统(比如Ubuntu、Debian等);
确保安装了所需的依赖关系库, (在debian系统中就是安装各种需要的软件包)
OpenWrt源代码副本
首先, 开机登陆到支持编译Openwrt的操作系统(废话了)。实体机或者虚拟机(Vmware 或者 Qemu)里的操作系统都行,这里推荐使用Linux系统。 bsd和mac osx系统也可以编,但不推荐,且未验证是否可编译成功。下文假定您使用的是Debian操作系统,使用 apt-get 来管理包. 替代的选择是 Ubuntu (分支 Kubuntu, Xubuntu 等即可)。
第二步, 就是安装所需要的各种软件包, 包括编译器,解压工具,特定的库等. 这些工作可以简单的通过键入以下命令 (通常需要root 或者是 sudo 权限),以root权限安装下列软件包(可能并不完整,会有提示,提示缺少即装就可以了):
32位(x86)请执行下列命令:
# apt-get install build-essential asciidoc binutils bzip2 gawk gettext \
git libncurses5-dev libz-dev patch unzip zlib1g-dev
64位(x86_64)请执行下列命令(多装了哪些库或软件包呢?请您仔细看一看哦):
# apt-get install build-essential asciidoc binutils bzip2 gawk gettext \
git libncurses5-dev libz-dev patch unzip zlib1g-dev ia32-libs \
lib32gcc1 libc6-dev-i386
参考 本列表中 所列的编译环境所需要软件包或库。
某些依赖的为库或软件包也许操作系统中已经安装过,此时apt-get会作出提示(提示您忽略或重新安装的),别紧张,放轻松些,编译Openwrt不会像编译DD-WRT那样难的(至少本人是体会到了编译DD-WRT的难)。
最后下载一份完整的 Openwrt 源码到编译环境中。关于Openwrt的源代码下载,途径有二,一是通过 svn ,一是通过 git,建议使用 svn ,因为Openwrt主要以 svn 来维护Openwrt系统的版本。另外,请注意Openwrt中不同的分支版本,一个是用得较多的开发快照,俗称 trunk,二是稳定版,俗称 backfire。
I. 如何编译自己的openwrt中文固件
今天路由固件的世界几乎都是linksys WRT54G 开创出来的, 这个型号的固件开源之后,逐渐衍生出来今天的强尽的DDWRT/tomato/openwrt固件。linksys WRT54G 是博通的芯片。 正是因为这个历史原因,DDWRT/tomato/openwrt固件 对博通芯片的支持最好,对其他的芯片比较差, 或者根本不支持其他的芯片。 个人认为,3个固件里面,tomato的用户体验相对最好。但是仅仅支持博通芯片。DDWRT对博通芯片的支持好, 对一些athero也可以,对螃蟹的支持很差。但是DDWRT固件过于陈旧,比 tomato落后很多。openwrt固件可以支持很多芯片,但是用户体验相对最差,但是如果想用好openwrt固件,用户需要自己编译openwrt固件适应各种芯片/功能,或者说用户需要具有独立开发新产品的能力。国内的很多垃圾路由原厂固件就是盗用的openwrt固件,开发的时候把硬件要求降到最低,一旦售出,概不维护。因为没有优秀固件的连续支持,找到螃蟹的好芯有啥意义,难道您想帮螃蟹开发维护固件。用户需要的功能来自于优异的固件。但是目前看来,优秀固件的只支持博通的芯片。难道您的仓库里积压了太多的螃蟹芯片路由,需要用新手上路的第一贴,来论坛打软广告。