Commit Graph

2774 Commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen 7c6f573e04 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-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen df4bff9152 Add getty(8). 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen bf2dd99c43 Add terminal and interrupt support to com(4). 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen d448bc2c46 Add nyan(1). 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen 9ff0f2e07d Draft video-player. 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen 026d24bc79 Work around pty deadlock. 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen 7a480897d7 Add cdrom mounting live environment. 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen 3080a5f53c Revert "Parallelize driver initialization."
This reverts commit 0fef08bbc4.
2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen b6a692ceac Parallelize driver initialization. 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen 66af22a29a 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-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen cae1b6aec7 Decrease PS/2 timeouts. 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen f916b03186 Add uptime(1) -pr options. 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen 76fd0c5646 Add iso9660 filesystem implementation. 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen fdb18c8f57 Add kernel virtual address space usage debug information. 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen 844ff7c703 Revert "Update to bison-3.8.2."
This reverts commit b82fae810b42c5426d21c4dc153b32f086dd7fde.
2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen b30e11d0f1 Update to bison-3.8.2. 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen f19707ef68 Debug TCP socket state listing. 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen 3f1e0bb997 Add kernel heap allocation tracing debug facility. 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen 5ce0edf91c Add m4, perl, and texinfo to the basic ports set. 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen 8d75c1cbd4 Trianglix 4. 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen 812996dc18 Add tix-check(8). 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen 867c284ced Volatile release. 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen 67f894e3bd Add tix-upgrade(8). 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen 37583744fb Add signify port. 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen 8799005116 Add pty(1). 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen 5ffce2212a Add irc(1).
Co-authored-by: Juhani Krekelä <juhani@krekelä.fi>
2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen fb196aeebe Add getaddrinfo(1). 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen d4f272443f Add host(1). 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen 41b6bed945 Enable stack smash protection by default. 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen a41b2d8d89 Enable undefined behavior sanitization by default. 2023-08-26 14:04:35 +02:00
Jonas 'Sortie' Termansen d98b94d524 Remove mkinitrd(8). 2023-08-26 14:04:22 +02:00
Jonas 'Sortie' Termansen f89cd5b6d9 Handle SIGTERM in chroot(8). 2023-08-26 14:04:22 +02:00
Jonas 'Sortie' Termansen 4adb07bccc Add sysmerge(8) --target option. 2023-08-26 14:04:22 +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
Juhani Krekelä 0660d420f3 Fix pagination in chvideomode(1).
Pagination code deals with two indices for video modes, one relative to
the start of video modes array and one relative to the start of current
page. Previously when displaying the list of modes, the video mode array
would be accessed using the one relative to the start of the current
page, meaning that pages 2 and onwards displayed repeats of the video
modes on page 1. This changes the the display code to use indices
relative to the start of the video modes array when accessing the array.
2023-06-14 20:05:03 +03:00
Juhani Krekelä 1773d6a131 Fix setting custom modes on command line in chvideomode(1).
Previously setting a mode from the command line would only work if it
was one of the pre-set resolutions offered by the driver. If the driver
supported custom resolutions and a user tried to set one on the command
line, chvideomode(1) would instead launch in interactive mode.
2023-06-14 01:28:11 +03:00
Jonas 'Sortie' Termansen 9d4eec4267 Add reinit support to init(8). 2023-06-08 22:50:03 +02:00
Juhani Krekelä d671516e9c Change chvideomode(1) to use "WIDTHxHEIGHTxBPP" consistently.
Previously chvideomode(1) used "WIDTHxHEIGHTxBPP" on the command line
while interactively it used "BPP x WIDTH x HEIGHT". Change everything
to "WIDTHxHEIGHTxBPP".
2023-05-22 00:50:27 +03:00