`
tcspecial
  • 浏览: 906612 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

openwrt编译

阅读更多

    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替换

 

下图是从某宝上淘的路由器

 

 

 

 

 

 

  • 大小: 22.1 KB
  • 大小: 94.5 KB
分享到:
评论

相关推荐

    OpenWRT编译make menuconfig配置及LUCI插件说明.xlsx

    自己整理的openwrt编译make menuconfig配置 使用说明: make menuconfig直接按照表格一选择即可,选项按颜色设定 白色字体项可以不选,为附加功能,按需选择 黑色字体项在配置里部分项默认选中,带标注的按需...

    openwrt编译框架分析1

    OpenWrt的编译框架基于Makefile系统,允许开发者通过修改配置文件来选择要编译的软件包,定制系统功能。`feeds.conf`文件用于定义外部源仓库,使得开发者可以从这些源获取并编译额外的软件包。此外,OpenWrt还提供了...

    Openwrt编译辅助脚本2.7.zip

    "Openwrt编译辅助脚本2.7.zip" 是一个专为简化OpenWrt编译过程而设计的工具包,其目的是帮助用户更轻松地完成OpenWrt的源码编译工作。 在OpenWrt的编译过程中,用户通常需要执行一系列复杂的命令行操作,包括设置...

    OpenWrt编译环境搭建和编译方法

    以下将详细介绍OpenWrt编译环境的搭建和编译方法。 一、安装开发系统 在开始搭建OpenWrt编译环境前,首先需要一个支持Linux操作系统的开发机,常见的选择有Ubuntu、CentOS等。确保系统是最新版本,以便获取最新的...

    openwrt编译全过程(超详细)

    ### OpenWRT编译全过程详解 #### 一、前言 OpenWRT 是一款基于 Linux 的开源路由器固件项目,其强大的定制能力和扩展性使其成为众多 DIY 爱好者和网络开发者的首选。本文将详细介绍如何从零开始编译 OpenWRT 的...

    OpenWRT编译LUCI插件说明2018.12.xlsx

    OpenWRT编译LUCI插件说明. LuCI Applications luci-app-autoreboot 支持计划重启 LuCI Applications luci-app-bcp38 BCP38网络入口过滤(不确定) LuCI Applications luci-app-bird4 Bird4服务(未知) LuCI ...

    openwrt 编译实操过程(绝对货真价实)

    ### OpenWRT编译实操过程详解 #### 一、前言 OpenWRT是一款基于Linux的开源操作系统,主要用于嵌入式设备。它不仅支持多种处理器架构(如ARM、PowerPC和MIPS),而且提供了丰富的软件包,允许用户根据需求自定义...

    openwrt编译所需gz文件集合

    "openwrt编译所需gz文件集合" 提供了一系列压缩包,这些文件通常包含了编译OpenWRT过程中可能需要的各种组件和库。 在OpenWRT的编译过程中,开发者或者爱好者需要下载源代码、依赖库以及特定的固件镜像等。`gz`文件...

    【OpenWrt编译工具链】mipsel-openwrt-linux-gcc

    OpenWrt-Toolchain-ramips-mt7688_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64

    openwrt 编译操作手册

    ### OpenWrt编译操作手册知识点详解 #### 一、OpenWrt开发流程概述 **OpenWrt** 是一种基于Linux内核的开源嵌入式操作系统,主要用于路由器和其他网络设备。它提供了高度可定制的功能,使得开发者可以根据特定需求...

    初级Openwrt编译详细教程.docx

    OpenWrt 编译教程 OpenWrt 是一个基于 Linux 的开源嵌入式操作系统,广泛应用于路由器和其他嵌入式设备。本教程将详细介绍如何在Linux环境下编译OpenWrt,以便自定义和优化你的固件。 一、安装编译环境 在开始...

    openwrt编译注解(全)

    openwrt初学 中文注解。适合初学openwrt编译,所有选项的功能应用。

    OpenWRT编译

    ### OpenWRT在Ubuntu环境下的编译教程 ...虽然本文介绍的方法相对简单,但初次接触OpenWRT编译的新手可能会遇到各种问题。建议参考官方文档和其他社区资源,不断实践和学习,以便更好地掌握OpenWRT的定制与编译技巧。

    OpenWRT编译LUCI插件说明2019.10.xlsx

    OpenWRT编译LUCI插件说明2019.10.xlsx,OpenWRT编译LUCI插件说明EXCEL版方便标注编译时选择适合自己的插件

    Openwrt Nginx交叉编译Makefile/nginx.init/patch

    这个压缩包里面包含了在openwrt交叉编译nginx-1.8.0所需要的Makefile和patch。 作为文章http://blog.csdn.net/ping1214/article/details/45397729的附件。

    openwrt编译文档

    OpenWrt编译文档旨在指导用户如何使用OpenWrt 14版本的源码树进行编译,并指导用户如何定制OpenWrt固件以适应特定的硬件平台或满足特殊需求。 ### 路由器入门 #### 安装与配置 文档首先介绍了路由器的基本入门...

    openwrt固件编译新手教程

    openwrt固件编译新手教程

    OpenWrt环境专用编译源码fcgiwrap解决nginx取代uhttpd问题

    OpenWrt环境下编译fcgiwrap的源代码,内含其所依赖的fcgi包源代码,将文件 解压到OpenWrt-SDK的package目录下即可执行Make V=s完成整个编译过程,生成的ipk文件可直接安装到相应的路由器中,然后就可以用nginx取代原...

    openwrt详细编译流程及VM运行

    OpenWRT 编译流程及 VM 运行详解 OpenWRT 是一个嵌入式的 Linux 发行版,可以提供一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许您自定义的设备,以适应任何应用程序。本文将详细阐述 OpenWRT...

    OpenWrt 开发学习入门视频教程、OpenWrt 编译教程、从零开始学OpenWrt、跟着佐大学OpenWrt开发入门培训班-试听课

    '跟着佐大学OpenWrt开发入门培训班'适合学生、爱好者、职场新人,入门班主要作用是带大家梳理知点从整体上认识OpenWrt。授课方式采用的是观看预录的视频,你可以在任意时间段内观看。配合线上的答疑,可以让你更快的...

Global site tag (gtag.js) - Google Analytics