1
0
Fork 0
mirror of https://gitlab.com/sortix/sortix.git synced 2023-02-13 20:55:38 -05:00
sortix--sortix/sysinstall/sysmerge.8
2016-10-04 00:34:50 +02:00

130 lines
3 KiB
Groff

.Dd $Mdocdate: 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