| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
'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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
..I mean, let's not beat around the bush, here.
|
|
|
|
|
|
|
|
|
|
|
| |
So, loader used to look for updates.img/product.img/RHUpdates under
whatever path it was given for the stage2 image. We need product.img for
variant installers (like the RHEL installer) so we need to look for
these things.
Add the anaconda_auto_updates() function to look for these things and
put them in the appropriate places. Also add unpack_updates_img() as a
helper for cleanly unpacking updates images.
|
|
|
|
|
|
|
|
|
|
|
| |
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..
|
|
|
|
|
|
|
|
| |
copytree() is a function for copying/merging directory trees - useful
for stuff like updates images.
dev_is_mounted is confusingly similar to dracut-lib's 'ismounted', so
it's been renamed for clarity.
|
|
|
|
|
|
|
|
|
|
|
|
| |
If /dev/sda1 was mounted at /mnt, and it had the label FUNK, you might
reasonably expect this to return "/mnt":
dev_is_mounted /dev/disk/by-label/FUNK
Since /proc/mounts uses the kernel name for the devices, and the
symlinks in /dev are (basically) always linked to the kernel
device name, all we have to do is follow the symlinks to find the name
that should be in /proc/mounts.
|
|
|
|
|
|
|
|
|
|
| |
initqueue truncates job names down to the basename if they contain
slashes. So if you had two jobs for /dev/by-label/FLASH, they'd both end
up named "FLASH", and with --unique they'd collide and you'd end up with
just one job.
Drop --unique to avoid these sorts of collisions. Also drop the $dev
from the job name - it didn't really need to be there.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When installing from a hard drive, loader used to copy install.img to
tmpfs and unmount the partition afterward. We're avoiding that (to save
RAM) and it works fine in most cases.
However: for preupgrade, stage2 is stored in /boot. When anaconda tries
to mount /boot for upgrading, it finds that it's already mounted, pops
up a "Fatal error" dialog, and exits.
So, a hack: if "preupgrade" or "upgrade" or "inst.upgrade" is in the
boot args, and we're getting the installer image from a disk, copy the
install image into tmpfs and unmount the disk before proceeding.
|
|
|
|
|
| |
Not too hard really - just check to see if the disk is already mounted,
and don't bother mounting it again if it is.
|
| |
|
|
|
|
|
|
|
| |
preupgrade uses stage2=hd:XXX:/path/upgrade.img, so we need to handle
that.
stage2=XXX overrides repo=XXX, if both are present.
|
|
|
|
|
|
| |
Use initqueue --unique to ensure the command can only be enqueued once.
Also, make sure anaconda-diskroot gets the correct device name.
|
|
|
|
|
|
|
| |
Empty "$kickstart" in run_kickstart, so we don't end up looking for the
kickstart again - and don't run fetch-kickstart-disk if it already ran.
Also, newer dracut doesn't bother with root.info so neither should we.
|
| |
|
|
|
|
|
|
|
| |
Commit 0544eff was supposed to make anaconda try to write net.ifaces
whenever an interface came up, but because of a quoting error it
*emptied* /tmp/net.ifaces instead. It also didn't handle adding things
to net.ifaces correctly. This patch fixes both problems.
|
|
|
|
|
|
|
|
|
| |
/mnt/install/source is used by anaconda to mount install media,
if it finds the boot iso mounted there it will try to unmount it,
which will fail since we are running from it. Leave it at install/repo
so that this doesn't happen.
This reverts commit 37144b9e86e801074fa4ae4656da458fe83f6e07.
|
|
|
|
|
|
|
|
| |
If we're given the path to an iso, we need to split it up so we mount
the directory the iso is *in*, and then mount the iso.
Also, fix a harmless typo bug in find_runtime and clean up/clarify
anaconda_live_root_dir a bit.
|
|
|
|
|
|
|
|
|
| |
loader used to put the install source at /mnt/install/source; we're
moving to /run but it simplifies things to keep the directory name the
same.
This lets us just symlink /mnt/install to /run/install and things should
work like they used to.
|
|
|
|
|
| |
anaconda expects any device brought up in stage1 to still be active, so
let's make sure we pass along the required info for NetworkManager.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If you're booting from a CD but using a kickstart for other stuff, we
still need to set up / retrigger block stuff *even though you don't have
a repo defined by the kickstart*.
The problem was two things: first, we were leaving $root set to
"anaconda-kickstart", so parse-anaconda-repo.sh didn't change anything.
Second, when root was set to "anaconda-auto-cd" because there wasn't a
inst.repo arg, we never triggered the disk magic. So we never found the
CD.
|
|
|
|
|
|
| |
So yeah, re-parsing the whole commandline just makes us emit error
messages and doesn't write out the ifcfg lines we wanted, so let's not
do that.
|
| |
|
|
|
|
|
|
| |
Re-running the cmdline hook will cause the 'network' module to write out
the network config files, which should make the 'ifcfg' module write
ifcfg-eth* files, which should fix the kickstart 'network' command.
|
| |
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
rpmbuild wants to build .pyc/.pyo files for it, and we don't need/want
that.
|
| |
|
| |
|
|
|
|
|
|
| |
- rename to parse-kickstart.py
- make it write /tmp/ks.info
- add parse_kickstart function to anaconda-lib
|
|
|
|
| |
also remove unused mount_isodir
|
|
|
|
| |
also move some functions into anaconda-lib
|
| |
|
|
|