• kristoff@infosec.pub
          link
          fedilink
          arrow-up
          0
          ·
          4 months ago

          Concerning linux, yesterday I was watching this video on computerphile on the crowdstrike incident. https://www.youtube.com/watch?v=rlaNMJeA1EA (*)

          What is interesting is the comment made in the video on how chromebooks do software upgrades with dual “OS” disk-partitions and the ability to rollback to the previous OS-partition.

          Question: is something like this also possible on one of the major linux distros? (debian, ubuntu, rocky, …) What would be the procedure to do this kind of “dual partition” system-upgrade?

          (*) a great video that explained some of the technical details in a very clear way, including some very interesting ‘lessons learned’ and "what if"s If you ever need to explain crowdstrike to your manager, this video is a good start.

          • Unmapped@lemmy.ml
            link
            fedilink
            arrow-up
            0
            ·
            edit-2
            4 months ago

            If I’m understanding the question right. This is what Immutable Linux distros do. Such as Nixos, fedora silver blue, and vanilla os.

            I use nixos myself. But its quite different then most distros. The way you config it and install packages. For the better in my opinion.

            Something like silverblue works pretty much the same as normal Fedora except you can’t install packages like you normally would. Because the system files can’t be edited. You mostly use flatpak for everything. Except the system updates. Which you have to reboot to switch to the new updated image. But past images are saved so you can rollback if needed.

            From what I understand Chromebook os is a Immutable Linux distro same as the ones I mentioned. Just with Google with built in.

            • kristoff@infosec.pub
              link
              fedilink
              arrow-up
              0
              ·
              4 months ago

              Yes, that was indeed the question.

              If I read it correct, you need a specialised distro for this. You cannot do this on a off-the-shelf Debian or Ubuntu?

              I’ll do some searching on ‘unmutable Linux’. Thanks for the (very quick) answer! 😀

              • tetris11@lemmy.ml
                link
                fedilink
                arrow-up
                0
                ·
                4 months ago

                I think the answers given here don’t quite fit the question.

                Android and Windows have dedicated recovery partitions sectioned off on the disk that the OS never boots to and does not interact with during normal system operation.

                If something goes wrong with the OS, then a signal is sent to the BIOS or other non-OS system to “hey, recover from this partition”.

                Btrfs, NixOS, Guix, and other immutable (file-)systems, implement this via having a file system hierarchy protected by various permissions and softlinks to create a checkpoint of sorts, which is managed by a dedicated service that runs with the OS during normal system operation.

                The drawback of these systems is that if something does go wrong with the OS, it cannot fallback to the BIOS to save it. The OS has to somehow signal to itself that it needs to restore from an earlier checkpoint.

                • kristoff@infosec.pub
                  link
                  fedilink
                  English
                  arrow-up
                  0
                  ·
                  4 months ago

                  Just watched some videos on btrfs. I start to understand the conceps. Perhaps I should also look into how exactly

                  On windows and the “recovery partion”. I guess what you say is that it should always be possiblity to boot in some kind of system, but it will not happen automatically as there is no way for a system to detect that the system completely hangs.

                  Thinking about it. It kind of strange. Embedded systems have watchdog interrupts that get fired if the system hangs (i.e. if it does not provide a “yes, I still live” signal every “x” milliseconds). Does a PC not have something similar?

                  • tetris11@lemmy.ml
                    link
                    fedilink
                    arrow-up
                    1
                    ·
                    4 months ago

                    embedded systems have the advantage of all using a single bootloader: Uboot, so the error path is always known and the software knows how to fallback.

                    With x86_64 systems it’s a mixed bag, and maybe the windows and linux bootloader knows what to do, but in most cases it will just signal an error and stop