Giter VIP home page Giter VIP logo

dracut's Introduction

dracut

dracut is an event driven initramfs infrastructure.

Contributor Covenant

dracut (the tool) is used to create an initramfs image by copying tools and files from an installed system and combining it with the dracut framework, usually found in /usr/lib/dracut/modules.d.

Unlike other implementations, dracut hard-codes as little as possible into the initramfs. The initramfs has (basically) one purpose in life -- getting the rootfs mounted so that we can transition to the real rootfs. This is all driven off of device availability. Therefore, instead of scripts hard-coded to do various things, we depend on udev to create device nodes for us and then when we have the rootfs's device node, we mount and carry on. This helps to keep the time required in the initramfs as little as possible so that things like a 5 second boot aren't made impossible as a result of the very existence of an initramfs.

Most of the initramfs generation functionality in dracut is provided by a bunch of generator modules that are sourced by the main dracut script to install specific functionality into the initramfs. They live in the modules.d subdirectory, and use functionality provided by dracut-functions to do their work.

Documentation:

Currently dracut is developed on github.com.

The release tarballs are here.

Gitter (chat):

See News for information about changes in the releases and the Wiki to share information.

See the github issue tracker for things which still need to be done and Hacking for some instructions on how to get started. There is also a mailing list that is being used for the discussion -- [email protected]. It is a typical vger list, send mail to [email protected] with body of 'subscribe initramfs [email protected]'

Licensed under the GPLv2

dracut's People

Contributors

aafeijoo-suse avatar aidecoe avatar arvidjaar avatar bengal avatar daveyoung avatar ddiss avatar dillow avatar dtardon avatar fgrose avatar haraldh avatar jlebon avatar johannbg avatar jwrdegoede avatar katzj avatar laszlogombos avatar lkundrak avatar lnykryn avatar mrc0mmand avatar msoltyspl avatar nabijaczleweli avatar puleglot avatar ryncsn avatar seewer avatar steffen-maier avatar tblume avatar victorlowther avatar vogtinator avatar watologo1 avatar wgwoods avatar yuwata avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dracut's Issues

add systemd-executor

Not sure what comes first, a new dracut release or systemd. If the latter we'll need dracutdevs@bee1c48 in Factory. So just a heads up as systemd is preparing for a new release.

network-legacy/net-genrules.sh: use $name instead of $env{INTERFACE}

The original behavior of $env{INTERFACE} was undocumented and changed in
the recent udev versions, breaking the ability to bring up networking
reliably. Switching to $name directive should fix this issue.

Related links:

Fixes: dracutdevs#732
(cherry picked from commit a8ba1c4)

Add nvdimm and suse-initrd modules

This adds the 90nvdimm and 99suse-initrd modules as discussed. I've done basic testing, it seems to work fine.

Difference to previous SUSE INITRD implementation: I look in all .conf files now (not only the ones starting with two digits) and I look in /lib/modules.d and /run/modules.d, too. The implementation has been simplified, no need to create a bash array as global variable.

99base: enable the initqueue in both 'dracut --add-device' and 'dracu…

…t --mount' cases.

The commit 9f3c31c ("99base: enable initqueue if extra devices are added")
only covers 'dracut --add-device' case, but it did not cover 'dracut --mount'
case, which causes the kdump failure in the Amazon virtual machine.

Lets make sure that the initqueue is enabled in both cases in order to wake up
the device in time.

Reported-by: Xiao Liang [email protected]
Signed-off-by: Lianbo Jiang [email protected]
(cherry picked from commit 84c862d)

[tblume: bsc#1161573]

Default DHCP fixes

  • store nameserver received from leases file when constructing new resolv.conf
  • mark interface setup finished when no ip= was not present on the command line and we drop to default dhcp setup

Add wicked specific config files (bsc#1089333)

Adding wickedd duid.xml and iaid.xml if available allows to present the same
identity to the dhcp server, and thus retaining the IP address assigned during
initrd phase in the regular system.

Add support for compressed kernel modules

When a module is compressed, uncompress it before packing into initrd.
Since initrd is already compressed, it makes no sense to put the
compressed module files.

The patch contains a slight refactoring and adds a helper function to
get the command for uncompressing a file per extension.

Reference: bsc#1135854
Signed-off-by: Takashi Iwai [email protected]

Not a fork of dracutdevs/dracut

Currently it's impossible to have a single fork on GitHub which allows sending PRs to openSUSE/dracut and dracutdevs/dracut as it's not part of the same "fork network". Can openSUSE/dracut be recreated as fork?

95iscsi: fix ipv6 target discovery

ipv6 addresses need square brackets, otherwise the iscsi discovery and log-in, which adds the iscsi port after another colon will get confused and fail.
Found during testing for bsc#1172807

dracut fixes for iscsiroot

References: bsc#1121238, bsc#1130107, bsc#1130114
The last 5 patches are mostly minor cleanups, please consider anyway.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.