From Fedora Project Wiki
(Created page with "{{admon/important | Set a Page Watch| Make sure you click ''watch'' on your new page so that you are notified of changes to it by others, including the Feature Wrangler}} {{a...")
 
Line 1: Line 1:
{{admon/important | Set a Page Watch| Make sure you click ''watch'' on your new page so that you are notified of changes to it by others, including the Feature Wrangler}}
 
 
{{admon/note | All sections of this template are required for review by FESCo.  If any sections are empty it will not be reviewed }}
 
 
 
<!-- All fields on this form are required to be accepted by FESCo.
 
We also request that you maintain the same order of sections so that all of the feature pages are uniform.  -->
 
 
<!-- The actual name of your feature page should look something like: Features/Your_Feature_Name.  This keeps all features in the same namespace -->
 
 
 
= Dracut HostOnly =
 
= Dracut HostOnly =
  
 
== Summary ==
 
== Summary ==
<!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->
 
 
Only create "host-only" initramfs images. A generic fallback image should be installed by anaconda on installation/update and never ever be removed.
 
Only create "host-only" initramfs images. A generic fallback image should be installed by anaconda on installation/update and never ever be removed.
  
 
== Owner ==
 
== Owner ==
<!--This should link to your home wiki page so we know who you are-->
 
 
* Name: [[User:Harald| Harald Hoyer]]
 
* Name: [[User:Harald| Harald Hoyer]]
 
<!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or  technical issues need to be resolved-->
 
 
* Email: harald@redhat.com
 
* Email: harald@redhat.com
  
Line 25: Line 11:
 
* Targeted release: [[Releases/19 | Fedora 19 ]]  
 
* Targeted release: [[Releases/19 | Fedora 19 ]]  
 
* Last updated: 2013-01-29
 
* Last updated: 2013-01-29
* Percentage of completion: 50%
+
* Percentage of completion: 20%
  
 
== Detailed Description ==
 
== Detailed Description ==
 
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
 
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
 +
Current initramfs images contain most of the kernel drivers to boot from any hardware.
 +
This results in a very big initramfs, which takes a long time to load on system start and a long time to create on kernel updates.
 +
Switching to host-only will improve the situation. To cope with hardware change, a boot entry "Rescue System" should be installed with a full fledged initramfs also containing debug tools.
 +
This boot entry can then be used to recover from hardware changes and also from unforseen software failure after updates.
  
 
== Benefit to Fedora ==
 
== Benefit to Fedora ==
 
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?-->
 
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?-->
 +
Less /boot usage. Faster boot and updates. Full fledged rescue mode available.
  
 
== Scope ==
 
== Scope ==
 
<!-- What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
 
<!-- What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
 +
* dracut is already capable of producing host-only initramfs images, as well as rescue images
 +
* dracut has to implement "dracut --regenerate-all" to regenerate all normal initramfs with the current hardware
 +
* dracut has to ship "/usr/lib/dracut/dracut.conf.d/01-hostonly.conf"
 +
* dracut has to source config files from "/usr/lib/dracut/dracut.conf.d", although the same filenames in "/etc/dracut/dracut.conf.d" will have priority
 +
* anaconda has to be changed to create the rescue initramfs image and the rescue boot entry
 +
* yum should not remove the kernel, which is used for the rescue image, otherwise kernel modules cannot be loaded in the real root
  
 
== How To Test ==
 
== How To Test ==
Line 50: Line 47:
 
3. What are the expected results of those actions?
 
3. What are the expected results of those actions?
 
-->
 
-->
 +
 +
* install F19
 +
* see two boot entries in grub: first one with the current kernel, second one with the rescue entry
 +
* /boot should contain one big initramfs belonging to the rescue image. The rest of the initramfs images should be way smaller in comparison.
 +
* every boot entry must be bootable
 +
* kernel upgrade must not remove the kernel used for the rescue boot entry
  
 
== User Experience ==
 
== User Experience ==
 
<!-- If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
 
<!-- If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
 +
