# momokernel/fusionos-pre-beta-alpha-snippets- architecture

> Architecture diagram of the GitHub repository momokernel/fusionos-pre-beta-alpha-snippets-, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/momokernel/fusionos-pre-beta-alpha-snippets-
- Repository: https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-

## Overview

This repository preserves two early fusionOS tracks: a custom two-stage bootloader and an archived fusionOS 0.2 image. The documented bootloader path covers BIOS disk access, a menu, and transition from 16-bit real mode to 32-bit protected mode. The image adds a GRUB-booted experimental system with a minimal desktop and visible cursor, testable in VirtualBox. Source excerpts were unavailable, so links describe only relationships stated in the README; implementation details and wiring inside the image are not inferred.

Main entry points: [`fusionos-bootloader/stage2.asm`](https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionos-bootloader/stage2.asm) (Stage two), [`fusionOS-0.2.iso`](https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionOS-0.2.iso) (fusionOS 0.2 image), [`fusionos-bootloader/bootloader.asm`](https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionos-bootloader/bootloader.asm) (MBR bootloader), [`fusionos-bootloader/fusionos-boot.img`](https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionos-bootloader/fusionos-boot.img) (Standalone boot image)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_custom["Custom bootloader"]
  node_boot1["MBR bootloader<br/>[bootloader.asm]"]
  node_stage2["Stage two<br/>[stage2.asm]"]
  node_bootimg["Standalone boot image<br/>[fusionos-boot.img]"]
end

subgraph group_archived["fusionOS 0.2"]
  node_iso["fusionOS 0.2 image<br/>[fusionOS-0.2.iso]"]
  node_grub["GRUB boot<br/>[fusionOS-0.2.iso]"]
  node_kernel["Kernel testing<br/>[fusionOS-0.2.iso]"]
  node_desktop["Minimal desktop<br/>[fusionOS-0.2.iso]"]
  node_cursor["Visible cursor<br/>[fusionOS-0.2.iso]"]
end

subgraph group_execution["Boot and execution"]
  node_disk["BIOS disk access<br/>[stage2.asm]"]
  node_menu["Boot menu<br/>[stage2.asm]"]
  node_realmode["16-bit real mode<br/>[stage2.asm]"]
  node_protected["32-bit protected mode<br/>[stage2.asm]"]
end

node_user(("User"))
node_bios["BIOS"]
node_virtualbox["VirtualBox"]

node_user -->|"boots"| node_bootimg
node_bios -->|"loads"| node_boot1
node_boot1 -->|"enters"| node_stage2
node_stage2 -->|"accesses"| node_disk
node_stage2 -->|"provides"| node_menu
node_stage2 -->|"starts in"| node_realmode
node_stage2 -->|"transitions to"| node_protected
node_user -->|"runs image in"| node_virtualbox
node_virtualbox -->|"boots"| node_iso
node_iso -->|"uses"| node_grub
node_grub -->|"enables testing"| node_kernel
node_iso -->|"includes"| node_desktop
node_desktop -->|"displays"| node_cursor

click node_boot1 "https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionos-bootloader/bootloader.asm"
click node_stage2 "https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionos-bootloader/stage2.asm"
click node_bootimg "https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionos-bootloader/fusionos-boot.img"
click node_iso "https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionOS-0.2.iso"
click node_grub "https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionOS-0.2.iso"
click node_kernel "https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionOS-0.2.iso"
click node_disk "https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionos-bootloader/stage2.asm"
click node_menu "https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionos-bootloader/stage2.asm"
click node_realmode "https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionos-bootloader/stage2.asm"
click node_protected "https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionos-bootloader/stage2.asm"
click node_desktop "https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionOS-0.2.iso"
click node_cursor "https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionOS-0.2.iso"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_boot1,node_stage2,node_bootimg,node_user toneBlue
class node_iso,node_grub,node_kernel,node_desktop,node_cursor toneAmber
class node_disk,node_menu,node_realmode,node_protected toneMint
class node_bios,node_virtualbox toneIndigo
```

## Components

### Custom bootloader

- [MBR bootloader](https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionos-bootloader/bootloader.asm): `fusionos-bootloader/bootloader.asm`
- [Stage two](https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionos-bootloader/stage2.asm): `fusionos-bootloader/stage2.asm`
- [Standalone boot image](https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionos-bootloader/fusionos-boot.img): `fusionos-bootloader/fusionos-boot.img`

### fusionOS 0.2

- [fusionOS 0.2 image](https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionOS-0.2.iso): `fusionOS-0.2.iso`
- [GRUB boot](https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionOS-0.2.iso): `fusionOS-0.2.iso`
- [Kernel testing](https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionOS-0.2.iso): `fusionOS-0.2.iso`
- [Minimal desktop](https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionOS-0.2.iso): `fusionOS-0.2.iso`
- [Visible cursor](https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionOS-0.2.iso): `fusionOS-0.2.iso`

### Boot and execution

- [BIOS disk access](https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionos-bootloader/stage2.asm): `fusionos-bootloader/stage2.asm`
- [Boot menu](https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionos-bootloader/stage2.asm): `fusionos-bootloader/stage2.asm`
- [16-bit real mode](https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionos-bootloader/stage2.asm): `fusionos-bootloader/stage2.asm`
- [32-bit protected mode](https://github.com/momokernel/fusionos-pre-beta-alpha-snippets-/blob/main/fusionos-bootloader/stage2.asm): `fusionos-bootloader/stage2.asm`

### Other components

- **User**
- **BIOS**
- **VirtualBox**

## Connections

- User → Standalone boot image: boots
- BIOS → MBR bootloader: loads
- MBR bootloader → Stage two: enters
- Stage two → BIOS disk access: accesses
- Stage two → Boot menu: provides
- Stage two → 16-bit real mode: starts in
- Stage two → 32-bit protected mode: transitions to
- User → VirtualBox: runs image in
- VirtualBox → fusionOS 0.2 image: boots
- fusionOS 0.2 image → GRUB boot: uses
- GRUB boot → Kernel testing: enables testing
- fusionOS 0.2 image → Minimal desktop: includes
- Minimal desktop → Visible cursor: displays
