openwrt是由Cisco放出源代码的开放无线路由平台。由于是基于linux内核,所以可以将很多linux平台下的软件移植到此平台下,然后让无线路由拥有很多意想不到的功能,例如拿来做BT下载器,音乐播放器,小型数据库处理等等。

环境:

Ubuntu 10.04,subversion,VMware workstation 7.1.3

首先是得到openwrt的源代码。

在Ubuntu下,首先安装上svn工具:

sudo apt-get install subversion

然后装上各种依赖关系包:

sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev

sudo apt-get update

然后进入home目录,建立文件夹:

mkdir openwrt

cd openwrt

然后使用svn命令行checkout出源代码:

svn checkout svn://svn.openwrt.org/openwrt/trunk

进入trunk文件夹:

cd trunk

更新openwrt:

./scripts/feeds update -a

安装所有包:

./scripts/feeds install -a

这个时候,我觉得有必要把LUCI编译进内核,这样就方便以后我们通过web来控制openwrt,而不是通过命令行来控制了。所以加上以下命令:

./scripts/feeds update packages luci

./scripts/feeds install -a -p luci

这样之后,在编译内核时才会出现LUci选项。

由于我没有Linksys系列的路由器,而且只是为了体验openwrt,所以我就把openwrt编译成VMware workstation的磁盘镜像,使用VMware workstation来模拟一台路由的硬件环境。

以下为符合此情况的配置:(由于编译时会继续从网络上下载相应的包,所以一旦开始编译,就不要断开连接。但是遇到很大的包,但是下的很慢的,可以中断过程,使用下载过程去相应的网站上下载之后放入)

首先输入make menuconfig,开始进入内核配置界面:

1. Target System (x86) ---> (X) x86
2. 配目标文件系统为 EXT2
        Target Images ---> [*] ext2
        Target Images ---> [*] Build VMware image files (VMDK)
这样就后面编译时产生可以直接在 VM 上用的虚拟硬盘。

配 Web UI :
1) Base system ---> <*> uci................ Utility for the Unified Configuration Interfa
2) LuCI都选上

3) Network --->
<*> uhttpd........................ uHTTPd - tiny, single threaded HTTP server --->
<*> uhttpd-mod-lua... uHTTPd - tiny, single threaded HTTP server (Lua plugin)
4) make V=99 编译,时间有点长,完后,在 bin/x86/ 就是最后编译出来的文件了。
5) 拷贝 bin/x86/ ,我的全部路径是 /home/longjindong/openwrt/trunk/bin/x86/ 中的 “openwrt-x86-genericcombined-ext2.vmdk”到 XP 电脑上;

XP VM 安装运行 OpenWRT:
1. 创建一个虚拟机
打开 VMware --> New --> Virtual Machine ... --> 下一步 --> 下一步 --> linux 、Other Linux 2.6.x kernel --
> 下一步 --> 这里Vm名和路径可以自己指定 --> 下一步 --> 网络默认“Use bridged networking” --> 下一步 --> 这
里的硬盘大小用默认,反证一会要被删掉 --> 完成;这样在 VMware Workstatio 里有“Other Linux 2.6.x kernel”的虚
拟机了。
2. 加载 OpenWRT 虚拟盘并启动
1) 删创建虚拟机时的虚拟盘
右击 “Other Linux 2.6.x kernel” -- > Setting --> Hard Disk --> Remoe;
2) 加载 OpenWRT 虚拟盘
“Other Linux 2.6.x kernel” -- > Settin --> Add --> Hard Disk --> Next --> Use an existing virtual disk --
> Browse ,选前面 “openwrt-x86-generic-combined-ext2.vmdk” --> Finish.
3) 点 run 按钮就可以开始运行 OpenWRT。

上图:

输入192.168.1.1,就可以在浏览器里看见:

这只是编译内核部分,以后把相关的设置和软件开发方面慢慢写出来吧。

