= Building live filesystems in Launchpad = Launchpad now supports building [[https://help.launchpad.net/LiveFilesystems|live filesystems]] using the `livecd-rootfs` package in Ubuntu. This replaces an older system where we had a dedicated builder per architecture just for this purpose, and allows us to parallelise this task across the Launchpad build farm instead. There are new `LiveFS` and `LiveFSBuild` objects in Launchpad to facilitate this, visible on the "devel" version of the webservice as [[https://launchpad.net/+apidoc/devel.html#livefs|livefs]] and [[https://launchpad.net/+apidoc/devel.html#livefs_build|livefs_build]] respectively. `LiveFS` objects specify the general metadata for an image type (for instance, there is a `LiveFS` for Kubuntu in Ubuntu utopic, and a `LiveFS` for Ubuntu Touch in Ubuntu trusty); they are created by the (hidden) `Person:+new-livefs` page, or by the [[https://launchpad.net/+apidoc/devel.html#livefses-new|livefses.new webservice method]]. `LiveFSBuild` objects identify a single build of a `LiveFS`, which must nominate an [[Soyuz/Glossary|archive, DistroArchSeries, and pocket]], and may also add additional items of metadata which take effect for just that build; they are created by the [[https://launchpad.net/+apidoc/devel.html#livefs-requestBuild|livefs.requestBuild webservice method]]. The archive attached to a `LiveFSBuild` is a ''source'' archive, not a target archive. That is, it specifies the archive that packages in the live filesystem image should come from. In the common case, this is just the Ubuntu primary archive, but it may also be a PPA, in which case both the primary archive and that PPA (and any archive dependencies it lists) will be used as a source of packages. Since this is a source archive, there is no requirement for the user requesting the build to have upload access to the archive. (At present, `launchpad-buildd` and `livecd-rootfs` are not quite smart enough to work out all the details of this just from the `archive` parameter to `livefs.requestBuild`, and typically need help in the form of an `extra_ppas` entry in the `metadata_overrides` dictionary. [[https://code.launchpad.net/+branch/ubuntu-cdimage|ubuntu-cdimage]] knows how to deal with this.) There are some security issues surrounding live filesystem builds. Firstly, they are a very easy way to consume lots of time on the Launchpad build farm, so only members of the [[https://launchpad.net/~launchpad-livefs-builders|launchpad-livefs-builders]] team can create new `LiveFS` or `LiveFSBuild` objects. Secondly, building a live filesystem involves executing code from packages in the source archive; therefore, in order to build live filesystems on devirtualised builders (which support more architectures than virtualised builders at present, but have no effective sandboxing, so may only be used by trusted people), both the `LiveFS` parameters and the source archive must be devirtualised.