summaryrefslogtreecommitdiffstats
path: root/dracut
Commit message (Collapse)AuthorAgeFilesLines
* Bonding support: kickstartRadek Vykydal2013-03-011-13/+44
| | | | | | | TODO: - sync dracut and NM naming convention for slaves? perhaps better: don't write any ifcfg files for kickstart case - test with new NM (dhcp on slaves)
* dracut: add anaconda-pre-shutdown.sh to fix eject (#809920)Will Woods2013-02-263-1/+24
| | | | | | | | | | | So it turns out that having the device that contains the runtime image mounted *underneath* the runtime image means we have a mount loop, e.g.: The DVD can't be unmounted because it holds the image for / / can't be unmounted because the DVD is mounted underneath it To fix this, we move the repo mount(s) back out from under the runtime image during dracut's pre-shutdown hook (new in dracut 024-25).
* Continue booting when checkisomd5 is aborted (#891551)Brian C. Lane2013-02-261-1/+4
|
* Fix ksdevice=<MAC> - instead of renaming the device to ksdev0 just use itRadek Vykydal2013-02-251-4/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ksdevice option doesn't work in f17 and f18. It used to specify which network device to activate in early stage of installation, eg. to fetch kickstart or installation image. In F17 and F18 the device should be specified by dracut option ip= Mapping of ksdevice options from loader to dracut options used in F17 and F18: - ksdevice missing (and network is required) loader: user was asked in UI in case of more devices present dracut: activates all devices if not specified - ksdevice=eth0 loader: eth0 is activated dracut: specify device in ip=, eg ip=eth0:dhcp ip=10.34.39.44::10.34.39.254:255.255.255.0::eth0:none - ksdevice=00:12:34:56:78:9a loader: device with MAC address is activated dracut: We translate it to ifname=ksdev0:00:12:34:56:78:9a which renames the device. It is possible to use BOOTIF=00-12-34-56-78-9a, which this patch does. - ksdevice=link loader: first device with link found is activated dracut: all devices with link are activated (default dracut behaviour for not specified device) - ksdevice=ibft loader: activate devcie configrued in iBFT dracut: use ip=ibft option
* Add pigz to initrd.imgWill Woods2013-02-221-1/+1
| | | | | | Drastically speeds up compression of the initramfs for modern multicore systems, doesn't slow anything down if you're on a single core machine (like a virt guest), and only adds ~20kb to the image size. Good deal!
* unpack product.img to /updates (#911873)Brian C. Lane2013-02-202-2/+2
| | | | | | | product.img should place its files under /run/install/product This maintains consistency between updates.img and product.img and supports correct operation whether or not tmpfs is used for /tmp
* fix uuid reference in parse-kickstartBrian C. Lane2013-02-141-3/+3
|
* Restore older behavior regarding ks argument without a file name (#910550).Chris Lumens2013-02-131-4/+5
| | | | | The docs and anaconda did not match up. This updates anaconda to work the same as it used to do, now to update the docs to match.
* Add 'eject' to the anaconda initramfsWill Woods2013-02-111-0/+2
| | | | | No wonder we can't seem to eject the DVD - we don't have the eject binary! Include it in the initramfs.
* Add dracut/save-initramfs.shWill Woods2013-02-113-3/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since dracut dropped its slightly-too-clever trick to save a copy of itself at /run/initramfs, we need to locate or save a copy of initramfs so we can switch back into it and shut down properly. So: first, check to see if we're running off media; if so, we can just use the initramfs from the media. Easy! Otherwise we need to save a copy. The anaconda initramfs (for current F18-ish images on x86_64) uses about 96M RAM when unpacked, which is a bit wasteful. To save RAM we can filter out some stuff we don't need for shutdown: * kernel modules: ~39M * firmware: ~9M * python: ~8M * ssl certs: ~1M * fsck binaries: ~1M which leaves us with 38M of data. We can reduce this to 18M by gzipping it, but that delays startup for 3s on my test system. (Using xz would save 4.5M, but it takes 15s (!) and uses 100M RAM (!!).) Using gzip -1 drops this to just over 1 second; RAM use goes up by 1M, but that seems like a reasonable tradeoff. If `pigz` is available, that gets used instead, which makes the delay basically negligible on any modern multicore system.
* Bring back the askmethod parameter (#889887).Chris Lumens2013-02-111-1/+0
| | | | | | | | We've got this shiny new method selection UI but if you want to use it, you've first got to sit through the delay of fetching metadata for the closest mirror which might be completely wrong for you. Thus, this parameter will skip the default action. Entering and leaving the source spoke will unset this parameter.
* unpack product.img to correct location (#869098)Brian C. Lane2013-02-011-1/+1
| | | | It was being unpacked to /updates instead of /updates/tmp/product
* Fix static and dhcp of network --ipv6 command (set IPV6_AUTOCONF=no)Radek Vykydal2013-02-011-6/+8
|
* Ignore ipv6 for a device (IPV6INIT=no) only for noipv6 option.Radek Vykydal2013-01-301-1/+1
| | | | | In default case, use SLAAC auto configuration (NM's default IPV6_AUTOCONF=yes).
* Take over dhcp connection by NM for network root (eg nfs) (#883451, #893656)Radek Vykydal2013-01-161-1/+13
| | | | | | | We need to pass dhcp lease file to NM's dhclient also in case of kickstart installs. For non-kickstart case, this is done in dracut, modules.d/45ifcfg/write-ifcfg.sh. See dracut's commit 66666c670a462548df4ea4c8069d54b8c309ecf4
* Use systemd to run checkisomd5 (#874486)Harald Hoyer2012-12-201-1/+6
|
* Don't generate ifcfg files for non-existing devices in parse-kickstart (#886647)Radek Vykydal2012-12-191-0/+3
|
* Fix network command --onboot and --activate options.Radek Vykydal2012-12-051-1/+3
| | | | | | In dracut we set ONBOOT=yes for --activate so that NM activates the device upon its start, in anaconda we set the real value of ONBOOT.
* run checkisomd5 from anaconda-diskroot (#848764)Brian C. Lane2012-10-291-1/+18
| | | | | anaconda-dracut always passes a path to dmsquash-live-root so its checkisomd5 never runs (it needs a block device).
* rprivate -> make-rprivate (#869246).Chris Lumens2012-10-231-2/+2
|
* Avoid using mount --move on shared paths (#853508)Jesse Keating2012-10-161-1/+2
| | | | | | | | | move doesn't work because /run/ is a shared filesystem. So do as systemd suggests, mark the filesystem as private. We don't know of any reason in anaconda for the filesystem to be shared anyway. This hack can go away if/when the kernel ever allows moving mounts within a shared filesystem.
* add noverifyssl to anaconda-dracut (#852229)Brian C. Lane2012-10-101-0/+7
|
* Copy command line files prior to pivotJesse Keating2012-09-193-0/+7
| | | | | We need these after the pivot and we can't get to them without copying them into /run ourselves.
* parse-kickstart: handle 'network --ipv6=auto ...'Will Woods2012-09-041-1/+2
| | | | | | | | | | This is kind of silly, since IPV6_AUTOCONF=yes is the default (according to sysconfig.txt from 'initscripts'). But it might not always be the default, so let's just make sure we do what the user wants. Also, it's not our job to set policy; if DHCPV6C=yes should disable IPV6_AUTOCONF that's up to initscripts/NetworkManager. So leave it alone otherwise.
* parse-kickstart: set IPV6INIT=yes when using ipv6 (#830434)Will Woods2012-09-041-0/+3
| | | | It turns out IPV6INIT defaults to "no", so we need to set this.
* parse-kickstart: update some TODO commentsWill Woods2012-08-271-6/+1
| | | | | A bunch of these comments don't apply anymore - update them so they reflect reality
* parse-kickstart: simplify loggingWill Woods2012-08-271-22/+3
| | | | Systemd handles the tricky bits of logging for us now. Yay!
* dracut: remove workarounds for broken splitsep()Will Woods2012-08-222-5/+2
| | | | | | | | | | the splitsep function was buggy before, but it was fixed in dracut 019 so we don't need these workarounds anymore. See upstream dracut commit f7cadaa843498c4b986f8a030fab39002ad108b6. Related: 844c0c156ed2f27920257d86690f3017727f398e Related: 700e985082b03abcbd3009de81885b8fbf72818b
* dracut: fix rd.neednet use in parse-kickstart (#849672)Will Woods2012-08-211-1/+2
| | | | | | | rd.neednet is no longer in use by dracut. This is how you tell dracut "definitely bring up the network interfaces, dammit" now. Related: 861d6e3fc9d9cd3f719f7e2dbbff31244dc80142
* parse-anaconda-net: Add missing semicolon for dhclient.confBrian C. Lane2012-08-211-1/+1
|
* anaconda-modprobe: fix .ko removalBrian C. Lane2012-08-211-1/+1
|
* dracut: fix syntax error in parse-kickstartWill Woods2012-08-201-1/+1
| | | | Argh I dropped a colon somehow. Whoops.
* dracut: add info about special variables to READMEWill Woods2012-08-201-7/+45
| | | | | | | Some info about the variables that dracut exports and uses. This helps clarify the $netroot situation in anaconda-lib.sh a bit. Bonus: add some links to Further Reading.
* dracut: fix invalid use of 'eth0'Will Woods2012-08-202-3/+3
| | | | You can't use 'eth0' with ifname=<name>:<MAC>. Use 'ksdev0' instead.
* dracut: drop upgrade-specific hackWill Woods2012-08-201-7/+1
| | | | We don't handle upgrades in anaconda anymore, so this isn't necessary.
* dracut: set "$netif" correctly in initqueue/online scriptsWill Woods2012-08-202-0/+6
| | | | | Dracut now passes $netif as the first argument to the script rather than setting it in the scripts environment. So we need to do netif=$1.
* dracut: fix old-style static ip=xxx gw=yyy...Will Woods2012-08-201-14/+0
| | | | | | | | | | | | If we parse "ip=... gw=..." and emit a new "ip=..." line, we end up with multiple conflicting ip= args for that device. This makes dracut panic with: "Sorry, 'ip=$p' does not make sense for multiple interface configurations" Luckily dracut handles old-style anaconda ip=... arguments now, so we can just drop this block of code and fix the problem. Yay!
* dracut: import anaconda-lib.sh in pre-udev hookWill Woods2012-08-202-2/+6
| | | | | | | | | | | | Since each hook is (basically) a separate shell, we need to import anaconda-lib.sh at least once per hook. Since anaconda-modprobe.sh runs before the other scripts, this covers the whole hook. Still, it's a good idea to leave the imports in place so future maintainers know what functions come from where; clean up the existing import in repo-genrules.sh to actually provide this info.
* dracut: fix set_neednet so network comes up (#849672)Will Woods2012-08-201-4/+8
| | | | | | 'rd.neednet' is no longer used by dracut. Instead it checks for the presence of /tmp/net.ifaces or $netroot. So, if we need network (and $netroot isn't set), make sure /tmp/net.ifaces exists.
* dracut: drop save_netinfoWill Woods2012-08-201-18/+0
| | | | | | | | | save_netinfo moved into upstream dracut's net-lib.sh, so we don't need our own version here. The only place we currently use save_netinfo is in the initqueue/online hook, which will always have sourced net-lib.sh first, so we don't need to worry about changing anything else.
* move anaconda-modprobe to pre-udev hook, silence modprobe errorsWill Woods2012-08-202-2/+2
| | | | | | a) cmdline happens before we start messing with devices, so we don't really need to do modprobe here, b) we don't care if the user doesn't have a floppy drive, that's OK
* parse-kickstart: fix crash with PXE + ks=file: (#844478)Will Woods2012-08-201-0/+7
| | | | | | | | Current dracut crashes (intentionally!) if you use 'ip=' arguments with 'BOOTIF='. Until that's fixed upstream, add a temporary workaround that skips writing 'ip=' arguments if 'BOOTIF' is present.
* parse-kickstart: clarify/refactor Network handlingWill Woods2012-08-201-12/+26
| | | | | Should be no actual behavior changes here, mostly just adding a bunch of comments and clarifying the flow a bit.
* dracut: add READMEWill Woods2012-08-171-0/+90
| | | | | Add a README containing some notes that should cover a lot of the common questions people ask about how this thing works.
* Source in url-lib.sh if we don't have it (#847831)Jesse Keating2012-08-161-0/+1
| | | | | | We're going to be playing whack-a-mole here for a bit. Because each stage of dracut is now a new shell we don't have access to things sourced in previous stages.
* parse-kickstart: add proc_cmdline (fix init_logger())Will Woods2012-08-161-0/+16
| | | | | | | | commit c1da5cd was originally part of an attempt to fix something else, but the other patch (which introduced proc_cmdline) was rejected on review. This adds proc_cmdline so init_logger() won't traceback.
* Load anaconda-lib.sh if necessaryJesse Keating2012-08-141-0/+3
| | | | | | For some reason right now this library is not being imported at the time repo-genrules.sh is being ran, so add a stub that forces the import since we need the $rulesfile variable.
* Use shell code to work around missing basenameJesse Keating2012-08-141-1/+4
| | | | | | | Basename got removed from dracut land. This was our only use of it so use shell built ins to accomplish the same thing. Sadly you cannot strip both prefix and suffix at the same time, so take a two step approach.
* Honor displayMode from kickstart filesJesse Keating2012-08-131-0/+12
| | | | | | Loader used to handle this, but it was lost when we moved to dracut. This adds back the functionality to set cmdline, text, or graphical based on kickstart contents.
* dracut: fix inst.ks.sendmac (#826657)Will Woods2012-08-134-30/+34
| | | | | | | | | | | | | | Originally, parsing inst.ks.{sendmac,sendsn} happened in parse-anaconda-kickstart.sh. But it turned out that sendmac needed to happen after the modules were loaded, so commit 4fcc157 tried to fix this by making it a function, and using initqueue to run that function in the 'initqueue/settled' hook. Well, it turns out initqueue doesn't like adding jobs that are function names - the job ends up empty and nothing happens. So instead, let's handle these two arguments directly in a script that runs in initqueue/settled.