Anaconda/BuildDocProject

From FedoraProject

< Anaconda(Difference between revisions)
Jump to: navigation, search
m (1 revision(s))
m (wikify)
 
Line 18: Line 18:
 
== I. Anaconda Introduction ==
 
== I. Anaconda Introduction ==
  
1. [[Anaconda/Introduction| Anaconda]]  - is the installer used for Fedora(and also Red Hat Enterprise Linux)
+
# [[Anaconda/Introduction| Anaconda]]  - is the installer used for Fedora(and also Red Hat Enterprise Linux)
1. The Anaconda installation procedure (from a bootable CD)<BR>
+
# The Anaconda installation procedure (from a bootable CD)
- Boot process (from a CD-ROM) <BR>
+
#* Boot process (from a CD-ROM)
- Anaconda process <BR>
+
#* Anaconda process
  
  
 
== II. Anaconda Customization Vs Fedora Customization ==
 
== II. Anaconda Customization Vs Fedora Customization ==
  
1. Clarification<BR>
+
# Clarification
- Customizing Anaconda <BR>
+
#* Customizing Anaconda
- Customizing Fedora<BR>
+
#* Customizing Fedora
  
 
== III. Anaconda Preparing The Build Environment ==
 
== III. Anaconda Preparing The Build Environment ==
  
1. [[Anaconda/BuildEnvironment| System Requirements]] <BR>
+
# [[Anaconda/BuildEnvironment| System Requirements]]
- Operating System <BR>
+
* Operating System
- Free Disk Space <BR>
+
* Free Disk Space
- Build Times <BR>
+
* Build Times
- RPM Packages <BR>
+
* RPM Packages
- Patches <BR>
+
* Patches
1. Create the Build Environment <BR>
+
# Create the Build Environment
- Set environment variables <BR>
+
# Set environment variables
- Create working directories <BR>
+
# Create working directories
  
 
== IV. Anaconda Customization ==
 
== IV. Anaconda Customization ==
  
1. Install Anaconda source
+
# Install Anaconda source
1. Apply pre-existing patches
+
# Apply pre-existing patches
1. Modify Anaconda source
+
# Modify Anaconda source
1. Test changes made to Anaconda
+
# Test changes made to Anaconda
1. Create a patch file for your custom Anaconda modifications
+
# Create a patch file for your custom Anaconda modifications
1. Rebuild Anaconda RPM with custom patch
+
# Rebuild Anaconda RPM with custom patch
1. Install newly rebuilt Anaconda RPMs on the build machine
+
# Install newly rebuilt Anaconda RPMs on the build machine
1. Copy newly rebuilt Anaconda RPMS to build tree
+
# Copy newly rebuilt Anaconda RPMS to build tree
1. Run createrepo and pkgorder
+
# Run createrepo and pkgorder
1. Run buildinstall
+
# Run buildinstall
  
 
== V. Anaconda Customizing Fedora ==
 
== V. Anaconda Customizing Fedora ==
  
1. Add/Remove/Update RPM packages
+
# Add/Remove/Update RPM packages
1. Edit '''comps.xml'''
+
# Edit '''comps.xml'''
1. Check all dependencies are met with '''getfullcomps'''
+
# Check all dependencies are met with '''getfullcomps'''
1. Rebuild repository metadata
+
# Rebuild repository metadata
1. Integrate Custom Fedora into different media (CD/CDs/DVD) <BR>
+
# Integrate Custom Fedora into different media (CD/CDs/DVD)
- Single CD <BR>
+
#* Single CD <BR>
- Multiple CDs <BR>
+
#* Multiple CDs <BR>
- DVD <BR>
+
#* DVD <BR>
1. splittree and create CD specific metadata
+
# splittree and create CD specific metadata
1. Create .iso with '''mkisofs'''
+
# Create .iso with '''mkisofs'''
1. Implant md5sum with '''implantisomd5'''
+
# Implant md5sum with '''implantisomd5'''
1. Burn .iso to CD/DVD with '''wodim'''
+
# Burn .iso to CD/DVD with '''wodim'''
  
 
== VI. Anaconda Kickstart Integration ==
 
== VI. Anaconda Kickstart Integration ==
  
