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. Performance Monitor3:监控SQL Server的内存压力

    SQL Server 使用的资源受到操作系统的调度,同时,SQL Server在内部实现了一套调度算法,用于管理从操作系统获取的资源,主要是对内存和CPU资源的调度.一个好的数据库系统,必定在内存中缓 ...

  2. [Asp.net 5] ApplicationBuilder详解

    ApplicationBuilder(IApplicationBuilder接口),是OWIN的基础,而且里面都是代理.代理的代理,各种lambda表达式,估计要看这部分代码,很多人得头昏脑涨.今天就 ...

  3. .NET正则表达式基础入门(四)

    断言 判断某个位置左侧或者右侧是否符合匹配.常见断言有三种,单词边界.行起始/结束位置.环视.阅读本章前,建议先下载我于CSDN上传的示例代码,下载无需分数,下载链接. 1.单词边界 正则表达式&qu ...

  4. TWS笔试题---回家想了想答案,希望对jobseeker有帮助

    1,jsp的9大内置对象 request,response,session,application,page,pageContext,out,config,exception 查过资料了,现在补充一下 ...

  5. Git 相关总结

    Git 优秀在线教程 廖雪峰-史上最浅显易懂的Git教程!

  6. 初识Spring框架实现IOC和DI(依赖注入)

    学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的, IoC是 ...

  7. [deviceone开发]-Star分享的优惠券商户管理端App开源

    一.简介 这是一个优惠券的商主端,也就是配置发送优惠券的App 页面和交互还是像纳豆那样非常漂亮流畅,大家可以参考一下二.效果图 三.相关下载 https://github.com/do-projec ...

  8. 针对JS经典题型对全局变量及局部变量的理解浅谈

    第一次写博,还蛮激动... 看到了三题经典题型,就我目前的认识对此题进行总结.如有错误,敬请指正 首先,我们先明确一下JS引擎的工作步骤: js引擎工作分为两步: 1.将这个js中的变量和函数声明保存 ...

  9. Unity、c#中的拓展方法讲解

    很早以前看过这个东西,但是没有真正的用到过,希望之后会用到上面的方法, 大概的意思是这样的c#中尤其在用Unity的时候,已有的框架提供给我们一些固定的方法,但是有时我们想对这些方法进行修改, 这时我 ...

  10. 随机生成长度为len的密码,且包括大写、小写英文字母和数字

    一道华三面试题,随机生成长度为len的密码,且包括大写.小写英文字母和数字,主要Random类的使用,random.nextInt(len)表示生成[0,len)整数.具体实现见下面代码,已经很详细了 ...