Neon/InstallableImages: Difference between revisions

From KDE Community Wiki
No edit summary
No edit summary
Line 1: Line 1:
= KDE neon live/installable images =
= KDE neon live/installable images =


*Images are at [http://images.neon.kde.org images.neon.kde.org] on drax  (stores the most recent ones and all from today).
*Images are at [http://files.kde.org/neon files.kde.org] on depot and source on [http://images.neon.kde.org images.neon.kde.org] on drax  (stores the most recent ones and all from today).
*Old images are at [http://old-images.neon.kde.org.uk/ old-images.neon.kde.org.uk] (stores the most recent 5).
*Old images are at [http://old-images.neon.kde.org.uk/ old-images.neon.kde.org.uk] (stores the most recent 5).


Our images are built with build.neon.kde.org using the scripts in pangea-tooling nci/imager
Our images are built with build.neon.kde.org using the scripts in pangea-tooling nci/imager
imager.rb starts a new containment and runs build.sh and copies the result to the web site dir for images.neon.kde.org
imager.rb starts a new containment and runs build.sh and copies the result depot and images.neon.kde.org


build.sh is run in the containment and installs the packages needed, sets some variables and runs ubuntu-defaults-image
build.sh is run in the containment and installs the packages needed, sets some variables and runs ubuntu-defaults-image
Line 18: Line 18:


*ubuntu-defaults-image is adapted to read our hooks and ignore the kubuntu-desktop meta package, this can probably be done away with
*ubuntu-defaults-image is adapted to read our hooks and ignore the kubuntu-desktop meta package, this can probably be done away with
*config-hooks/20_package_list.sh adds and removes some packages compared to kubuntu meta packages and tasks, this can probably be done away with
*config-hooks/apt.conf.sh adds apt debugging and no language pack settings
*config-hooks/apt.conf.sh adds apt debugging and no language pack settings
*config-hooks/repo.sh adds neon repo
*config-hooks/repo.sh adds neon repo
*https://code.launchpad.net/~kdeneon/livecd-rootfs-neon/trunk is a branch of lp:livecd-rootfs/trunk it adds code to use our meta packages when PROJECT is set to neon
*https://code.launchpad.net/~kdeneon/livecd-rootfs-neon/trunk is a branch of lp:livecd-rootfs/trunk it adds code to use our meta packages when PROJECT is set to neon
*neon:neon/seeds makes the neon-desktop and neon-live metapackages.  Kubuntu uses a kubuntu-live apt task but our archive doesn’t support tasks so we use metapackages instead.
*neon:neon/seeds makes the neon-desktop and neon-live metapackages.  Kubuntu uses a kubuntu-live apt task but our archive doesn’t support tasks so we use metapackages instead.
*https://launchpad.net/ubiquity-neon has our branch of ubiquity (branched from wily tag) with a few changes to remove branding
*https://launchpad.net/ubiquity-neon has our branch of ubiquity (branched from xenial tag) with a few changes to remove branding
*[http://packaging.neon.kde.org/cgit/neon/base-files.git/ base-files] sets important files including lsb-release
*[http://packaging.neon.kde.org/cgit/neon/base-files.git/ base-files] sets important files including lsb-release
*plymouth theme is now from Plasma breeze-plymouth
*plymouth theme is now from Plasma breeze-plymouth
*grub theme is now from Plasma breeze-grub
*grub theme is now from Plasma breeze-grub
*syslinux theme is our own theme, TODO document how this works
*TODO: get neon-live installed, syslinux theme, set ubuntu archive to a mirror on live cd and installed image, set grub entry to be neon, make source images, sign images, make zsync work, archive old images, make working directory different for different jobs
*TODO: get neon-live installed, syslinux theme, set ubuntu archive to a mirror on live cd and installed image, set grub entry to be neon, make source images, sign images, make zsync work, archive old images, make working directory different for different jobs



Revision as of 14:06, 4 May 2016

KDE neon live/installable images

Our images are built with build.neon.kde.org using the scripts in pangea-tooling nci/imager imager.rb starts a new containment and runs build.sh and copies the result depot and images.neon.kde.org

build.sh is run in the containment and installs the packages needed, sets some variables and runs ubuntu-defaults-image

ubuntu-defaults-image is a script copied from ubuntu-defaults-builder, an Ubuntu script intended to make locale specific ubuntu derived images (we ignore the template for meta package and locale stuff).

It uses Ubuntu’s fork of Debian’s live-build, it’s quite an old fork (3.0~ from August 2012) with lots of Ubuntu specific patches

live-build uses livecd-rootfs, Ubuntu hooks (/usr/share/livecd-rootfs/live-build/ubuntu-core/) to build the squashfs live filesystem

Bits we need to fork and customise

  • ubuntu-defaults-image is adapted to read our hooks and ignore the kubuntu-desktop meta package, this can probably be done away with
  • config-hooks/apt.conf.sh adds apt debugging and no language pack settings
  • config-hooks/repo.sh adds neon repo
  • https://code.launchpad.net/~kdeneon/livecd-rootfs-neon/trunk is a branch of lp:livecd-rootfs/trunk it adds code to use our meta packages when PROJECT is set to neon
  • neon:neon/seeds makes the neon-desktop and neon-live metapackages. Kubuntu uses a kubuntu-live apt task but our archive doesn’t support tasks so we use metapackages instead.
  • https://launchpad.net/ubiquity-neon has our branch of ubiquity (branched from xenial tag) with a few changes to remove branding
  • base-files sets important files including lsb-release
  • plymouth theme is now from Plasma breeze-plymouth
  • grub theme is now from Plasma breeze-grub
  • syslinux theme is our own theme, TODO document how this works
  • TODO: get neon-live installed, syslinux theme, set ubuntu archive to a mirror on live cd and installed image, set grub entry to be neon, make source images, sign images, make zsync work, archive old images, make working directory different for different jobs

UEFI Support:

live-build (at least the version we use) does not support UEFI so our images do not support UEFI

The latest Debian Live images have no UEFI in them so it hasn't been added there (and live-build is largely unmaintained).

Development versions of Tanglu include UEFI support, investigate how it does this.

Netrunner Kubuntu version does include UEFI support, it’s just a remaster of Kubuntu so I think copies Kubuntu’s stuff verbatim https://github.com/NeptuneOS/remaster-kit/blob/master/usr/share/remaster-kit/functions#L200 https://github.com/netrunner/build-scripts

Ubuntu images get their livefs built on Launchpad (using a not very well documented and somewhat incomplete coded part of Launchpad which I think it only useable by this team for this purpose) https://launchpad.net/~ubuntu-cdimage/+livefs/ubuntu/xenial/kubuntu/ which are seem to be built with livefs-rootfs (says launchpad code ./lib/lp/soyuz/templates/livefs-new.pt).

Then the ISO images are made by some magic proprietary script which takes the live image and adds its own stuff including UEFI support. This is probably a hidden fork of live-build. http://people.canonical.com/~ubuntu-archive/cd-build-logs/kubuntu/xenial/

SecureBoot Support

Goodness knows, needs stuff signed by a key approved by microsoft