Commit graph

2778 commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen
1ba606d22c Revert "Parallelize driver initialization."
This reverts commit 0fef08bbc4.
2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
e3d3364a6c Parallelize driver initialization. 2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
767eba0bc7 Speed up ata(4) 400 ns waits.
Waiting for any non-zero duration currently waits for at least one timer
cycle (10 ms), which is especially expensive during early boot.

The current workaround of simply reading the status 14 times seems really
suspicious although the osdev wiki documents it, but let's see how well it
works on real hardware, it's probably good enough.

Try to determine the initial selected drive to save one drive selection.
2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
3cabee13d8 Decrease PS/2 timeouts. 2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
4ed3949e21 Add uptime(1) -pr options. 2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
c4d02f6bc2 Revert "Update to bison-3.8.2."
This reverts commit b82fae810b42c5426d21c4dc153b32f086dd7fde.
2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
87644b4ecf Update to bison-3.8.2. 2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
d1119c7a2c Add iso9660 filesystem implementation. 2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
0ded1e1909 Add kernel virtual address space usage debug information. 2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
663bb5e4a3 Debug TCP socket state listing. 2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
49177ba80d Add kernel heap allocation tracing debug facility. 2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
99e334e6be Trianglix 4. 2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
fd53eb7239 Add tix-check(8). 2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
396a74fbbe Volatile release. 2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
274f428082 Add tix-upgrade(8). 2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
d90accadac Add tix-repository(8).
Support renaming, splitting, and deleting ports via RENAMES.
2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
6e68a0a265 Add signify port. 2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
04e3dcdb21 Add pty(1). 2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
cbe56d04eb Add getaddrinfo(1). 2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
5b61f81a28 Enable stack smash protection by default. 2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
b2eeb6c3f5 Enable undefined behavior sanitization by default. 2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
0c93ea4f97 Add dosfstools port. 2023-12-26 21:54:48 +01:00
Jonas 'Sortie' Termansen
43adfbb82e Add mtools port. 2023-12-26 21:54:48 +01:00
Juhani Krekelä
50f5e88722 Add irssi port. 2023-12-26 19:28:49 +02:00
Juhani Krekelä
fc20a4f6a3 Support CSI n L and CSI n M in console and terminal(1).
With these escapes supported, include definitions for line deletion
(dl1, dl) and insertion (il1, il) in terminfo for "sortix".
2023-12-26 19:24:00 +02:00
Jonas 'Sortie' Termansen
b4665bc8ce Add m4, perl, and texinfo to the basic ports set. 2023-12-24 13:12:25 +01:00
Jonas 'Sortie' Termansen
2465f9b5dc Package the system as a tix binary package. 2023-12-24 12:58:53 +01:00
Jonas 'Sortie' Termansen
95cf3fba98 Save kernel options upon installation. 2023-12-19 00:05:42 +01:00
Jonas 'Sortie' Termansen
dc98bcf0ca Add options to kernelinfo(2). 2023-12-19 00:05:42 +01:00
Jonas 'Sortie' Termansen
4aadc182a6 Fix broken manual references. 2023-12-19 00:05:42 +01:00
Jonas 'Sortie' Termansen
938f2390dd Support system upgrades and configuration in GRUB.
Move /etc/default/grub to /etc/grub as it's owned by the sysadmin.

Move /etc/grub.d to /etc/default/grub.d as it's owned by the system.

Support /etc/grub's GRUB_CMDLINE_SORTIX in 10_sortix.

