← Back to Home

Ask the Argus

Booting Sandbox Part I

Getting Familiar With GRUB and Experimenting With UUID and LVM

Synopsis

Previously, I had Shevek make me a sandbox that simulates different booting issues so I would better understand the bootloader process. I now have the time to investigate this further. Additionally, I document the process for copying sandboxes to my Virtual Machine for experimentation.

Questions & Objectives
  1. What is the process for copying sandboxes onto my Virtual Machine?
  2. Will the booting sandbox work and what will I learn regadrless of it's function?
  3. Is this a practical way of learnining?
  4. What happens if I put in the wrong UUID on the GRUB menu?
  5. What on earth is an LVM?
Process
    1. First I open my Virtual Machine and scp my sandbox from terminal to it. I also ask Shevek to elaborate on some of the other potential powers of the scp command. I ssh into my Virtual Machine.

      scp'ing and ssh'ing

      Starting the VM
      Starting the VM

      scp'ing and ssh'ing

      scp and ssh
      scp and ssh

      scp Revealed 1

      scp 1
      scp 1

      scp Revealed 2

      scp 2
      scp 2

      scp Revealed 3

      scp 3
      scp 3

      scp Revealed 4

      scp 4
      scp 4
    2. Before I can unzip the file and set up shop, I need to download the software to do so. I wipe the slate clean and start from scratch using snapshot on my Virtual Machine after every sandbox. This is the way I intend to form habitual, frictional learning. I also didn't like the first sandbox Shevek made me. I have him make me one that includes a lesson plan for the faults and a guide if I get stuck. I've attached that sandbox in the sandbox archives and the bottom of this page.

      Downloading unzip

      Downloading unzip
      Downloading unzip

      Setting Up Shop

      Unzipping Sandbox
      Unzipping Sandbox

      Lesson Plan 1

      Boot Faults 1
      Boot Faults 1

      Lesson Plan 2

      Boot Faults 2
      Boot Faults 2

      Lesson Plan 3

      Boot Faults 3
      Boot Faults 3

      Lesson Plan 4

      Boot Faults 4
      Boot Faults 4

      Lesson Plan 5

      Boot Faults 5
      Boot Faults 5

      Lesson Plan 6

      Boot Faults 6
      Boot Faults 6
    3. Before I proceed blindly, I have Shevek mkae me a lesson for "Fault 1" regarding wrong UUID so I can better understand how to approach the fault. I also make a mental note of the command sudo blkid, as it displays the UUID. Having this information could come in handy.

      UUID Lesson 1

      UUID Lesson 1
      UUID Lesson 1

      UUID Lesson 2

      UUID Lesson 2
      UUID Lesson 2

      UUID Lesson 3

      UUID Lesson 3
      UUID Lesson 3

      UUID Lesson 4

      UUID Lesson 4
      UUID Lesson 4

      UUID Lesson 5

      UUID Lesson 5
      UUID Lesson 5

      UUID Lesson 6

      UUID Lesson 6
      UUID Lesson 6

      UUID Lesson 7

      UUID Lesson 7
      UUID Lesson 7
    4. After reviewing Shevek's lesson, I have questions. What is a rescue shell and how do I access it?

      Rescue Shell 1

      Rescue Shell 1
      Rescue Shell 1

      Rescue Shell 2

      Recue Shell 2
      Rescue Shell 2

      Rescue Shell 3

      Rescue Shell 3
      Rescue Shell 3

      Rescue Shell 4

      Rescue Shell 4
      Rescue Shell 4

      Rescue Shell 5

      Rescue Shell 5
      Rescue Shell 5

      Rescue Shell 6

      Rescue Shell 6
      Rescue Shell 6

      Rescue Shell 7

      Rescue Shell 7
      Rescue Shell 7
    5. I type the command sudo blkid to make note of the UUID, but notice four possible UUID's are displayed. Which one is the real UUID? I consult Shevek as to which one to focus on for the purposes of the lab.

      Which UUID?

      Which UUID
      Which UUID

      UUID's Identified 1

      UUID ID'd 1
      UUID ID'd 1

      UUID's Identified 2

      UUID's ID'd 2
      UUID's ID'd 2

      UUID's Identified 3

      UUID's ID'd 3
      UUID's ID'd 3

      UUID's Identified 4

      UUID's ID'd 4
      UUID's ID'd 4

      UUID's Indetified 5

      UUID's ID'd 5
      UUID's ID'd 5
    6. I run into an issue with the lab. In my Virtual Machine, the UUID is listed, however, the boot configuration uses something called an LVM. I will ask for clarification on what that is in a moment. But first, it appears the LVM is a system that must be bypassed for my UUID lab to function properly.

      VM's UUID #

      UUID #
      UUID #

      Booting Menu and LVM?

      Booting Menu
      Booting Menu

      Changing LVM to UUID 1

      LVM to UUID 1
      LVM to UUID 1

      Changing LVM to UUID 2

      LVM to UUID 2
      LVM to UUID 2

      Changing LVM to UUID 3

      LVM to UUID 3
      LVM to UUID 3

      Changing LVM to UUID 4

      LVM to UUID 4
      LVM to UUID 4

      Changing LVM to UUID 5

      LVM to UUID 5
      LVM to UUID 5

      Changing LVM to UUID 6

      LVM to UUID 6
      LVM to UUID 6
    7. Shevek, before I proceed any further, what the fuck is an LVM and why is Rocky Rockin' it? Shevek explains it's due to the flexibility of an LVM as compared to a UUID. These things, at this time, still seem ambigious to me.

      LVM Explained 1

      LVM 1
      LVM 1

      LVM Explained 2

      LVM 2
      LVM 2

      LVM Explained 3

      LVM 3
      LVM 3

      LVM Explained 4

      LVM 4
      LVM 4

      LVM Explained 5

      LVM 5
      LVM 5

      LVM Explained 6

      LVM 6
      LVM 6

      LVM Explained 7

      LVM 7
      LVM 7
    8. I could get lost in the semantics, but for the purpose of this lab, I ignore it's allure and proceed with the assigned task. In due time all will become clear, I hope. I copy and paste the results of sudo lsblk to Shevek's prompt and follow his lead. I make the changes to my GRUB configuration, per his instruction and watch as emergency mode starts. Finally, we are getting somewhere.

      Breaking the UUID 1

      UUID Break 1
      UUID Break 1

      Breaking the UUID 2

      UUID Break 2
      UUID Break 2

      Breaking the UUID 3

      UUID Break 3
      UUID Break 3

      Breaking the UUID 4

      UUID Break 4
      UUID Break 4

      Breaking the UUID 5

      UUID Break 5
      UUID Break 5

      Original GRUB w/LVM

      Original GRUB
      Original GRUB

      Modified GRUB

      Modified GRUB
      Modified GRUB

      Emergency Mode

      Emergency Mode
      Emergency Mode
    9. Now that I've made it this far I am completely blind. I ask Shevek for further guidance on the nxt steps. I will definitely be reviewing some man pages in the near future. As I follow Sheveks instructions, I do encounter an issue. As the system would appear to boot properly, it remains in limbo indefinitely.

      System Recovery 1.1

      System Recovery 1.1
      System Recovery 1.1

      System Recovery 1.2

      System Recovery 1.2
      System Recovery 1.2

      System Recovery 1.3

      System Recovery 1.3
      System Recovery 1.3

      System Recovery 1.4

      System Recovery 1.4
      System Recovery 1.4

      Mounting the Root Filesystem

      Mounting the Root Filesystem
      Mounting the Root Filesystem

      The Endless Loop

      Booting Issues
      Booting Issues
    10. I feel stuck. How do I stop this endless cycle? I give a good old fashioned ctr+alt+del and it restarts as if nothing went wrong the first time. What's going on here? I ask Shevek. He explains edits made in the GRUB menu are temporary, hence why things went back to normal once I rebooted.

      A Quick Look at GRUB

      GRUB Menu
      Grub Menu

      All is Well After Reboot

      Terminal Window
      Terminal Window

      Why systemd Was Waiting

      Fault/Success Explained 1
      Fault/Success Explained 1

      Why systemd Was Waiting

      Fault/Succes Explained 2
      Fault/Success Explained 2
    11. I am not in the mood to leave this LVM buisness unresolved. I ask Shevek more questions for clarification. I'm glad I did. I now have a better understanding of the system. I need to stop viewing the LVM as seperate from the UUID, and instead understand that the UUID is contained within a filesystem in the LVM: they work together, not against one another. All that remains is understanding the contents of GRUB.

      LVM Revisited 1

      LVM Revisited 1
      LVM Revisited 1

      LVM Revisited 2

      LVM Revisited 2
      LVM Revisited 2

      LVM Revisited 3

      LVM Revisited 3
      LVM Revisited 3

      LVM Revisited 4

      LVM Revisited 4
      LVM Revisited 4

      LVM Revisited 5

      LVM Revisited 5
      LVM Revisited 5

      LVM Revisited 6

      LVM Revisited 6
      LVM Revisited 6

      LVM Revisited 7

      LVM Revisited 7
      LVM Revisited 7

      LVM Revisited 8

      LVM Revisited 8
      LVM Revisited 8

      LVM Revisited 9

      LVM Revisited 9
      LVM Revisited 9

      LVM Revisited 10

      LVM Revisited 10
      LVM Revisited 10
    12. That leaves one, maybe two stones left to turn. What exactly am I looking at in GRUB editing? I ask Shevek to break down every piece of the code down to it's function so I can better understand.

      Grub Revisited 1

      GRUB Revisited 1
      GRUB Revisited 1

      GRUB Revisited 2

      GRUB Revisited 2
      GRUB Revisited 2

      GRUB Revisited 3

      GRUB Revisited 3
      GRUB Revisited 3

      GRUB Revisited 4

      GRUB Revisited 4
      GRUB Revisited 4

      GRUB Revisited 5

      GRUB Revisited 5
      GRUB Revisited 5

      GRUB Revisited 6

      GRUB Revisited 6
      GRUB Revisited 6

      GRUB Revisited 7

      GRUB Revisited 7
      GRUB Revisited 7

      GRUB Revisited 8

      GRUB Revisited 8
      GRUB Revisited 8

      GRUB Revisited 9

      GRUB Revisited 9
      GRUB Revisited 9
    13. Great! We've clarified GRUB and I have a little better understanding of an LVM. However, it still feels as though I'm not standing on solid ground when I ponder it. I ask Shevek to write me an allegory that paints a childish picture of LVM and it's function. I also ask what the original system looked like, so I can better understand the rationale of an LVM.

      LVM Allegory 1

      LVM Story 1
      LVM Story 1

      LVM Allegory 2

      LVM Story 2
      LVM Story 2

      LVM Allegory 3

      LVM Story 3
      LVM Story 3

      LVM Allegory 4

      LVM Story 4
      LVM Story 4

      LVM Allegory 5

      LVM Story 5
      LVM Story 5

      Life Before LVM 1

      Before LVM 1
      Before LVM 1

      Life Before LVM 2

      Before LVM 2
      Before LVM 2

      Life Before LVM 3

      Before LVM 3
      Before LVM 3

      Life Before LVM 4

      Before LVM 4
      Before LVM 4

      Life Before LVM 5

      Before LVM 5
      Before LVM 5

      Life Before LVM 6

      Before LVM 6
      Before LVM 6
    14. It's the 21st century and I have a super intelligence at my disposal. I may as well say everything I've learned back to make certain I'm understanding things correctly. I tell Shevek what I believe to be my understanding. As always, I fall short. He ellaborates I am still missing some crucial details about GRUB, what it does, it's limitations, and why the UUID is needed at all.

      GRUB Simplified 1

      GRUB Simplified 1
      GRUB Simplified 1

      GRUB Simplified 2

      GRUB Simplified 2
      GRUB Simplified 2

      GRUB Simplified 3

      GRUB Simplified 3
      GRUB Simplified 3

      GRUB Simplified 4

      GRUB Simplified 4
      GRUB Simplified 4

      GRUB Simplified 5

      GRUB Simplified 5
      GRUB Simplified 5
Conclusions

Shevek's lab was nothing of particular excitement. We have made it through the first section of the lab: Wrong Root UUID. I am not certain that the goals of this lab were accomplished in the ways that were intended. However, I have learned more in depth, what GRUB actually does and what it contains. I have also learned some of the logic of an LVM, all be it the details still foggy. In due time, I'm certain, their nature will reveal themselves to me. The next section is: Broken initrafms. Perhaps the LVM will make itself more known in the coming sections?

Shevek's Haiku

Boot paths in the dark
Names fade, numbers guide the root
Silent disks remember

Sandbox