The purpose of this docker image is to provide an environment for creating IPK packages which are used in OpenWrt package management system. Similarly, DEB packages are used in Debian-based operating systems.
Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications, whether on laptops, data center VMs, or the cloud.
OpenWrt is a GNU/Linux based firmware program for embedded devices such as residential gateways and routers.
OPKG is a lightweight package management system.
Debian Jessie -- source Docker image, a linux platform, marked stable as of now (end of 2016).
OpenWrt Chaos Calmer -- a codebase of the stable OpenWrt release.
- Installs all the dependencies needed to crosscompie (https://wiki.openwrt.org/doc/howto/buildroot.exigence)
- Downloads the latest Chaos Calmer sources + feeds
- Builds tools with toolchain (needed to crosscompile to different archs)
-
###Create your docker container:
docker run -p 8022:22 -it mchsk/openwrt-docker-toolchain:chaos_calmerYou can change 8022 to any other port you would like to be able to connect to with a SFTP Client. If it is convenient to use files in GUI, use it. In terms of using the Docker this is an antipatern though! But yeah, it was rly painful to use Volumes on mac.
The image has around 7.5 GB.
SFTP credentials: username:
devpassworddev.Ok, so once you run the
docker run ...^command, you will end up being in the/home/devdirectory, logged in asdevuser. Usedevpassword when using sudo. When youls, you will notice anopenwrtdirectory. These are Chaos Calmer sources, with built toolchain and with updated all the feeds. Basically, these steps were executed:sudo apt-get update/upgrade/install -y %all_the_packages%git clone -b chaos_calmer git://github.com/openwrt/openwrt.gitcd openwrtscripts/feeds update -ascripts/feeds install -a(selecting target ar71xx)make defconfigmake prereqmake tools/installmake toolchain/installcd ~ -
###Prepare package, dependencies, eventually patches and create the Makefile: I was considering to write my own guide, but I believe that is not necessary, just head over to the original sources from OpenWrt community:
☺ Pull requests are welcome.