On the CBW call yesterday it was asked what specs the operating systems
would target for APs and there was a range of feedback from 512M of storage
(Ubuntu Core) to 2G of storage (including ONIE). Ubuntu Core itself
recommends 512M of storage and 256M of ram (including OpenWRT.snap), but
requires more when using ONIE, probably similar to other solutions
mentioned on the call. I went back and looked into it a bit more so for
those interested in the numbers ...
In theory we could do something as low as 128M of storage, but it would be
extremely tight and not allow for expected / normal behavior. In the case
of Ubuntu Core you would lose the functionality of being able to do atomic
transnational updates with roll-backs. It would force you into a
single-function, non-extensible, firmware-like experience. In addition,
this is "in theory" and would require additional engineering work to get to
that small (Ubuntu Core installed is about 150M now depending on the target
>From the Ubuntu Core Side, about 150M+ is used by the kernel.snap and
os.snap (roughly 50/50). In order to do transactional updates with
rollback of these two snaps, double that to 300M+ for the base
distribution. Then you'll want to leave some room to install applications
and additional functionality, getting us to the nice round number of 512M.
For reference, the OpenWrt.snap package is 3M in size. You can install
that by running
"sudo snap install --devmode --edge openwrt"
I have been doing this on a Rasberry Pi3 Ubuntu Core image and it has been
working well. Once installed it does not take any additional space (it is
a compressed squashfs). Double that to 6M for updates/rollbacks and a few
KB for local configuration, etc. This is small because it leverages the
running Ubuntu Core kernel.
To give another example of disk space usage, installing nmap.deb on classic
Ubuntu takes up about 30MB of disk space including unique-to-only-nmap
dependencies. Installing nmap.snap takes up about 6MB of diskspace
(including all dependencies). So for most environments you'll use/need
less disk space with Ubuntu Core, including add-on software, than classic
Linux despite the inclusion of dependencies into the snap.
Images will start to show up here: http://cdimage.ubuntu.
If you want Pi3 images they will show up above "soon", or e-mail me and I
can point you to where they are currently hosted, and I can also provide
you scripts to convert Ubuntu Core images to ONIE installable-images.
Anyone can start building kernel snaps, Ubuntu Core images, snaps, and ONIE
compatible images today.
256M memory + 512M storage minimum recommendations for Ubuntu assumes
locally installed or PXE-installed. This is currently how we have been
installing on wifi/AP devices (developer focused devices like the Pi3 or
enterprise devices like the Dell IoT Gateway).
If using ONIE there are a couple of additional requirements, you will need
space for the ONIE kernel, install environment, etc, on disk. The
onie-installer as currently written downloads the NOS image to memory,
expands it, then writes to disk. We need about 750MB of free usable memory
(after ONIE), so at least ~1G of memory but I have not tested this myself
and may need more as all the switches I've ONIE-installed to have had more
than this. In theory this could be reduced if we ported the native
OS installer streaming-to-disk functionality to ONIE (instead of using the
ONIE template we based off of).
I think it is fair to point out that ONIE is one supported bootloader for
OCP hardware but it is not a requirement.
+1-512-850-6776 (work), +1-512-287-4289 (work fax)
opencompute-networking mailing list