sortix-mirror/sysinstall/sysmerge.8

138 lines
3.0 KiB
Groff

.Dd February 14, 2016
.Dt SYSMERGE 8
.Os
.Sh NAME
.Nm sysmerge
.Nd upgrade current operating system from a sysroot
.Sh SYNOPSIS
.Nm sysmerge
.Op Fl cw
.Op Fl \-booting
.Op Fl \-hook-finalize
.Op Fl \-hook-prepare
.Ar source
.Sh DESCRIPTION
.Nm
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
.Xr development 7 .
.Pp
.Nm
installs the
.Sy system
manifest from the tix repository in the
.Ar source
directory, as well as all the ports found.
The
.Xr initrd 7
is regenerated using
.Xr update-initrd 8 .
If grub is enabled in
.Xr upgrade.conf 5 ,
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
.Xr sysupgrade 8
program is by contrast an interactive program, meant to help upgrading across
much larger development distances.
.Pp
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
.Xr init 8
through the
.Sy merge
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
.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
.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
.Nm
when it invokes the new
.Nm
during a non-waiting upgrade.
.It Fl w , Fl \-wait
Wait until the next boot to complete the upgrade, rather than finishing it now.
This installs into the
.Pa /sysmerge
directory instead and replaces the
.Xr kernel 7
with the new kernel
and
.Xr initrd 7
with an initrd that runs
.Sy /sysmerge/sbin/sysmerge --booting
on boot through the
.Sy chain-merge
.Xr init 8
boot target.
Backups are made of the
.Xr kernel 7
and
.Xr initrd 7
such that the operation can be rolled back.
.El
.Sh FILES
.Bl -tag -width "/boot/sortix.initrd.sysmerge.orig" -compact
.It Pa /boot/sortix.bin
system
.Xr kernel 7
.It Pa /boot/sortix.bin.sysmerge.orig
system
.Xr kernel 7
(backup)
.It Pa /boot/sortix.initrd
system
.Xr initrd 7
.It Pa /boot/sortix.initrd.sysmerge.orig
system
.Xr initrd 7
(backup)
.It Pa /etc/machine
processor platform of this installation
.It Pa /etc/sortix-release
the current system release
.It Pa /etc/upgrade.conf
controls the bootloader upgrade behavior (see
.Xr upgrade.conf 5 )
.It Pa /sysmerge
pending upgrade is stored here
.El
.Sh SEE ALSO
.Xr development 7 ,
.Xr initrd 7 ,
.Xr installation 7 ,
.Xr kernel 7 ,
.Xr upgrade 7 ,
.Xr sysinstall 8 ,
.Xr sysupgrade 8