Base

Ubuntu Base

What is Ubuntu Base

Ubuntu Base is a minimal rootfs for use in the creation of custom images for specific needs. Ubuntu Base strives to create a suitable minimal environment for use in Board Support Packages, constrained or integrated environments, as the basis for application demonstration images, or Linux containers such as LXC or Docker (For OCI/docker container images, see also the Ubuntu OCI project). It is available for the i386, amd64, armhf, arm64, powerpc and ppc64el architectures.

Ubuntu Base 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.

Note that if there's a commercial intent to your use, then please familiarize yourself with the Ubuntu trademark and copyright policy.

Additional Information

Be aware that Ubuntu Base 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 Base is designed for a device that requires a full operating system; Ubuntu Base can be configured and customized to fit the requirements of his or her device.

Deploying Base

Requirements

Procedure:

  1. Format target media: at least one partition should be ext2, ext3, or ext4
  2. Unpack Ubuntu Base to ext{2,3,4} partition
  3. Install boot-loader
  4. Install Linux
  5. Add a local user and password for the user, then add the user to the adm and sudo groups.
  6. If the Linux kernel requires modules, add these to /lib/modules/$(uname -r) in the ext{2,3,4} file system

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

Example

Example instructions for installation on an x86 virtual machine - using a Live CD and syslinux as bootloader - is available here. Another example with installation instructions - using the command prompt and grub as bootloader - is available at AskUbuntu.com.

Usage Considerations

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

File Systems (fs)

Ubuntu Base ships with no local users installed, make sure to add (at least) one and set the password for it, at least one of the added user(s) must be added to the adm, and sudo groups.

Ubuntu Base 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 Base 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 Base 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.

To download Ubuntu Base

To download Ubuntu Base go to http://cdimage.ubuntu.com/ubuntu-base/releases/

Get Involved

Anyone who wants to get involved with Ubuntu Base should join #ubuntu-devel on irc.libera.chat 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.libera.chat. If you are not a developer, and wish to discuss Ubuntu Base, please use development discussion mailing list.

The wider guide for getting involved may also be useful.

Base (last edited 2023-05-08 05:47:57 by guiverc)