Remove the old /etc/grub.d/10_sortix.cache with a compatibility hook as it
has moved to /etc/default/grub.d/10_sortix.cache.
2023-09-03 14:47:08 +02:00
Juhani Krekelä
c4b878beb7 Redisable perl support in git.
If git with perl enabled is cross-compiled, the perl commands do not
work correctly. As there is seemingly no easy fix for this, disable perl
suppport again.
2023-08-27 20:22:22 +03:00
Juhani Krekelä
69cc658036 Move perl from git's BUILD_LIBRARIES to RUNTIME_PROGRAMS.
While RUNTIME_PROGRAMS currently does nothing, BUILD_LIBRARIES is not
correct for dependencies that are required at runtime. As git built with
perl support is still able to run without perl, just with limitations,
mark perl as an optional dependency as well.
2023-08-27 16:40:47 +00:00
Juhani Krekelä
6c81317026 Add perl as a dependency for git. 2023-08-27 15:22:57 +00:00
Jonas 'Sortie' Termansen
4533a2ade2 Remove mkinitrd(8). 2023-08-26 14:15:12 +02:00
Jonas 'Sortie' Termansen
6ac0061380 Add sysmerge(8) --target option. 2023-08-26 14:15:12 +02:00
Jonas 'Sortie' Termansen
6303a59439 Handle SIGTERM in chroot(8). 2023-08-26 14:15:12 +02:00
Jonas 'Sortie' Termansen
e5465e64a1 Fix tix3g migration hook installing the wrong PLATFORM in collection.conf.
Fix the hook marker not existing and change its name to allow upgrading from
broken experimental builds.
2023-08-26 14:04:22 +02:00
Nathan Fisher
93dd46192d Fix gettext port build by un-confusing the build system about whether c#
is available
2023-08-05 22:36:39 -04:00
Jonas 'Sortie' Termansen
33c1e98f0e Fix tar race condition when tix-port(8) strips programs. 2023-07-16 12:58:45 +02:00
Jonas 'Sortie' Termansen
d189183900 Third generation Tix.
The .tix.tar.xz binary package format now stores the contents in the root
rather than the data/ subdirectory and the tix metadata now has the same
layout as the loose files in /tix, such that a .tix.tar.xz package can
simply be directly extracted into the filesystem. The /tix/manifest/ is now
included in the binary package rather than being generated on installation.

The /tix/collection.conf and /tix/tixinfo metadata files are now in the
tix-vars(1) format in the style of port(5).

The /tix/installed.list file has been removed since it isn't loose file
compatible and one can list the /tix/tixinfo directory instead.

The /tix/repository.list file has been removed since the feature is unused
and doesn't match the future direction of tix.

The kernel support for tix binary packages has been removed since it will
simply install by extracting the tar archive into the root filesystem.

Add the post-install sha256sum to the port version stamp.
2023-07-15 16:43:27 +02:00
Jonas 'Sortie' Termansen
b819428bd2 Remove outdated statement that ports can't be built natively. 2023-07-12 23:10:39 +02:00
Jonas 'Sortie' Termansen
4990cef43c Reposition windows when the display resolution changes. 2023-07-12 23:10:39 +02:00
Jonas 'Sortie' Termansen
ab9f2353e5 Add sysinstall(8) --system and --ports options. 2023-07-12 21:55:32 +02:00
Jonas 'Sortie' Termansen
edd8566155 Modernize extfs(8) error handling. 2023-07-12 21:54:57 +02:00
Jonas 'Sortie' Termansen
ffc1b02b94 Remove workaround for qemu 1.4.x and 1.5.x.
These releases are now 10 years old and are no longer a concern.
2023-07-12 21:54:57 +02:00
Jonas 'Sortie' Termansen
e933eb5a1c Replace mkinitrd(1) with tar(1).
The custom initrd format was originally useful when it was mounted,
however it has been extracted into the ramfs for a very long time and
has no advantages over the standard tar format which can be readily
created and modified using standard tools. The kernel initrd(7) support
already supports tar, so this change simply switches the format.
2023-07-12 21:45:11 +02:00
Jonas 'Sortie' Termansen
917722cf70 Add display server.
This change adds the display(1) graphical user interface and desktop
environment with basic windowing support and the graphical terminal(1)
emulator along with integrations in chkblayout(1), chvideomode(1),
sysinstall(8), sysupgrade(8), as well as the games and ports.

Adopt the Aurora procedural wallpaper in display(1) and login(8).

Remove the obsolete dispd.

Juhani contributed keyboard and video mode APIs to the display protocol
and other miscellaneous changes.

dzwdz contributed the initial functioning window buttons, improved title
bar, window tiling, and minor bug fixes

Co-authored-by: Juhani Krekelä <juhani@krekelä.fi>
Co-authored-by: dzwdz <kg67199@gmail.com>
2023-06-24 00:43:36 +02:00
Jonas 'Sortie' Termansen
b384bce28c Switch trianglix(1) from dispd to dispmsg_issue(2). 2023-06-24 00:00:10 +02:00
Juhani Krekelä
e4ce686576 Use standard termios flags and functions in chvideomode(1).
Previously chvideomode(1) used {get,set}termmode(2) as well as
tcgetwincurpos(2), which are non-standard and only work in the kernel
terminal.

This necessitates changing the keybind for exiting the menu from esc to
Q, as there is no good standard way to disambiguate between escape
character by itself and the start of an escape sequence.
2023-06-20 01:06:20 +03:00