ubuntu编译openwrt前端web界面的更多相关文章

  1. 3 django系列之Form表单在前端web界面渲染与入库保存

    author: 温柔易淡(Leo),欢迎技术交流与拍砖 preface 我们在前端写表单的时候,其实可以使用django自带的forms功能来实现,特别是在处理 修改已经存在数据 的场景特别好用,下面 ...

  2. 简单实用后台任务执行框架(Struts2+Spring+AJAX前端web界面可以获取进度)

    使用场景: 在平常web开发过程中,有时操作员要做一个后台会运行很长时间的任务(如上传一个大文件到后台处理),而此时前台页面仍需要给用户及时的进度信息反馈,同时还要避免前台页面超时. 框架介绍: 本架 ...

  3. OpenWRT - WEB界面开发思路和基本方法

    想要对OpenWRT的WEB界面(*下称界面)进行修改.修改的目标是: 1.修改页面的样式,设计为企业的风格(stylesheet) 2.新建自己的功能,实现 访问页面后,用户就可以对配置文件(也就是 ...

  4. 继上次编译openwrt之后,添加web界面

    上编博客写了关于openwrt编译环境和编译一个默认配置的openwrt系统. 现在我正在做如何添加web界面.(hiwooya自带的luci web) 方法如下: 首先在编译环境中配置 make m ...

  5. UIkit – 轻量级前端框架,帮助你快速构建 Web 界面

    UIKit 是一个轻量级,模块化的前端框架,用于构建快速和强大的 Web 界面.UIKit 为您提供了 HTML,CSS 和 JavaScirpt 组件,使用简单,容易定制和扩展.UIKit 基于 L ...

  6. (七)ubuntu下编译openwrt内核的环境配置

    首先安装基本开发环境: sudo apt-get install ssh vim samba tftp nfs 安装编译openwrt须要的包: 解压openwrt包编译出错: Build depen ...

  7. Vue.js – 基于 MVVM 实现交互式的 Web 界面

    Vue.js 是用于构建交互式的 Web  界面的库.它提供了 MVVM 数据绑定和一个可组合的组件系统,具有简单.灵活的 API.从技术上讲, Vue.js 集中在 MVVM 模式上的视图模型层,并 ...

  8. 转:小白编译openwrt固件教程

    原文地址 编译openwrt固件并没有想象的那么复杂,我也是个小白,以下内容是我将网络上的编译教程稍微进行了一下整合.因为我发现很多编译教程没有说明如何更改flash相关配置.   安装ubuntu, ...

  9. Ubuntu系统配置Zabbix前端及中文乱码解决方案

    Ubuntu系统配置Zabbix前端及中文乱码解决方案  作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装zabbix 博主推荐阅读: https://www.cnblogs ...

随机推荐

  1. jQuery AJAX实现调用页面后台方法

    1.新建demo.aspx页面.2.首先在该页面的后台文件demos.aspx.cs中添加引用. using System.Web.Services; 3.无参数的方法调用. 大家注意了,这个版本不能 ...

  2. Eclipse基本设置

    1.设置java的JDK:window->preferences->Java->Installed JREs->Add 2.设置文件默认打开方式: window->pre ...

  3. oracle-行转列

    <一>合并两个结果集,并且两个结果集的数据 根据条目自动归为一行结果集1 如下:SQL> select t1.fplx,t1.djje from yw_zjfpjl t1  ; FP ...

  4. java把InputStram 转换为String

    public static String readStream(InputStream in) throws Exception{ //定义一个内存输出流 ByteArrayOutputStream ...

  5. hdoj 1176(可转化为数塔)

    免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissio ...

  6. nginx+php,502错误

    502错误基本就是php进程执行中挂了,其中有个原因就可能是进程执行超时设置导致的比如这个: ; The timeout for serving a single request after whic ...

  7. js时间戳与日期格式之间的互转

    1. 将时间戳转换成日期格式 // 简单的一句代码 var date = new Date(时间戳); //获取一个时间对象 注意:如果是uinx时间戳记得乘于1000.比如php函数time()获得 ...

  8. QTP的DataTable操作整理(注---不知转载多少遍)

    返回值:数字 示例: 以下示例使用 GetRowCount 方法查找 MySheet 运行时数据表中最长的列中的总行数,并将其写入报告. rowcount = DataTable.GetSheet(& ...

  9. html框架集 js刷新页面方法大全

    一.先来看一个简单的例子: 下面以三个页面分别命名为frame.html.top.html.bottom.html为例来具体说明如何做. frame.html 由上(top.html)下(bottom ...

  10. yum版本新增包的一般步骤

    在Jekins的自动构建环境中,有时会有在构建出的ISO中添加新应用app需求,对于采用rpm包源代码管理方式的构建环境来说,基本步骤如下: 1.下载app的src.rpm包 2.解压src.rpm包 ...