Correct manpage spacing per roff(7) convention.
roff(7) dictates that "Each sentence should terminate at the end of an input line." Instead of doing this, Sortix manpages (incorrectly) used double-spaces to separate sentences. Additionally, fix a few small typos.
This commit is contained in:
parent
4b2cf28bbf
commit
d217621649
|
@ -35,16 +35,15 @@ if the
|
|||
option is given.
|
||||
The default type is an array of
|
||||
.Sy unsigned char .
|
||||
The array contents are indented with tabs
|
||||
and the lines don't exceed 80 columns (tabs have the width of 8 spaces).
|
||||
The array contents are indented with tabs and the lines don't exceed 80 columns
|
||||
(tabs have the width of 8 spaces).
|
||||
.Pp
|
||||
The default array name is the output path if set, or the path of the first
|
||||
input file (if any), or otherwise
|
||||
The default array name is the output path if set, or the path of the first input
|
||||
file (if any), or otherwise
|
||||
.Sy carray .
|
||||
The default array name has all file extensions removed (but a leading period
|
||||
in the file name is kept). The default array name is converted to the
|
||||
characters
|
||||
a-z, A-Z,
|
||||
The default array name has all file extensions removed (but a leading period in
|
||||
the file name is kept).
|
||||
The default array name is converted to the characters a-z, A-Z,
|
||||
.Sq _ ,
|
||||
and 0-9. 0-9 cannot be the first character of an identifier.
|
||||
.Sq +
|
||||
|
@ -59,15 +58,16 @@ A guard macro is optionally used by the
|
|||
.Fl g
|
||||
and
|
||||
.Fl G
|
||||
options. The default guard macro is the output path if set, or the path of the
|
||||
first input file (if any) followed by
|
||||
options.
|
||||
The default guard macro is the output path if set, or the path of the first
|
||||
input file (if any) followed by
|
||||
.Sy _H ,
|
||||
or otherwise
|
||||
.Sy CARRAY_H .
|
||||
The default guard macro is converted to the characters A-Z,
|
||||
.Sq _ ,
|
||||
and 0-9. 0-9 cannot be the first character of an identifier. The lower-case
|
||||
a-z is converted to the upper-case A-Z.
|
||||
and 0-9. 0-9 cannot be the first character of an identifier.
|
||||
The lower-case a-z is converted to the upper-case A-Z.
|
||||
.Sq +
|
||||
is replaced by
|
||||
.Sq X .
|
||||
|
@ -91,7 +91,8 @@ keyword.
|
|||
.It Fl e , Fl \-extern
|
||||
Declare the array with the
|
||||
.Sy extern
|
||||
keyword. This option is mutually incompatible with the
|
||||
keyword.
|
||||
This option is mutually incompatible with the
|
||||
.Fl s
|
||||
option.
|
||||
.It Fl E , Fl \-extern-c
|
||||
|
@ -99,25 +100,27 @@ Wrap the array in
|
|||
.Sy extern """C""" { }
|
||||
subject to a preprocessor check for C++.
|
||||
.It Fl f , Fl \-forward
|
||||
Forward declare the array only, do not initialize it with contents. The input
|
||||
files are not opened and the standard input is unused. This option is mutually
|
||||
incompatible with the
|
||||
Forward declare the array only, do not initialize it with contents.
|
||||
The input files are not opened and the standard input is unused.
|
||||
This option is mutually incompatible with the
|
||||
.Fl r
|
||||
option.
|
||||
.It Fl g , Fl \-use-guard
|
||||
Wrap the output in a preprocessor conditional checking the guard macro is not
|
||||
set, and declare the macro if it is not set. This conditional is a classic C
|
||||
include guard that ensures only the first inclusion of a header has any effect.
|
||||
set, and declare the macro if it is not set.
|
||||
This conditional is a classic C include guard that ensures only the first
|
||||
inclusion of a header has any effect.
|
||||
.It Fl G , Fl \-guard Ar guard
|
||||
Sets the guard macro to
|
||||
.Ar guard
|
||||
and enables the guard macro check as if the
|
||||
.Fl g
|
||||
option was set as well. The guard macro is unrestricted and untransformed and
|
||||
will be be output verbatim.
|
||||
option was set as well.
|
||||
The guard macro is unrestricted and untransformed and will be output verbatim.
|
||||
.It Fl H , Fl \-headers
|
||||
Output inclusions of all the prerequisite headers. By default, there are no
|
||||
prerequisite headers, unless the array type is one of the
|
||||
Output inclusions of all the prerequisite headers.
|
||||
By default, there are no prerequisite headers, unless the array type is one of
|
||||
the
|
||||
.In stdint.h
|
||||
types, in which case
|
||||
.In stdint.h
|
||||
|
@ -129,15 +132,16 @@ is the only prerequisite header.
|
|||
.\" (End)
|
||||
Sets the name of the array to
|
||||
.Ar identifier .
|
||||
The identifier is unrestricted and will be be output verbatim.
|
||||
The identifier is unrestricted and will be output verbatim.
|
||||
.It Fl \-includes Ar include-statements
|
||||
Sets the C preprocessor statements
|
||||
.Ar include-statements
|
||||
as how to include all the prerequisite headers and enables inclusion of the
|
||||
prerequisite headers as if the
|
||||
.Fl H
|
||||
option was set. The preprocessor statements are unrestricted and untransformed
|
||||
and will be be output verbatim.
|
||||
option was set.
|
||||
The preprocessor statements are unrestricted and untransformed and will be
|
||||
output verbatim.
|
||||
.It Fl o , Fl output Ar output
|
||||
Write the output to the
|
||||
.Ar output
|
||||
|
@ -146,7 +150,8 @@ path rather than the standard output.
|
|||
Output only the hexadecimally encoded array contents, and the guard macro check
|
||||
if set by the
|
||||
.Fl g
|
||||
option. This option is mutually incompatible with the
|
||||
option.
|
||||
This option is mutually incompatible with the
|
||||
.Fl f
|
||||
option.
|
||||
.It Fl s , Fl \-static
|
||||
|
@ -156,7 +161,7 @@ keyword.
|
|||
.It Fl t , Fl \-type Ar type
|
||||
Declare the array as an array of the specified
|
||||
.Ar type .
|
||||
The type is unrestricted and will be be output verbatim.
|
||||
The type is unrestricted and will be output verbatim.
|
||||
.It Fl v , Fl \-volatile
|
||||
Declare the array with the
|
||||
.Sy volatile
|
||||
|
|
|
@ -9,23 +9,26 @@
|
|||
.Op Fl \-fstab Ns "=" Ns Ar path
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
is an interactive program that manages partition tables. It can create and
|
||||
destroy partition tables on block devices. It can create partitions and destroy
|
||||
them. It can format filesystems on partitions and configure mountpoints in
|
||||
is an interactive program that manages partition tables.
|
||||
It can create and destroy partition tables on block devices.
|
||||
It can create partitions and destroy them.
|
||||
It can format filesystems on partitions and configure mountpoints in
|
||||
.Xr fstab 5 .
|
||||
.Nm
|
||||
supports the Master Boot Record and GUID Partition Table partitioning schemes.
|
||||
.Pp
|
||||
.Nm
|
||||
provides an interactive command line. Its prompt shows the currently selected
|
||||
device (defaulting to the first device alphabetically) or
|
||||
provides an interactive command line.
|
||||
Its prompt shows the currently selected device (defaulting to the first device
|
||||
alphabetically) or
|
||||
.Li (disked)
|
||||
if none is selected. Commands perform their actions when run rather
|
||||
than waiting for the user to write out changes.
|
||||
if none is selected.
|
||||
Commands perform their actions when run rather than waiting for the user to
|
||||
write out changes.
|
||||
.Nm
|
||||
only creates partitions aligned to 1 MiB boundaries whose size is a multiple of
|
||||
1 MiB. Unused regions are aligned and those smaller than the alignment are not
|
||||
shown.
|
||||
1 MiB.
|
||||
Unused regions are aligned and those smaller than the alignment are not shown.
|
||||
.Pp
|
||||
The options are as follows:
|
||||
.Bl -tag -width "12345678"
|
||||
|
@ -45,7 +48,8 @@ Switch to the device
|
|||
.Ar device-index
|
||||
as numbered by the
|
||||
.Sy devices
|
||||
command. If no index is specified, show the name of the current device.
|
||||
command.
|
||||
If no index is specified, show the name of the current device.
|
||||
Alternatively you can write the absolute path to the device such as
|
||||
.Pa /dev/ahci0
|
||||
or just its name
|
||||
|
@ -54,7 +58,8 @@ or just its name
|
|||
List every available block device and show their indexes, device names (as found
|
||||
in
|
||||
.Pa /dev ) ,
|
||||
model names and serial numbers. Devices are counted from 0.
|
||||
model names and serial numbers.
|
||||
Devices are counted from 0.
|
||||
.It Sy exit
|
||||
Exit
|
||||
.Nm .
|
||||
|
@ -67,30 +72,33 @@ on the current device.
|
|||
.It Sy help
|
||||
List available commands.
|
||||
.It Sy ls
|
||||
Display the partition table of the current device. Partitions are counted from
|
||||
1.
|
||||
Display the partition table of the current device.
|
||||
Partitions are counted from 1.
|
||||
.It Sy man Oo ... Oc
|
||||
Display this manual page if no operands are given, otherwise run
|
||||
.Xr man 1
|
||||
with the given command line.
|
||||
.It Sy mkpart
|
||||
Create a partition on the current device. If the partition table has multiple
|
||||
unused regions
|
||||
Create a partition on the current device.
|
||||
If the partition table has multiple unused regions
|
||||
.Pq holes ,
|
||||
.Nm
|
||||
asks you which one to use. You need to specify the offset into the hole where
|
||||
the partition is created and then the length of the partition. See
|
||||
asks you which one to use.
|
||||
You need to specify the offset into the hole where the partition is created and
|
||||
then the length of the partition.
|
||||
See
|
||||
.Sx QUANTITIES
|
||||
below on the possible partition offset and length values. You will be asked if
|
||||
you want to format a filesystem:
|
||||
below on the possible partition offset and length values.
|
||||
You will be asked if you want to format a filesystem:
|
||||
.Bl -tag -width "12345678"
|
||||
.It Sy biosdata
|
||||
(gpt only) Format a BIOS boot partition, which is required for booting with GRUB
|
||||
from a root filesystem on a GPT partition. 1 MiB is sufficient for this kind of
|
||||
partition.
|
||||
from a root filesystem on a GPT partition.
|
||||
1 MiB is sufficient for this kind of partition.
|
||||
.It Sy extended
|
||||
(mbr only) Create an extended partition, which can contain an arbitrary amount
|
||||
logical partitions. You can only have a single extended partition.
|
||||
logical partitions.
|
||||
You can only have a single extended partition.
|
||||
.It Sy ext2
|
||||
Format an ext2 filesystem.
|
||||
.It Sy no
|
||||
|
@ -111,42 +119,48 @@ in
|
|||
.Xr fstab 5 ,
|
||||
or if
|
||||
.Sy no
|
||||
then remove any existing mountpoints. Conflicting mountpoints are removed.
|
||||
then remove any existing mountpoints.
|
||||
Conflicting mountpoints are removed.
|
||||
.It Sy quit
|
||||
Exit
|
||||
.Nm .
|
||||
.It Sy rmpart Ar partition-index
|
||||
Delete the partition
|
||||
.Ar partition-index
|
||||
on the current device. The partition data is rendered inaccessible but is not
|
||||
actually erased. The partition can technically be recovered using
|
||||
on the current device.
|
||||
The partition data is rendered inaccessible but is not actually erased.
|
||||
The partition can technically be recovered using
|
||||
.Sy mkpart .
|
||||
The partition data no longer has the protections of being in a partition and
|
||||
looks like regular unused space and can easily be overwritten. You should not
|
||||
delete a partition unless you want its contents gone. Deleting an extended
|
||||
partition deletes all the partitions it contains.
|
||||
looks like regular unused space and can easily be overwritten.
|
||||
You should not delete a partition unless you want its contents gone.
|
||||
Deleting an extended partition deletes all the partitions it contains.
|
||||
.It Sy rmtable
|
||||
Delete the partition table on the current device. The existing partitions are
|
||||
rendered inaccessible but are not actually erased. The partitions can
|
||||
technically be recovered using
|
||||
Delete the partition table on the current device.
|
||||
The existing partitions are rendered inaccessible but are not actually erased.
|
||||
The partitions can technically be recovered using
|
||||
.Sy mktable
|
||||
and
|
||||
.Sy mkpart .
|
||||
The disk data no longer has the protections of being partitioned and looks like
|
||||
regular unused space and can easily be overwritten. You should not delete the
|
||||
partition table unless you want all the data on the disk gone.
|
||||
regular unused space and can easily be overwritten.
|
||||
You should not delete the partition table unless you want all the data on the
|
||||
disk gone.
|
||||
.It Sy sh
|
||||
Run an interactive shell.
|
||||
.El
|
||||
.Sh QUANTITIES
|
||||
.Nm
|
||||
allows useful expressions when describing disk offsets and lengths. Every
|
||||
question needs an answer between 0 and a maximum. You can answer in percent
|
||||
where 100% is the maximum. You can answer an integer value followed by a suffix
|
||||
such as B, K, M, G, T, or P to signify bytes, KiB, MiB, GiB, TiB, and PiB
|
||||
respectively. The value is in MiB by default if there is no suffix. The answer
|
||||
is rounded to the 1 MiB alignment. If the expression is a negative value, then
|
||||
the answer is the maximum minus the absolute value. For instance:
|
||||
allows useful expressions when describing disk offsets and lengths.
|
||||
Every question needs an answer between 0 and a maximum.
|
||||
You can answer in percent where 100% is the maximum.
|
||||
You can answer an integer value followed by a suffix such as B, K, M, G, T, or P
|
||||
to signify bytes, KiB, MiB, GiB, TiB, and PiB respectively.
|
||||
The value is in MiB by default if there is no suffix.
|
||||
The answer is rounded to the 1 MiB alignment.
|
||||
If the expression is a negative value, then the answer is the maximum minus the
|
||||
absolute value.
|
||||
For instance:
|
||||
.Bl -tag -width "12345678"
|
||||
.It 42%
|
||||
Use 42% of the maximum.
|
||||
|
|
|
@ -9,10 +9,12 @@
|
|||
.Op Ar file
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
is a text editor with basic editing functionality. It generally behaves like
|
||||
a GUI editor as opposed to common terminal editors. The file named by the
|
||||
is a text editor with basic editing functionality.
|
||||
It generally behaves like a GUI editor as opposed to common terminal editors.
|
||||
The file named by the
|
||||
.Ar file
|
||||
argument is loaded if specified. It quits when
|
||||
argument is loaded if specified.
|
||||
It quits when
|
||||
.Sy Ctrl-Q
|
||||
is typed.
|
||||
.Pp
|
||||
|
@ -74,5 +76,5 @@ User configuration.
|
|||
.Sh BUGS
|
||||
.Nm
|
||||
lacks a number of crucial features, such as undo and redo, ability to open
|
||||
multiple files at once, and so on. The syntax highlighting can occasionally be
|
||||
inconsistent.
|
||||
multiple files at once, and so on.
|
||||
The syntax highlighting can occasionally be inconsistent.
|
||||
|
|
|
@ -10,11 +10,13 @@
|
|||
.Sh DESCRIPTION
|
||||
.Xr editor 1
|
||||
loads these files on startup and executes the commands therein as described in
|
||||
.Xr editor 1 . Only commands applicable as global configuration are executed to
|
||||
avoid undesirable side effects. For instance,
|
||||
.Xr editor 1 .
|
||||
Only commands applicable as global configuration are executed to avoid
|
||||
undesirable side effects.
|
||||
For instance,
|
||||
.Sy popen
|
||||
isn't executed as that would open another file than the current one. Unknown
|
||||
commands are silently ignored.
|
||||
isn't executed as that would open another file than the current one.
|
||||
Unknown commands are silently ignored.
|
||||
.Sh FILES
|
||||
.Bl -tag -width "$HOME/.editor" -compact
|
||||
.It Pa /etc/editor
|
||||
|
|
66
init/init.8
66
init/init.8
|
@ -20,24 +20,28 @@ The
|
|||
starts the system in a temporary environment with a root filesystem
|
||||
backed by system memory and extracts the
|
||||
.Xr initrd 7
|
||||
into it. The kernel runs the
|
||||
into it.
|
||||
The kernel runs the
|
||||
.Pa /sbin/init
|
||||
program of the system memory root filesystem as the first process. If the
|
||||
system is bootable cdrom, then the initrd will be a fully functional system and
|
||||
program of the system memory root filesystem as the first process.
|
||||
If the system is on bootable cdrom, then the initrd will be a fully functional
|
||||
system and
|
||||
.Nm
|
||||
will start a live environment or an operating system installer. If the
|
||||
system is installed on a harddisk, then the initrd is a minimal system made with
|
||||
will start a live environment or an operating system installer.
|
||||
If the system is installed on a harddisk, then the initrd is a minimal system
|
||||
made with
|
||||
.Xr update-initrd 8
|
||||
that will search for the actual root filesystem and chain init it. The next
|
||||
stage init will recognize it as the intended system and complete the system
|
||||
startup.
|
||||
that will search for the actual root filesystem and chain init it.
|
||||
The next stage init will recognize it as the intended system and complete the
|
||||
system startup.
|
||||
.Ss Initialization Target
|
||||
.Nm
|
||||
first determines its target from the
|
||||
.Fl \-target
|
||||
option if specified or
|
||||
.Pa /etc/init/target
|
||||
otherwise. Supported targets are:
|
||||
otherwise.
|
||||
Supported targets are:
|
||||
.Pp
|
||||
.Bl -tag -width "single-user" -compact -offset indent
|
||||
.It Sy chain
|
||||
|
@ -69,12 +73,14 @@ boot to operating system upgrader (not secure).
|
|||
.El
|
||||
.Pp
|
||||
It is a full system compromise if unauthenticated users are able to boot the
|
||||
wrong target. The kernel command line can specify the path to
|
||||
wrong target.
|
||||
The kernel command line can specify the path to
|
||||
.Nm
|
||||
and its arguments. Unprivileged users can change the kernel command line from
|
||||
the bootloader command line if it hasn't been password protected. Likewise
|
||||
unprivileged users can use their own replacement bootloader by booting a
|
||||
portable device under their control if the firmware configuration has not been
|
||||
and its arguments.
|
||||
Unprivileged users can change the kernel command line from the bootloader
|
||||
command line if it hasn't been password protected.
|
||||
Likewise unprivileged users can use their own replacement bootloader by booting
|
||||
a portable device under their control if the firmware configuration has not been
|
||||
password protected.
|
||||
.Ss Partition Creation
|
||||
.Nm
|
||||
|
@ -89,14 +95,16 @@ target mounts the root filesystem as in
|
|||
(see
|
||||
.Xr fstab 5) and runs the next
|
||||
.Nm
|
||||
program. This is used by
|
||||
program.
|
||||
This is used by
|
||||
.Xr update-initrd 8
|
||||
to make a bootstrap
|
||||
.Xr initrd 7 .
|
||||
.Pp
|
||||
Every block device and partition is scanned to determine if it is the root
|
||||
filesystem. It is checked for consistency if nessesary. It is
|
||||
mounted at
|
||||
filesystem.
|
||||
It is checked for consistency if necessary.
|
||||
It is mounted at
|
||||
.Pa /tmp/fs.XXXXXX
|
||||
and the
|
||||
.Pa /dev
|
||||
|
@ -133,8 +141,9 @@ will write 256 bytes of randomness to
|
|||
.Pa /boot/random.seed ,
|
||||
which serves as the initial entropy for the
|
||||
.Xr kernel 7
|
||||
on the next boot. The file is also written on system shutdown where the
|
||||
system has the most entropy.
|
||||
on the next boot.
|
||||
The file is also written on system shutdown where the system has the most
|
||||
entropy.
|
||||
.Ss Merge
|
||||
The
|
||||
.Sy merge
|
||||
|
@ -144,7 +153,8 @@ at
|
|||
.Pa /sysmerge/sbin/sysmerge
|
||||
with the
|
||||
.Ar --booting
|
||||
option. If the upgrade succeeds, the temporary
|
||||
option.
|
||||
If the upgrade succeeds, the temporary
|
||||
.Nm
|
||||
deinitializes the system and invokes the real (now upgraded)
|
||||
.Nm
|
||||
|
@ -152,15 +162,15 @@ which will restart system initialization in the normal fashion.
|
|||
.Ss Session
|
||||
Finally
|
||||
.Nm
|
||||
will start the target program according to its initialization target. This will
|
||||
be a login screen, a root shell, or something else. If the process exits
|
||||
abnormally
|
||||
will start the target program according to its initialization target.
|
||||
This will be a login screen, a root shell, or something else.
|
||||
If the process exits abnormally
|
||||
.Nm
|
||||
will automatically restart it.
|
||||
.Nm
|
||||
will exit with the same exit status as the process if it exits
|
||||
normally. The kernel decides whether to power off, reboot or halt based on this
|
||||
exit status.
|
||||
will exit with the same exit status as the process if it exits normally.
|
||||
The kernel decides whether to power off, reboot or halt based on this exit
|
||||
status.
|
||||
.Sh ENVIRONMENT
|
||||
.Nm
|
||||
sets the following environment variables.
|
||||
|
@ -203,8 +213,8 @@ graphics resolution (see
|
|||
.Sh EXIT STATUS
|
||||
.Nm
|
||||
exits 0 if the kernel should power off, exits 1 if the kernel should reboot, or
|
||||
exits 2 if the boot failed and the kernel should halt. Any other exit by the
|
||||
initial
|
||||
exits 2 if the boot failed and the kernel should halt.
|
||||
Any other exit by the initial
|
||||
.Nm
|
||||
will trigger a kernel panic.
|
||||
.Nm
|
||||
|
|
|
@ -9,7 +9,8 @@
|
|||
.Sh DESCRIPTION
|
||||
.Nm login
|
||||
interactively authenticates users by asking them to enter their username and
|
||||
password. The passwords are checked against the password hashes in
|
||||
password.
|
||||
The passwords are checked against the password hashes in
|
||||
.Pa /etc/passwd
|
||||
as described in
|
||||
.Xr passwd 5 .
|
||||
|
@ -18,10 +19,12 @@ creates a session as the requested user upon successful authentication.
|
|||
.Pp
|
||||
.Nm login
|
||||
has a graphical interface if the display is graphical and uses a textual
|
||||
interface otherwise. The textual interface is forced if
|
||||
interface otherwise.
|
||||
The textual interface is forced if
|
||||
.Pa /etc/login.conf.textual
|
||||
exists. The process remains running in the background and takes
|
||||
over again when the user session exits.
|
||||
exists.
|
||||
The process remains running in the background and takes over again when the user
|
||||
session exits.
|
||||
.Pp
|
||||
Type a special username to perform special options:
|
||||
.Pp
|
||||
|
@ -35,8 +38,9 @@ exit asking for rebooting the computer
|
|||
.El
|
||||
.Sh SECURITY
|
||||
There is currently no method to confirm the login screen is in fact real other
|
||||
than witnessing a pristine boot. Local users can log in and show a counterfeit
|
||||
login screen that look and behave like the real
|
||||
than witnessing a pristine boot.
|
||||
Local users can log in and show a counterfeit login screen that look and behave
|
||||
like the real
|
||||
.Nm login
|
||||
program and trick the next user into revealing their password.
|
||||
.Sh ENVIRONMENT
|
||||
|
@ -72,4 +76,5 @@ reboot, or exits 2 on fatal failure and the boot should halt.
|
|||
.Xr login 8
|
||||
.Sh BUGS
|
||||
.Nm login
|
||||
only supports a single monitor. The mouse code is less than perfect.
|
||||
only supports a single monitor.
|
||||
The mouse code is less than perfect.
|
||||
|
|
|
@ -52,4 +52,5 @@ will exit 0 on success and non-zero otherwise.
|
|||
.Sh BUGS
|
||||
.Nm
|
||||
is severely feature limited and doesn't actually let you extract an initrd or
|
||||
view all the contained meta information. It's also not a filesystem driver.
|
||||
view all the contained meta information.
|
||||
It's also not a filesystem driver.
|
||||
|
|
|
@ -26,14 +26,16 @@ format of files and directories.
|
|||
Every specified
|
||||
.Ar directory
|
||||
is used as a root directory and is recursively searched for files and
|
||||
directories matching the filter. If multiple directories are specified, the
|
||||
directories are merged together. In case two files with the same path conflict,
|
||||
precedence is given to the file in the root directory specified first.
|
||||
directories matching the filter.
|
||||
If multiple directories are specified, the directories are merged together.
|
||||
In case two files with the same path conflict, precedence is given to the file
|
||||
in the root directory specified first.
|
||||
.Pp
|
||||
Hardlinks are detected and preserved to avoid data duplication.
|
||||
Inode times are truncated to second precision due to format limitations. Inodes
|
||||
are stored with uid 0 and gid 0 of the root user. The format is not compressed
|
||||
but can be compressed externally if it is decompressed during bootloading.
|
||||
Inode times are truncated to second precision due to format limitations.
|
||||
Inodes are stored with uid 0 and gid 0 of the root user.
|
||||
The format is not compressed but can be compressed externally if it is
|
||||
decompressed during bootloading.
|
||||
.Pp
|
||||
.Xr initrdfs 8
|
||||
can be used to view the files produced by
|
||||
|
@ -48,8 +50,8 @@ rules in the
|
|||
in the format specified under
|
||||
.Sx FILTER RULES .
|
||||
.It Fl \-format Ns "=" Ns Ar format
|
||||
Produce the archive in the specified format. This is for forward compatibility
|
||||
and only
|
||||
Produce the archive in the specified format.
|
||||
This is for forward compatibility and only
|
||||
.Sy sortix-initrd-2
|
||||
is supported.
|
||||
.Sy default
|
||||
|
@ -70,12 +72,13 @@ at the specified
|
|||
.Ar destination .
|
||||
.El
|
||||
.Sh FILTER RULES
|
||||
The rule format is line based and leading whitespace is skipped. Lines starting
|
||||
with a
|
||||
The rule format is line based and leading whitespace is skipped.
|
||||
Lines starting with a
|
||||
.Li #
|
||||
character are ignored as comments. The first word on a line must be one of
|
||||
the following commands and the rest of the line is its parameter. Trailing
|
||||
whitespace is not ignored.
|
||||
character are ignored as comments.
|
||||
The first word on a line must be one of the following commands and the rest of
|
||||
the line is its parameter.
|
||||
Trailing whitespace is not ignored.
|
||||
.Bl -tag -width "12345678"
|
||||
.It Sy default Ar boolean
|
||||
The
|
||||
|
@ -85,7 +88,8 @@ parameter is either
|
|||
or
|
||||
.Sy false
|
||||
and determines whether a file or directory is included if no other rules match
|
||||
it. This defaults to
|
||||
it.
|
||||
This defaults to
|
||||
.Sy true .
|
||||
.It Sy include Ar path
|
||||
Include the file or directory if it matches
|
||||
|
@ -96,9 +100,10 @@ Exclude the file or directory if it matches
|
|||
.El
|
||||
.Pp
|
||||
The rules are checked on the paths relative to the root directories during the
|
||||
recursive descent. The last rule to match a path decides whether it is
|
||||
included or not. Directory are not descended into if they are excluded. The
|
||||
pattern patch is simple and matches paths exactly.
|
||||
recursive descent.
|
||||
The last rule to match a path decides whether it is included or not.
|
||||
Directory are not descended into if they are excluded.
|
||||
The pattern patch is simple and matches paths exactly.
|
||||
.Sh EXIT STATUS
|
||||
.Nm
|
||||
will exit 0 on success and non-zero otherwise.
|
||||
|
|
19
sf/sf.1
19
sf/sf.1
|
@ -10,8 +10,8 @@
|
|||
.Op Ar device
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
provides a simple scheme for framing a message over a byte stream. This is
|
||||
useful in cases such as sockets, pipe, and serial devices where a real
|
||||
provides a simple scheme for framing a message over a byte stream.
|
||||
This is useful in cases such as sockets, pipe, and serial devices where a real
|
||||
end of file condition would require terminating the link, but it is important
|
||||
to transmit multiple messages and keeping the link open for an arbitrary amount
|
||||
of time.
|
||||
|
@ -23,8 +23,8 @@ most bytes represent themselves, an escape byte sequence
|
|||
.Li ( 0xF7 0xFD ) ,
|
||||
and an end of messsage byte sequence
|
||||
.Li ( 0xF7 0xFE ) .
|
||||
UTF-8 encoded text will never need to be escaped. Data can be recursively
|
||||
framed.
|
||||
UTF-8 encoded text will never need to be escaped.
|
||||
Data can be recursively framed.
|
||||
.Pp
|
||||
Exactly one of the
|
||||
.Fl i
|
||||
|
@ -34,15 +34,18 @@ options must be set to control whether the program is in input or output mode.
|
|||
.Pp
|
||||
Input mode works by reading one byte at a time from stdin (or the
|
||||
.Ar device
|
||||
if given). It discards all read bytes until it finds a valid start of message
|
||||
byte sequence. It then decodes the body and writes the decoded bytes to stdout.
|
||||
if given).
|
||||
It discards all read bytes until it finds a valid start of message byte
|
||||
sequence.
|
||||
It then decodes the body and writes the decoded bytes to stdout.
|
||||
Finally it finds an end of message byte sequence and exits.
|
||||
.Pp
|
||||
Output mode works by reading bytes from stdin until an end of file condition.
|
||||
It emits a start of message byte sequence to stdout (or to the
|
||||
.Ar device
|
||||
if given). It emits an encoded body with the contents of stdin. Finally it
|
||||
emits an end of message byte sequence.
|
||||
if given).
|
||||
It emits an encoded body with the contents of stdin.
|
||||
Finally it emits an end of message byte sequence.
|
||||
.Pp
|
||||
The
|
||||
.Ar device
|
||||
|
|
|
@ -32,7 +32,8 @@ The client transmits in one
|
|||
session, which contains two nested
|
||||
.Xr sf 1
|
||||
connections (first host, then port), and then the actual body read from the
|
||||
standard input. The server transmits in one
|
||||
standard input.
|
||||
The server transmits in one
|
||||
.Xr sf 1
|
||||
session, which begins once the host and port has been received, and it contains
|
||||
the response.
|
||||
|
|
|
@ -24,8 +24,8 @@ environment variables set to the parameters).
|
|||
.Pp
|
||||
It receives bytes from
|
||||
.Ar receive-device
|
||||
and sends them to the invoked program. It reads bytes from the invoked program
|
||||
and transmits them through
|
||||
and sends them to the invoked program.
|
||||
It reads bytes from the invoked program and transmits them through
|
||||
.Ar transmit-device .
|
||||
.Pp
|
||||
The protocol is as described in
|
||||
|
|
|
@ -11,8 +11,9 @@ The
|
|||
.Nm hostname
|
||||
file is read on boot by
|
||||
.Xr init 8
|
||||
and is used as the system hostname. No hostname is set if the file is missing
|
||||
and the hostname remains the kernel default.
|
||||
and is used as the system hostname.
|
||||
No hostname is set if the file is missing and the hostname remains the kernel
|
||||
default.
|
||||
.Sh FORMAT
|
||||
The file must contain a valid hostname and no whitespace on a single line.
|
||||
.Sh FILES
|
||||
|
|
|
@ -13,12 +13,12 @@ file is read on boot by
|
|||
.Xr init 8
|
||||
and names a file in
|
||||
.Pa /share/kblayout
|
||||
that is loaded and set as the keyboard layout. The default kernel US keyboard
|
||||
layout is retained if the file is missing.
|
||||
that is loaded and set as the keyboard layout.
|
||||
The default kernel US keyboard layout is retained if the file is missing.
|
||||
.Pp
|
||||
The kernel translates the raw keyboard scancodes into unicode codepoints using
|
||||
the keyboard layout table associated with the terminal. Keyboard layout
|
||||
tables are compiled from a textual description with
|
||||
the keyboard layout table associated with the terminal.
|
||||
Keyboard layout tables are compiled from a textual description with
|
||||
.Xr kblayout-compiler 1
|
||||
into compressed binary tables.
|
||||
.Sh FORMAT
|
||||
|
|
|
@ -15,8 +15,9 @@ during a system upgrade as described in
|
|||
.Xr upgrade 7 .
|
||||
The file allows customizing whether the system itself is replaced, whether new
|
||||
ports are installed, whether the new source code is installed and what happens
|
||||
to the old source code. It also records information about the system such as
|
||||
how the system is booted. The file is created automatically by
|
||||
to the old source code.
|
||||
It also records information about the system such as how the system is booted.
|
||||
The file is created automatically by
|
||||
.Xr sysinstall 8
|
||||
as part of
|
||||
.Xr installation 7
|
||||
|
@ -24,27 +25,30 @@ to match what was installed.
|
|||
.Pp
|
||||
Developers may wish to customize what happens to
|
||||
.Pa /src
|
||||
on a system upgrade. The new source code can be installed or not. If it is
|
||||
installed, it can be installed in
|
||||
on a system upgrade.
|
||||
The new source code can be installed or not.
|
||||
If it is installed, it can be installed in
|
||||
.Pa /newsrc
|
||||
or by default in
|
||||
.Pa /src .
|
||||
Any existing source code will be safely moved inside a subdirectory of
|
||||
.Pa /oldsrc .
|
||||
.Pp
|
||||
It is possible to disable any upgrading whatsoever. If you do this, except the
|
||||
new source code is installed, then you can upgrade to the new system manually as
|
||||
described in
|
||||
It is possible to disable any upgrading whatsoever.
|
||||
If you do this, except the new source code is installed, then you can upgrade to
|
||||
the new system manually as described in
|
||||
.Xr development 7 .
|
||||
Upgrading to the next release from source is not supported.
|
||||
.Sh FORMAT
|
||||
The file is read line by line. The # character starts a comment and the rest of
|
||||
the line is ignored. Lines are supposed to contain assignments to variables. An
|
||||
assignment is the name of the variable, whitespace, an equal character,
|
||||
The file is read line by line.
|
||||
The # character starts a comment and the rest of the line is ignored.
|
||||
Lines are supposed to contain assignments to variables.
|
||||
An assignment is the name of the variable, whitespace, an equal character,
|
||||
whitespace, the value, whitespace, and then the end of the line.
|
||||
.Bl -tag -width "12345678"
|
||||
.It Sy grub Ns "=" Ns Oo Sy no "|" yes Oc (default Sy no ) .
|
||||
States GRUB is used as the bootloader. If either the
|
||||
States GRUB is used as the bootloader.
|
||||
If either the
|
||||
.Sy system
|
||||
or
|
||||
.Sy ports
|
||||
|
@ -63,7 +67,8 @@ into
|
|||
.Pa /oldsrc .
|
||||
This preserves the current
|
||||
.Pa /src
|
||||
directory. This takes precedence over and disables the behavior described under
|
||||
directory.
|
||||
This takes precedence over and disables the behavior described under
|
||||
.Sy src .
|
||||
.It Sy ports Ns "=" Ns Oo Sy no "|" yes Oc (default Sy yes ) .
|
||||
Install the new ports.
|
||||
|
@ -75,7 +80,8 @@ and move any existing
|
|||
into
|
||||
.Pa /oldsrc .
|
||||
.It Sy system Ns "=" Ns Oo Sy no "|" yes Oc (default Sy yes ) .
|
||||
Install the new system. This will run
|
||||
Install the new system.
|
||||
This will run
|
||||
.Xr update-initrd 8
|
||||
and if
|
||||
.Sy grub
|
||||
|
|
|
@ -11,16 +11,17 @@ The
|
|||
.Nm videomode
|
||||
file is read on boot by
|
||||
.Xr init 8
|
||||
and is used as the initial graphics resolution on the primary monitor. The
|
||||
resolution provided by the bootloader remains in effect if the file is missing.
|
||||
and is used as the initial graphics resolution on the primary monitor.
|
||||
The resolution provided by the bootloader remains in effect if the file is
|
||||
missing.
|
||||
The resolution is usable only if the graphics card has a driver and the
|
||||
resolution is supported.
|
||||
.Sh FORMAT
|
||||
.Ar width Ns x Ns Ar height Ns x Ns Ar bits-per-pixel
|
||||
.Pp
|
||||
The file specifies a graphics resolution as a single line with three numeric
|
||||
fields separated by x characters and no whitespace whatsoever. The first field
|
||||
is used as the
|
||||
fields separated by x characters and no whitespace whatsoever.
|
||||
The first field is used as the
|
||||
.Ar width
|
||||
in pixels, the second field is used as the
|
||||
.Ar height
|
||||
|
|
|
@ -8,16 +8,18 @@
|
|||
The
|
||||
.Xr development 7
|
||||
manual page describes the primary way of building the operating system, which
|
||||
is under itself. The secondary way is to cross-compile it from a sufficiently
|
||||
similar operating system such as Linux with the GNU tools installed. The build
|
||||
system assumes the presence of some GNU extensions in the standard command line
|
||||
tools. This document will detail the process of bootstrapping a Sortix system
|
||||
from another operating system.
|
||||
is under itself.
|
||||
The secondary way is to cross-compile it from a sufficiently similar operating
|
||||
system such as Linux with the GNU tools installed.
|
||||
The build system assumes the presence of some GNU extensions in the standard
|
||||
command line tools.
|
||||
This document will detail the process of bootstrapping a Sortix system from
|
||||
another operating system.
|
||||
.Pp
|
||||
Be sure you are reading the latest version of this document, rather than an old
|
||||
copy installed on the system or on an online manual page viewer, if you want to
|
||||
build the latest development code rather than the stable release. To view the
|
||||
instructions for the latest source code using the command line:
|
||||
build the latest development code rather than the stable release.
|
||||
To view the instructions for the latest source code using the command line:
|
||||
.Bd -literal
|
||||
cd /latest/source/code &&
|
||||
man share/man/man7/cross-development.7
|
||||
|
@ -34,9 +36,10 @@ xorriso (for iso creation)
|
|||
mtools (for iso creation) (if on UEFI systems)
|
||||
.El
|
||||
.Pp
|
||||
GRUB with BIOS support is required. If you are on an UEFI system, you may need
|
||||
to install further files to get BIOS support. For instance, on an apt-based
|
||||
system you might install the
|
||||
GRUB with BIOS support is required.
|
||||
If you are on an UEFI system, you may need to install further files to get BIOS
|
||||
support.
|
||||
For instance, on an apt-based system you might install the
|
||||
.Sy grub-pc-bin
|
||||
package.
|
||||
.Pp
|
||||
|
@ -73,50 +76,55 @@ You can find the latest Sortix binutils source code at
|
|||
You can find the latest Sortix gcc source code at
|
||||
.Lk https://sortix.org/toolchain/sortix-gcc-latest.tar.xz
|
||||
.Pp
|
||||
This is a compiler toolchain that has been modified to support Sortix. The
|
||||
toolchain is sometimes updated and you will need the latest toolchain to keep
|
||||
building the latest code.
|
||||
This is a compiler toolchain that has been modified to support Sortix.
|
||||
The toolchain is sometimes updated and you will need the latest toolchain to
|
||||
keep building the latest code.
|
||||
.Ss Variables
|
||||
This document will use meta-syntactic shell variables to denote where you have
|
||||
choice. These are simply convenient shorthands that lets this document refer
|
||||
to your choices. You shouldn't use real shell variables but just textually
|
||||
replace them with your choices when you run commands.
|
||||
choice.
|
||||
These are simply convenient shorthands that lets this document refer to your
|
||||
choices.
|
||||
You shouldn't use real shell variables but just textually replace them with your
|
||||
choices when you run commands.
|
||||
.Bl -tag -width "$SORTIX_PLATFORM" -offset indent
|
||||
.It Sy $SORTIX
|
||||
The path to the directory containing the Sortix source code. This could for
|
||||
instance be
|
||||
The path to the directory containing the Sortix source code.
|
||||
This could for instance be
|
||||
.Pa /home/user/sortix .
|
||||
.It Sy $SORTIX_PLATFORM
|
||||
The Sortix target platform. This could for instance be
|
||||
The Sortix target platform.
|
||||
This could for instance be
|
||||
.Sy x86_64-sortix .
|
||||
.It Sy $CROSS_PREFIX
|
||||
The directory path where the cross-toolchain will be installed. This could
|
||||
for instance be
|
||||
The directory path where the cross-toolchain will be installed.
|
||||
This could for instance be
|
||||
.Pa /home/user/opt/x86_64-sortix .
|
||||
.El
|
||||
.Pp
|
||||
The following sections describe these variables in detail.
|
||||
.Ss Sortix Directory
|
||||
You can put the Sortix source code wherever you'd like. It is typically git
|
||||
cloned from your home directory and the source code will appear in
|
||||
You can put the Sortix source code wherever you'd like.
|
||||
It is typically git cloned from your home directory and the source code will
|
||||
appear in
|
||||
.Pa ~/sortix .
|
||||
This place will contain the operating system code. We'll refer to that location
|
||||
as
|
||||
This place will contain the operating system code.
|
||||
We'll refer to that location as
|
||||
.Sy $SORTIX.
|
||||
.Pp
|
||||
Don't store the source code for the cross-toolchain (binutils and gcc) here.
|
||||
Store the source code for those programs somewhere else, such as in
|
||||
.Pa ~/src .
|
||||
It doesn't make any sense to store the cross toolchain within the Sortix
|
||||
directory. The only toolchain that belongs here is the native toolchain that
|
||||
runs on Sortix (and not on your current operating system).
|
||||
directory.
|
||||
The only toolchain that belongs here is the native toolchain that runs on Sortix
|
||||
(and not on your current operating system).
|
||||
.Pp
|
||||
Don't make a sortix directory and git clone inside it, you redundantly get a
|
||||
.Pa ~/sortix/sortix
|
||||
directory instead.
|
||||
.Ss Target Platform
|
||||
You need to decide what the platform your final Sortix system will run on. You
|
||||
can currently decide between
|
||||
You need to decide what the platform your final Sortix system will run on.
|
||||
You can currently decide between
|
||||
.Sy i686-sortix
|
||||
and
|
||||
.Sy x86_64-sortix .
|
||||
|
@ -129,7 +137,8 @@ You should install your cross-toolchain into a useful and isolated directory
|
|||
such as
|
||||
.Pa $HOME/opt/$SORTIX_PLATFORM .
|
||||
This allows you to easily dispose of the directory and keeps it isolated from
|
||||
the rest of the system. We'll refer to that location as
|
||||
the rest of the system.
|
||||
We'll refer to that location as
|
||||
.Sy $CROSS_PREFIX.
|
||||
.Ss PATH
|
||||
You need to add
|
||||
|
@ -145,16 +154,16 @@ variable:
|
|||
.Pp
|
||||
This will modify the
|
||||
.Ev PATH
|
||||
variable in this particular shell session. You can make this permanent by
|
||||
adding that line to your
|
||||
variable in this particular shell session.
|
||||
You can make this permanent by adding that line to your
|
||||
.Pa ~/.profile
|
||||
or the applicable file for your shell and system. Consult your shell
|
||||
documentation. Otherwise type it in all Sortix-related shells before doing
|
||||
anything.
|
||||
or the applicable file for your shell and system.
|
||||
Consult your shell documentation.
|
||||
Otherwise type it in all Sortix-related shells before doing anything.
|
||||
.Ss Build Tools
|
||||
You need to install some additional build tools as they are needed to build the
|
||||
operating system. The installed build tools must be in sync with the source
|
||||
code as described in
|
||||
operating system.
|
||||
The installed build tools must be in sync with the source code as described in
|
||||
.Xr development 7 .
|
||||
You can install the build utilities by running:
|
||||
.Bd -literal
|
||||
|
@ -243,9 +252,9 @@ you can build gcc out-of-directory by running:
|
|||
.Pp
|
||||
You can remove the temporary
|
||||
.Pa ~/src/gcc-build
|
||||
directory when finished. Notice how special make targets are used to
|
||||
selectively build only parts of gcc. It is not possible or desirable to build
|
||||
all of gcc here.
|
||||
directory when finished.
|
||||
Notice how special make targets are used to selectively build only parts of gcc.
|
||||
It is not possible or desirable to build all of gcc here.
|
||||
.Ss Building Sortix
|
||||
With the build tools and cross-compiler in the
|
||||
.Ev PATH
|
||||
|
@ -256,8 +265,8 @@ by setting
|
|||
to your value of
|
||||
.Sy $SORTIX_PLATFORM .
|
||||
This tells the build system you are cross-compiling and it will run the
|
||||
appropriate cross-compiler. For instance, to build an bootable cdrom image
|
||||
using a
|
||||
appropriate cross-compiler.
|
||||
For instance, to build an bootable cdrom image using a
|
||||
.Sy x86_64-sortix
|
||||
cross-compiler you can run:
|
||||
.Bd -literal
|
||||
|
@ -273,15 +282,16 @@ The
|
|||
manual page documents how to develop Sortix and how to use the build system.
|
||||
This manual page only documents how to set up a cross-development environment
|
||||
and is not sufficient to develop Sortix, or to make a fully functional and
|
||||
installable Sortix system. The above instructions only gives you a
|
||||
cross-compilation of the base system without any of the nessesary ports of third
|
||||
party software.
|
||||
installable Sortix system.
|
||||
The above instructions only gives you a cross-compilation of the base system
|
||||
without any of the nessesary ports of third party software.
|
||||
.Pp
|
||||
The
|
||||
.Xr following-development 7
|
||||
manual page documents what needs to be done to stay updated with the latest
|
||||
developments. You will need to read the new version of that document whenever
|
||||
you update the source code.
|
||||
developments.
|
||||
You will need to read the new version of that document whenever you update the
|
||||
source code.
|
||||
.Ss Troubleshooting
|
||||
If producing a bootable cdrom with
|
||||
.Xr grub-mkrescue 1
|
||||
|
@ -289,7 +299,8 @@ gives the error
|
|||
.Pp
|
||||
.Dl xorriso : FAILURE : Cannot find path '/efi.img' in loaded ISO image
|
||||
.Pp
|
||||
then your GRUB installation is defective. You need to install
|
||||
then your GRUB installation is defective.
|
||||
You need to install
|
||||
.Xr mformat 1
|
||||
to use
|
||||
.Xr grub-mkrescue 1
|
||||
|
|
|
@ -11,21 +11,23 @@ Releases come with the system source code in
|
|||
.Pa /src
|
||||
as a
|
||||
.Xr git 1
|
||||
repository. It can be modified, compiled and installed on the current system.
|
||||
repository.
|
||||
It can be modified, compiled and installed on the current system.
|
||||
The source code is built with a
|
||||
.Xr make 1
|
||||
build system. The source code can be located in any location, if so, simply
|
||||
substitute
|
||||
build system.
|
||||
The source code can be located in any location, if so, simply substitute
|
||||
.Pa /src
|
||||
with the real location. These instructions only apply to building the operating
|
||||
system from within itself, those building it from another operating system needs
|
||||
to follow
|
||||
with the real location.
|
||||
These instructions only apply to building the operating system from within
|
||||
itself, those building it from another operating system needs to follow
|
||||
.Xr cross-development 7
|
||||
instead.
|
||||
.Pp
|
||||
If you are building a new version of the operation system where build tools have
|
||||
been added or changed, you first need to install the new tools. This is not
|
||||
needed when building the matching release. To do so, run as root:
|
||||
been added or changed, you first need to install the new tools.
|
||||
This is not needed when building the matching release.
|
||||
To do so, run as root:
|
||||
.Bd -literal
|
||||
cd /src
|
||||
make distclean # fully clean build directory
|
||||
|
@ -44,10 +46,12 @@ system, run as root:
|
|||
The build system creates a minimal root filesystem structure in the
|
||||
.Pa /src/sysroot
|
||||
and builds each operating system component in turn, installing them into the
|
||||
sysroot. If the source code for ports are placed in
|
||||
sysroot.
|
||||
If the source code for ports are placed in
|
||||
.Pa /src/ports
|
||||
then they are automatically built as well. The result is a minimal system that
|
||||
can be turned into working system by adding important configuration such as
|
||||
then they are automatically built as well.
|
||||
The result is a minimal system that can be turned into working system by adding
|
||||
important configuration such as
|
||||
.Xr passwd 5 .
|
||||
.Pp
|
||||
The
|
||||
|
@ -56,25 +60,29 @@ make target ensures a system is built in
|
|||
.Pa /src/sysroot
|
||||
and then runs the
|
||||
.Xr sysmerge 8
|
||||
program which installs the new system files onto the existing system. It
|
||||
updates the system manifest as well all ports installed in the sysroot. The
|
||||
program which installs the new system files onto the existing system.
|
||||
It updates the system manifest as well all ports installed in the sysroot.
|
||||
The
|
||||
.Xr initrd 7
|
||||
is automatically regenerated using
|
||||
.Xr update-initrd 8 .
|
||||
The bootloader, if enabled in
|
||||
.Xr upgrade.conf 5 ,
|
||||
is reinstalled and configured as necessary. The new user-space is running on
|
||||
completion, though existing processes will be running the old programs.
|
||||
A reboot is needed to run the new kernel. If the ABI changed and the current
|
||||
kernel isn't able to run the new programs, then the upgrade is delayed and will
|
||||
be automatically completed on the next boot. The
|
||||
is reinstalled and configured as necessary.
|
||||
The new user-space is running on completion, though existing processes will be
|
||||
running the old programs.
|
||||
A reboot is needed to run the new kernel.
|
||||
If the ABI changed and the current kernel isn't able to run the new programs,
|
||||
then the upgrade is delayed and will be automatically completed on the next
|
||||
boot.
|
||||
The
|
||||
.Sy sysmerge-wait
|
||||
make target forces waiting until the next boot.
|
||||
.Ss Root Makefile
|
||||
The
|
||||
.Pa /src/Makefile
|
||||
handles the high level build of the operating system. The important targets
|
||||
are:
|
||||
handles the high level build of the operating system.
|
||||
The important targets are:
|
||||
.Bl -tag -width "12345678"
|
||||
.It Sy all
|
||||
(default) Build each component in turn and install them into the sysroot.
|
||||
|
@ -119,26 +127,27 @@ Like
|
|||
but delay the upgrade until the next boot.
|
||||
.It Sy sysroot-base-headers
|
||||
Create the sysroot and install only the headers of the standard library and
|
||||
kernel into it. This is useful when bootstrapping the runtime libraries of the
|
||||
compiler that need to know about libc prior to building libc.
|
||||
kernel into it.
|
||||
This is useful when bootstrapping the runtime libraries of the compiler that
|
||||
need to know about libc prior to building libc.
|
||||
.El
|
||||
.Pp
|
||||
The important environment variables influencing the Makefile are:
|
||||
.Bl -tag -width "12345678"
|
||||
.It Ev BUILD
|
||||
The platform of the current operating system. This defaults to the current machine
|
||||
and operating system.
|
||||
The platform of the current operating system.
|
||||
This defaults to the current machine and operating system.
|
||||
.It Ev HOST
|
||||
Specifies platform on which the compiled code will run. This defaults to the
|
||||
current machine and operating system. This is used when cross-compiling the
|
||||
operating system. When cross-compiling the operating system, it must be set to
|
||||
one of
|
||||
Specifies platform on which the compiled code will run.
|
||||
This defaults to the current machine and operating system.
|
||||
This is used when cross-compiling the operating system.
|
||||
When cross-compiling the operating system, it must be set to one of
|
||||
.Sy i686-sortix
|
||||
and
|
||||
.Sy x86_64-sortix .
|
||||
This must be unset when building the build tools as they run on the current
|
||||
operating system. The compiler tools are prefixed with this variable if it does
|
||||
not match
|
||||
operating system.
|
||||
The compiler tools are prefixed with this variable if it does not match
|
||||
.Ev BUILD.
|
||||
.It Ev OPTLEVEL
|
||||
Specifies compiler optimization options that gets added to
|
||||
|
@ -146,8 +155,8 @@ Specifies compiler optimization options that gets added to
|
|||
and
|
||||
.Ev CXXFLAGS .
|
||||
.It Ev SORTIX_INCLUDE_SOURCE
|
||||
Specifies whether the source code is included in the sysroot. This must be one
|
||||
of
|
||||
Specifies whether the source code is included in the sysroot.
|
||||
This must be one of
|
||||
.Sy no, yes
|
||||
or
|
||||
.Sy git
|
||||
|
@ -159,7 +168,8 @@ is installed and
|
|||
.Sy yes
|
||||
otherwise.
|
||||
.It Ev SORTIX_ISO_COMPRESSION
|
||||
Specifies the compression algorithm used in iso files. This must be one of
|
||||
Specifies the compression algorithm used in iso files.
|
||||
This must be one of
|
||||
.Sy none , gzip
|
||||
or
|
||||
.Sy xz
|
||||
|
@ -168,9 +178,10 @@ and defaults to
|
|||
.El
|
||||
.Ss Components
|
||||
The operating systems components, such as libc and the kernel, each have their
|
||||
own directory by that name. It contains a makefile that can build and install
|
||||
that component. This allows building and installing only that component onto
|
||||
the current operating system.
|
||||
own directory by that name.
|
||||
It contains a makefile that can build and install that component.
|
||||
This allows building and installing only that component onto the current
|
||||
operating system.
|
||||
.Pp
|
||||
For instance, to build and install libc, run as root:
|
||||
.Bd -literal
|
||||
|
@ -180,14 +191,15 @@ For instance, to build and install libc, run as root:
|
|||
.Ed
|
||||
.Pp
|
||||
System libraries are statically linked and you will have to relink programs with
|
||||
the new library for changes to take effect. Building the whole operating system
|
||||
from the root makefile ensures components are built in the right order such that
|
||||
all programs use fresh libraries.
|
||||
the new library for changes to take effect.
|
||||
Building the whole operating system from the root makefile ensures components
|
||||
are built in the right order such that all programs use fresh libraries.
|
||||
The root makefile invokes component makefiles with
|
||||
.Ev SYSROOT
|
||||
set to
|
||||
.Pa /src/sysroot
|
||||
to force the compiler to locate files there. Likewise when installing, it sets
|
||||
to force the compiler to locate files there.
|
||||
Likewise when installing, it sets
|
||||
.Ev DESTDIR
|
||||
to
|
||||
.Pa /src/sysroot
|
||||
|
@ -206,22 +218,25 @@ root makefile target creates this directory and populates it with a directory
|
|||
structure suitable for online publishing of a release.
|
||||
.It Pa /src/repository
|
||||
If ports are present, this directory is made when binary packages are built and
|
||||
they are stored here. This works as a cache so ports don't have to be rebuilt
|
||||
every time the operating system is. Packages are also copied from here rather
|
||||
than the sysroot when making releases.
|
||||
they are stored here.
|
||||
This works as a cache so ports don't have to be rebuilt every time the operating
|
||||
system is.
|
||||
Packages are also copied from here rather than the sysroot when making releases.
|
||||
.It Pa /src/sysroot
|
||||
This directory is made when building the operating system and the freshly made
|
||||
files are installed here. The build system uses this as the system root which
|
||||
forces the compiler to look here for headers and libraries. This ensures a
|
||||
clean bootstrap where files from the current operating system do not leak into
|
||||
the new system.
|
||||
files are installed here.
|
||||
The build system uses this as the system root which forces the compiler to look
|
||||
here for headers and libraries.
|
||||
This ensures a clean bootstrap where files from the current operating system do
|
||||
not leak into the new system.
|
||||
.It Pa /src/sysroot-overlay
|
||||
If this directory exists, it is added to the initrd of the produced iso and can
|
||||
contain additional system files.
|
||||
.El
|
||||
.Ss Build Tools
|
||||
Some components are used to build the source code and must match the versions
|
||||
in the source code being built. These are currently:
|
||||
Some components are used to build the source code and must match the versions in
|
||||
the source code being built.
|
||||
These are currently:
|
||||
.Pp
|
||||
.Bl -bullet -compact
|
||||
.It
|
||||
|
@ -237,15 +252,17 @@ tix
|
|||
.El
|
||||
.Pp
|
||||
If the currently installed versions of those tools are older than the ones in
|
||||
the source code, you must update them. The
|
||||
the source code, you must update them.
|
||||
The
|
||||
.Sy clean-build-tools
|
||||
root makefile target cleans the applicable directories, the
|
||||
.Sy build-tools
|
||||
root makefile target builds them from the source code, and the
|
||||
.Sy install-build-tools
|
||||
root makefile target installs the new version. You must clean the compiled
|
||||
files from the source code afterwards because the compiled tools are intended to
|
||||
run on the current system, and have not been built properly using
|
||||
root makefile target installs the new version.
|
||||
You must clean the compiled files from the source code afterwards because the
|
||||
compiled tools are intended to run on the current system, and have not been
|
||||
built properly using
|
||||
.Pa /src/sysroot .
|
||||
.Ss Ports
|
||||
You can place the source code for ports in
|
||||
|
@ -255,8 +272,8 @@ format (has a
|
|||
file) in the
|
||||
.Pa /src/ports
|
||||
directory and they will get built automatically when and installed into the
|
||||
sysroot when building the whole operating system. Installable binary packages
|
||||
are created in the
|
||||
sysroot when building the whole operating system.
|
||||
Installable binary packages are created in the
|
||||
.Pa /src/repository/$HOST
|
||||
directory using
|
||||
.Xr tix-build 8
|
||||
|
@ -274,8 +291,8 @@ The ports system is described in detail in
|
|||
.Ss Patches
|
||||
The source code is managed as a
|
||||
.Xr git 1
|
||||
repository and you can make your own changes and commit them. A good approach
|
||||
is to set up your own local development branch and work there:
|
||||
repository and you can make your own changes and commit them.
|
||||
A good approach is to set up your own local development branch and work there:
|
||||
.Bd -literal
|
||||
git checkout -b local
|
||||
git add utils/hello.c
|
||||
|
@ -287,9 +304,10 @@ You can then easily prepare your a set of patches for upstream submission:
|
|||
git format-patch master..local
|
||||
.Ed
|
||||
.Pp
|
||||
This will create a series of .patch files containing your changes. Review them
|
||||
and rewrite git history as needed until they are of submittable quality. You can
|
||||
then submit them for review at the official website.
|
||||
This will create a series of .patch files containing your changes.
|
||||
Review them and rewrite git history as needed until they are of submittable
|
||||
quality.
|
||||
You can then submit them for review at the official website.
|
||||
.Pp
|
||||
To transfer files out of the operating system, you can either mount the local
|
||||
root filesystem from another operating system with networking, or you transmit
|
||||
|
@ -298,10 +316,12 @@ the patches over the serial connection as described in
|
|||
.Ss Releases
|
||||
CD-ROM release of the operating system can be built with the
|
||||
.Sy iso
|
||||
root makefile target. This will build the whole operating system, if not done
|
||||
already, and produce a bootable iso for the current architecture in the
|
||||
root makefile target.
|
||||
This will build the whole operating system, if not done already, and produce a
|
||||
bootable iso for the current architecture in the
|
||||
.Pa /src/builds
|
||||
directory. The
|
||||
directory.
|
||||
The
|
||||
.Sy sortix.iso
|
||||
root makefile target will do the above and place a
|
||||
.Pa sortix.iso
|
||||
|
@ -319,8 +339,9 @@ formal online release.
|
|||
The
|
||||
.Xr following-development 7
|
||||
manual page documents what needs to be done to stay updated with the latest
|
||||
developments. You will need to read the new version of that document whenever
|
||||
you update the source code.
|
||||
developments.
|
||||
You will need to read the new version of that document whenever you update the
|
||||
source code.
|
||||
.Sh SEE ALSO
|
||||
.Xr git 1 ,
|
||||
.Xr make 1 ,
|
||||
|
|
|
@ -10,12 +10,13 @@ latest Sortix source code, when doing native
|
|||
.Xr development 7
|
||||
or
|
||||
.Xr cross-development 7 .
|
||||
The list is in reverse chronological order. The system has policies that handle
|
||||
incompatible changes gracefully.
|
||||
The list is in reverse chronological order.
|
||||
The system has policies that handle incompatible changes gracefully.
|
||||
.Pp
|
||||
If you are updating to new source code, be sure you are reading the new version
|
||||
of this document, rather than an old copy installed on the system or on an
|
||||
online manual page viewer. To view the new version from the command line:
|
||||
online manual page viewer.
|
||||
To view the new version from the command line:
|
||||
.Bd -literal
|
||||
cd /src # system source code location
|
||||
mandoc share/man/man7/following-development.7 | pager # natively
|
||||
|
@ -27,8 +28,9 @@ The
|
|||
and
|
||||
.Xr sysupgrade 8
|
||||
programs automatically handle compatibility issues when upgrading an existing
|
||||
system to a new build. They can handle incompatible ABI changes and
|
||||
automatically fix configuration files and other issues.
|
||||
system to a new build.
|
||||
They can handle incompatible ABI changes and automatically fix configuration
|
||||
files and other issues.
|
||||
.Pp
|
||||
When building the system from source code, you must have the latest build tools
|
||||
installed as detailed in
|
||||
|
@ -36,23 +38,29 @@ installed as detailed in
|
|||
and
|
||||
.Xr cross-development 7 .
|
||||
After upgrading to newer source code, you must first install the new build tools
|
||||
before building. If this is needed, there will be a notice in this document.
|
||||
before building.
|
||||
If this is needed, there will be a notice in this document.
|
||||
Build tools will likely complain about missing options or invalid parameters if
|
||||
they are not up to date. Automatic build scripts should use the
|
||||
they are not up to date.
|
||||
Automatic build scripts should use the
|
||||
.Sy install-build-tools
|
||||
target provided by the root makefile.
|
||||
.Pp
|
||||
Changes to the source code may rely on the newest build tools, but the build
|
||||
tools must retain the ability to build all the way back to the latest stable
|
||||
release. The build tools of release N+1 must be able to build release N. The
|
||||
build tools must be portable to the latest stable release and the supported
|
||||
release.
|
||||
The build tools of release N+1 must be able to build release N.
|
||||
The build tools must be portable to the latest stable release and the supported
|
||||
.Xr cross-development 7
|
||||
systems. If a build tool needs an incompatible change, there must be added a
|
||||
way to opt into the new behavior, and the build system must use that option and
|
||||
not use the old behavior any more. This forward compatibility will allow the
|
||||
removal of the old behavior after the next release. Temporary compatibility
|
||||
must be mentioned with a condition for when it can be removed and it must have
|
||||
instructions for what needs to be done. Use a comment in the format
|
||||
systems.
|
||||
If a build tool needs an incompatible change, there must be added a way to opt
|
||||
into the new behavior, and the build system must use that option and not use the
|
||||
old behavior any more.
|
||||
This forward compatibility will allow the removal of the old behavior after the
|
||||
next release.
|
||||
Temporary compatibility must be mentioned with a condition for when it can be
|
||||
removed and it must have instructions for what needs to be done.
|
||||
Use a comment in the format
|
||||
"TODO: After
|
||||
.\" Line break so this occurrence doesn't make a false positive when I grep.
|
||||
releasing Sortix x.y, foo." to allow the maintainer to easily
|
||||
|
@ -77,7 +85,8 @@ Otherwise the system is compatible except accessing Unix sockets fails with
|
|||
.Ss Add split packages and cross-bootstrapping support to tix-build(8)
|
||||
.Xr tix-build 8
|
||||
has gained a number of features that will soon be required in order to build
|
||||
certain ports. In particular, it now supports the
|
||||
certain ports.
|
||||
In particular, it now supports the
|
||||
.Sy pkg.use-bootstrap ,
|
||||
.Sy pkg.source-package ,
|
||||
and
|
||||
|
@ -157,8 +166,8 @@ and the new build contains the new GRUB, or if upgrading with
|
|||
and the source system root contains the new GRUB.
|
||||
.Pp
|
||||
Users not using the included GRUB, but still using GRUB from another
|
||||
installation, will need to reconfigure that bootloader installation. In the
|
||||
boot commands of this system, add after the initrd load:
|
||||
installation, will need to reconfigure that bootloader installation.
|
||||
In the boot commands of this system, add after the initrd load:
|
||||
.Bd -literal
|
||||
module /boot/random.seed --random-seed
|
||||
.Ed
|
||||
|
@ -184,8 +193,9 @@ and
|
|||
.Xr sysupgrade 8
|
||||
will automatically create
|
||||
.Pa /boot/random.seed
|
||||
if it doesn't exist. If using neither to upgrade, manually create that file
|
||||
owned by user root and group root with mode 600 containing 256 bytes of entropy.
|
||||
if it doesn't exist.
|
||||
If using neither to upgrade, manually create that file owned by user root and
|
||||
group root with mode 600 containing 256 bytes of entropy.
|
||||
.Ss Modernize carray(1) and fix missing allocation checks
|
||||
The
|
||||
.Xr carray 1
|
||||
|
@ -204,8 +214,9 @@ If not developing natively, set
|
|||
.Ev PREFIX
|
||||
to the desired location.
|
||||
.Ss Remove compatibility with Sortix 0.9
|
||||
Sortix 1.0 has been released. The build tools are no longer capable of building
|
||||
anything prior to the Sortix 1.0 release.
|
||||
Sortix 1.0 has been released.
|
||||
The build tools are no longer capable of building anything prior to the Sortix
|
||||
1.0 release.
|
||||
.Sh SEE ALSO
|
||||
.Xr cross-development 7 ,
|
||||
.Xr development 7 ,
|
||||
|
|
|
@ -10,8 +10,8 @@
|
|||
.Pa /boot/sortix.initrd
|
||||
is a achieve of a minimal userland loaded by the bootloader and passed to the
|
||||
.Xr kernel 7
|
||||
that extracts it into the initial kernel memory root filesystem. The kernel
|
||||
invokes the
|
||||
that extracts it into the initial kernel memory root filesystem.
|
||||
The kernel invokes the
|
||||
.Xr init 8
|
||||
extracted from the initrd as
|
||||
.Pa /sbin/init .
|
||||
|
|
|
@ -6,8 +6,10 @@
|
|||
.Nd operating system installation instructions
|
||||
.Sh DESCRIPTION
|
||||
This document describes how to install Sortix on a computer from a cdrom
|
||||
release. Please read it through carefully before beginning the installation so
|
||||
you know what to expect and things you need to keep in mind. The
|
||||
release.
|
||||
Please read it through carefully before beginning the installation so you know
|
||||
what to expect and things you need to keep in mind.
|
||||
The
|
||||
.Xr upgrade 7
|
||||
manual page covers upgrading an existing installation.
|
||||
.Ss Prerequisites
|
||||
|
@ -28,8 +30,8 @@ A computer meeting the system requirements.
|
|||
32-bit x86 CPU with SSE (i686 release), or 64-bit x86 CPU (x86_64 release).
|
||||
.It
|
||||
1 GiB RAM (recommended) to run iso live environment (including installer) with
|
||||
all ports loaded, or significantly less if unimportant ports are not loaded. An
|
||||
installation on a harddisk will require very little RAM to run after
|
||||
all ports loaded, or significantly less if unimportant ports are not loaded.
|
||||
An installation on a harddisk will require very little RAM to run after
|
||||
installation.
|
||||
.It
|
||||
ATA or AHCI harddisk with at least 1 GiB of unpartitioned space.
|
||||
|
@ -42,36 +44,38 @@ If you wish to dual boot, you need an existing operating system with a multiboot
|
|||
compliant bootloader such as GRUB.
|
||||
.El
|
||||
.Ss Preparation
|
||||
Read this document through before beginning the installation. The installation
|
||||
process is designed to be reasonable, but you need to patient and in an
|
||||
emotionally stable place. It is important you understand the current
|
||||
limitations of the system and carefully consider whether you want to go through
|
||||
with the installation at this time.
|
||||
Read this document through before beginning the installation.
|
||||
The installation process is designed to be reasonable, but you need to patient
|
||||
and in an emotionally stable place.
|
||||
It is important you understand the current limitations of the system and
|
||||
carefully consider whether you want to go through with the installation at this
|
||||
time.
|
||||
.Pp
|
||||
Before installing any operating system, be sure to have backed up local data in
|
||||
the event something goes wrong. This operating system comes without any
|
||||
warranty at all (see the license).
|
||||
the event something goes wrong.
|
||||
This operating system comes without any warranty at all (see the license).
|
||||
.Pp
|
||||
Consider the partitioning scheme and whether you wish to dual boot. Consult the
|
||||
partitioning instructions below. If dual-booting and there isn't enough
|
||||
unpartitioned space, use the native partition editor of the existing operating
|
||||
system to shrink its installation.
|
||||
Consider the partitioning scheme and whether you wish to dual boot.
|
||||
Consult the partitioning instructions below.
|
||||
If dual-booting and there isn't enough unpartitioned space, use the native
|
||||
partition editor of the existing operating system to shrink its installation.
|
||||
.Pp
|
||||
Determine how the target machine will boot the release. If the firmware
|
||||
supports usb-iso hybrid images, you can use
|
||||
Determine how the target machine will boot the release.
|
||||
If the firmware supports usb-iso hybrid images, you can use
|
||||
.Xr dd 1
|
||||
or such to copy the release physically onto a USB portable storage device.
|
||||
If the target machine has a cdrom drive, you can burn the release to a cdrom.
|
||||
Insert the installation medium in the computer and power it on. If needed,
|
||||
change the boot order in the firmware to prefer the installation medium over any
|
||||
existing operating system installations.
|
||||
Insert the installation medium in the computer and power it on.
|
||||
If needed, change the boot order in the firmware to prefer the installation
|
||||
medium over any existing operating system installations.
|
||||
.Pp
|
||||
After the installation is complete, remove the installation medium and restore
|
||||
the firmware boot order to prioritize the local harddisk. Then power the
|
||||
computer on normally to run the new operating system.
|
||||
the firmware boot order to prioritize the local harddisk.
|
||||
Then power the computer on normally to run the new operating system.
|
||||
.Ss Qemu
|
||||
Virtual machines are a well-supported installation target. For instance, to
|
||||
prepare a 1 GiB harddisk and install the operating system onto it, run something
|
||||
Virtual machines are a well-supported installation target.
|
||||
For instance, to prepare a 1 GiB harddisk and install the operating system onto
|
||||
it, run something
|
||||
like:
|
||||
.Bd -literal
|
||||
qemu-img create sortix.raw 1G
|
||||
|
@ -84,8 +88,8 @@ After the installation is complete, power off the computer and remove the
|
|||
.Pa sortix.iso
|
||||
option.
|
||||
.Ss Bootloader Menu
|
||||
Booting the release will present you with a GRUB bootloader menu. You have
|
||||
three primary options:
|
||||
Booting the release will present you with a GRUB bootloader menu.
|
||||
You have three primary options:
|
||||
.Pp
|
||||
.Bl -bullet -compact
|
||||
.It
|
||||
|
@ -98,39 +102,45 @@ Upgrading an existing installation to this release
|
|||
.Xr ( sysupgrade 8 ) .
|
||||
.El
|
||||
.Pp
|
||||
Each of these options are a live environment running exclusively in RAM. The
|
||||
difference is only what program is run after the system has booted. The
|
||||
bootloader will load the whole operating system and ports into memory from the
|
||||
installation medium. This may take a moment. You need enough memory to store
|
||||
the whole system and the runtime usage. If the system memory is really
|
||||
insufficient, then the bootloader may have strange behavior, take a really long
|
||||
time to load, or not complete the boot at all.
|
||||
Each of these options are a live environment running exclusively in RAM.
|
||||
The difference is only what program is run after the system has booted.
|
||||
The bootloader will load the whole operating system and ports into memory from
|
||||
the installation medium.
|
||||
This may take a moment.
|
||||
You need enough memory to store the whole system and the runtime usage.
|
||||
If the system memory is really insufficient, then the bootloader may have
|
||||
strange behavior, take a really long time to load, or not complete the boot at
|
||||
all.
|
||||
.Pp
|
||||
You can configure which ports gets loaded using the bootloader menu. The base
|
||||
system is rather lean and can be made quite small. You need some ports to
|
||||
complete an installation.
|
||||
You can configure which ports gets loaded using the bootloader menu.
|
||||
The base system is rather lean and can be made quite small.
|
||||
You need some ports to complete an installation.
|
||||
.Ss Installer
|
||||
This guide assumes you selected the operating system installation option in the
|
||||
bootloader. If not, you can run the installer by running the
|
||||
bootloader.
|
||||
If not, you can run the installer by running the
|
||||
.Xr sysinstall 8
|
||||
command.
|
||||
.Pp
|
||||
The installer is an interactive command line program that asks you questions and
|
||||
you answer them. It provides useful information you shouldn't accidentally
|
||||
overlook. Before answering any question, read all output since your last
|
||||
answer.
|
||||
you answer them.
|
||||
It provides useful information you shouldn't accidentally overlook.
|
||||
Before answering any question, read all output since your last answer.
|
||||
.Pp
|
||||
You should have this installation guide ready at all times. You can view this
|
||||
You should have this installation guide ready at all times.
|
||||
You can view this
|
||||
.Xr installation 7
|
||||
page during the installation by answering
|
||||
.Sy '!man'
|
||||
to any regular prompt (excluding password prompts). Likewise you can answer
|
||||
to any regular prompt (excluding password prompts).
|
||||
Likewise you can answer
|
||||
.Sy '!'
|
||||
to get an interactive shell. Upon completion, you will be asked the question
|
||||
again.
|
||||
to get an interactive shell.
|
||||
Upon completion, you will be asked the question again.
|
||||
.Ss Keyboard Layout
|
||||
You need to choose the applicable keyboard layout. By default, a standard US
|
||||
keyboard layout is used. You can view a list of keyboard layouts if you wish.
|
||||
You need to choose the applicable keyboard layout.
|
||||
By default, a standard US keyboard layout is used.
|
||||
You can view a list of keyboard layouts if you wish.
|
||||
This layout is then loaded and the preference will be stored in
|
||||
.Xr kblayout 5 .
|
||||
.Ss Display Resolution
|
||||
|
@ -143,56 +153,63 @@ The display will then use this resolution and your preference will be stored in
|
|||
The
|
||||
.Xr kernel 7
|
||||
is a multiboot compatible binary that can be loaded by any multiboot
|
||||
specification compatible bootloader such as GRUB. You need to use such a
|
||||
bootloader to boot the operating system. You will be offered the choice of
|
||||
installing GRUB as the bootloader. Note however that this GRUB is not able to
|
||||
detect other operating systems and you will have to configure it manually if you
|
||||
wish to use it in a dual boot scheme. The answer will default to yes if no
|
||||
existing partitions are found, or if an existing Sortix installation is found
|
||||
that uses the provided bootloader; and will otherwise default to no.
|
||||
specification compatible bootloader such as GRUB.
|
||||
You need to use such a bootloader to boot the operating system.
|
||||
You will be offered the choice of installing GRUB as the bootloader.
|
||||
Note however that this GRUB is not able to detect other operating systems and
|
||||
you will have to configure it manually if you wish to use it in a dual boot
|
||||
scheme.
|
||||
The answer will default to yes if no existing partitions are found, or if an
|
||||
existing Sortix installation is found that uses the provided bootloader; and
|
||||
will otherwise default to no.
|
||||
.Pp
|
||||
The bootloader will be installed on the boot harddisk, which is the harddisk
|
||||
containing the
|
||||
.Pa /boot
|
||||
partition if any, and otherwise the harddisk containing the root filesystem.
|
||||
.Pp
|
||||
Single-boot configurations should use the offered bootloader. Dual-boot
|
||||
configurations should refuse it and arrange for bootloading by other means. The
|
||||
installer will generate
|
||||
Single-boot configurations should use the offered bootloader.
|
||||
Dual-boot configurations should refuse it and arrange for bootloading by other
|
||||
means.
|
||||
The installer will generate
|
||||
.Pa /etc/grub.d/10_sortix.cache
|
||||
which is a fragment of GRUB configuration that offers the menu option of running
|
||||
Sortix. You can splice that into
|
||||
Sortix.
|
||||
You can splice that into
|
||||
.Pa /etc/grub.d/40_custom
|
||||
of an existing GRUB installation and run
|
||||
.Xr update-grub 8
|
||||
to add it as a boot option.
|
||||
.Pp
|
||||
If you accept the bootloader, you will be asked if you wish to password protect
|
||||
the bootloader. If you don't, anyone able to use the keyboard during system
|
||||
bootloading will be trivially able to gain root access using the bootloader
|
||||
command line. If you use this, you should also password protect the firmware and
|
||||
prohibit it from booting from anything but the harddisk. An attacker will then
|
||||
need to tamper with the computer itself physically. The password will be hashed
|
||||
and stored in
|
||||
the bootloader.
|
||||
If you don't, anyone able to use the keyboard during system bootloading will be
|
||||
trivially able to gain root access using the bootloader command line.
|
||||
If you use this, you should also password protect the firmware and prohibit it
|
||||
from booting from anything but the harddisk.
|
||||
An attacker will then need to tamper with the computer itself physically.
|
||||
The password will be hashed and stored in
|
||||
.Xr grubpw 5
|
||||
and is inserted into the GRUB configuration when
|
||||
.Xr update-grub 8
|
||||
is run.
|
||||
.Ss Partitioning
|
||||
You will now need to set up a partition for the root filesystem and other
|
||||
filesystems you wish to use. The installer will give you instructions and run
|
||||
the
|
||||
filesystems you wish to use.
|
||||
The installer will give you instructions and run the
|
||||
.Xr disked 8
|
||||
partitioning program. You can view its man page by typing
|
||||
partitioning program.
|
||||
You can view its man page by typing
|
||||
.Sy man
|
||||
and you can view this man page by typing
|
||||
.Sy man 7 installation .
|
||||
.Pp
|
||||
.Nm disked
|
||||
defaults to the first detected harddisk as the current harddisk. You can switch
|
||||
to another harddisk using the
|
||||
defaults to the first detected harddisk as the current harddisk.
|
||||
You can switch to another harddisk using the
|
||||
.Sy device Ar device-name
|
||||
command. You can view all devices with the
|
||||
command.
|
||||
You can view all devices with the
|
||||
.Sy devices
|
||||
command.
|
||||
.Pp
|
||||
|
@ -217,11 +234,12 @@ The
|
|||
command lists all partitions and unused space on the current device.
|
||||
The
|
||||
.Sy mkpart
|
||||
command creates a partition. You will be asked interactive questions to
|
||||
determine its location. You will be asked if you wish to format a filesystem.
|
||||
command creates a partition.
|
||||
You will be asked interactive questions to determine its location.
|
||||
You will be asked if you wish to format a filesystem.
|
||||
.Nm ext2
|
||||
is the native filesystem. If applicable, you will be asked if you wish to create
|
||||
a mountpoint for it in
|
||||
is the native filesystem.
|
||||
If applicable, you will be asked if you wish to create a mountpoint for it in
|
||||
.Xr fstab 5 .
|
||||
The
|
||||
.Sy rmpart Ar partition-number
|
||||
|
@ -231,8 +249,8 @@ partition.
|
|||
If you accepted the included bootloader, it will be installed on the boot
|
||||
harddisk, which is the harddisk containing the
|
||||
.Pa /boot
|
||||
partition if any, and otherwise the harddisk containing the root filesystem. If
|
||||
the boot harddisk uses the
|
||||
partition if any, and otherwise the harddisk containing the root filesystem.
|
||||
If the boot harddisk uses the
|
||||
.Xr gpt 7
|
||||
partitioning scheme, then you must create a
|
||||
.Sy biosboot
|
||||
|
@ -243,33 +261,37 @@ than sufficient.
|
|||
You need to make a partition containing the root filesystem mounted at
|
||||
.Pa / .
|
||||
A size of 1 GiB will be comfortable for the base system and ports and basic
|
||||
usage. There is no inherent need for a
|
||||
usage.
|
||||
There is no inherent need for a
|
||||
.Pa /boot
|
||||
or a
|
||||
.Pa /home
|
||||
partition, so you are encouraged to make the root filesystem as large as you
|
||||
wish. Operating systems upgrades will preserve the root filesystem and the
|
||||
installer handles installing on top of an existing installation and preserves
|
||||
user files and local configuration.
|
||||
wish.
|
||||
Operating systems upgrades will preserve the root filesystem and the installer
|
||||
handles installing on top of an existing installation and preserves user files
|
||||
and local configuration.
|
||||
.Pp
|
||||
Type
|
||||
.Sy exit
|
||||
when you are done to continue the installation. If the installer detects a
|
||||
problem with your partitioning, it will offer to run
|
||||
when you are done to continue the installation.
|
||||
If the installer detects a problem with your partitioning, it will offer to run
|
||||
.Xr disked 8
|
||||
again.
|
||||
.Ss Installation
|
||||
The installer will show its installation intentions ask you to confirm the
|
||||
installation. If you answer yes, then the installation will begin.
|
||||
installation.
|
||||
If you answer yes, then the installation will begin.
|
||||
.Pp
|
||||
The installer will copy the live environment into the target root filesystem
|
||||
according to the file lists in
|
||||
.Pa /tix/manifest
|
||||
and create configuration files matching your earlier choices. It will write
|
||||
256 bytes of randomness to
|
||||
and create configuration files matching your earlier choices.
|
||||
It will write 256 bytes of randomness to
|
||||
.Pa /boot/random.seed .
|
||||
It will generate an initrd that locates and boots the root filesystem. It will
|
||||
install the bootloader if desired. The installation will take a moment.
|
||||
It will generate an initrd that locates and boots the root filesystem.
|
||||
It will install the bootloader if desired.
|
||||
The installation will take a moment.
|
||||
.Ss Configuration
|
||||
After the installation is complete, a bare system is installed but it lacks
|
||||
crucial configuration files and it will refuse to start when booted.
|
||||
|
@ -278,21 +300,24 @@ You will be asked for the hostname of the new system which be stored in
|
|||
.Xr hostname 5 .
|
||||
This question is skipped if the file already exits.
|
||||
.Ss Root
|
||||
You will be asked for the root password. A root account is made in
|
||||
You will be asked for the root password.
|
||||
A root account is made in
|
||||
.Xr passwd 5
|
||||
and
|
||||
.Xr group 5 .
|
||||
This question is skipped if the root account already exists.
|
||||
.Ss Users
|
||||
You will be asked in a loop if you wish to make another user. Answer
|
||||
You will be asked in a loop if you wish to make another user.
|
||||
Answer
|
||||
.Sy no
|
||||
when you are done. Otherwise enter the name of the new account. If you wish to
|
||||
create an account by the name of
|
||||
when you are done.
|
||||
Otherwise enter the name of the new account.
|
||||
If you wish to create an account by the name of
|
||||
.Li no
|
||||
then simply add a space in front as leading spaces are trimmed.
|
||||
.Pp
|
||||
You will then be asked for the full name and the password for the new user. A
|
||||
user directory will be made in
|
||||
You will then be asked for the full name and the password for the new user.
|
||||
A user directory will be made in
|
||||
.Pa /home .
|
||||
The new user is added to
|
||||
.Xr passwd 5
|
||||
|
@ -302,23 +327,26 @@ and
|
|||
Please note that Sortix is not currently secure as a multi-user system and
|
||||
filesystem permissions are not enforced.
|
||||
.Ss Completion
|
||||
This will complete the operating system installation. Upon reboot, the new
|
||||
system will start normally. After powering off your system, you need to remove
|
||||
the installation medium and if applicable restore boot priorities in your
|
||||
firmware. If you did not accept the bootloader, you will need to manually
|
||||
configure a bootloader to boot the new operating system.
|
||||
This will complete the operating system installation.
|
||||
Upon reboot, the new system will start normally.
|
||||
After powering off your system, you need to remove the installation medium and
|
||||
if applicable restore boot priorities in your firmware.
|
||||
If you did not accept the bootloader, you will need to manually configure a
|
||||
bootloader to boot the new operating system.
|
||||
.Pp
|
||||
You will be given the choice between powering off the system, rebooting it, or
|
||||
directly booting the new system. The last option will directly boot the new
|
||||
system in a chroot while the live environment remains in the background. If you
|
||||
invoked
|
||||
directly booting the new system.
|
||||
The last option will directly boot the new system in a chroot while the live
|
||||
environment remains in the background.
|
||||
If you invoked
|
||||
.Xr sysinstall 8
|
||||
yourself, then you will be returned to your live environment shell. Otherwise
|
||||
the computer will power off when the chroot environment terminates.
|
||||
yourself, then you will be returned to your live environment shell.
|
||||
Otherwise the computer will power off when the chroot environment terminates.
|
||||
.Pp
|
||||
Upon boot of the new system it will be configured in multi-user mode and you
|
||||
will be presented with a login screen. Authenticate as one of the local users
|
||||
and you will be given a shell. To power off the computer login as user
|
||||
will be presented with a login screen.
|
||||
Authenticate as one of the local users and you will be given a shell.
|
||||
To power off the computer login as user
|
||||
.Sy poweroff
|
||||
and to reboot the computer login as user
|
||||
.Sy reboot .
|
||||
|
|
|
@ -12,7 +12,8 @@
|
|||
is the operating system
|
||||
.Nm kernel .
|
||||
It initializes and manages the hardware to provide a multitasking computing
|
||||
environment. The kernel is a
|
||||
environment.
|
||||
The kernel is a
|
||||
.Xr multiboot 7
|
||||
compatible executable loaded by the bootloader along with a companion
|
||||
.Xr initrd 7
|
||||
|
|
|
@ -5,22 +5,24 @@
|
|||
.Nm serial-transfer
|
||||
.Nd files over serial device
|
||||
.Sh DESCRIPTION
|
||||
You can transfer data using the serial line. The
|
||||
You can transfer data using the serial line.
|
||||
The
|
||||
.Xr sf 1
|
||||
program provides simple framing which is useful to conduct advanced transfers
|
||||
by combining with other tools such as
|
||||
program provides simple framing which is useful to conduct advanced transfers by
|
||||
combining with other tools such as
|
||||
.Xr tar 1 .
|
||||
.Pp
|
||||
The serial device will be available at the appropriate device after boot, such
|
||||
as
|
||||
.Pa /dev/com1 .
|
||||
Data written to it will be available to readers on the other end and likewise
|
||||
data written on the other end will be available to local readers. Take care to
|
||||
ensure that the reader is always reading before writing or you may lose data.
|
||||
data written on the other end will be available to local readers.
|
||||
Take care to ensure that the reader is always reading before writing or you may
|
||||
lose data.
|
||||
.Pp
|
||||
You get a byte stream between the guest and host using this interface. This is
|
||||
powerful but often you want to transfer finite payloads and have the transfer
|
||||
finish when done rather than needing to manually interrupt it.
|
||||
You get a byte stream between the guest and host using this interface.
|
||||
This is powerful but often you want to transfer finite payloads and have the
|
||||
transfer finish when done rather than needing to manually interrupt it.
|
||||
.Pp
|
||||
The
|
||||
.Xr sf 1
|
||||
|
@ -31,12 +33,14 @@ sequence, then read from stdin and encode a body, and finally emit an end
|
|||
sequence.
|
||||
.Li sf -i
|
||||
will read bytes until it finds a start sequence, then it will decode the body
|
||||
and emit it to stdout, and finally stop when it receives the end sequence. We
|
||||
can use this to do transfers over the serial connection.
|
||||
and emit it to stdout, and finally stop when it receives the end sequence.
|
||||
We can use this to do transfers over the serial connection.
|
||||
.Pp
|
||||
.Xr sf 1
|
||||
is a Sortix specific program. Other operating systems don't come with it and you
|
||||
need to build it from the Sortix source code. This is automatically done by the
|
||||
is a Sortix specific program.
|
||||
Other operating systems don't come with it and you need to build it from the
|
||||
Sortix source code.
|
||||
This is automatically done by the
|
||||
.Sy build-tools
|
||||
target during
|
||||
.Xr cross-development 7 .
|
||||
|
@ -45,8 +49,9 @@ You can also just transfer its code from
|
|||
over the serial line.
|
||||
.Ss Virtual Machines
|
||||
This method is useful when running inside a virtual machine and you wish to
|
||||
communicate with the host system. This is particularly useful if you connect
|
||||
the serial line to a unix socket. In Qemu, this is done with:
|
||||
communicate with the host system.
|
||||
This is particularly useful if you connect the serial line to a unix socket.
|
||||
In Qemu, this is done with:
|
||||
.Bd -literal
|
||||
-serial unix:/tmp/serial,server,nowait
|
||||
.Ed
|
||||
|
@ -58,14 +63,15 @@ Let
|
|||
.Pa /dev/receiver
|
||||
mean the device on the receiving machine and let
|
||||
.Pa /dev/transmitter
|
||||
mean the device on the transmitting machine. This will be devices such as
|
||||
mean the device on the transmitting machine.
|
||||
This will be devices such as
|
||||
.Pa /dev/com1 .
|
||||
If one end is the host of a virtual machine as described above, its device will
|
||||
be an unix socket such as
|
||||
.Pa /tmp/serial .
|
||||
.Ss Simple File Transfer
|
||||
You can then transfer a file from this system to another. First run on the
|
||||
receiving machine:
|
||||
You can then transfer a file from this system to another.
|
||||
First run on the receiving machine:
|
||||
.Bd -literal
|
||||
sf -i /dev/receiver > file.txt
|
||||
.Ed
|
||||
|
@ -81,7 +87,8 @@ end when it has recognized an end sequence.
|
|||
You can transfer multiple files using
|
||||
.Xr tar 1 .
|
||||
This also allows you to preserve file meta data such as permissions and modified
|
||||
time. First run on the receiving machine:
|
||||
time.
|
||||
First run on the receiving machine:
|
||||
.Bd -literal
|
||||
sf -i /dev/receiver | tar -xv
|
||||
.Ed
|
||||
|
@ -100,9 +107,11 @@ It is possible to use the
|
|||
and
|
||||
.Xr sfncd 1
|
||||
scripts to create a bidirectional communication channel using two serial ports,
|
||||
one for each direction. The scripts use a protocol where
|
||||
one for each direction.
|
||||
The scripts use a protocol where
|
||||
.Xr sfnc 1
|
||||
sends a hostname, a port, and the body from stdin. Likewise the
|
||||
sends a hostname, a port, and the body from stdin.
|
||||
Likewise the
|
||||
.Xr sfncd 1
|
||||
script receives the two parameters and invokes
|
||||
.Xr nc 1
|
||||
|
@ -120,9 +129,9 @@ And then run on the client:
|
|||
.Pp
|
||||
This will last for the duration of the connection.
|
||||
.Xr sfncd 1
|
||||
needs to be run again to start another connection. This scheme only allows one
|
||||
connection at one given time, but with it is possible for custom programs on
|
||||
either side to multiplex connections.
|
||||
needs to be run again to start another connection.
|
||||
This scheme only allows one connection at one given time, but with it is
|
||||
possible for custom programs on either side to multiplex connections.
|
||||
.Sh SEE ALSO
|
||||
.Xr sf 1 ,
|
||||
.Xr tar 1 ,
|
||||
|
|
|
@ -6,7 +6,8 @@
|
|||
.Nd operating system upgrade instructions
|
||||
.Sh DESCRIPTION
|
||||
This document describes how to upgrade an existing Sortix installation to a
|
||||
newer release. The
|
||||
newer release.
|
||||
The
|
||||
.Xr installation 7
|
||||
manual page covers creating a new installation.
|
||||
.Ss Prerequisites
|
||||
|
@ -14,39 +15,44 @@ You need to prepare a bootable medium with the new release as described in
|
|||
.Xr installation 7 .
|
||||
Read all the instructions up to Bootloader Menu and continue with this document.
|
||||
.Pp
|
||||
It is not possible to skip releases. If you want to upgrade to a release, you
|
||||
must upgrade first to all releases before that one. If the existing installation
|
||||
is a development snapshot, you must either upgrade to a newer development
|
||||
snapshot of that version, or a the final release of that version.
|
||||
It is not possible to skip releases.
|
||||
If you want to upgrade to a release, you must upgrade first to all releases
|
||||
before that one.
|
||||
If the existing installation is a development snapshot, you must either upgrade
|
||||
to a newer development snapshot of that version, or a the final release of that
|
||||
version.
|
||||
.Ss Bootloader Menu
|
||||
Pick the
|
||||
.Li upgrade existing installation
|
||||
option in the bootloader menu to begin the upgrade. This will load a live
|
||||
environment set to automatically run the
|
||||
option in the bootloader menu to begin the upgrade.
|
||||
This will load a live environment set to automatically run the
|
||||
.Xr sysupgrade 8
|
||||
program.
|
||||
.Ss Upgrader
|
||||
This guide assumes you selected the upgrade option in the bootloader. If not,
|
||||
you can run the installer by running the
|
||||
This guide assumes you selected the upgrade option in the bootloader.
|
||||
If not, you can run the installer by running the
|
||||
.Xr sysupgrade 8
|
||||
command.
|
||||
.Pp
|
||||
The upgrader is an interactive command line program that asks you questions and
|
||||
you answer them. It provides useful information you shouldn't accidentally
|
||||
overlook. Before answering any question, read all output since your last
|
||||
answer.
|
||||
you answer them.
|
||||
It provides useful information you shouldn't accidentally overlook.
|
||||
Before answering any question, read all output since your last answer.
|
||||
.Pp
|
||||
You should have this upgrade guide ready at all times. You can view this
|
||||
You should have this upgrade guide ready at all times.
|
||||
You can view this
|
||||
.Xr upgrade 7
|
||||
page during the installation by answering
|
||||
.Sy '!man'
|
||||
to any regular prompt (excluding password prompts). Likewise you can answer
|
||||
to any regular prompt (excluding password prompts).
|
||||
Likewise you can answer
|
||||
.Sy '!'
|
||||
to get an interactive shell. Upon completion, you will be asked the question
|
||||
again.
|
||||
to get an interactive shell.
|
||||
Upon completion, you will be asked the question again.
|
||||
.Ss Keyboard Layout
|
||||
You need to choose the applicable keyboard layout. By default, a standard US
|
||||
keyboard layout is used. You can view a list of keyboard layouts if you wish.
|
||||
You need to choose the applicable keyboard layout.
|
||||
By default, a standard US keyboard layout is used.
|
||||
You can view a list of keyboard layouts if you wish.
|
||||
.Ss Display Resolution
|
||||
If a driver exists for your graphics card, then you will be asked for your
|
||||
preferred display resolution by
|
||||
|
@ -55,30 +61,36 @@ preferred display resolution by
|
|||
The upgrader will search for existing Sortix installations by probing local
|
||||
filesystems for
|
||||
.Pa /etc/sortix-release .
|
||||
You will be asked which installation you wish to upgrade. Enter the name of the
|
||||
root filesystem device. If none are found, it asks if you want to run
|
||||
.Xr sysinstall 8 . Filesystems will be repaired by
|
||||
You will be asked which installation you wish to upgrade.
|
||||
Enter the name of the root filesystem device.
|
||||
If none are found, it asks if you want to run
|
||||
.Xr sysinstall 8 .
|
||||
Filesystems will be repaired by
|
||||
.Xr fsck 8
|
||||
as needed.
|
||||
.Ss Confirmation
|
||||
The upgrader will warn you if it detects you are not following proper upgrade
|
||||
procedure either by downgrading or by skipping a release, neither of which is
|
||||
supported. It will also warn you if it detects an ABI downgrade.
|
||||
supported.
|
||||
It will also warn you if it detects an ABI downgrade.
|
||||
.Pp
|
||||
The upgrade will load the upgrade preferences from
|
||||
.Pa /etc/upgrade.conf
|
||||
file of the target system as described in
|
||||
.Xr upgrade.conf 5 .
|
||||
.Pp
|
||||
The new release may have a new ABI. A major ABI change means the new kernel
|
||||
will be unable to properly execute old programs. A minor ABI change means the
|
||||
new kernel has new compatible features and will be able to run older programs,
|
||||
but older kernels will not be able to run programs using the new ABI.
|
||||
The new release may have a new ABI.
|
||||
A major ABI change means the new kernel will be unable to properly execute old
|
||||
programs.
|
||||
A minor ABI change means the new kernel has new compatible features and will be
|
||||
able to run older programs, but older kernels will not be able to run programs
|
||||
using the new ABI.
|
||||
.Pp
|
||||
A confirmation screen will tell you what actions the upgrader plan on doing.
|
||||
Answer
|
||||
.Sy yes
|
||||
to proceed with the upgrade. Otherwise you can escape to a shell, edit
|
||||
to proceed with the upgrade.
|
||||
Otherwise you can escape to a shell, edit
|
||||
.Xr upgrade.conf 5 ,
|
||||
return and answer
|
||||
.Sy no
|
||||
|
@ -99,10 +111,11 @@ Updating the initrd.
|
|||
Updating the bootloader.
|
||||
.El
|
||||
.Ss Completion
|
||||
The upgrade is now complete. The new system will run after a reboot. The
|
||||
upgrader will give you an overview of what it has done. If you upgraded across
|
||||
a major ABI change, then you will be told that you need to recompile all local
|
||||
programs to use the new ABI.
|
||||
The upgrade is now complete.
|
||||
The new system will run after a reboot.
|
||||
The upgrader will give you an overview of what it has done.
|
||||
If you upgraded across a major ABI change, then you will be told that you need
|
||||
to recompile all local programs to use the new ABI.
|
||||
.Pp
|
||||
Congratulations on your freshly upgraded Sortix system.
|
||||
.Sh SEE ALSO
|
||||
|
|
|
@ -18,10 +18,11 @@ You will be presented a with standard Unix command line environment upon login o
|
|||
booting the live environment.
|
||||
.Ss Shutdown
|
||||
.Xr init 8
|
||||
spawns a session after boot. This is
|
||||
spawns a session after boot.
|
||||
This is
|
||||
.Xr login 8
|
||||
if the system is booted in multi-user mode. This is a root shell if booted in
|
||||
single-user mode.
|
||||
if the system is booted in multi-user mode.
|
||||
This is a root shell if booted in single-user mode.
|
||||
.Pp
|
||||
To power off from the login screen, login as user
|
||||
.Sy poweroff .
|
||||
|
@ -30,7 +31,8 @@ To reboot, login as user
|
|||
.Pp
|
||||
To power off from a single-user boot root shell, run
|
||||
.Sy exit 0
|
||||
in the shell. To reboot, run
|
||||
in the shell.
|
||||
To reboot, run
|
||||
.Sy exit 1
|
||||
in the shell.
|
||||
.Ss Keyboard Layout
|
||||
|
@ -64,9 +66,11 @@ to change the video mode after boot.
|
|||
.Ss Manual
|
||||
The system manual can be viewed with the
|
||||
.Xr man 1
|
||||
program. Sortix is currently in the process of being documented and many manual
|
||||
pages are missing. The current priority is to document areas specific to Sortix
|
||||
and assume standard knowledge from other operating system.
|
||||
program.
|
||||
Sortix is currently in the process of being documented and many manual pages are
|
||||
missing.
|
||||
The current priority is to document areas specific to Sortix and assume standard
|
||||
knowledge from other operating systems.
|
||||
.Ss Editor
|
||||
.Xr editor 1
|
||||
is the standard text file editor.
|
||||
|
@ -82,7 +86,8 @@ The
|
|||
.Xr memstat 1
|
||||
command shows the current memory usage.
|
||||
.Ss Third Party Software
|
||||
Releases come with useful third party software installed. The
|
||||
Releases come with useful third party software installed.
|
||||
The
|
||||
.Pa /tix/installed.list
|
||||
file lists all currently installed ports.
|
||||
.Ss Source Code
|
||||
|
@ -90,8 +95,8 @@ Releases come full with the system source code in
|
|||
.Pa /src
|
||||
as a
|
||||
.Xr git 1
|
||||
repository along with the tools to build it and develop it. The build
|
||||
process is covered in
|
||||
repository along with the tools to build it and develop it.
|
||||
The build process is covered in
|
||||
.Xr development 7 .
|
||||
.Ss Mounting
|
||||
You can mount ext2 partitions using
|
||||
|
@ -111,13 +116,14 @@ driver only supports the
|
|||
.Sy large_file
|
||||
and
|
||||
.Sy filetype
|
||||
ext2 extensions. You can make a compatible filesystem with:
|
||||
ext2 extensions.
|
||||
You can make a compatible filesystem with:
|
||||
.Pp
|
||||
.Dl $ mkfs.ext2 -O none,large_file,filetype
|
||||
.Ss Networking
|
||||
Sortix does not have networking at this time. Unix sockets have a basic
|
||||
implementation incapable of advanced features. The standard library and
|
||||
kernel provides stubs for many network interfaces.
|
||||
Sortix does not have networking at this time.
|
||||
Unix sockets have a basic implementation incapable of advanced features.
|
||||
The standard library and kernel provides stubs for many network interfaces.
|
||||
.Ss Serial Transfer
|
||||
It is possible to transfer files over serial devices as described in
|
||||
.Xr serial-transfer 7 .
|
||||
|
|
|
@ -9,8 +9,9 @@
|
|||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
is an interactive command line program that creates a new installation of the
|
||||
operating system. It asks basic questions, prepares a new root filesystem,
|
||||
makes a copy of the current operating system there and configures it for usage.
|
||||
operating system.
|
||||
It asks basic questions, prepares a new root filesystem, makes a copy of the
|
||||
current operating system there and configures it for usage.
|
||||
The installation proceeds as described in
|
||||
.Xr installation 7 .
|
||||
.Pp
|
||||
|
|
|
@ -16,8 +16,9 @@
|
|||
upgrades the current operating system by copying the system files from the
|
||||
specified
|
||||
.Ar source
|
||||
directory (usually a sysroot) onto the current root filesystem. This is meant
|
||||
to be used when building the operating system from source as described in
|
||||
directory (usually a sysroot) onto the current root filesystem.
|
||||
This is meant to be used when building the operating system from source as
|
||||
described in
|
||||
.Xr development 7 .
|
||||
.Pp
|
||||
.Nm
|
||||
|
@ -25,7 +26,8 @@ installs the
|
|||
.Sy system
|
||||
manifest from the tix repository in the
|
||||
.Ar source
|
||||
directory, as well as all the ports found. The
|
||||
directory, as well as all the ports found.
|
||||
The
|
||||
.Xr initrd 7
|
||||
is regenerated using
|
||||
.Xr update-initrd 8 .
|
||||
|
@ -34,8 +36,10 @@ If grub is enabled in
|
|||
then the bootloader is reinstalled and reconfigured as needed.
|
||||
.Pp
|
||||
.Nm
|
||||
is an automatic and non-interactive upgrade. It is meant to be used as part of
|
||||
the development process to upgrade to locally built versions. The
|
||||
is an automatic and non-interactive upgrade.
|
||||
It is meant to be used as part of the development process to upgrade to locally
|
||||
built versions.
|
||||
The
|
||||
.Xr sysupgrade 8
|
||||
program is by contrast an interactive program, meant to help upgrading across
|
||||
much larger development distances.
|
||||
|
@ -43,33 +47,35 @@ much larger development distances.
|
|||
The options are as follows:
|
||||
.Bl -tag -width "12345678"
|
||||
.It Fl \-booting
|
||||
It's boot time, complete the system upgrade that was delayed. This is meant to
|
||||
be used by
|
||||
It's boot time, complete the system upgrade that was delayed.
|
||||
This is meant to be used by
|
||||
.Xr init 8
|
||||
through the
|
||||
.Sy merge
|
||||
boot target. This installs the
|
||||
boot target.
|
||||
This installs the
|
||||
.Pa /sysmerge
|
||||
directory onto the root filesystem and removes the
|
||||
.Pa /sysmerge
|
||||
directory.
|
||||
.It Fl c , Fl \-cancel
|
||||
Cancel a pending upgrade that would trigger on the next boot. Remove the
|
||||
Cancel a pending upgrade that would trigger on the next boot.
|
||||
Remove the
|
||||
.Pa /sysmerge
|
||||
directory and restore the old
|
||||
.Xr kernel 7
|
||||
and
|
||||
.Xr initrd 7 .
|
||||
.It Fl \-hook-finalize
|
||||
Run the pre-installation compatibility hooks. This is meant to be used by the
|
||||
old
|
||||
Run the pre-installation compatibility hooks.
|
||||
This is meant to be used by the old
|
||||
.Nm
|
||||
when it invokes the new
|
||||
.Nm
|
||||
during a non-waiting upgrade.
|
||||
.It Fl \-hook-prepare
|
||||
Run the post-prepare compatibility hooks. This is meant to be used by the
|
||||
old
|
||||
Run the post-prepare compatibility hooks.
|
||||
This is meant to be used by the old
|
||||
.Nm
|
||||
when it invokes the new
|
||||
.Nm
|
||||
|
@ -88,7 +94,8 @@ with an initrd that runs
|
|||
on boot through the
|
||||
.Sy chain-merge
|
||||
.Xr init 8
|
||||
boot target. Backups are made of the
|
||||
boot target.
|
||||
Backups are made of the
|
||||
.Xr kernel 7
|
||||
and
|
||||
.Xr initrd 7
|
||||
|
|
|
@ -9,11 +9,12 @@
|
|||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
is an interactive command line program that upgrades another installation to the
|
||||
current operating system. It asks basic questions, searches for existing
|
||||
installations, verifies the upgrade makes sense, and upgrades the target system
|
||||
according to
|
||||
current operating system.
|
||||
It asks basic questions, searches for existing installations, verifies the
|
||||
upgrade makes sense, and upgrades the target system according to
|
||||
.Xr upgrade.conf 5
|
||||
of the target system. The upgrade proceeds as described in
|
||||
of the target system.
|
||||
The upgrade proceeds as described in
|
||||
.Xr upgrade 7 .
|
||||
.Pp
|
||||
.Nm
|
||||
|
|
|
@ -11,7 +11,8 @@
|
|||
.Fl l
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
changes the current keyboard layout. Changes do not persist across reboots.
|
||||
changes the current keyboard layout.
|
||||
Changes do not persist across reboots.
|
||||
The keyboard layout applied on boot can be configured in
|
||||
.Pa /etc/kblayout
|
||||
(see
|
||||
|
|
|
@ -41,7 +41,8 @@ inside
|
|||
.Ar newroot .
|
||||
The mountpoint is removed when
|
||||
.Ar command
|
||||
completes. This option is useful for running installations.
|
||||
completes.
|
||||
This option is useful for running installations.
|
||||
.El
|
||||
.Sh ENVIRONMENT
|
||||
The environment is preserved.
|
||||
|
|
|
@ -10,9 +10,9 @@
|
|||
.Ar file ...
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
displays the input one page at a time. The input is the concatenation of the
|
||||
input files, or the standard input if no files were specified and the
|
||||
standard input is not a terminal.
|
||||
displays the input one page at a time.
|
||||
The input is the concatenation of the input files, or the standard input if no
|
||||
files were specified and the standard input is not a terminal.
|
||||
.Pp
|
||||
The options are as follows:
|
||||
.Bl -tag -width "12345678"
|
||||
|
@ -20,11 +20,12 @@ The options are as follows:
|
|||
Output only escape sequences that change font properties such as color and
|
||||
boldness.
|
||||
.It Fl r
|
||||
Causes raw control characters to be dumped directly onto the terminal. Usage
|
||||
of this option may cause output to be misleading for suspicious files, as the
|
||||
escape codes in the file are rendered and can be used to hide parts of the
|
||||
input. Avoid the -r option if you want to see the actual bytes in the file,
|
||||
or use -R to show only selected escape codes.
|
||||
Causes raw control characters to be dumped directly onto the terminal.
|
||||
Usage of this option may cause output to be misleading for suspicious files, as
|
||||
the escape codes in the file are rendered and can be used to hide parts of the
|
||||
input.
|
||||
Avoid the -r option if you want to see the actual bytes in the file, or use -R
|
||||
to show only selected escape codes.
|
||||
.El
|
||||
.Sh COMMANDS
|
||||
.Nm
|
||||
|
|
|
@ -10,8 +10,8 @@
|
|||
.Ar directory ...
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
unmounts the specified paths. The mountpoint is removed so that it cannot be
|
||||
opened further, and
|
||||
unmounts the specified paths.
|
||||
The mountpoint is removed so that it cannot be opened further, and
|
||||
.Nm
|
||||
waits until no files on the filesystem are open, after which the filesystem is
|
||||
shut off cleanly.
|
||||
|
@ -20,12 +20,13 @@ The options are as follows:
|
|||
.Bl -tag -width "12345678"
|
||||
.It Fl f, Fl \-force
|
||||
Shut off the filesystem immediately, further operations to any open files will
|
||||
fail. The filesystem will be consistent, but processes may be stopped in the
|
||||
middle of file operations.
|
||||
fail.
|
||||
The filesystem will be consistent, but processes may be stopped in the middle of
|
||||
file operations.
|
||||
.It Fl l, Fl \-lazy
|
||||
Do not wait for the filesystem to be unused, and shut off the filesystem in
|
||||
the background. It is not safe to shut down the computer directly after using
|
||||
this option.
|
||||
Do not wait for the filesystem to be unused, and shut off the filesystem in the
|
||||
background.
|
||||
It is not safe to shut down the computer directly after using this option.
|
||||
.El
|
||||
.Sh EXIT STATUS
|
||||
.Nm
|
||||
|
|
Loading…
Reference in New Issue