openwrt是嵌入式设备上运行的linux系统。OpenWrt 的文件系统是可写的,开发者无需在每一次修改后重新编译,是目前比较流行的路由器系统,编译后3-4M左右。编译服务器最好选用Ubuntu,以下在Ubuntu12.10下编译成功。
1. 安装基础软件
sudo apt-get install subversion libtool autoconf automake gcc-multilib bison screen gcc g++ binutils patch bzip2 flex make gettext unzip libc6 git-core git build-essential libncurses5-dev zlib1g-dev gawk quilt asciidoc libz-dev
2. 下载源码
svn co svn://svn.openwrt.org.cn/dreambox/trunk openwrt
3. 安装扩展
cp feeds.conf.default feeds.conf #配置软件源 ./scripts/feeds update -a #更新软件源 ./scripts/feeds install -a #安装软件源
4. 内核定制
make V=s defconfig #测试编译环境
错误:undefined reference to `kconf_id_lookup'
Ubuntu15内核太新,导致出现该错误,建议选用ubuntu12进行编译。
make menuconfig #定制编译环境
选择编译项:
#Target
Target System -- Atheros AR7xxx/AR9xxx
Target Profile -- TP-LINK TL-WR842N/ND
#SDK
Build OpenWrt SDK #SDK
Build OpenWrt Toolchain #工具包,开发程序
#LuCI
LuCI -- Collections -- luci #web管理界面(Lua configuration interface),lua编写的
LuCI -- Translations -- luci-i18n-chinese #中文包
LuCI -- Applications -- luci-app-ddns #添加ddns
#Sys
Base System -- block-mount #USB挂载
Kernel modules -- Filesystems -- kmod-fs-ext4 #硬盘支持
Kernel modules -- USB Support -- kmod-usb-storage-extras #USB扩展支持
Utilities -- Filesystem -- badblocks #自动挂载工具
5. 编译
make 或 make V=99(推荐)
错误:
1. Could not resolve hostname `svn.nomi.cz'
该源被墙了,无法访问到该域名。
vi package/hotplug2/Makefile
PKG_SOURCE_URL:=http://svn.nomi.cz/svn/isteve/hotplug2 该域名不存在。搜索发现可通过googlecode下载hotplug2,地址:http://hotplug2.googlecode.com/svn/trunk。该地址被墙了,需FANQIANG下载到本地,搭建自己的SVN服务器。修改Makefile指向本机,修改PKG_VER=1即可。
生成的固件在 bin/ar71xx目录下,名称为:
ar71xx/openwrt-ar71xx-generic-tl-wr842n-v1-jffs2-factory.bin
ar71xx/openwrt-ar71xx-generic-tl-wr842n-v1-squashfs-factory.bin
jffs2适合断电的系统
squashfs把ROM压缩到一个文件进路由器,官方推荐squafs,因为这种格式就算配置乱了还可以恢复刷机后的出厂设置,二是压缩后节省空间。
手里的路由是原版固件需要刷OpenWrt需要选用XXX-factory.bin固件,如果路由已经刷了OpenWrt,选用升级固件XXXX-sysupgrade.bin,在升级界面升级即可。
6. 烧录固件
web管理界面上传固件,并更新。注:家用路由器大部分都不支持刷openwrt,因为flash等配置较低所致。笔者TP-LINK WR720N就成砖了。
首次安装OpenWrt后,需要设置密码才可以使用SSH登录,方法是使用telnet登录或者Web登录设置密码。
方法一:telnet
telnet 192.168.1.1
passwd#设置root密码
方法二:管理界面,修改页面
system->administration->SSH Access。开启SSH后,telnet默认关闭
终端登录:
ssh root@192.168.1.1
还能终端操作,简直就是个小电脑,兴奋的感觉有木有,拿来做傻瓜路由器大材小用了。
7. 安装程序
scp hello root@192.168.1.1:/root
8. 包管理器
opkg 是openWrt提供的软件包管理器。
opkg update | install | remove #安装删除软件包
opkg install hello.ipk #处理.ipk后缀的软件包
9. 自定义管理页面
luCI 是路由器的web管理界面,如果对原生的页面不满意,可随意定制。管理页面是Lua语言编写的CGI服务。
主目录:/www
修改OpenWrt版本信息:
/etc/openwrt_release/version.lua
内容模板:
/view/themes/openwrtcn/header.htm 修改map
/view/themes/openwrtcn/footer.htm 修改footer
Logo:
/luci-static/openwrtcn/logo.jpg Logo替换
下图是从某宝上淘的路由器
相关推荐
自己整理的openwrt编译make menuconfig配置 使用说明: make menuconfig直接按照表格一选择即可,选项按颜色设定 白色字体项可以不选,为附加功能,按需选择 黑色字体项在配置里部分项默认选中,带标注的按需...
OpenWrt的编译框架基于Makefile系统,允许开发者通过修改配置文件来选择要编译的软件包,定制系统功能。`feeds.conf`文件用于定义外部源仓库,使得开发者可以从这些源获取并编译额外的软件包。此外,OpenWrt还提供了...
"Openwrt编译辅助脚本2.7.zip" 是一个专为简化OpenWrt编译过程而设计的工具包,其目的是帮助用户更轻松地完成OpenWrt的源码编译工作。 在OpenWrt的编译过程中,用户通常需要执行一系列复杂的命令行操作,包括设置...
以下将详细介绍OpenWrt编译环境的搭建和编译方法。 一、安装开发系统 在开始搭建OpenWrt编译环境前,首先需要一个支持Linux操作系统的开发机,常见的选择有Ubuntu、CentOS等。确保系统是最新版本,以便获取最新的...
### OpenWRT编译全过程详解 #### 一、前言 OpenWRT 是一款基于 Linux 的开源路由器固件项目,其强大的定制能力和扩展性使其成为众多 DIY 爱好者和网络开发者的首选。本文将详细介绍如何从零开始编译 OpenWRT 的...
OpenWRT编译LUCI插件说明. LuCI Applications luci-app-autoreboot 支持计划重启 LuCI Applications luci-app-bcp38 BCP38网络入口过滤(不确定) LuCI Applications luci-app-bird4 Bird4服务(未知) LuCI ...
### OpenWRT编译实操过程详解 #### 一、前言 OpenWRT是一款基于Linux的开源操作系统,主要用于嵌入式设备。它不仅支持多种处理器架构(如ARM、PowerPC和MIPS),而且提供了丰富的软件包,允许用户根据需求自定义...
"openwrt编译所需gz文件集合" 提供了一系列压缩包,这些文件通常包含了编译OpenWRT过程中可能需要的各种组件和库。 在OpenWRT的编译过程中,开发者或者爱好者需要下载源代码、依赖库以及特定的固件镜像等。`gz`文件...
### OpenWrt编译操作手册知识点详解 #### 一、OpenWrt开发流程概述 **OpenWrt** 是一种基于Linux内核的开源嵌入式操作系统,主要用于路由器和其他网络设备。它提供了高度可定制的功能,使得开发者可以根据特定需求...
OpenWrt-Toolchain-ramips-mt7688_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64
OpenWrt 编译教程 OpenWrt 是一个基于 Linux 的开源嵌入式操作系统,广泛应用于路由器和其他嵌入式设备。本教程将详细介绍如何在Linux环境下编译OpenWrt,以便自定义和优化你的固件。 一、安装编译环境 在开始...
openwrt初学 中文注解。适合初学openwrt编译,所有选项的功能应用。
### OpenWRT在Ubuntu环境下的编译教程 ...虽然本文介绍的方法相对简单,但初次接触OpenWRT编译的新手可能会遇到各种问题。建议参考官方文档和其他社区资源,不断实践和学习,以便更好地掌握OpenWRT的定制与编译技巧。
OpenWRT编译LUCI插件说明2019.10.xlsx,OpenWRT编译LUCI插件说明EXCEL版方便标注编译时选择适合自己的插件
这个压缩包里面包含了在openwrt交叉编译nginx-1.8.0所需要的Makefile和patch。 作为文章http://blog.csdn.net/ping1214/article/details/45397729的附件。
OpenWrt编译文档旨在指导用户如何使用OpenWrt 14版本的源码树进行编译,并指导用户如何定制OpenWrt固件以适应特定的硬件平台或满足特殊需求。 ### 路由器入门 #### 安装与配置 文档首先介绍了路由器的基本入门...
openwrt固件编译新手教程
OpenWrt环境下编译fcgiwrap的源代码,内含其所依赖的fcgi包源代码,将文件 解压到OpenWrt-SDK的package目录下即可执行Make V=s完成整个编译过程,生成的ipk文件可直接安装到相应的路由器中,然后就可以用nginx取代原...
OpenWRT 编译流程及 VM 运行详解 OpenWRT 是一个嵌入式的 Linux 发行版,可以提供一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许您自定义的设备,以适应任何应用程序。本文将详细阐述 OpenWRT...
'跟着佐大学OpenWrt开发入门培训班'适合学生、爱好者、职场新人,入门班主要作用是带大家梳理知点从整体上认识OpenWrt。授课方式采用的是观看预录的视频,你可以在任意时间段内观看。配合线上的答疑,可以让你更快的...