this post was submitted on 02 Aug 2024
593 points (98.4% liked)

linuxmemes

21210 readers
143 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.

  • Please report posts and comments that break these rules!

    founded 1 year ago
    MODERATORS
     

    It was also actually pretty fun!

    you are viewing a single comment's thread
    view the rest of the comments
    [–] [email protected] 50 points 3 months ago* (last edited 3 months ago) (2 children)

    Impressive, sounds like magic, tbh! You know any tutorials?

    [–] [email protected] 87 points 3 months ago (4 children)

    Not really, I pulled it together from a bunch of random posts lol

    Maybe I should write one, but in essence you:

    • Stop all non-OS essential services

    • Create a filesystem in a chunk of RAM

    • Pull essential OS files from the installed OS into it recreating needed directories (Though you could probably just use a tiny pre-built distro but meh)

    • Pivot root into it

    • Reload services (when they restart they'll be restarted in the context of where you pivot rooted, prior they're still running under the context of the installed OS)

    • Unmount the boot drive

    • Then do what ever you need to do

    • ???

    • Profit

    [–] [email protected] 24 points 3 months ago (2 children)

    How exactly so you pivot root? Simply chroot or something more involved?

    [–] [email protected] 73 points 3 months ago (2 children)

    chroot isn't enough, you need "real" pivot_root

    chroot just changes the shells root point, pivot_root actually changes the root mount point and enables this trick to work

    [–] [email protected] 27 points 3 months ago

    This is god-tier technique, kudos

    [–] [email protected] 12 points 3 months ago
    [–] [email protected] 15 points 3 months ago

    I work in this field and I think this is 🔥 af

    [–] [email protected] 6 points 3 months ago

    FYI you can use kexec and a prepared initrd to do something similar with only one command.

    [–] [email protected] 2 points 3 months ago

    Imagining this process, despite having never done 50% of the steps on the list, makes my brain imagine this: Turning a sphere outside in

    [–] [email protected] 27 points 3 months ago (1 children)

    Yeah, I'd love to see a write up on this to follow.Sounds like useful practice in the lab if nothing else.

    [–] [email protected] 2 points 3 months ago

    i experimented with this some time ago, see my post here: https://lemmy.ml/post/18706002/12772832