Commit Graph

29 Commits

Author SHA1 Message Date
Ettore Di Giacinto
d14a047aa6
fix(mount): call sync before/after operations (#288)
* fix(mount): call sync after mount ops

Signed-off-by: mudler <mudler@kairos.io>

* refactor(mount): replace calls wrapped with sync

Signed-off-by: mudler <mudler@kairos.io>

* be consistent

Signed-off-by: mudler <mudler@kairos.io>

* lint fixes

Signed-off-by: mudler <mudler@kairos.io>

---------

Signed-off-by: mudler <mudler@kairos.io>
2024-04-19 10:01:16 +00:00
Itxaka
a78e2b7ce7
Fix mounts (#241)
Co-authored-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2024-03-15 09:24:54 +01:00
Dimitris Karakasilis
4521fe6fcd
2226 detect boot state (#225)
* WIP

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* WIP

Signed-off-by: Dimitris Karakasilis <dimitris@spectrocloud.com>
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* WIP add logs everywhere (EOD wip)

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Do the livecd check as late as possible

because the herd condition is evaluated too early before the /sys
is mounted and thus we don't detect the installed system correctly in
UKI mode.

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Wrap NewRuntime to allow passing down a logger

so that kairos-sdk logs make it to the immucore.log file

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Add TODOs and remove redundant check in code

the livecd check already happens some lines above

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Replace the "replace" with an actual tag

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Remoce "replace" directive and use wrapper method for UnlockAll

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Remove unecessary TODO

the log message describes what happened

* Re-use the method from kairos-sdk for uki boot detection

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Move messages from Info() to Debug() (PR review request)

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

---------

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
Signed-off-by: Dimitris Karakasilis <dimitris@spectrocloud.com>
Co-authored-by: Mauro Morales <mauro.morales@spectrocloud.com>
2024-02-19 13:42:06 +02:00
Dimitris Karakasilis
6b07d39073
Add awk (#157)
* Add awk and gawk in the initrafms

to allow growpart to work. Also include libraries which dracut fails to
auto-detect

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Bump yip

to get this fix: https://github.com/mudler/yip/pull/110

as part of this: https://github.com/kairos-io/kairos/issues/1831

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Fix lint errors

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

---------

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-09-25 10:32:45 +03:00
Itxaka
a1710b8589
Set basic /run mount from the start to be able to always log (#154) 2023-09-19 09:51:57 +02:00
Itxaka
0811f0f054
Increase compatibility with alpine systems (#132) 2023-05-30 21:51:03 +02:00
Itxaka
2e9e5de03e
Fix missing sysroot mount in fstab (#121) 2023-05-05 12:34:23 +02:00
Itxaka
06ff33cc97
⬆️ Bump deps (#114) 2023-04-28 09:30:56 +02:00
Itxaka
f1c3aad0ee
🌱 activate LVM volumes at the start (#113) 2023-04-19 16:23:51 +02:00
Itxaka
6bf656cd21
Try to mount oem under livemedia (#110) 2023-04-12 16:19:21 +02:00
Itxaka
88a2ca8a9b
Conditional for loading oem (#85) 2023-03-09 12:57:10 +01:00
Itxaka
aa5939da89
Rework workflow (#77)
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
2023-03-08 11:45:11 +01:00
Itxaka
fecfbf8e92
Add tests and fix some issues that arised from testing (#74)
* 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>
2023-03-02 16:46:25 +01:00
Itxaka
b0b326313b
🐛 Get oem label from cmdline before using runtime (#73)
Otherwise we are ignoring any override via stanza

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-02 11:45:05 +01:00
Itxaka
ea5c1c75f2
🐛 Support immucore stanzas in cmdline (#72)
Introduce support for the same old cos stanzas but with immucore naming
so we can control them better in the future

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-02 11:10:28 +01:00
Itxaka
6ed15c7227
🐛 Load overlay config from cos-layout.env (#71)
Load the base overlay config from the cos-layout.env file. This means we
have to depend the base overlay mount to the load-config step, which
moves things a bit in the DAG.

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-02 10:44:54 +01:00
Itxaka
73c4c3e0af
Add missing cmdline stanzas (#69)
Adds support for:
 - rd.cos.oemtimeout=
 - rd.cos.overlay=tmpfs:SIZE
 - rd.cos.overlay=LABEL=DEVICE_LABEL
 - rd.cos.overlay=UUID=DEVICE_UUID

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-01 21:45:32 +01:00
Itxaka
68fc3afa24
Fix master to boot normal (#68)
* Be more careful with commandWithPaths PATHS

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

* Do not mount all the things :/

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

* Only mount /proc otherwise we break stuff

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

---------

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-01 16:20:45 +01:00
Itxaka
086227d672
Uki Support (#67)
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-01 11:42:46 +01:00
Itxaka
3a52112b91
Revert "Uki support" (#66
This reverts commit 985b8c9401.
2023-02-28 19:46:15 +01:00
Itxaka
985b8c9401
Uki support (#61) 2023-02-28 14:37:02 +01:00
Itxaka
5dde396331
Add fsck before mounting (#56)
Respect all options from systemd-fsck as that it what is currently used
on kairos.

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-17 16:15:26 +01:00
Itxaka
c081f987f8
Fix recovery (#54)
* Fix recovery

 - change TargetLabel into TargetDevice to hav ethe full device instead
   of just the label
 - log error if we cant mount
 - Get state partition to mount depending on recovery or active/passive
 - Get state patition fs on the fly
 - Set proper label device to mount on sysroot based on our boot state

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

* Fix test

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

---------

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-17 11:53:26 +01:00
Itxaka
4083ff691d
Mark rd.cos.disable sentinel as livecd (#46)
Original cos-immutable-rootfs sets the sentinel to livecd if it finds
the rd.cos.disable in the cmdline.

We should do the same. Unfortunately the state sdk doesnt support that
yet so we have to do it on our side until its supported

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-17 09:27:12 +01:00
Itxaka
61e6607285 Properly clean the sysroot string from fstab
Signed-off-by: Itxaka <itxaka@spectrocloud.com>
2023-02-09 10:29:26 +01:00
Itxaka
0807fe08f5 Refactor
Signed-off-by: Itxaka <itxaka@spectrocloud.com>
2023-02-09 10:12:11 +01:00
Itxaka
f490b08587 Several fixes
- set debug level via cmdline
 - set default RW paths needed ALWAYS to boot a working system, even
   with no config files(recovery)
 - Check for loop device before mounting it to avoid duplicated mounts
 - Force overlay and bind arrays to uniqueness
 - Rename OverlayDir to OverlayDirs to better represent the content

Signed-off-by: Itxaka <itxaka@spectrocloud.com>
2023-02-08 22:54:17 +01:00
mudler
8f3a43861b Read cmdline mount args 2023-02-06 16:02:18 +01:00
mudler
67aea02ba7 Read mountpoint from env file 2023-02-06 15:41:52 +01:00