Commit Graph

2773 Commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen e78f22ed7c Add getty(8). 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen a7c16c8feb Add terminal and interrupt support to com(4). 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen c220caa235 Add nyan(1). 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen 5c7cc54884 Draft video-player. 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen 09fb39876d Work around pty deadlock. 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen aeb1b7b47d Add cdrom mounting live environment. 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen 15b28b8fca Revert "Parallelize driver initialization."
This reverts commit 0fef08bbc4.
2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen 872996f2d5 Parallelize driver initialization. 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen 9f835dcc11 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 15:01:11 +02:00
Jonas 'Sortie' Termansen 03d3125e8a Decrease PS/2 timeouts. 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen 0aa41fa382 Add uptime(1) -pr options. 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen 7b061e24f2 Add iso9660 filesystem implementation. 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen 92b564ab3f Add kernel virtual address space usage debug information. 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen f825f2e18d Revert "Update to bison-3.8.2."
This reverts commit b82fae810b42c5426d21c4dc153b32f086dd7fde.
2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen 44474801a8 Update to bison-3.8.2. 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen e5185ad14e Debug TCP socket state listing. 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen c948ba8c7e Add kernel heap allocation tracing debug facility. 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen 958d9cc0cb Add m4, perl, and texinfo to the basic ports set. 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen 5ea356d337 Trianglix 4. 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen ddfe072afe Add tix-check(8). 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen a0f0bd709c Volatile release. 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen 0320f6361a Add tix-upgrade(8). 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen d3f13da544 Add signify port. 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen 6ebaef18e1 Add pty(1). 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen 60da994de7 Add irc(1).
Co-authored-by: Juhani Krekelä <juhani@krekelä.fi>
2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen 134cccd8d4 Add getaddrinfo(1). 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen aeb26a561d Add host(1). 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen 07c9f6a052 Enable stack smash protection by default. 2023-08-26 15:01:11 +02:00
Jonas 'Sortie' Termansen 89d29b8815 Enable undefined behavior sanitization by default. 2023-08-26 15:01:11 +02: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
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
Juhani Krekelä f6d6b60c10 Use getopt_long(3) and err(3) family in chvideomode(1). 2023-05-18 19:20:54 +03:00