Aptivi - Deprecated Manuals
ProjectsWebsiteBlog
Nitrocid KS v0.1.1 - RTM
Nitrocid KS v0.1.1 - RTM
  • ๐Ÿ‘‹Welcome!
  • ๐Ÿ—ž๏ธVersion Release Notes
  • Installation and Maintenance
    • ๐Ÿ“€Installing the Kernel
      • ๐Ÿ’ปWindows
      • ๐ŸŽmacOS
      • ๐ŸงLinux
      • ๐Ÿ“ฑAndroid
    • โซUpgrading the Kernel
      • ๐Ÿ’ปWindows
      • ๐ŸŽmacOS
      • ๐ŸงLinux
      • ๐Ÿ“ฑAndroid
    • ๐Ÿ“ฆDependency Information
  • Fundamentals
    • ๐ŸŒฝWhat is the Kernel?
    • ๐Ÿ‘พWhat is Nitrocid KS?
    • โญSimulated Kernel Features
      • ๐ŸŒŸExtra Features
        • ๐ŸŒMore Networking
          • ๐Ÿ—ƒ๏ธFTP Client
          • ๐Ÿ”’SFTP Client
          • ๐Ÿ“ฐRSS Client
          • ๐ŸŒHTTP Client
          • ๐Ÿ“งMail Client
        • ๐ŸŽฎGames and Amusements
          • ๐Ÿ”คHangman
          • ๐Ÿ‡BackRace
          • โ˜„๏ธMeteor
          • ๐Ÿ“Pong
          • ๐ŸŽฐRussian Roulette
          • โ˜„๏ธShipDuet
          • ๐ŸSnaker
          • ๐Ÿ”ขSolver
          • โŒจ๏ธSpeedPress
          • ๐Ÿ” Wordle
        • ๐Ÿ–Š๏ธMore Editors
          • ๐Ÿ–Š๏ธJSON Editor
          • ๐Ÿ—„๏ธSQL Editor
        • ๐ŸงฐCommon Programs
          • ๐Ÿ“ฆArchive
          • โ˜•Caffeine
          • ๐Ÿ—“๏ธCalendar
          • ๐Ÿ”ขCalculator
          • ๐Ÿ‘ฅContacts
          • ๐Ÿ“•Dictionary
          • ๐Ÿ‘ฉโ€๐Ÿ’ปGit Shell
          • ๐ŸŽงMusic Player
          • ๐Ÿ—’๏ธNotes
          • ๐Ÿ”ŒSSH Connection
          • ๐Ÿ’นStocks
          • โฐStopwatch and Timer
          • โ˜‘๏ธTo-do List
          • โš–๏ธUnit Converter
          • โ˜€๏ธWeather
        • ๐Ÿ–ผ๏ธDocking
        • ๐ŸŒLanguage Studio
        • ๐ŸŽจTheme Studio
      • ๐Ÿ‘คAccounts
        • ๐Ÿ‘ฅGroups
        • ๐Ÿ”“Permissions
      • โœ๏ธEditors
        • ๐Ÿ“Text Editor
        • ๐Ÿ’พHex Editor
      • ๐ŸšShells
        • ๐Ÿ“„Commands List
        • ๐Ÿ“„Addon Commands List
      • ๐Ÿ“‚Files and Folders
        • ๐Ÿ”Hashing and Encryption
      • ๐ŸŒŽNetworking
      • ๐Ÿ‡บ๐Ÿ‡ธLanguages
      • ๐ŸŒŒScreensavers
      • ๐Ÿ“…Lockscreen Widgets
  • Advanced and Power Users
    • โš’๏ธBuilding the Kernel
      • ๐ŸชŸBuilding on Windows
      • ๐ŸŽBuilding on macOS
      • ๐ŸงBuilding on Linux
      • ๐Ÿ“ฑBuilding on Android
    • ๐ŸงฐKernel Modifications
      • ๐ŸงชBuilding your Mod
      • ๐Ÿ“ˆAnalyzing your Mod
        • ๐Ÿ“‰Text - NKS0001
        • ๐Ÿ“‰ConsoleBase - NKS0002
        • ๐Ÿ“‰ConsoleBase - NKS0003
        • ๐Ÿ“‰ConsoleBase - NKS0004
        • ๐Ÿ“‰ConsoleBase - NKS0005
        • ๐Ÿ“‰ConsoleBase - NKS0006
        • ๐Ÿ“‰ConsoleBase - NKS0007
        • ๐Ÿ“‰ConsoleBase - NKS0008
        • ๐Ÿ“‰ConsoleBase - NKS0009
        • ๐Ÿ“‰Files - NKS0010
        • ๐Ÿ“‰Files - NKS0011
        • ๐Ÿ“‰Files - NKS0012
        • ๐Ÿ“‰Files - NKS0013
        • ๐Ÿ“‰Files - NKS0014
        • ๐Ÿ“‰Files - NKS0015
        • ๐Ÿ“‰Files - NKS0016
        • ๐Ÿ“‰Files - NKS0017
        • ๐Ÿ“‰Files - NKS0018
        • ๐Ÿ“‰Files - NKS0019
        • ๐Ÿ“‰Files - NKS0020
        • ๐Ÿ“‰Files - NKS0021
        • ๐Ÿ“‰Files - NKS0022
        • ๐Ÿ“‰Files - NKS0023
        • ๐Ÿ“‰Kernel - NKS0024
        • ๐Ÿ“‰Kernel - NKS0025
        • ๐Ÿ“‰Kernel - NKS0026
        • ๐Ÿ“‰Kernel - NKS0027
        • ๐Ÿ“‰Kernel - NKS0031
        • ๐Ÿ“‰Kernel - NKS0032
        • ๐Ÿ“‰Kernel - NKS0033
        • ๐Ÿ“‰Kernel - NKS0037
        • ๐Ÿ“‰Kernel - NKS0038
        • ๐Ÿ“‰Kernel - NKS0039
        • ๐Ÿ“‰Kernel - NKS0040
        • ๐Ÿ“‰Kernel - NKS0041
        • ๐Ÿ“‰Kernel - NKS0042
        • ๐Ÿ“‰Kernel - NKS0043
        • ๐Ÿ“‰Kernel - NKS0052
        • ๐Ÿ“‰Kernel - NKS0053
        • ๐Ÿ“‰Languages - NKS0044
        • ๐Ÿ“‰Languages - NKS0045
        • ๐Ÿ“‰Languages - NKS0046
        • ๐Ÿ“‰Network - NKS0051
        • ๐Ÿ“‰Text - NKS0047
        • ๐Ÿ“‰Text - NKS0048
        • ๐Ÿ“‰Text - NKS0049
        • ๐Ÿ“‰Text - NKS0050
        • ๐Ÿ“‰Text - NKS0054
        • ๐Ÿ“‰Text - NKS0055
      • ๐Ÿ”งManaging your Mod
        • ๐Ÿ“žInter-Mod Communication
        • ๐Ÿ“žInter-Addon Communication
    • ๐Ÿฆ Diagnostics
      • ๐Ÿ”ฌDebugging
        • ๐ŸงฌLocal Debugging
        • ๐Ÿ›ฐ๏ธRemote Debugging
      • ๐ŸงชTesting
      • ๐Ÿ’‰Other Diagnostics
    • ๐Ÿ“€Bootloader
      • ๐Ÿ‘†Boot Choices
      • โ–ถ๏ธKernel Environments
      • ๐Ÿ’„Custom Boot Styles
    • โš’๏ธInner Workings
      • ๐Ÿ”งKernel Settings
        • โ›๏ธMechanics of Settings App
        • ๐Ÿ”ฉSettings Format
        • โš™๏ธCustom Settings
      • ๐ŸšShell Structure
        • โ”Help System
        • ๐Ÿ—œ๏ธCommand Parsing
        • ๐Ÿ”‹Command Information
        • โฒ๏ธCommand Switch Management
        • ๐ŸŽš๏ธCommand Switch Information
        • โณShell History
        • ๐Ÿ“œShell Scripting
        • ๐Ÿ“ŸShell Presets
        • ๐Ÿ’ Extra Shell Features
      • ๐ŸŒMultilingual Kernel
        • ๐ŸŒCustom Languages
      • โ™ฆ๏ธInner Essentials
        • ๐Ÿ”ŒKernel Drivers
          • ๐Ÿ”ŒConsole Drivers
          • ๐Ÿ”ŒDebug Logger Drivers
          • ๐Ÿ”ŒEncoding Drivers
          • ๐Ÿ”ŒEncryption Drivers
          • ๐Ÿ”ŒFilesystem Drivers
          • ๐Ÿ”ŒHardware Prober Drivers
          • ๐Ÿ”ŒInput Drivers
          • ๐Ÿ”ŒNetwork Drivers
          • ๐Ÿ”ŒRNG Drivers
          • ๐Ÿ”ŒRegular Expression Drivers
          • ๐Ÿ”ŒSorting Drivers
        • ๐ŸชงKernel Placeholders
        • ๐Ÿ”The Permissions
        • ๐Ÿ‘ฅThe Users
        • ๐Ÿ“žKernel Threads
        • ๐ŸŽ›๏ธKernel Arguments
        • ๐Ÿ“’Kernel Journaling
        • ๐Ÿ“กRemote Procedure
        • ๐Ÿ—ƒ๏ธNitrocid Filesystem
        • ๐ŸŒƒScreensaver Internals
        • ๐Ÿ’ฆSplash Internals
        • ๐Ÿ–ฅ๏ธKernel Platform
        • ๐ŸŽจTheme Internals
        • โ›ฑ๏ธColor Internals
        • ๐Ÿ”Privacy Consents
        • ๐Ÿ””System Notifications
        • โœ‰๏ธMAL and MOTD
        • โŒ›Progress Handlers
        • โœ’๏ธAssembly Signing
        • ๐Ÿ”Assembly Reflection
        • ๐ŸŽฐRandom Number Generation
        • ๐ŸŒNetwork Tools
        • ๐Ÿ•™Date and Time
        • ๐Ÿ“–Mod Manual Pages
      • ๐ŸŒ€Miscellaneous APIs
  • ๐ŸงฑProject Dependencies
  • Report an issue
  • Source code
  • API Reference
