| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
networking kernel modules
|
|
|
|
|
| |
Also ensure that the compression method is xz -9 for much better compression
(was previously defaulting to gzip)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
new dracut-based initrd.
This removes functions no longer called and adds a new one which will
simply list the desired modules and pass them on the dracut command line.
This should mean we have the same modules as before (at least) which should
mean less regressions.
This does increase the size of the initrd back up quite a lot (as expected)
so we may want to look at optimising other areas to bring it back down a bit
again.
|
|
|
|
|
|
| |
This then loads a x86_64 or i586 config depending on the detected arch.
Anne asked for this kind of setup.
|
| |
|
|
|
|
|
| |
Now that initrds are generated via dracut, there is no need to prepare kernel modules.
This sadly removes support for passing in a kernel rpm file, but such is life.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|