Skip to content
JagomacPublic

About

Experimental operating system project. Currently debugging boot process.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

Hi everyone, I’m a teacher, teaching myself system‑level programming and OS design as a long‑term learning and portfolio projects. This my first build; WaterOS is an experimental Linux‑based OS I’m building to better understand bootloaders, kernels, and system initialization. The ISO builds successfully, but fails during the boot process.

Observed Behavior When booting the ISO in a virtual machine, GRUB loads but immediately drops to the GRUB shell instead of showing a menu or booting the kernel. I consistently see: Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions… grub>

Running ls at the GRUB prompt only shows (cd, …) devices associated with the ISO.

Environment

Host OS: macOS VM: VirtualBox Boot mode: BIOS / legacy (not UEFI) ISO size: ~850 MB Tested from clean VM

What I Have Verified I mounted the ISO and inspected its contents from a live Linux environment:

grub.cfg exists at /boot/grub/grub.cfg Kernel and initrd exist: /casper/vmlinuz /casper/initrd

ISO structure includes: boot/ casper/ efi/ efi.img

GRUB loads successfully, but does not automatically execute the menuentry.

Current grub.cfg Plain Textcfg isn’t fully supported. Syntax highlighting is based on Plain Text.set timeout=5set default=0menuentry "WaterOS (live)" { insmod part_gpt insmod fat insmod iso9660 insmod linux insmod normal set root=(cd) linux /casper/vmlinuz boot=casper quiet splash initrd /casper/initrd}Show more lines

What I Already Tried

Fixed a typo in the original config (vinsmod → insmod) Corrected kernel filename case (Vmlinuz → vmlinuz) Rebuilt the ISO using genisoimage Verified paths and files via loop‑mount inspection

Despite this, GRUB still drops to grub>.

What I’m Trying to Understand As someone learning OS internals, I’m trying to understand why GRUB is not loading grub.cfg automatically in an ISO context. Specifically, I’m wondering:

Is an explicit search or configfile directive required for ISO boot? Is set root=(cd) sufficient, or should GRUB be pointed to a specific partition? Are there additional GRUB modules required earlier in the boot chain?

Context This project is part of my self‑education in operating systems and low‑level software. I’m not trying to bypass security or deploy anything production‑level — I’m trying to understand how the boot pipeline actually works. Any guidance or pointers would be greatly appreciated. Thank you for your time.

About

Experimental operating system project. Currently debugging boot process.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages