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. AndroidManifest.xml中data标签中所有属性的含义

    属性(ATTRIBUTES): android:host 这个属性用户定义URI授权的主机部分,除非给过滤器也指定了<data>元素的scheme属性,否则这个属性没有意义. 注意:在An ...

  2. VSS Admin 清除密码

    [参阅链接]http://www.cnblogs.com/Zealot/archive/2004/09/18/44309.html the secret is to hack the um.dat f ...

  3. 利用抽象、多态实现无反射的绿色环保ORM框架

    最近一直在忙新公司的基础库建设,对系统架构.开发框架及快速开发平台的设计实施都积累了一定的实践经验. 一般的中小型的软件开发公司,如果按照技术储备来衡量软件项目的技术含量的评定依据是可行的.但如果光是 ...

  4. ubuntu桌面变空白,或者只有壁纸,任务栏消失的解决办法

    原因:因为打开了桌面特效的原因,但设置不合导致的. 解决方法:方法一:1.按住Ctrl+Alt+F1切换到字符终端下,输入用户名和密码登录2.输入以下命令删除出错的Compiz配置文件相关目录:rm ...

  5. Redis Admin UI

    https://github.com/ServiceStackApps/RedisAdminUI 最近的v4版本不能用,需要下载v3版本,下载地址 https://github.com/Service ...

  6. block 浅析

    最近讲了一个关于block的例子 block 可以作为一个参数 进行传递 需要注意的地方是 :block 虽然作为一个参数 但是在函数方法执行的时候 block 是不会在定义它的地方调用 除非你在后边 ...

  7. 通常我们使用[NSDate date]方法得到的时间与当前时间不一致,如何解决?

    NSDate *date = [NSDate date];    NSTimeZone *zone = [NSTimeZone systemTimeZone];    NSInteger interv ...

  8. innerHTML/outerHTML; innerText/outerText; textContent

    innerHTML v.s. outerHTML Element.innerHTML Reference: https://developer.mozilla.org/en-US/docs/Web/A ...

  9. 【HDU4010】【LCT】Query on The Trees

    Problem Description We have met so many problems on the tree, so today we will have a query problem ...

  10. js文字向上滚动代码

    js文字向上滚动代码 <style>.pczt_pingfen_jhxs_news1{ width:397px;  background:#edfafd; padding-top:2px; ...