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)的更多相关文章

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

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

  2. Ubuntu12.10编译openwrt遇到的错误

    由于Openwrt有很多工具是要先编译的,在Ubuntu12.10平台下编译openwrt时就遇到了下面这样的错误:elf.cpp: In static member function 'static ...

  3. 在 Arch 下编译 OpenWRT cmcurl 问题与解决方案

    0 现象 在 Arch 下编译 OpenWRT (15.05) cmcurl 时报错: [ 28%] Linking C executable LIBCURL lib/libcmcurl.a(open ...

  4. centos6.8下搭建编译openwrt的环境

    1. 安装必要软件 su root yum install zlib-devel zlib-static -y 2. 编译openwrt 请参考这里

  5. 利用Docker编译Hadoop 3.1.0

    前言 为什么要使用Docker编译,请自行百度 操作系统环境:Centos 6.8 uname -r 内核版本:2.6.32-642.el6.x86_64 除非有把握否则不要在Centos6.8中直接 ...

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

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

  7. debian下编译openwrt固件

    参考文章:Ubuntu下编译OpenWRT固件 我买的路由器是RG100A-AA,采用了bcm63xx系列的芯片. 下载openwrt源码: svn co svn://svn.openwrt.org/ ...

  8. 使用外部 toolchain 编译 openwrt

    默认编译 openwrt 时会先编译一套 toolchain. 这个步骤耗时较长. 使用外部 toolchain 可以多个 project 共用一套 toolchain , 而且也不重再编译它了. 省 ...

  9. YOLOv4: Darknet 如何于 Docker 编译,及训练 COCO 子集

    YOLO 算法是非常著名的目标检测算法.从其全称 You Only Look Once: Unified, Real-Time Object Detection ,可以看出它的特性: Look Onc ...

随机推荐

  1. 配置Chrome支持本地(file协议)的AJAX请求

    什么问题 WEB开发过程中,很多时候我们都是写一些简单的Demo,并不是开发一个完整项目,此时我们常见的操作是: 新建文件夹 新建需要的文件 在Sublime(或其他编辑器)中完成DEMO的编码 双击 ...

  2. 何时使用静态 API

    看了<AutoMapper and the Static Class Debate>,记录一下自己的看法. 在进行API设计时,静态类的使用有时会为设计者带来一些烦恼.应该将某个函数暴露为 ...

  3. Visual Studio问题集锦:coloader80.dll未正确安装

    问题 今天在修改之前的一个项目的时候报了一个错,大概内容如下: 有一个 Visual Studio 的 DLL 文件(coloader80.dll)未正确安装.请通过"控制面板"中 ...

  4. C# WCF服务端搭建和客户端调用

    1) 打开Visual Studio 2012,在菜单上点击文件->新建->项目->WCF服务应用程序.在弹出界面的"名称"对应的文本框中输入"WcfS ...

  5. 高德地图API 简单使用

    主要是功能是 在地图上添加标记点.在标记点添加相应的内容.单击查看内容.双击直接进入相应的项目系统. <!DOCTYPE html> <html xmlns="http:/ ...

  6. 【C#公共帮助类】 Log4net 帮助类

    首先,我们要在Common类库中引用log4net.dll ExtLogImpl.cs using System; using System.Collections.Generic; using Sy ...

  7. C# 引用类型和值类型

    C# 引用类型和值类型 CLR支持两种类型:引用类型和值类型. 1.引用类型 (1)内存必须从托管堆上分配: (2)堆上分配的每个对象都有一些额外成员(包括“类型对象指针”,“同步块索引”),这些成员 ...

  8. 在WPF按钮删除默认的鼠标悬停效果

    如果你想在应用程序的所有按钮将此风格,那么这种风格可以插入Application.Resources部分的App.xaml页面. <Window.Resources> <Style ...

  9. nginx ssi 模块

    在nginx下与SSI配置相关的参数主要有ssi  ssi_sclient_error ssi_types三个.具体的用法如下 ssi on 开启ssi支持,默认是off ssi_silent_err ...

  10. 使用JQuery统计input和textarea文字输入数量代码

    本文主要介绍了jQuery实现统计输入文字个数的方法,需要的朋友可以参考下. HTML部分: <input type="text" value="我是输入的文字&q ...