2017-06-03 15:27:30 -04:00
|
|
|
.Dd February 14, 2016
|
2016-02-18 16:16:02 -05:00
|
|
|
.Dt SYSMERGE 8
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm sysmerge
|
|
|
|
.Nd upgrade current operating system from a sysroot
|
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Nm sysmerge
|
2021-01-18 18:04:56 -05:00
|
|
|
.Op Fl cfw
|
2016-02-18 16:16:02 -05:00
|
|
|
.Op Fl \-booting
|
2016-08-22 18:28:49 -04:00
|
|
|
.Op Fl \-hook-finalize
|
|
|
|
.Op Fl \-hook-prepare
|
2016-02-18 16:16:02 -05:00
|
|
|
.Ar source
|
|
|
|
.Sh DESCRIPTION
|
|
|
|
.Nm
|
|
|
|
upgrades the current operating system by copying the system files from the
|
|
|
|
specified
|
|
|
|
.Ar source
|
2017-02-15 16:56:28 -05:00
|
|
|
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
|
2016-02-18 16:16:02 -05:00
|
|
|
.Xr development 7 .
|
|
|
|
.Pp
|
|
|
|
.Nm
|
|
|
|
installs the
|
|
|
|
.Sy system
|
|
|
|
manifest from the tix repository in the
|
|
|
|
.Ar source
|
2017-02-15 16:56:28 -05:00
|
|
|
directory, as well as all the ports found.
|
2021-01-18 18:04:56 -05:00
|
|
|
If a full upgrade is done, then all ports not found will be uninstalled.
|
2020-12-27 16:32:04 -05:00
|
|
|
Upgrade hooks will be run if further actions are needed to migrate the system to
|
|
|
|
the new version as described in
|
|
|
|
.Xr following-development 7 .
|
2017-02-15 16:56:28 -05:00
|
|
|
The
|
2016-02-18 16:16:02 -05:00
|
|
|
.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
|
2017-02-15 16:56:28 -05:00
|
|
|
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
|
2016-02-18 16:16:02 -05:00
|
|
|
.Xr sysupgrade 8
|
2020-12-27 16:32:04 -05:00
|
|
|
program is by contrast an interactive program.
|
2016-02-18 16:16:02 -05:00
|
|
|
.Pp
|
|
|
|
The options are as follows:
|
|
|
|
.Bl -tag -width "12345678"
|
|
|
|
.It Fl \-booting
|
2017-02-15 16:56:28 -05:00
|
|
|
It's boot time, complete the system upgrade that was delayed.
|
|
|
|
This is meant to be used by
|
2016-02-18 16:16:02 -05:00
|
|
|
.Xr init 8
|
|
|
|
through the
|
2016-08-21 17:03:33 -04:00
|
|
|
.Sy merge
|
2017-02-15 16:56:28 -05:00
|
|
|
boot target.
|
|
|
|
This installs the
|
2016-02-18 16:16:02 -05:00
|
|
|
.Pa /sysmerge
|
|
|
|
directory onto the root filesystem and removes the
|
|
|
|
.Pa /sysmerge
|
|
|
|
directory.
|
2016-08-22 18:28:49 -04:00
|
|
|
.It Fl c , Fl \-cancel
|
2017-02-15 16:56:28 -05:00
|
|
|
Cancel a pending upgrade that would trigger on the next boot.
|
|
|
|
Remove the
|
2016-02-18 16:16:02 -05:00
|
|
|
.Pa /sysmerge
|
|
|
|
directory and restore the old
|
|
|
|
.Xr kernel 7
|
|
|
|
and
|
|
|
|
.Xr initrd 7 .
|
2021-01-18 18:04:56 -05:00
|
|
|
.It Fl f , Fl \-full
|
|
|
|
Full system upgrade that uninstalls ports not present in the
|
|
|
|
.Ar source
|
|
|
|
directory.
|
2016-08-22 18:28:49 -04:00
|
|
|
.It Fl \-hook-finalize
|
2020-12-27 16:32:04 -05:00
|
|
|
Run the post-upgrade hooks.
|
2017-02-15 16:56:28 -05:00
|
|
|
This is meant to be used by the old
|
2016-08-22 18:28:49 -04:00
|
|
|
.Nm
|
|
|
|
when it invokes the new
|
|
|
|
.Nm
|
|
|
|
during a non-waiting upgrade.
|
|
|
|
.It Fl \-hook-prepare
|
2020-12-27 16:32:04 -05:00
|
|
|
Run the pre-upgrade hooks.
|
2017-02-15 16:56:28 -05:00
|
|
|
This is meant to be used by the old
|
2016-08-22 18:28:49 -04:00
|
|
|
.Nm
|
|
|
|
when it invokes the new
|
|
|
|
.Nm
|
|
|
|
during a non-waiting upgrade.
|
2016-02-18 16:16:02 -05:00
|
|
|
.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
|
2017-02-15 16:56:28 -05:00
|
|
|
boot target.
|
|
|
|
Backups are made of the
|
2016-02-18 16:16:02 -05:00
|
|
|
.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 )
|
2020-12-27 16:32:04 -05:00
|
|
|
.It Pa /share/sysinstall/hooks
|
|
|
|
A file per upgrade hook indicating that it doesn't need to be run.
|
2016-02-18 16:16:02 -05:00
|
|
|
.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
|