Anaconda/Features/ReworkLiveCD

From FedoraProject

< Anaconda | Features
Revision as of 21:32, 11 July 2011 by Bcl (Talk | contribs)

Jump to: navigation, search

Contents

Rework current livecd support

Summary

Rethink livecd installation and figure a way to sanely support. RHEL use case is virt (RHEV). Fedora use case are the live CDs.

python-imgcreate needs to be more tightly integrated with Anaconda. It currently produces images that are almost, but not quite exactly the same as an Anaconda installed system. In order to accomplish this Anaconda needs to be more modular so that things like hooking the fstab generation or bootloader type can be accomplished. The goal is to move functionality out of python-imgcreate and into Anaconda provided (an maintained) classes. Eventually python-imgcreate may become part of Anaconda to simplify maintenance of the interface.

The move to the pyanaconda module and the storage system rewrite move us in the right direction.

Here are some of the things that need to be exposed by Anaconda

  • bootconfig hook - called after package install, but before kickstart %post. Used to create bootloader config.
  • fstab creation
  • _get_kernel_versions - list of installed kernels. Used to setup custom bootloaders
  • filesystem hook - creation, mounting, sparse image creation, squashfs, construction of iso
  • custom dracut.conf and mkinitrd.conf

Owner

Current status

  • Targeted release: Fedora 16
  • Last updated: 2011-07-11
  • Percentage of completion: 50%

Detailed Description

The only reliable way to create a livecd that works exactly like a DVD install is to use anaconda to handle the livecd creation instead of livecd-creator. The way to do this is to use the netboot.iso or dvd iso created by pungi+lorax. Everything else is a pale imitation. The plan, as it currently stands, is to use virt-install to process the kickstart into an image. The files from that will then be wrapped up inside a squashfs filesystem and wrapped in a bootable iso as we currently do for Live CD creation.

Parts to build

  • kickstart to image processing using virt-install
  • Enhancements to anaconda to allow kickstarts to modify anaconda behavior via a plugin API
  • creation of squashfs filesystem
  • move installed files to squashfs filesystem
  • create iso to boot the squashfs filesystem

Benefit to Fedora

  • Less bugs, more features

Scope

  • anaconda
  • anaconda storage
  • livecd-tools
  • python-imgcreate

Test Plan

User Experience

Dependencies

Contingency Plan

Documentation

Release Notes