使用 Docker 编译 OpenWRT(Widora)
Docker 是一种新的被称之为容器的虚拟机。本文将使用此工具,进行 OpenWRT 的编译。
在 Docker 中下载 Ubuntu 14.04 的镜像
使用以下命令可以十分方便的从远程服务器上将 Ubuntu 14.04.5 版本的基本系统下载到本地:
docker pull ubuntu:14.04.5
安装基本的编译工具
# 首先启动 Docker 中的 Ubuntu 14.04.5,这里以交互方式进行
# 选项 t:分配一个 tty
# 选项 i:以交互方式运行
docker run -ti ubuntu:14.04.5
# 可选操作:更改 ubuntu 的软件源(基本系统中 apt 不支持 https 协议)
vi /etc/apt/sources.list
# 更新本地软件源缓存,安装必要的一些软件
apt-get update
apt-get install git g++ make libncurses5-dev subversion libssl-dev gawk libxml-parser-perl unzip wget python xz-utils vim
# 缩减体积,删除已经下载的安装包
apt-get clean
保存刚刚做出的更改,另存为新的镜像
执行以下命令:
docker ps -l
将会看到类似如下的输出:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
24fb6266cd37 ubuntu:14.04.5 "/bin/bash" 11 minutes ago Exited (0) 5 seconds ago furious_noyce
使用以下命令,将 ID 号为"24fb6266cd37"的镜像修改保存为新的镜像,镜像的名称为 ubuntu/forwidora:
docker commit 24fb6266cd37 ubuntu/forwidora
使用以下命令可以查看本地所有的镜像。
docker images
OpenWRT 编译前的准备工作
从 github 上下载源代码到 “/opt/embedded/MT7688/” 目录中
git clone https://github.com/widora/openwrt_widora.git /opt/embedded//MT7688/openwrt_widora
启动刚刚新建的容器,但是附加一个外部的挂载选项
# -v :将本地的目录挂载到容器中作为数据卷
# 本实例中,将 host 的 /opt/embedded/MT7688 挂载到容器中的 /opt/MT7688 上
docker run -it -v /opt/embedded/MT7688:/opt/MT7688 ubuntu/forwidora
开始编译 OpenWRT
剩下的过程,就可以完全参考 widora 项目 ReadMe 中相关的内容了。
使用 Docker 编译 OpenWRT(Widora)的更多相关文章
- 转:小白编译openwrt固件教程
原文地址 编译openwrt固件并没有想象的那么复杂,我也是个小白,以下内容是我将网络上的编译教程稍微进行了一下整合.因为我发现很多编译教程没有说明如何更改flash相关配置. 安装ubuntu, ...
- Ubuntu12.10编译openwrt遇到的错误
由于Openwrt有很多工具是要先编译的,在Ubuntu12.10平台下编译openwrt时就遇到了下面这样的错误:elf.cpp: In static member function 'static ...
- 在 Arch 下编译 OpenWRT cmcurl 问题与解决方案
0 现象 在 Arch 下编译 OpenWRT (15.05) cmcurl 时报错: [ 28%] Linking C executable LIBCURL lib/libcmcurl.a(open ...
- centos6.8下搭建编译openwrt的环境
1. 安装必要软件 su root yum install zlib-devel zlib-static -y 2. 编译openwrt 请参考这里
- 利用Docker编译Hadoop 3.1.0
前言 为什么要使用Docker编译,请自行百度 操作系统环境:Centos 6.8 uname -r 内核版本:2.6.32-642.el6.x86_64 除非有把握否则不要在Centos6.8中直接 ...
- (七)ubuntu下编译openwrt内核的环境配置
首先安装基本开发环境: sudo apt-get install ssh vim samba tftp nfs 安装编译openwrt须要的包: 解压openwrt包编译出错: Build depen ...
- debian下编译openwrt固件
参考文章:Ubuntu下编译OpenWRT固件 我买的路由器是RG100A-AA,采用了bcm63xx系列的芯片. 下载openwrt源码: svn co svn://svn.openwrt.org/ ...
- 使用外部 toolchain 编译 openwrt
默认编译 openwrt 时会先编译一套 toolchain. 这个步骤耗时较长. 使用外部 toolchain 可以多个 project 共用一套 toolchain , 而且也不重再编译它了. 省 ...
- YOLOv4: Darknet 如何于 Docker 编译,及训练 COCO 子集
YOLO 算法是非常著名的目标检测算法.从其全称 You Only Look Once: Unified, Real-Time Object Detection ,可以看出它的特性: Look Onc ...
随机推荐
- Linq查询基本操作
摘要:本文介绍Linq查询基本操作(查询关键字) - from 子句 - where 子句 - select子句 - group 子句 - into 子句 - orderby 子句 - join 子句 ...
- 绑定一个值给radio
在ASP.NET MVC程序中,需要给一个radio list表绑定一个值. 下面是Insus.NET实现的方法: 使用foreach来循环radio每一个选项,如果值与选项的值相同,那这个选项为选中 ...
- asp.net dataTable转换成Json格式
/// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"> ...
- shell 带签名请求,yii 处理带签名的请求
处理请求 class TestController extends Controller { public function init() { if(!YII_ENV_DEV){ throw new ...
- 深入理解DOM节点关系
× 目录 [1]父级属性 [2]子级属性 [3]同级属性[4]包含方法[5]关系方法 前面的话 DOM可以将任何HTML描绘成一个由多层节点构成的结构.节点分为12种不同类型,每种类型分别表示文档中不 ...
- 用collectionview实现瀑布流-转(后面附demo,供参考)
算法总体思路 先说一下总体上的思路.既然图片的大小.位置各不一样,我们很自然地会想到需要算出每个item的frame,然后把这些frame赋值给当前item的UICollectionViewLayou ...
- Android如何自定义dialog
; window.setAttributes(lp); // set the confirm button if (positiveButtonClickListener != null) { ((B ...
- web移动端开发技巧与注意事项汇总
一.meta的使用 1.<meta name="viewport" content="width=device-width,initial-scale=1.0, m ...
- ASP.NET MVC 3 网站优化总结(三)Specify Vary: Accept-Encoding header
继续进行 ASP.NET MVC 3 网站优化工作,使用 Google Page 检测发现提示 You should Specify Vary: Accept-Encoding header,The ...
- 生成freeswitch事件的几种方式
本文描述了生成freeswitch事件的几种方式,这里记录下,也方便我以后查阅. 操作系统:debian8.5_x64 freeswitch 版本 : 1.6.8 在freeswitch代码中加入事件 ...