Powered by GitBook
On this page
  • Kernel Environments
  • Bootloader Components
Edit on GitHub
  1. Advanced and Power Users

Bootloader

What loads your operating system?

A bootloader is the first computer program that is run after the Basic Input/Output System (BIOS) or the Unified Extensible Firmware Interface (UEFI) phase. It's the computer program that is responsible for booting an operating system.

There are two stages for the bootloader: the first-stage boot loader and the second-stage boot loader. The first-stage boot loader resides in the boot sector, usually found in the first few bytes of your hard drive. However, the second-stage bootloaders are typically stored on the hard drive and are usually loaded by the first-stage ones.

Second-stage bootloaders can be configured to give the user multiple booting choices, which is what major bootloaders, like Windows Boot Manager and GRUB, do.

The integrated bootloader that is found inside the Nitrocid kernel simulates the second-stage bootloader usually found in your computer's hard drive. It simulates the multiple booting choices to allow you to boot to different applications. It also simulates the booting process by executing other kernel environments.

The bootloader interacts with your keyboard to give the users a chance to select their operating system to be booted. In order to learn more about the bootloader, we need to first explain how the kernel environments work.

Kernel Environments

Kernel environments are classes that are responsible for storing the entry point of the environment, which runs all the necessary features and handles the entire system. They also contain facilities that modify the behavior of the environments by passing arguments to it.

To learn more about kernel environments, consult its own page.

Bootloader Components

The bootloader contains three essential components:

  • Boot choices

  • Kernel environments

  • Boot styles

To learn more about these, you can consult their own pages.

Last updated 3 months ago

๐Ÿ“€