1. [[Anaconda/KickstartIntegration| Using a kickstart file to automate installation]]  
+
# [[Anaconda/KickstartIntegration| Using a kickstart file to automate installation]]  
1. Using a kickstart %pre script
+
# Using a kickstart %pre script
1. Using a kickstart %post script
+
# Using a kickstart %post script
  
 
== VII. Anaconda Appendices ==
 
== VII. Anaconda Appendices ==

Latest revision as of 12:50, 3 July 2009

Contents

[edit] Anaconda Installer

The Red Hat Installation Program, Anaconda, is the installation program for Red Hat Linux distributions. These distributions include both Fedora and Red Hat Enterprise Linux. During installation, a target computer's hardware is identified and configured, and the appropriate file systems for the system's architecture are created. Finally, Anaconda allows the user to install the operating system software on the target computer. Optionally, Anaconda can upgrade existing installations. Anaconda can run in a fully interactive mode (text or graphical), or in a kickstart mode that allows the installation to be scripted for unattended operation. Kickstart files make deploying hundreds or thousands of systems very cost effective especially when network installation techniques are used.

Anaconda is written primarily in the Python language. The snake paradigm of Python provided the perfect name for the installer, Anaconda. The graphical front-end of Anaconda is written with pyGtk library . Using the Python scripting language for the majority of the installer code allows for easy distribution of updates and the quick development of new features. The C programming language is used for some special functionality in the boot loader subsystem. In addition, the BASH shell scripting language is used for some administrative scripting duties. The entire Anaconda package is distributed under the GPL.


[edit] Mailing Lists

There are two mailing lists that support the Anaconda Installer. The first is the development mailing list. This list is used to discuss the Anaconda Installer development issues, submit patches, and to discuss other activities related to extending Anaconda. The sign up for the development list is located at anaconda development list site . Past discussions can be found in the anaconda development archives .

The second list is a user oriented list on how to create kickstart files. One of the features of the Anaconda Installer is an installation automation mechanism. This is the roll of a kickstart file. Moreover, the kickstart list is the place to discuss issues automation installation issues. The sign up for the kickstart list is located at anaconda kickstart list site . Past discussions can be found in the anaconda kickstart archives .

[edit] Anaconda Vision

There are many ways that the Anaconda installer can be expanded. Please visit the Anaconda Vision page to see if there is something that would interest you.

[edit] I. Anaconda Introduction

  1. Anaconda - is the installer used for Fedora(and also Red Hat Enterprise Linux)
  2. The Anaconda installation procedure (from a bootable CD)
    • Boot process (from a CD-ROM)
    • Anaconda process


[edit] II. Anaconda Customization Vs Fedora Customization

  1. Clarification
    • Customizing Anaconda
    • Customizing Fedora

[edit] III. Anaconda Preparing The Build Environment

  1. System Requirements
  • Operating System
  • Free Disk Space
  • Build Times
  • RPM Packages
  • Patches
  1. Create the Build Environment
  2. Set environment variables
  3. Create working directories

[edit] IV. Anaconda Customization

  1. Install Anaconda source
  2. Apply pre-existing patches
  3. Modify Anaconda source
  4. Test changes made to Anaconda
  5. Create a patch file for your custom Anaconda modifications
  6. Rebuild Anaconda RPM with custom patch
  7. Install newly rebuilt Anaconda RPMs on the build machine
  8. Copy newly rebuilt Anaconda RPMS to build tree
  9. Run createrepo and pkgorder
  10. Run buildinstall

[edit] V. Anaconda Customizing Fedora

  1. Add/Remove/Update RPM packages
  2. Edit comps.xml
  3. Check all dependencies are met with getfullcomps
  4. Rebuild repository metadata
  5. Integrate Custom Fedora into different media (CD/CDs/DVD)
    • Single CD
    • Multiple CDs
    • DVD
  6. splittree and create CD specific metadata
  7. Create .iso with mkisofs
  8. Implant md5sum with implantisomd5
  9. Burn .iso to CD/DVD with wodim

[edit] VI. Anaconda Kickstart Integration

  1. Using a kickstart file to automate installation
  2. Using a kickstart %pre script
  3. Using a kickstart %post script

[edit] VII. Anaconda Appendices

[edit] VIII. Anaconda Acknowledgements