s805编译openwrt
⑴ openwrt编译固件过大
会超过对应设备的存储空间。openwrt编译固件过大会超过对应设备的存储空间。需要注意的是不同的设备对应的存储空间大小是不一样的。
⑵ 如何编译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。
⑶ openwrt怎么编译自定义内核模块啊
开发环境为ubuntu.首先搭建编译环境。
sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev gawk asciidoc libz-dev git-core build-essential libssl-dev
下面就是下载源码,源码分两种,一种是最新版但不稳定,就是trunk版,一种是相对稳定版,
如果不是最新下载,最好定期更新代码,命令为
./scripts/feeds update –a
./scripts/feeds install –a
接着就是编译了。编译方法如下:
make defconfig
make menuconfig进入定制界面,选择自己的设备类型。
make V=99
下面就是增加内核模块的方法了
进入package目录,创建模块目录
cd backfire/package
mkdir example
进入example目录,创建Makefile文件和代码路径
cd example
touchMakefile
mkdir src
⑷ 【路由器】OpenWrt 手动编译 ipk
.ipk 文件是可以通过 OpenWrt 的包管理软件 opkg 直接安装,好比 .deb 文件与 apt 的关系。虽然官方的软件仓库已经很丰富了,但是有时仍然需要从源码编译一些第三方的软件使用,例如锐捷认证等
但是由于路由器平台通常与常用的服务器或者个人 PC 的处理器架构不同,并且路由器的处理器本身性能较弱,几乎不可能直接在路由器上进行编译生成 .ipk 文件,因此需要交叉编译来实现
而官方的 OpenWrt 仓库就提供了一个方便使用的交叉编译环境
以 Debian / Ubuntu 为例,参考 官网给出的要求 ,可以通过下面命令来进行安装依赖包
安装/更新好这些依赖之后,就可以通过 git 拉取 OpenWrt 仓库了
通常由于仓库较大以及网速问题,可能会需要很久,其实可以通过 --depth 来限制拉取的仓库深度,或者通过镜像站来加速拉取,当然也可以两者同时采用
进入 openwrt 仓库后,首先需要更新软件包列表 feeds ,它是在 OpenWrt 中共用位置的包的集合。运行以下命令即可更新内置软件包列表并链接到编译工具中:
通常使用图形化菜单界面来进行配置编译选项,依次配置处理器架构、具体的处理器型号以及设备
以小米 mini 路由器为例,应该将他们配置成如下图所示
这一步就是获取对应设备交叉编译所需的编译链
可以先搜索有没有已经配置好的含有 Makefile 的仓库,有了适配过的 Makefile 文件就可以很方便的来编译源码生成 .ipk 文件了
以 minieap 为例, github 上有已经完成的仓库,依次可以直接拉取来编译
在拉取完成仓库后,就可以再次配置编译选项,将需要编译成 .ipk 的功能配置成模块编译,也就是标记成 M
对于 minieap 来说,在 Network 找到对应选项并配置成 M 即可,如下图
配置完成后就可以进行编译了,编译命令也很简单,以 minieap 为例如下所示
编译完成后, .ipk 文件会生成在 ./bin/packages/<YourArchitecture>/base 目录下,将其拷贝到路由器上就可以通过 opkg 进行安装使用了
⑸ 如何编译openwrt,无线默认打开和修
Openwrt无线开启,需要在编译前修改源码,更详细的请去恩山论坛用搜索功能:
atheros的网卡需要改package/kernel/mac80211/files/lib/wifi/mac80211.sh
拉到最下有个蛋疼的
$ht_capab
option disabled 1 改为 0 即可
option txpower 10
option htmode HT40-
option noscan 1
config wifi-iface
option ssid 你的ssid
option encryption psk2+ccmp
option key 你的无线密码
⑹ Openwrt 固件编译怎么样添加patch 去修改一些默认配置
您好,我来为您解答:
wifi默认开启要改package/kernel/mac80211/files/lib/wifi/mac80211.sh 你打开这个文件然后拉到最底下就会明白的。
luci默认中文啊……我是改了luci-i18n-chinese的uci-defaults,怎么动我忘了……现在不在家,晚上看看……
在源码根目录下新建一个files文件夹,然后所有你希望放进固件的文件都可以放到这里,编译固件后这些东西会全部被拷贝进固件里。(比如你希望在/etc/下放一个叫做a的文件你只要创建一个files然后在这个文件夹里面新建etc文件夹,把a文件放到里面就行。)
希望修改配置文件的话比较和谐的办法是一个一个找配置文件的位置并进行修改。而比较暴力的办法就是直接用上一行的方法覆盖配置文件……弄不好会有一点后遗症……
如果我的回答没能帮助您,请继续追问。
⑺ 如何编译自己的openwrt中文固件
今天路由固件的世界几乎都是linksys WRT54G 开创出来的, 这个型号的固件开源之后,逐渐衍生出来今天的强尽的DDWRT/tomato/openwrt固件。linksys WRT54G 是博通的芯片。 正是因为这个历史原因,DDWRT/tomato/openwrt固件 对博通芯片的支持最好,对其他的芯片比较差, 或者根本不支持其他的芯片。 个人认为,3个固件里面,tomato的用户体验相对最好。但是仅仅支持博通芯片。DDWRT对博通芯片的支持好, 对一些athero也可以,对螃蟹的支持很差。但是DDWRT固件过于陈旧,比 tomato落后很多。openwrt固件可以支持很多芯片,但是用户体验相对最差,但是如果想用好openwrt固件,用户需要自己编译openwrt固件适应各种芯片/功能,或者说用户需要具有独立开发新产品的能力。国内的很多垃圾路由原厂固件就是盗用的openwrt固件,开发的时候把硬件要求降到最低,一旦售出,概不维护。因为没有优秀固件的连续支持,找到螃蟹的好芯有啥意义,难道您想帮螃蟹开发维护固件。用户需要的功能来自于优异的固件。但是目前看来,优秀固件的只支持博通的芯片。难道您的仓库里积压了太多的螃蟹芯片路由,需要用新手上路的第一贴,来论坛打软广告。
