Presentation is loading. Please wait.

Presentation is loading. Please wait.

Customizing Fedora Jeroen van Meeuwen Fedora Project.

Similar presentations


Presentation on theme: "Customizing Fedora Jeroen van Meeuwen Fedora Project."— Presentation transcript:

1 Customizing Fedora Jeroen van Meeuwen Fedora Project

2 This talk is about... ● Customizing Fedora ● Installation Media ● Live Media ● Fedora Compose Tools ● livecd-tools, pungi, revisor ● How These Compose Tools Work

3 What is Fedora? ● 6,022 Source Packages (~12,000 RPMs) ● Any number of third party packages ● Any number of custom, private packages ● Many unique requirements

4 What you get... Selected Packages + Default Settings + Thorough Testing

5 What you want... Your Choice of Packages + Your Settings + ~Trial and Error Testing

6 Mix Your Own (!) Live Media: livecd-tools, revisor Installation Media: pungi, revisor

7 A little history on composing RH/Fedora

8 The Tools ● livecd-tools ● Official tool used to create the Fedora Live media for distribution ● pungi ● Official tool used to create the Fedora Installation media distribution ● revisor ● Community tool used to create Fedora Re-Spins (amongst others)

9 Live Media ● Perfect for show-cases ● Installation feature ● Stateless, non-destructive ● USB persistence (limited overlay) Tools: ● livecd-tools (CLI) ● revisor (CLI, GUI)

10 Live Spins ● Fedora Live ● Fedora KDE Live ● Fedora Electronic Lab Live ● Fedora Developer Live ● Fedora Gamer Live ● Fedora Security Live ● Fedora Creative Commons ● Fedora XFCE Live

11 Creating Live Media ● Configuration based on kickstart ● System Configuration ● Repository configuration (repo) ● Packages (%packages) ● %post, %post --nochroot ● Configure as much as you can ● Compose once ● Use many times

12 Kickstart Snippets spin-kickstarts: A repository of kickstart files ● Easier configuration retrieval ● No re-inventing the wheel ● Build one upon another: ● base (to make live media work) ● spin (to make a “KDE” or “FEL” spin) ● localization

13 livecd-tools approach ● Creates a filesystem ● Set size with “part / --size XXXX” ● Resolves dependencies ● Downloads & Installs packages ● Applies kickstart settings ● Runs %post ● Squashes the ext3 flat image filesystem ● Creates bootable ISO with SquashFS file

14 revisor approach ● takes a kickstart / configuration via GUI ● Resolves dependencies ● Then creates the filesystem ● based on cumulative RPM 'installedsize' + a little extra ● Installs packages, applies kickstart settings, runs %post ● Runs some additional script snippets

15 livecd-tools / revisor ● command-line ● kickstart config only ● perfect base for revisor ;- ) ● does whatever livecd- tools does ● cli / gui ● additional config files => better control ● localized ● exact package nevra selection

16 Installation Media ● Installed systems are unique ● yet they all start on the same foot! ● not anymore ;-) ● Customization opportunities: ● installer dialog ● kickstart configuration ● including packages / (remote) repositories ● %pre / %post scripts

17 Creating Installation Media ● Payload from kickstart %packages manifest or GUI package selection dialog ● Rebuilds the installer images ● fixes bugs, might also introduce new bugs ● might add hardware support (kernel) ● Each deployment use-case required manual actions after the compose ● Revisor integrates use-cases into the compose process

18 Customization Opportunities ● Include arbitrary files ● Include kickstart / set as default bootloader menu entry ● Choose inclusive or exclusive dependency resolving ● Different types of media (CD, DVD, etc.) ● Tweaking package ordering ● Rebuilding installer images ●...

19 Inclusive dependency resolving ● foo requires 'web-client' ● bar and baz provide 'web-client' ● bar & baz are both pulled in the transaction ● bar & baz cause their dependencies to be pulled in as well ● prevent with excluding bar or baz in package manifest

20 Exclusive dependency resolving ● foo requires 'web-client' ● do we already have web-client? if yes => exit search ● what provides web-client? (bar & baz) ● what fits best? (bar? baz?) ● YUM decides ● prevent with including the package you prefer in package manifest

21 Writing Plugins ● Write your own plugin ● Make use of what Revisor already does ● Hook in at some point ● Example: ● Rebranding is done by a plugin ● Makes sure “fedora-logos” is not used, and selects “foo-logos”

22 This Presentation & Documentation: http://fedorahosted.org/revisor Kickstart Templates & Snippets: http://fedorahosted.org/spin-kickstarts The Author: http://fedoraproject.org/wiki/JeroenVanMeeuwen

23 Revisor Features:. inclusive or exclusive dependency resolving. compose any supported OS version from any other supported OS. include arbitrary files on the media / in the tree. plugins you write hook into the compose process. gui interface, cli interface. intelligent media algorithms (same code, different media). translatable / localized. exact kickstart interpretation. exact package nevra selection. single interface to composing live and installation media. source inclusion for live media. yum configuration for better control. integration with cobbler. customizable package ordering. recursive splittree execution until it's just right. edit bootloader menu entries to reflect including a kickstart on the media / in the tree. kickstart abstraction layer to ensure compatibility. everything set in runtime is in fact configurable. reusing prebuilt installer images


Download ppt "Customizing Fedora Jeroen van Meeuwen Fedora Project."

Similar presentations


Ads by Google