Lines Matching refs:boot

32 This file documents Multiboot Specification, the proposal for the boot
69 Every operating system ever created tends to have its own boot loader.
71 installing a whole new set of boot mechanisms, each with completely
72 different install-time and boot-time user interfaces. Getting multiple
75 of boot loaders for a particular operating system -- if the one that
84 boot loader and a operating system, such that any complying boot loader
86 specification does _not_ specify how boot loaders should work -- only
96 common and have the largest variety of operating systems and boot
98 need a boot specification and do not have one already, a variation of
114 immediately be able to take advantage of existing boot loaders. It would
124 It should be possible to write compliant boot loaders that load the OS
128 Disk-based boot loaders may use a variety of techniques to find the
129 relevant OS image and boot module data on disk, such as by
130 interpretation of specific file systems (e.g. the BSD/Mach boot loader),
132 "boot partition" (e.g. OS/2), or even loading from within another
133 operating system (e.g. the VSTa boot code, which loads from DOS).
134 Similarly, network-based boot loaders could use a variety of network
137 It is hoped that boot loaders will be created that support multiple
144 1.5 Configure an operating system at boot-time
149 dynamically at boot time. While this specification should not dictate
150 how this configuration information is obtained by the boot loader, it
151 should provide a standard means for the boot loader to pass such
165 If this means shifting some work from the operating system to a boot
167 by the boot loader will typically be made available again after the
168 boot process is created, whereas every bit of code in the OS image
171 switching code generally needs to be in the boot loader anyway in order
180 some are moving to ELF. It is highly desirable for boot loaders not to
183 boot loader effectively becomes operating system specific again.
187 (*note OS image format::), which allows the boot loader to load the
202 boot time in order to access devices, mount file systems, etc. While
207 system and user if the boot loader can load these additional modules
210 Thus, this specification should provide a standard method for a boot
211 loader to indicate to the operating system what auxiliary boot modules
213 support multiple boot modules, but they are strongly encouraged to,
214 because some operating systems will be unable to boot without them.
223 We use the term "must", when any boot loader or OS image needs to
224 follow a rule -- otherwise, the boot loader or OS image is _not_
228 We use the term "should", when any boot loader or OS image is
233 We use the term "may", when any boot loader or OS image is allowed
236 "boot loader"
238 operating system to be run on the machine. The boot loader may
241 of the boot loader -- the stage that eventually transfers control
243 document in order to be "Multiboot-compliant"; earlier boot loader
247 The initial binary image that a boot loader loads into memory and
251 "boot module"
252 Other auxiliary files that a boot loader loads into memory along
257 A boot loader or an OS image which follows the rules defined as
259 rule as "should" or "may", a Multiboot-complaint boot loader/OS
283 There are three main aspects of a boot loader/OS image interface:
285 1. The format of an OS image as seen by a boot loader.
287 2. The state of a machine when a boot loader starts an operating
290 3. The format of information passed by a boot loader to an operating
365 requires of an boot loader. Bits 0-15 indicate requirements; if the
366 boot loader sees any of these bits set but doesn't understand the
370 are set but the boot loader doesn't understand them, it may simply
376 If bit 0 in the `flags' word is set, then all boot modules loaded
379 pages containing boot modules directly into a paged address space
380 during startup, and thus need the boot modules to be page-aligned.
385 the boot loader is capable of passing a memory map (the `mmap_*'
393 8-24 in the Multiboot header are valid, and the boot loader should
398 other format. Compliant boot loaders must be able to load images
437 this field is zero, the boot loader assumes that the text and data
442 boot loader initializes this area to zero, and reserves the memory
443 it occupies to avoid placing boot modules and other data relevant
445 boot loader assumes that no bss segment is present.
448 The physical address to which the boot loader should jump in order
459 the OS image. If the mode exists, the boot loader should set it, when
460 the user doesn't specify a mode explicitly. Otherwise, the boot loader
468 the boot loader may set a text mode, even if this field contains
492 When the boot loader invokes the 32-bit operating system, the machine
498 Multiboot-compliant boot loader (e.g. as opposed to another type of
499 boot loader that the operating system can also be loaded from).
503 information structure provided by the boot loader (*note Boot
545 However, other machine state should be left by the boot loader in
547 that's what the boot loader runs from). In other words, the operating
550 so. Also, the boot loader must leave the PIC programmed with the normal
564 which the boot loader communicates vital information to the operating
566 structure as it chooses; all information passed by the boot loader is
570 may be placed anywhere in memory by the boot loader (with the exception
571 of the memory reserved for the kernel and boot modules, of course). It
616 bits must be set to zero by the boot loader. Any set bits that the
631 valid, and indicates which BIOS disk device the boot loader loaded the
646 The three remaining bytes specify the boot partition. `part1'
662 hierarchical in nature. For example, if the boot loader boots from the
673 the kernel what boot modules were loaded along with the kernel image,
676 module structure. `mods_count' may be zero, indicating no boot modules
689 The first two fields contain the start and end addresses of the boot
691 associated with that particular boot module; it is a zero-terminated
694 string might be a command line (e.g. if the operating system treats boot
696 system treats boot modules as files in a file system), but its exact use
698 to 0 by the boot loader and ignored by the operating system.
801 `drive_mode' field represents the access mode used by the boot loader.
828 valid, and contains the physical address of the name of a boot loader
879 Multiboot boot loaders may simulate VBE on non-VBE modes, as if they
889 document, but are included for prospective operating system and boot
897 * Example boot loader code::
909 reported. It is _highly_ recommended that boot loaders perform a
926 information. The interface here is meant to allow a boot loader to work
1013 File: multiboot.info, Node: Example OS code, Next: Example boot loader code, Prev: BIOS device m…
1021 Multiboot-compliant boot loader and for reference to how to implement a
1025 The kernel `kernel' consists of only three files: `boot.S',
1026 `kernel.c' and `multiboot.h'. The assembly source `boot.S' is written
1029 Multiboot-compliant boot loader loads and execute it, it initialize the
1034 `cmain', which checks if the magic number passed by the boot loader is
1043 * boot.S::
1048 File: multiboot.info, Node: multiboot.h, Next: boot.S, Up: Example OS code
1084 /* The magic number passed by a Multiboot-compliant boot loader. */
1098 /* Do not include here in boot.S. */
1176 File: multiboot.info, Node: boot.S, Next: kernel.c, Prev: multiboot.h, Up: Example OS code
1178 4.3.2 boot.S
1181 In the file `boot.S':
1183 /* boot.S - bootstrap the kernel */
1264 File: multiboot.info, Node: kernel.c, Next: Other Multiboot kernels, Prev: boot.S, Up: Example …
1330 /* Am I booted by a Multiboot-compliant boot loader? */
1569 File: multiboot.info, Node: Example boot loader code, Prev: Example OS code, Up: Examples
1571 4.4 Example boot loader code
1575 Multiboot-compliant boot loader, supporting all required and optional
1596 a boot loader, APM information, and graphics information are
1655 Node: boot.S48662
1658 Node: Example boot loader code60444