1# Bootsvc
2
3`bootsvc` is (typically) the first program loaded by usermode (contrast with
4[userboot](userboot.md), which is loaded by the kernel).  `bootsvc` provides
5several system services:
6- A filesystem service with the contents of the bootfs (/boot)
7- A loader service that loads from that bootfs
8
9After preparing these services, it launches one program from the bootfs.  The
10program may be selected with a [kernel command line argument](kernel_cmdline.md)
11`bootsvc.next` (this default to `bin/devmgr` currently).  The launched program
12is provided with the bootfs mounted at `/boot` and the loader service.  The
13kernel command line arguments are provided to it via `envp`.  See the
14documentation in `system/core/bootsvc/main.cpp:LaunchNextProcess()` for more
15details.
16