Customizing Fedora Jeroen van Meeuwen Fedora Project.

Slides:



Advertisements
Similar presentations
Administrator’s and User’s Guide for KillDisk
Advertisements

IcePro Source Code Management Source code analysis Runtime analysis Application deployment Source code generation Multi sites Click ! IcePro.
APP-V 5.0 SP2 (MDOP 2013 R2) Presenter - Fred
Programming with Android: SDK install and initial setup Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.
Windows Deployment Services WDS for Large Scale Enterprises and Small IT Shops Presented By: Ryan Drown Systems Administrator for Krannert.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
Installation. Overview  Download files to make media or another bootable configuration.  Prepare system for installation.  Boot the computer and run.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
Cosc 5/4730 Scripting layer for Android (SL4A). Android scripting SL4A brings scripting languages to the android, by allowing you edit and execute scripts.
Downloading & Installing Software Chapter 13. Maintaining the System Yum Pirut BitTiorrent Rpm Keeping Software Up To Date Up2date Red Hat Network Wget.
1 Integrated Development Environment Building Your First Project (A Step-By-Step Approach)
IT Essentials 1 v4.0 Chapters 4 & 5 JEOPARDY RouterModesWANEncapsulationWANServicesRouterBasicsRouterCommands RouterModesWANEncapsulationWANServicesRouterBasicsRouterCommands.
Arago Project Creating an Open Integration and Distribution System William Mills
Introduction to Android. Android as a system, is a java based operating system that runs on the Linux kernel. The system is very lightweight and full.
COSC 4750 Customizing and maintenance. Installing software Redhat/Fedora (and linux in general) has a package installer, called rpm Many programs will.
Section 1: Introducing Group Policy What Is Group Policy? Group Policy Scenarios New Group Policy Features Introduced with Windows Server 2008 and Windows.
SUSE Linux Enterprise Desktop Administration Chapter 14 Customize the Graphical Interface on SUSE Linux Enterprise Desktop 10.
An Intro to Concurrent Versions System (CVS) ECE 417/617: Elements of Software Engineering Stan Birchfield Clemson University.
Security monitoring boxes Andrew McNab University of Manchester.
1 GIT NOUN \’GIT\ A DISTRIBUTED REVISION CONTROL AND SOURCE CODE MANAGEMENT (SCM) SYSTEM WITH AN EMPHASIS ON SPEED. INITIALLY DESIGNED AND DEVELOPED BY.
Update On Scientific Linux Connie Sieh Pat Riehecky Hepix Spring 2013.
© 2008 Cisco Systems, Inc. All rights reserved.CIPT1 v6.0—1-1 Getting Started with Cisco Unified Communications Manager Installing and Upgrading Cisco.
1 Copyright © 2015 Pexus LLC Patriot PS Personal Server Installing Patriot PS ISO Image on.
RedHat Package Management RPM and YUM in RedHat Enterprise, Fedora, Suse and Centos.
App-V: An Overview MMS Minnesota 2014 Fred #MMSMinnesota #MMSAppV.
© 2015 by McGraw-Hill Education. This proprietary material solely for authorized instructor use. Not authorized for sale or distribution in any manner.
Maven. Introduction Using Maven (I) – Installing the Maven plugin for Eclipse – Creating a Maven Project – Building the Project Understanding the POM.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
Operated by Los Alamos National Security, LLC for NNSA U N C L A S S I F I E D Slide 1 Institutional Install of Red Hat Enterprise Linux From One CD In.
FermiLinux STS Scientific Linux 6 Connie Sieh HEPIX Spring 2009 May 25, 2009.
Ganeti Instance Creation
Linux Kernel Security (SELinux vs AppArmor vs Grsecurity)
Fedora Remix FeltonLUG 04 Apr 2009 Fedora Remix Karsten 'quaid' Wade & Fedora Contributor Docs, Ambassadors,
The firmware-tools project Matt Domsch Michael Brown.
Update On Scientific Linux Connie Sieh Hepix Fall 2011 October 24, 2011.
April 1st, 2009 Cobbler Provisioning Made Easy Jasper Capel.
Fedora Remix SCaLE 7x Clint Savage Founder, Utah Open Source Foundation / Mountain West Regional.
Introduction to Fedora and What's new in Fedora 11 and Fedora 12? Rahul Sundaram Fedora 11 Release Party, Pune, India Sat July 4 th 2009.
Autonomy Paradigm Warning: This document is a part of my “Responsible Programming” theme. All docs related to that theme just gather some of my ideas.
New Tools Used by the Scientific Linux Team
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
application into a Flatpak
AI How to: System Update and Additional Software
Project Center Use Cases Revision 2
Project Center Use Cases
The Architecture of oVirt Node
Provisioning with custom builds and Kickstart
CompTIA Server+ Certification (Exam SK0-004)
oVirt Node Project Douglas Schilling Landgraf
Project Center Use Cases
Jesse Keating Linux Fest Northwest 2008
Project Center Use Cases Revision 3
Spacewalk and Koji at Fermilab
Fedora Remix Fedora Remix Clint Savage
Clouds, Live Images, Appliances
Project Center Use Cases Revision 3
Fedora Remix Paul W. Frields Fedora Project Leader CA-LUG, 11 Feb 2009
Fedora Distribution Toolbox
Enhancing Cloud Foundry with CLI Plugins
RedHat Package Management
Dell PowerEdge Change Management Tools Frequently asked questions
slides borrowed and adapted from Alex Mariakis and CSE 390a
Lab #1 Install Linux & How to Build Live CD
CSE 303 Lecture 1 introduction to Linux/Unix environment
OPS235: Lab 2 Virtual Machines – Part I
Sr. Developer Cloud System - Architecture
SUSE Linux Enterprise Desktop Administration
Carthage ios 8 onwards Dependency manager that streamlines the process of integrating the libraries into the project.
Java Code Review with CheckStyle
Presentation transcript:

Customizing Fedora Jeroen van Meeuwen Fedora Project

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

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

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

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

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

A little history on composing RH/Fedora

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)

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

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

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

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

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

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

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

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

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

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 ●...

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

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

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”

This Presentation & Documentation: Kickstart Templates & Snippets: The Author:

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