使用Docker编译OpenWrt Package
使用Ubuntu编译openwrt时,需要安装很多依赖,然后下载SDK进行配置,每个开发者都需要重复进行这些 步骤。如果做成一个虚拟机镜像,大家下载就能用,就方便多了。使用Docker即可实现。
下载 docker image
先安装docker,把当前用户加入docker组。如果用户名是ubuntu,则在Ubuntu系统里指令如下:
curl -sSL https://get.daocloud.io/docker | sh
sudo usermod -aG docker ubuntu
注销重登录或重启电脑,然后即可下载镜像,但速度会很慢,建议开启daocloud提供的国内mirror加速。步骤:注册daocloud.io,然后打开管理后台——加速器。指令如下:
echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=http://ec2b1153.m.daocloud.io\"" | sudo tee -a /etc/default/docker
sudo service docker restart
然后即可高速下载了,本文以极路由ralink架构为例,下载指令如下:
docker pull openwrtio/openwrt-sdk-gee-ralink
启动 docker image
docker run -it openwrtio/openwrt-sdk-gee-ralink /bin/bash
可以看到此docker镜像是Ubuntu 14.04系统,openwrt的编译环境都配好了,直接编译package即可。
编译 openwrt package
在docker镜像中执行下列指令即可:
git clone -b for-gee-ralink git://git.coding.net/openwrtio/packages.git package/feeds
echo 'CONFIG_PACKAGE_owmp=m' >> .config
make defconfig
make package/feeds/admin/owmp/compile -j V=99
编译成功。然后如何发布到opkg软件仓库中?请自行思考。
本站提供的 openwrt docker
所有镜像:https://hub.docker.com/u/openwrtio/
用途 | 下载命令 |
---|---|
极路由ralink | docker pull openwrtio/openwrt-sdk-gee-ralink |
极路由mediatek | docker pull openwrtio/openwrt-sdk-gee-mediatek |