| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
No wonder we can't seem to eject the DVD - we don't have the eject
binary! Include it in the initramfs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
We need these after the pivot and we can't get to them without copying
them into /run ourselves.
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
Since we've removed all UI from initramfs, plain 'updates' no longer
works if you want to load an updates image from disk.
This adds support for fetching updates images, much the same way as we
do with kickstarts.
Note that I'd really like to merge all the *-genrules.sh / fetch-*-disk
junk, but time is short..
|
|
|
|
| |
This does some magic s390 setup junk, whee.
|
|
|
|
|
|
|
|
|
|
| |
Commit 1e4a880 in dracut adds 'online/05-setup_net.sh' to ensure that
setup_net gets run before (most) online hook scripts, but we were
running fetch-kickstart-net.sh at a priority of 00.
Move it to priority 10 so setup_net happens first.
(Credit to Harald Hoyer <harald@redhat.com> for catching this.)
|
|
|
|
|
| |
Anaconda expects a minimum set of modules to be loaded, things
like raid1, etc.
|
|
|
|
|
| |
udev properties need to be set when udev is running. As it turns out,
that's basically what the pre-trigger hook exists for.
|
|
|
|
|
| |
- we should run the kickstart before anything else
- don't run netroot again if it's already finished
|
| |
|
|
|
|
|
|
|
|
|
| |
We need to hand over the ifcfg file and dhclient lease to NetworkManager
to keep it from trashing our network interface when we're using NFS
root.
To get the files written by the ifcfg module, we need to make sure a few
things are set up properly.
|
|
|
|
|
| |
replace anaconda{nfs,url}root with anaconda-netroot.sh
fix up the arg parsing accordingly
|
|
|
|
| |
Also, make the ks parsing stuff write needed info to /tmp/ks.info.
|
|
|
|
|
|
| |
python is better at figuring out python deps this way.
big thanks to bcl for showing me python's "modulefinder" module.
|
|
|
|
|
| |
rpmbuild wants to build .pyc/.pyo files for it, and we don't need/want
that.
|
| |
|
|
|
|
| |
and modify module-setup.sh accordingly
|
|
|
|
|
|
| |
- rename to parse-kickstart.py
- make it write /tmp/ks.info
- add parse_kickstart function to anaconda-lib
|
|
|
|
|
| |
move anaconda-hdroot to anaconda-diskroot (it works for CDs too!)
use anaconda_live_root_dir in nfsroot and diskroot
|
|
|
|
| |
also move some functions into anaconda-lib
|
| |
|
|
|
|
|
|
|
| |
add genrules for kickstart stuff.
add when_netdev_online for ks/dd network bringup.
add ksdevice=bootif support
aaaaand clarify some comments and things.
|
| |
|
| |
|
|
|
|
|
|
| |
This was making dracut say:
E: Dracut module "anaconda" cannot be found.
E: Dracut module "covertfs" cannot be found.
|
| |
|
|
This adds the dracut directory and anaconda-dracut subpackage.
The 'anaconda' dracut module replaces loader. It should handle all the
tasks that loader used to handle in the first stage of the boot process.
It's a work in progress, but it currently supports repo={http,ftp,nfs}
and most anacaconda network options.
Kickstart parsing is handled using a python interpreter and pykickstart,
which (surprisingly) only adds ~600k to the initramfs.
Driver disks are not yet supported.
|