| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Because dracut uses udev and because udev has likely already started
the interface, we will see things out of order.
Large sections of the probing code could probably be removed
but for the time being we should probably consider removing
this error message completely
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that dracut runs stage1 earlier, we need to store it's exit code
for later reuse. In this, the separate dracut module will just write a
flag file in /run/drakx/ to indicate that we want to re-exec /sbin/init
(after doing some symlinks and /usr bind mount) rather than run the install.
As a result there is no need to return 0x35 ('procced') so just return
0 and keep 0x35 return code for when we really do need to restart stage1
(e.g. on a fatal error). The dracut module should loop if 0x35 is
ever returned.
|
|
|
|
|
| |
init is now solely responsibe for running stage2 (be it install or rescue)
as stage1 is now run earlier by dracut.
|
|
|
|
| |
Dracut mounts these already.
|
|
|
|
|
|
|
|
|
|
|
| |
The main change here is not remounting a fresh /run. Dracut does this
for us and we actually need to keep this one as the initial udev
database (when udev is started by dracut) is stored here and thus
mounting an empty fs could see us lose some metadata.
We no longer touch the /bin, /sbin or /lib[64] symlinks as these are
already relative symlinks into /usr and simply bind mounting /usr is
enough.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order to run stage1 we now need to do things a little differently,
namely that we move the symlinking fixups into 'init' itself which we will
actually call as a kind of fake switch_root implementation to avoid
hacking dracut too much[1]. As we run stage1 during dracut's 'mount' phase
we should not do the symlink hacks so early otherwise it will mess up
the rest of the dracut initqueue processing.
Currently, the initrd's /usr is nuked and then symlinked, but to
allow for easier debugging I now just bind mount the stage2 /usr over
the top which allows us to unmount it again easily enough if we want to
go back.
We no longer touch the /bin, /sbin or /lib[64] symlinks as these are
relative and simply bind mounting /usr is enough to fix all of them.
1. This scheme will have to change if we eventually swtich to a
systemd based dracut invocation.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This converts the initrd generation from a home grown system to dracut.
It uses the upstream modules where possible plus two specially written
dracut modules: mgainstaller and mgakadeploy.
The initrds are identical for all builds and there are lots of
bits that are incomplete and unnecesary.
e.g. copying the kernels to a folder and then not using them,
and also the module-descriptions file is not included in the
initrd itself which it should be.
We can probably customise the initrd better for different use
cases, e.g. perhaps network stuff is not needed for HD based
installs?
We may also need to install the mdraid and lvm modules for some
HD support.
This is the first attempt so I expect various bits need fixing
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we would create a static stage1 for the installer, but as
a dracut based initrd already includes glibc, there is very little
advantage in this small, statically linked version.
As a side note, it seems that if the initrd contains a /etc/modprobe.d/
folder (which can be the case with dracut) then dietlibc seems
to return a ENOENT when calling readdir_r() on that folder
(via the libkmod-config.c code).
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
|
|
| |
The myhostname NSS module (which is default in nsswitch.conf) handles
this happily.
|
|
|
|
|
| |
Not needed since systemd automatically already sets up /tmp using tmpfs.
Proposed and accepted on dev mailing list.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This file is now 'hidden' in /usr/libexec and only used via it's wrapper
script in mgaonline.
This was originally changed from /usr/bin/urpmi back in 2001 by Pixel, but
the current path for urpmi is /usr/sbin/urpmi, which seems to be
as reliable as urpmi.update was before.
|
| |
|
| |
|
| |
|
|
|
|
| |
mga#11125 mga#11418
|
| |
|
|
|
|
|
|
|
| |
This relies on the name of the policy files but that's fine.
We no longer need to write lots of boiler plate wrapper scripts.
mga#11125
|