Ubuntu Server Installer, and backend for Ubuntu Desktop Installer
Go to file
Michael Hudson-Doyle c052fa1aef Merge pull request #137 from CanonicalLtd/mwhudson/systemd-reorg-2
systemd reorganization

This branch changes the console-conf jobs to be depended on by the getty jobs via systemd drop-in files. It also moves log files and the completion marker file to more sensible places (this assumes your OS snap has ubuntu-core-config from the ppa in it) and uses systemctl stop to end all console-conf processes when done. This last bit isn't quite perfect -- it takes a surprisingly long time for the getty to appear after you press the 'finish' button, not sure what's going on there. Maybe we should only stop all console-conf processes other than 'us' and just exit normally... but this all seems to be an improvement.
2016-08-08 10:00:03 +12:00
bin Write stamp file and logs to somewhere more sensible. 2016-08-05 14:41:50 +12:00
console_conf Stop all console-conf processes when complete. 2016-08-05 14:59:25 +12:00
debian UNRELEASED->xenial 2016-08-05 15:16:54 +12:00
examples Update example probe data to include info from latest probert 2015-11-06 10:38:03 -06:00
installer add check for empty loopdev to geninstaller 2016-06-22 13:30:27 -05:00
subiquity Merge pull request #135 from CanonicalLtd/mwhudson/less-curtin 2016-07-29 09:57:55 +12:00
subiquitycore Write stamp file and logs to somewhere more sensible. 2016-08-05 14:41:50 +12:00
tests Use virtualenv to make use of urwid 1.3.0 and the asyncio library 2015-06-30 13:02:39 -04:00
.gitignore debian: merge packaging in main subiquity tree. 2016-06-28 14:02:33 -04:00
.gitmodules Update topdir Makefile targets 2015-09-01 10:04:24 -05:00
LICENSE Initial commit 2015-06-08 17:57:45 -04:00
Makefile Makefile: use xenial branch for Makefile builds 2016-07-06 18:27:26 -04:00
README.md Add info on how to enable multiverse for UEFI support 2015-09-30 14:01:17 -05:00
firstboot.md Change subuiquity to run as firstboot for snappy. 2016-06-22 14:19:54 -05:00
firstboot.sh Change subuiquity to run as firstboot for snappy. 2016-06-22 14:19:54 -05:00
requirements.txt Switch to Tornado's event loop 2015-08-23 18:48:52 -04:00
setup.py setup.py: update to account for subiquitycore rename 2016-07-08 15:56:50 -04:00

README.md

subiquity

Ubuntu Server Installer

Acquiring the installer from PPA

sudo apt-add-repository -y https://LPUSER:LPPASS@private-ppa.launchpad.net/subiquity/subiquity-dev/ubuntu

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 3D2F6C3B

  • Update apt and install subiquity

sudo apt-get update && sudo apt-get install subiquity

  • Enable multiverse for UEFI testing in VM

sudo apt-add-repository multiverse

Testing out the Text-UI (TUI)

SUbiquity's text UI is is available for testing without actually installing anything to a system or a VM. Subiquity developers make use of this for rapid development. After installing subiquity you can start it:

subiquity --dry-run

All of the features are present in dry-run mode. The installer will emit it's backend configuration files to /tmp/subiquity-config-* but it won't attempt to run any installer commands (which would fail without root privileges). Further, subiquity can load other machine profiles in case you want to test out the installer without having access to the machine. A few sample machine profiles are available in the package at /usr/share/subiquity/examples/ and can be loaded via the --machine parameter:

subiquity --dry-run \ --machine /usr/share/subiquity/examples/desktop.json

Generating machine profiles

Machine profiles are generated from the probert tool. This package is also available in the Subiquity PPA. To collect a machine profile:

probert --all > mymachine.json

Acquire subiquity from source

git clone https://github.com/CanonicalLtd/subiquity

cd subiquity && make install_deps

Running the UI locally in dry-run mode (no VM)

make

Running the UI locally with a different machine profile (see examples/)

MACHINE=examples/desktop.json make

Building installer image

The build system will generate a bootable image. This image can be run inside a VM, or copied to an USB disk and booted directly.

make installer

The resulting build image is avaiable at installer/installer.img The installer image requires approximately 2G of space at this time.

Running installer locally in a VM

make run

Overide default values for installer build

make RELEASE=[wily, vivid, trusty] ARCH=[amd64, i386, armf, arm64, ppc64el] installer

make RELEASE=wily ARCH=arm64 run