使用 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 中相关的内容了。

转载于:https://www.cnblogs.com/dongfengweixiao/p/6035645.html

对于使用Docker Desktop编译OpenWrt,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了Docker Desktop,并且它正在运行。 2. 打开终端或命令提示符,然后使用以下命令拉取OpenWrt源代码的Docker镜像: ``` docker pull openwrtorg/sdk:latest ``` 3. 接下来,创建一个新的工作目录,用于存储OpenWrt的配置和输出文件。可以使用以下命令创建一个名为"openwrt"的目录: ``` mkdir openwrt ``` 4. 进入"openwrt"目录并创建一个名为"config"的子目录: ``` cd openwrt mkdir config ``` 5. 在"config"目录中创建一个名为"seed.config"的文件,并将您的OpenWrt配置选项添加到该文件中。例如,您可以使用文本编辑器打开该文件并添加以下内容: ``` CONFIG_TARGET_x86=y CONFIG_TARGET_x86_64=y CONFIG_TARGET_x86_64_Generic=y ``` 这些配置选项示例适用于x86_64架构的通用OpenWrt编译。 6. 回到"openwrt"目录,并使用以下命令运行Docker容器: ``` docker run --rm -it -v $(pwd)/config:/home/user/openwrt/config openwrtorg/sdk:latest /bin/bash ``` 此命令将运行一个新的Docker容器,并将"config"目录映射到容器内的"/home/user/openwrt/config"目录。 7. 在Docker容器中,使用以下命令进入OpenWrt的源代码目录: ``` cd /home/user/openwrt/sdk ``` 8. 运行以下命令以安装OpenWrt的构建工具和依赖项: ``` ./scripts/feeds update -a ./scripts/feeds install -a ``` 9. 配置OpenWrt编译选项,运行以下命令: ``` make menuconfig ``` 在菜单界面中,您可以根据需要进行选择和配置。完成后,保存并退出菜单。 10. 开始编译OpenWrt固件,运行以下命令: ``` make -j$(nproc) ``` 这将使用所有可用的CPU核心进行编译编译过程可能需要一些时间,具体取决于您的系统性能和OpenWrt配置的复杂程度。 11. 编译完成后,在Docker容器中可以找到生成的固件文件。您可以退出容器并在本地系统上访问它们。运行以下命令退出容器: ``` exit ``` 12. 现在,您可以在"openwrt"目录中找到生成的固件文件,可以根据需要使用它们。 请注意,这只是一个基本的说明,您可能需要根据自己的需求和环境进行适当的调整。确保您已经熟悉DockerOpenWrt的基本概念,并参考OpenWrt官方文档以获取更详细的指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值