Base

Revision 13 as of 2011-11-17 17:25:26

Clear message

Ubuntu Core

What is Ubuntu Core

Ubuntu Core is a minimal rootfs for use in the creation of custom images for specific needs. Ubuntu Core strives to create a suitable minimal environment for use in Board Support Packages, constrained or integrated environments, or as the basis for application demonstration images. It is available for the i386, amd64, and armel architectures.

Ubuntu Core delivers a functional user-space environment, with full support for installation of additional software from the Ubuntu repositories, through the use of the apt-get command.

Additional Information

Be aware that Ubuntu Core is not a super small run-in-memory embedded distribution; it is the smallest implementation of Ubuntu that enables one to install other packages.

Some readers may find it useful to learn that the rootfs size of this distribution is more than 20MB.

One may use apt-get to install any set of packages. However, Ubuntu Core is designed for a device that requires a full operating system; Ubuntu Core can be configured and customized to fit the requirements of his or her device.

Deploying Ubuntu Core

Requirements

Procedure:

  1. Format target media: at least one partition should be ext2, ext3, or ext4
  2. Unpack Ubuntu Core to ext{2,3,4} partition
  3. Install boot-loader
  4. Install Linux
  5. If the Linux kernel requires modules, add these to /lib/modules/$(uname -r) in the ext{2,3,4} file system

  6. Boot the target device
  7. Install any additional required software using apt-get

Example

An example installation on an x86 virtual machine is available here.

Usage Considerations

Due to the effort spent to make Ubuntu Core as small as possible, packages have been removed that may adversely affect a particular environment.

File Systems (fs)

Ubuntu Core ships with support for ext2, ext3, and ext4. If you need support for additional file systems install appropriate packages from the Ubuntu Archives.

The Ubuntu Core rootfs contains symbolic and hard links; if unpacked to a file system without support for symbolic and hard links (e.g. fat32) system unpredictability will occur.

Syslog

To increase the flexibility of logging options there is no default syslog server. If one requires syslog functionality, install the rsyslog package or search the archives for alternatives.

The Ubuntu Support team is unable to provide support for certain classes of issues without a logging facility. If you are encountering an issue, and have requested support, be aware that the support analysts may request the installation of some syslog implementation to help identify the cause of the issue.

Python

An extremely limited subset of the Python environment has been deployed in Ubuntu Core and is an unsuitable dependency. If one will use Python software in his or her environment, install the python package to get the full base interpreter.

The Python development team is unable to provide support for issues related to Python without the python package installed; if one encounters complications using the default subset of Python, install the python package and verify the issue occurs before filing a bug or support request.

Current Releases

Release

Version

Release Date

Support Date

11.10

Supported

Released in October 2011

Expected until April 2013

Get Involved

Anyone who wants to get involved with Ubuntu Core should join #ubuntu-devel on irc.freenode.net first. Giving support to other people vary from one-line answers to solving problems including bugs. The channel is also a good place to get known before taking a bigger part of some problem, or joining the team.

Development discussion is taking place on the development mailing list and #ubuntu-devel on irc.freenode.net. If you are not a developer, and wish to discuss Ubuntu Core, please use development discussion mailing list.

The wider guide for getting involved may also be useful.