ba3e32917e
init: Support starting services as a separate user
continuous-integration/drone/push Build is failing
2023-08-14 10:46:45 +02:00
cfb60fad25
init: Use pledge and support init --user
2023-08-14 10:46:28 +02:00
e2a77bb3da
kernel+libc: Add pledge support
continuous-integration/drone/push Build is failing
2023-08-12 21:38:25 +02:00
37e9b25b62
apps: Add touch
continuous-integration/drone/push Build is passing
2023-08-08 14:34:58 +02:00
4195e7f206
kernel+libc+stat: Add support for file times
...
continuous-integration/drone/push Build is passing
The modification time is not updated though.
2023-08-08 13:33:40 +02:00
b01aa72f17
libc+init+shmem-test: Add POSIX shared memory objects
continuous-integration/drone/push Build is passing
2023-08-03 10:32:52 +02:00
bfcca3a220
gol: Use memory-mapped IO
continuous-integration/drone/push Build is passing
2023-08-03 09:26:35 +02:00
7293d47bf0
apps: Add shmem-test
continuous-integration/drone/push Build is passing
2023-08-02 22:20:05 +02:00
3aaf1c5d84
apps: Rename mouse to input, read keyboard packets as well
continuous-integration/drone/push Build is passing
2023-08-02 17:20:26 +02:00
b1fb6dee8a
login: Create a new process group to log in
2023-08-02 14:47:13 +02:00
d0ceec6952
mouse: Show textual description of buttons
continuous-integration/drone/push Build is passing
2023-08-02 13:58:17 +02:00
2198dedb96
apps: Add mouse
...
continuous-integration/drone/push Build is passing
A simple mouse packet reader.
2023-08-02 11:56:12 +02:00
3598dacbed
init: Remove support for 'Script' parameters
...
continuous-integration/drone/push Build is passing
This can now be changed to good old 'Command', putting a shebang into the script,
thanks to the new shebang support in the kernel.
2023-07-30 18:47:38 +02:00
6e269c6bc4
preinit: Search for init in several directories
continuous-integration/drone/push Build is passing
2023-07-30 13:08:53 +02:00
8475a3aad9
socket-client: Send a user-provided message to the server
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-07-30 11:46:53 +02:00
63745565db
apps: Add socket client
continuous-integration/drone/pr Build is failing
2023-07-30 11:33:06 +02:00
9303c44269
apps: Add socket-test
2023-07-30 11:33:06 +02:00
c6d91c89cd
stat: Change program description
continuous-integration/drone/push Build is passing
2023-07-24 19:17:36 +02:00
b3c478f19e
init: Make the log stream line-buffered
...
continuous-integration/drone/push Build is passing
Looks like log output stopped showing after buffering was implemented, since the log was not flushed properly.
2023-07-24 11:54:49 +02:00
420270ebd4
libc: Implement read buffering =D
2023-07-22 11:17:51 +02:00
a3ed950be8
libc: Basic write buffers
continuous-integration/drone/pr Build is passing
2023-07-22 00:04:27 +02:00
4439ef8ec6
sh: Add a system to easily add flexible shell builtins
continuous-integration/drone/push Build is passing
2023-07-21 20:44:01 +02:00
ff9e01641e
apps: Add a Game of Life implementation
continuous-integration/drone/push Build is passing
2023-07-21 15:51:21 +02:00
cd6bf745a7
tests+kernel+init: Run tests automatically in a headless way
continuous-integration/drone/push Build is failing
2023-07-21 14:09:37 +02:00
de6fe7f7c2
kernel+libc+sh: Make the TTY device actually follow termios rules
...
continuous-integration/drone/push Build is passing
Like, so much more termios compatibility!
2023-07-13 20:33:20 +02:00
6c3ab3b27d
init+base: Allow 'Description' fields in service files
2023-07-12 19:46:53 +02:00
acf4fef6f5
sysfuzz: Skip invoking sigreturn
continuous-integration/drone/push Build is passing
2023-07-12 19:37:22 +02:00
546d900454
libc+apps: Start implementing POSIX-compliant termios.h wrappers around tty ioctls
continuous-integration/drone/push Build is passing
2023-07-12 19:23:06 +02:00
1f6a0db188
su: Handle more signals gracefully
continuous-integration/drone/push Build is passing
2023-07-12 13:52:49 +02:00
81e1fdf81e
kernel+libc+login+sh+su: Implement foreground and background process groups in the default console
...
continuous-integration/drone/push Build is passing
Also, the console sends SIGINT to the foreground process group when ^C is pressed!
2023-07-12 13:49:37 +02:00
9f45026cc2
kernel+sh: Implement interruptible syscalls
2023-07-12 13:48:43 +02:00
82411789e8
libos+apps: Add kill
continuous-integration/drone/push Build is passing
2023-07-10 22:17:05 +02:00
86d14e0d0e
kernel+libc: Add the SA_NODEFER and SA_RESETHAND flags for sigaction()
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-07-10 21:54:04 +02:00
237184a8bf
libc+sh: Implement strsignal and use it in the shell
continuous-integration/drone/pr Build is passing
2023-07-10 21:39:22 +02:00
015419b8f5
kernel: Generate signals when children exit / when faults occur
...
Userspace can now catch segfaults!
2023-07-10 20:49:22 +02:00
cde467ee46
kernel: Support returning termination signals from waitpid
continuous-integration/drone/pr Build is passing
2023-07-10 20:16:06 +02:00
15d6aae701
kernel+libc: Implement basic signals
2023-07-10 19:46:57 +02:00
16b0531d42
kernel+apps+base+tools: Use Ext2 for the root partition file system
...
continuous-integration/drone/push Build is passing
init is now split into two parts: preinit, which lives in the initrd and prepares the root file system for init,
and the actual /usr/bin/init, which lives in the root partition and starts services and reaps zombies.
The kernel now looks for /bin/preinit instead of /bin/init as the executable for the init process.
All configuration files in initrd/etc have been moved to base/etc. (The plan is to have only moon and preinit in the initrd.)
Since the current Ext2 implementation is read-only (and it's on a CDROM so it would be read-only anyways),
/home/selene is a tmpfs (as well as /tmp), to allow for a writable home directory.
The system is slower now, but that's to expect since the Ext2 code doesn't use caching and the ATA code still uses PIO.
2023-07-10 13:05:06 +02:00
5c9503ac71
libos+cp: Add prompt functionality
continuous-integration/drone/push Build is passing
2023-07-08 18:30:39 +02:00
6d9ba8deb4
libos+apps: Make the vector argument more flexible
continuous-integration/drone/push Build is passing
2023-07-08 16:44:02 +02:00
f0a7098470
apps: Add cp
continuous-integration/drone/push Build is passing
2023-07-02 16:38:24 +02:00
2aa7056e11
mount: Put the source argument first
2023-06-25 20:35:36 +02:00
a9460469d9
kernel+libc+apps: Add a source parameter to the mount() system call
2023-06-25 20:35:35 +02:00
b4a6e4d56d
libluna/PathParser: Make dirname() and basename() static functions
...
continuous-integration/drone/push Build is passing
This avoids creating a PathParser to use them, which allocates memory that won't be used.
2023-06-19 11:21:58 +02:00
2f08e0f5b0
libos: Make long value arguments use '=' and make value arguments' values always required
continuous-integration/drone/push Build is passing
2023-06-17 20:58:54 +02:00
e79d4297ea
kernel: Make the root inode be a mountpoint as well + add pivot_root()
continuous-integration/drone/push Build is passing
2023-06-17 17:27:22 +02:00
e4e501ecfe
libos: Add Process::wait()
continuous-integration/drone/push Build is passing
2023-06-09 23:12:31 +02:00
5f5b58a2c0
apps: Add a syscall fuzzer
continuous-integration/drone/push Build is passing
2023-06-08 19:58:00 +02:00
6ad7491300
sh: Skip comments (and shebangs!)
2023-06-03 16:59:18 +02:00
d2334a67dd
apps: Add mktemp
continuous-integration/drone/push Build is passing
2023-06-03 12:15:57 +02:00