User should see no difference, besides faster boot and updates. On boot failure, the user now has a "Rescue system" boot entry.
  
 
== Dependencies ==
 
== Dependencies ==
 
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->
 
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->
 +
* dracut
 +
* anaconda
 +
* yum?
  
 
== Contingency Plan ==
 
== Contingency Plan ==
 
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not.  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
 
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not.  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
 +
If the feature cannot be completed, we switch back to non-hostonly initramfs images, which is a configure switch in dracut and very easy to do.
  
 
== Documentation ==
 
== Documentation ==
 
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
 
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
*
+
* [http://www.kernel.org/pub/linux/utils/boot/dracut/dracut.html Dracut documentation]
  
 
== Release Notes ==
 
== Release Notes ==
 
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
 
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
 
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
 
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
*
+
* This Fedora release ships with an initramfs tailored especially for your computer hardware. If you change your machine or significant hardware of your might have to boot with the "Rescue System" boot entry and execute "dracut --regenerate-all" or to generate all initramfs hardware independent, execute "ln -s /dev/null /etc/dracut.conf.d/01-hostonly.conf".
  
 
== Comments and Discussion ==
 
== Comments and Discussion ==
Line 73: Line 81:
  
  
[[Category:FeaturePageIncomplete]]
+
[[Category:FeatureReadyForWrangler]]
 
<!-- When your feature page is completed and ready for review -->
 
<!-- When your feature page is completed and ready for review -->
 
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
 
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
 
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
 
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
 
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
 
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Revision as of 12:58, 29 January 2013

Dracut HostOnly

Summary

Only create "host-only" initramfs images. A generic fallback image should be installed by anaconda on installation/update and never ever be removed.

Owner

Current status

  • Targeted release: Fedora 19
  • Last updated: 2013-01-29
  • Percentage of completion: 20%

Detailed Description

Current initramfs images contain most of the kernel drivers to boot from any hardware. This results in a very big initramfs, which takes a long time to load on system start and a long time to create on kernel updates. Switching to host-only will improve the situation. To cope with hardware change, a boot entry "Rescue System" should be installed with a full fledged initramfs also containing debug tools. This boot entry can then be used to recover from hardware changes and also from unforseen software failure after updates.

Benefit to Fedora

Less /boot usage. Faster boot and updates. Full fledged rescue mode available.

Scope

  • dracut is already capable of producing host-only initramfs images, as well as rescue images
  • dracut has to implement "dracut --regenerate-all" to regenerate all normal initramfs with the current hardware
  • dracut has to ship "/usr/lib/dracut/dracut.conf.d/01-hostonly.conf"
  • dracut has to source config files from "/usr/lib/dracut/dracut.conf.d", although the same filenames in "/etc/dracut/dracut.conf.d" will have priority
  • anaconda has to be changed to create the rescue initramfs image and the rescue boot entry
  • yum should not remove the kernel, which is used for the rescue image, otherwise kernel modules cannot be loaded in the real root

How To Test

  • install F19
  • see two boot entries in grub: first one with the current kernel, second one with the rescue entry
  • /boot should contain one big initramfs belonging to the rescue image. The rest of the initramfs images should be way smaller in comparison.
  • every boot entry must be bootable
  • kernel upgrade must not remove the kernel used for the rescue boot entry

User Experience

User should see no difference, besides faster boot and updates. On boot failure, the user now has a "Rescue system" boot entry.

Dependencies

  • dracut
  • anaconda
  • yum?

Contingency Plan

If the feature cannot be completed, we switch back to non-hostonly initramfs images, which is a configure switch in dracut and very easy to do.

Documentation

Release Notes

  • This Fedora release ships with an initramfs tailored especially for your computer hardware. If you change your machine or significant hardware of your might have to boot with the "Rescue System" boot entry and execute "dracut --regenerate-all" or to generate all initramfs hardware independent, execute "ln -s /dev/null /etc/dracut.conf.d/01-hostonly.conf".

Comments and Discussion