Sortix
Sortix Download Manual Development Source Code News Blog More
current nightly

NAME

sysmerge — upgrade current operating system from a sysroot

SYNOPSIS

sysmerge [-w] [--booting] [--cancel] [--wait] source

DESCRIPTION

sysmerge upgrades the current operating system by copying the system files from the specified 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 development(7).
sysmerge installs the system manifest from the tix repository in the source directory, as well as all the ports found. The initrd(7) is regenerated using update-initrd(8). If grub is enabled in upgrade.conf(5), then the bootloader is reinstalled and reconfigured as needed.
sysmerge 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. It does not contain compatibility to help upgrade across larger changes, or to easily handle changes to configuration file formats, or other caveats. It places a burden on the system administrator/developer to know the system changes in detail and to do any necessary tasks manually.
The sysupgrade(8) program is by contrast an interactive program, meant to help upgrading across much larger development distances. It contains compatibility to automatically handle changes in configuration files and other larger changes.
The options are as follows:
--booting
It's boot time, complete the system upgrade that was delayed. This is meant to be used by init(8) through the chain-merge boot target. This installs the /sysmerge directory onto the root filesystem and removes the /sysmerge directory.
--cancel
Cancel a pending upgrade that would trigger on the next boot. Remove the /sysmerge directory and restore the old kernel(7) and initrd(7).
-w, --wait
Wait until the next boot to complete the upgrade, rather than finishing it now. This installs into the /sysmerge directory instead and replaces the kernel(7) with the new kernel and initrd(7) with an initrd that runs /sysmerge/sbin/sysmerge --booting on boot through the chain-merge init(8) boot target. Backups are made of the kernel(7) and initrd(7) such that the operation can be rolled back.

FILES

/boot/sortix.bin
system kernel(7)
/boot/sortix.bin.sysmerge.orig
system kernel(7) (backup)
/boot/sortix.initrd
system initrd(7)
/boot/sortix.initrd.sysmerge.orig
system initrd(7) (backup)
/etc/machine
processor platform of this installation
/etc/sortix-release
the current system release
/etc/upgrade.conf
controls the bootloader upgrade behavior (see upgrade.conf(5))
/sysmerge
pending upgrade is stored here

SEE ALSO

development(7), initrd(7), installation(7), kernel(7), upgrade(7), sysinstall(8), sysupgrade(8)
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org