Boot to the first runnable shell

This figure documents the historical i386 source baseline. Current native x86-64/AArch64 qualification is recorded separately; this is not an ELF64 or native SMP implementation diagram.

Boot to the first runnable shell Multiboot entry reaches kernel_main, then descriptor tables, interrupts, memory, graph state, tasking and filesystems initialize in dependency order. SlFS restore is conditional on block-device availability. Network and graph services initialize before SMP discovery and the idle/shell task handoff. cluster_machine 1 · Machine initialization cluster_storage 2 · Storage and network cluster_handoff 3 · Services and handoff entry->core core->memory memory->causal causal->tasks tasks->fs fs->next_storage disk->restore yes disk->timer no · diskless restore->timer timer->next_services services->smp smp->run run->yield entry Multiboot loader arch/x86/boot.asm core kernel_main: console → GDT → IDT → PIC memory PMM → paging → heap causal Causal ring → replay → timelines tasks PCI → TSS → keyboard → syscalls → tasking fs RAM filesystem next_storage Continue at 2 disk Block device available? restore Mount SlFS restore snapshot timer 100 Hz timer → network stack next_services Continue at 3 services Actors → identity → mesh → federation → graph services smp Configured x86 SMP: discovery / AP startup run Create idle + shell start remote services yield Boot yields → scheduler → shell
Boot to the first runnable shell Multiboot entry reaches kernel_main, then descriptor tables, interrupts, memory, graph state, tasking and filesystems initialize in dependency order. SlFS restore is conditional on block-device availability. Network and graph services initialize before SMP discovery and the idle/shell task handoff. entry->core core->memory memory->causal causal->tasks tasks->fs fs->disk disk->restore yes disk->timer no · diskless restore->timer timer->services services->smp smp->run run->yield entry Multiboot loader arch/x86/boot.asm core kernel_main: console → GDT → IDT → PIC memory PMM → paging → heap causal Causal ring → replay → timelines tasks PCI → TSS → keyboard → syscalls → tasking fs RAM filesystem disk Block device available? restore Mount SlFS → restore snapshot timer 100 Hz timer → network services Actors → identity → mesh → federation → graph services smp Configured x86 SMP discovery / AP startup run Create idle + shell start remote services yield Boot yields → scheduler → shell

The x86 boot path establishes memory and tasking before publishing system tasks.

Text equivalent and source references
  • Multiboot entry reaches kernel_main, then descriptor tables, interrupts, memory, graph state, tasking and filesystems initialize in dependency order.
  • SlFS restore is conditional on block-device availability. Network and graph services initialize before SMP discovery and the idle/shell task handoff.

Initialization flow. Source paths refer to the atlas baseline; the kernel checkout is private.

  • arch/x86/boot.asm · _start
  • kernel/core/main.c · kernel_main