This makes immucore run more in parallel rather than block everything
else. We just tell sysroot.mount that eventually it will be mounted and
to wait for a bit.
This allows us to be more flexible where to run and run in parallel in
cases like cdrom in which we may do things but we need the sysroot to be
mounted already but not from us.
Also adds the initramfs stage directly in immucore and merges all the dracut config into one
Dont create sysroot, just add a timeout override so it waits for us
Dont block on the service, just make sure to finish before
initrd.target
Fix mounts from cmdline
More proper log
Store logs under the /run/immucore dir
Store rootfs and initramfs logs separated
Do not log the full stages in INFO level
Run initramfs stage in immucore directly on boot and cd/netboot
Drop systemd requirement from dracut module
Signed-off-by: Itxaka itxaka.garcia@spectrocloud.com
* Add tests and fix some issues that arised from testing
Mainly around the cmdargs and how many items it returns.
Also drop the iso target and jobs as its not necessary now
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
* Lint
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
---------
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
* Full rework
- Extract steps to a different file
- Simplify dag for easy understanding
- Load dag based on our boot process
- Simplify steps to not depend on useless stuff
- Better logging
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
* Move sentinel file to the dag
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
* Adapt tests
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
---------
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
* Add extra files needed for dracut
If we are dropping cos-immutable-rootfs then we have to include the
missing files that the package already added.
For example, the several dracut configs of modules for the initramfs
stage, or the general config for the dracut file.
We also need to install and link the initramfs elemental stage service
as that its no longer provided by the cos-immutable-rootfs package and
not integrated into immucore yet
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
* Minor improvements
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
---------
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
- Set global debug log
- Set caller in the log if debug
- Fatal if cannot get target image
- clean up slices from cos-layoout.env
- Add generic log with more context info
- dump runtime to log on start
- Set proper default paths if overlay is empty (fixes recovery)
- Fix ErrAlreadyMounted to not trigger failures
Signed-off-by: Itxaka <itxaka@spectrocloud.com>
For easy debugging
Also fixes missing stuff on dracut build to be able to still run the
cos-setup-rootfs/initramfs services and adds the missing elemental
binary to the initramfs.
As we remove the cos-immutable-rootfs module for dracut then both the
services and binary doesnt get included.
Signed-off-by: Itxaka <itxaka@spectrocloud.com>