mirror of
https://gitlab.com/sortix/sortix.git
synced 2023-02-13 20:55:38 -05:00
117 lines
3.4 KiB
Groff
117 lines
3.4 KiB
Groff
.Dd October 5, 2015
|
|
.Dt KERNEL 7
|
|
.Os
|
|
.Sh NAME
|
|
.Nm kernel
|
|
.Nd operating system kernel
|
|
.Sh SYNOPSIS
|
|
.Pa /boot/sortix.bin
|
|
.Op Fl \-no-random-seed
|
|
.Op Fl \-
|
|
.Op Ar init ...
|
|
.Sh DESCRIPTION
|
|
.Pa /boot/sortix.bin
|
|
is the operating system
|
|
.Nm kernel .
|
|
It initializes and manages the hardware to provide a multitasking computing
|
|
environment.
|
|
The kernel is a
|
|
.Xr multiboot 7
|
|
compatible executable loaded by the bootloader along with a companion
|
|
.Xr initrd 7
|
|
that contains a userland.
|
|
.Pp
|
|
The kernel extracts the initrd into the initial kernel memory root filesystem.
|
|
The specified
|
|
.Ar init
|
|
program is invoked with the given arguments, defaulting to the
|
|
.Xr init 8
|
|
at
|
|
.Pa /sbin/init
|
|
if
|
|
.Ar init
|
|
is not specified.
|
|
If the
|
|
.Nm init
|
|
is to receive any argument starting with a dash, first pass the
|
|
.Fl \-
|
|
delimiter to stop kernel option parsing.
|
|
The computer is powered off if the
|
|
.Nm init
|
|
process exits 0, rebooted if it exits 1,
|
|
halted with an complaint about an
|
|
.Nm init
|
|
fatality if it exits 2, and halted with a complaint about an unexpected exit code
|
|
otherwise.
|
|
.Pp
|
|
The options are as follows:
|
|
.Bl -tag -width "12345678"
|
|
.It Fl \-no-random-seed
|
|
Don't warn if no random seed file was loaded by the bootloader (usually from
|
|
.Pa /boot/random.seed ) .
|
|
This option is useful for live environments where this situation is unavoidable.
|
|
.El
|
|
.Pp
|
|
The kernel accepts multiboot modules from the bootloader, which are processed
|
|
in order.
|
|
The
|
|
.Xr initrd 7
|
|
must be passed through this mechanism.
|
|
.Pp
|
|
The format of each multiboot module is automatically detected by default:
|
|
.Pp
|
|
.Bl -bullet -compact
|
|
.It
|
|
Initialization ramdisks produced by
|
|
.Xr mkinitrd 8
|
|
are extracted in the root directory.
|
|
.It
|
|
.Xr tar 7
|
|
archives in the ustar format are extracted into the root directory.
|
|
The bootloader must already have decompressed the archive.
|
|
If the archive contains the
|
|
.Pa tix/tixinfo
|
|
file, it is instead installed into the root directory as a
|
|
.Xr tix 7
|
|
binary package.
|
|
.El
|
|
.Pp
|
|
Each multiboot module has its own command line where the options are as follows:
|
|
.Bl -tag -width "12345678"
|
|
.It Fl \-append-to Ns "=" Ns Ar file
|
|
Append the contents of the module to the specifed
|
|
.Ar file ,
|
|
creating it with mode 644 if it doesn't exist.
|
|
Non-existent parent directories are created with mode 755 as needed.
|
|
.It Fl \-create-to Ns "=" Ns Ar file
|
|
Create the specified
|
|
.Ar file
|
|
with mode 644 with contents of the module, but only if it doesn't already exist.
|
|
No action is taken if the file already existed.
|
|
Non-existent parent directories are created with mode 755 as needed.
|
|
.It Fl \-random-seed
|
|
The module contains random data used to seed the kernel entropy gathering.
|
|
This file is supposed to contain 256 bytes of secret randomness that hasn't been
|
|
used before.
|
|
Recycling the random seed is dangerous and insecure.
|
|
Omitting the random seed will cause the kernel entropy to be insecurely seeded
|
|
with the current time and other readily available information.
|
|
The bootloader normally loads the random seed from
|
|
.Pa /boot/random.seed .
|
|
.It Fl \-tar
|
|
The module is a
|
|
.Xr tar 7
|
|
archive that is extracted into the root directory.
|
|
.It Fl \-tix
|
|
The module is a
|
|
.Xr tix 7
|
|
binary package that is installed into the root directory.
|
|
.It Fl \-to Ns "=" Ns Ar file
|
|
Write the contents of the module to the specifed
|
|
.Ar file ,
|
|
creating it with mode 644 if it doesn't exist, and truncating it if it does exist.
|
|
Non-existent parent directories are created with mode 755 as needed.
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr initrd 7 ,
|
|
.Xr init 8
|