Sortix nightly manual
This manual documents Sortix nightly, a development build that has not been officially released. You can instead view this document in the latest official manual.
|FOLLOWING-DEVELOPMENT(7)||Miscellaneous Information Manual||FOLLOWING-DEVELOPMENT(7)|
instructions for following developmentdevelopment(7) or cross-development(7). The list is in reverse chronological order. The system has policies that handle incompatible changes gracefully. 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:
cd /src # system source code location man share/man/man7/following-development.7
cd /src/tix && make clean && make install
PREFIXto the desired location. All ports are built by default and the
PACKAGESenvironment variable configures which ports are built. Sortix 1.0 has a broken patch(1) and the extract-ports makefile target should be invoked on another system in order to bootstrap the new version.
SCM_RIGHTScontrol message have been implemented, allowing file descriptors to be passed over
AF_UNIXsockets. This is a minor compatible ABI change. futex(2) system system call for efficient thread waiting has been added. The exit_thread(2) system call has gained a
EXIT_THREAD_FUTEX_WAKEflag for waking a single waiter on a futex. This is a minor compatible ABI change. sysupgrade(8) and sysmerge(8) will now delete files that no longer exist in the new system and ports. However, files may already have leaked if a 1.0 installation was upgraded to a development build prior to this change. An upgrade hook will delete any well known leaked files. Note: You must use the
--waitoption to do a two-stage upgrade if doing a sysmerge(8) upgrade from an installation prior to this change to a version after this change. This requirement is because the old sysmerge(8) will leak files and the upgrade hook only deal with well known files as of this change, and doesn't handle future changes. /tix/manifest directory was accidentally installed by sysinstall(8) as mode 6603 instead of 7555. This problem is fixed with an upgrade hook. /dev/net virtual filesystem for socket creation has been removed in favor of adding an actual socket(2) system call. This is a major incompatible ABI change. Only Unix sockets were exposed this way. In the base system, sf(1) is the only program with Unix socket capabilities. Ports using Unix sockets must be updated. Otherwise the system is compatible except accessing Unix sockets fails with
ENOENT. 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 pkg.use-bootstrap, pkg.source-package, and pkg.alias-of variables; bugs in the pkg.subdir variable have been fixed; and a
--source-directoryoption has been added. tix-build(8) must be upgraded before building ports using any of those features.
cd /src/tix && make clean && make install
PREFIXto the desired location. If the new program isn't used, ports may fail to build due to local software not being the exact same version (pkg.use-bootstrap), clean or post-install in the wrong subdirectory (pkg.subdir), the
--source-directoryoption not being recognized or failing to locate the source code (pkg.source-package), stopping because pkg.build-system isn't set (pkg.alias-of), or other mysterious circumstances. kblayout-compiler(1) build tool has gained support for modifier combinations used by the German keyboard layout, and the new German keyboard layout relies on this. kblayout-compiler(1) must be upgraded before building the system.
cd /src/kblayout-compiler && make clean && make install
PREFIXto the desired location. If the new program isn't used, the build will still complete successfully but an incorrect German keyboard layout will be installed. /boot/random.seed. The bootloader is supposed to load this file as a multiboot module with the command line option
--random-seed. The kernel will issue a security warning if it was booted without a random seed, unless the kernel command line contains
--no-random-seed. The GRUB port has been updated with an improved /etc/grub.d/10_sortix script that will automatically emit the appropriate GRUB commands. Users using the included GRUB will need to update to the latest GRUB port and then run update-initrd(8) to regenerate /etc/grub/grub.cfg. All of this will be handled automatically if upgrading with sysupgrade(8) and the new build contains the new GRUB, or if upgrading with sysmerge(8) and the source system root contains the new GRUB. 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:
module /boot/random.seed --random-seed
-EGHotoptions and the build system now relies on this. carray(1) must be upgraded before building the system.
cd /src/carray && make clean && make install
PREFIXto the desired location. cross-development(7), development(7), sysmerge(8), sysupgrade(8)
|October 10, 2016||Debian|