Bananymous 
							
						 
						
							
								b979023b9d 
								
							 
						 
						
							
							
								
								Shell: Add test cases for stroul and strod in builtin `test-strtox`  
							
							
							
						 
						
							2024-02-16 15:35:02 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c469d9b3ff 
								
							 
						 
						
							
							
								
								Shell: Add builtin test for strtol `test-strtol`  
							
							
							
						 
						
							2024-02-14 22:38:16 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								dfe5a2d665 
								
							 
						 
						
							
							
								
								All: Cleanup all files  
							
							... 
							
							
							
							Add newline to end of files and remove whitespace from end of lines 
							
						 
						
							2024-01-24 15:53:38 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								00d57d783e 
								
							 
						 
						
							
							
								
								LibC+userspace: Make everything compile with -Wall -Wextra -Werror  
							
							... 
							
							
							
							I added -Wall -Wextra -Werror as public compile flags to libc. Now
everything in userspace in compiled using these flags. I made all
necessary changes to allow compilation to work.
Only exception is execvp which has a large stack usage. Maybe it
should use malloc for the buffer but posix allows ENOMEM only when
kernel is out of memory... This can be fixed when fexecve is
implemented and there is no need for absolute path. 
							
						 
						
							2023-12-10 19:20:14 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								24243268a6 
								
							 
						 
						
							
							
								
								Shell: do path resolution only if command doesn't contain '/'  
							
							
							
						 
						
							2023-12-07 13:34:46 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								56008869d6 
								
							 
						 
						
							
							
								
								Shell: Handle keyboard input that was interrupted by signal  
							
							
							
						 
						
							2023-12-06 13:04:33 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								622007f2ee 
								
							 
						 
						
							
							
								
								Shell: Verify that command exists before executing it  
							
							... 
							
							
							
							This prevents page fault somewhere when executing non-existing
commands. 
							
						 
						
							2023-12-04 22:57:27 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								056586486d 
								
							 
						 
						
							
							
								
								Shell: make clear use \e[2J instead of \e[J  
							
							... 
							
							
							
							This makes kernel to actually clear the full screen. If framebuffer
did not fit font exactly last row would be left partially uncleared 
							
						 
						
							2023-11-28 23:55:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f6c312a6b3 
								
							 
						 
						
							
							
								
								BuildSystem: using sysroot doesn't need root privileges anymore!  
							
							... 
							
							
							
							Sysroot is now created with fakeroot. This allows root access to be
only needed for disk image creation, since it uses loopback devices. 
							
						 
						
							2023-11-04 17:50:43 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								07f8c972b3 
								
							 
						 
						
							
							
								
								Shell: Set get old termios earlier  
							
							... 
							
							
							
							I sourced the config file before getting old termios. Sourcing
updated the termios so old_termios was always in non canonical, non
echoing mode. 
							
						 
						
							2023-10-24 19:10:53 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8c792f9c6d 
								
							 
						 
						
							
							
								
								Shell: Fix parsing $ with unknown character  
							
							
							
						 
						
							2023-10-12 22:24:27 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1cd99631e1 
								
							 
						 
						
							
							
								
								Shell: source $HOME/.shellrc if found on Shell startup  
							
							
							
						 
						
							2023-10-03 10:39:27 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f67ed9a66e 
								
							 
						 
						
							
							
								
								Shell: Implement sourcing scripts  
							
							
							
						 
						
							2023-10-03 10:24:10 +03:00  
				
					
						
							
							
								 
						
							
								6304388100 
								
							 
						 
						
							
							
								
								Shell: Quick fix to not freeze for multiple seconds  
							
							... 
							
							
							
							When sync is writing to disk, it reserves whole disk to itself.
This commit makes Shell to read username only once from getpwuid().
We used to get username every time prompt was printed. 
							
						 
						
							2023-09-29 19:20:48 +03:00  
				
					
						
							
							
								 
						
							
								399d5338c6 
								
							 
						 
						
							
							
								
								Shell: String leading and trailing whitespace from commands  
							
							... 
							
							
							
							This fixes a bug of inserting empty argument if command had trailing
whitespace 
							
						 
						
							2023-09-28 10:28:49 +03:00  
				
					
						
							
							
								 
						
							
								3ba15b41a3 
								
							 
						 
						
							
							
								
								Kernel/LibC: remove PATH resoltion from kernel  
							
							... 
							
							
							
							I have no idea why I had made PATH environment variable parsing
to be part of the kernel. Now the shell does the parsing and
environment syscall is no longer needed. 
							
						 
						
							2023-09-23 03:08:14 +03:00  
				
					
						
							
							
								 
						
							
								41757b5f6c 
								
							 
						 
						
							
							
								
								Shell: Clean exit on ^D and use getchar()  
							
							... 
							
							
							
							Use getchar() instead of fread(&ch, 1, sizeof(char), stdin). This
is much cleaner. 
							
						 
						
							2023-09-07 15:51:05 +03:00  
				
					
						
							
							
								 
						
							
								80e7a89f67 
								
							 
						 
						
							
							
								
								BuildSystem: Base sysroot is now distributed as a tar ball  
							
							... 
							
							
							
							This allows file and directory permissions work as intended.
cmake is now filled with 'sudo' but with sudo timeout this should be
fine. 
							
						 
						
							2023-08-23 10:38:21 +03:00  
				
					
						
							
							
								 
						
							
								b780df8be0 
								
							 
						 
						
							
							
								
								Shell: hostname is not parsed from /etc/hostname  
							
							
							
						 
						
							2023-08-23 10:38:21 +03:00  
				
					
						
							
							
								 
						
							
								c4210b5810 
								
							 
						 
						
							
							
								
								Shell: use process groups more properly  
							
							
							
						 
						
							2023-08-22 14:54:50 +03:00  
				
					
						
							
							
								 
						
							
								2dcd4ed131 
								
							 
						 
						
							
							
								
								Shell/init: We now use pgrp instead of pid and init open terminal  
							
							
							
						 
						
							2023-08-22 11:37:04 +03:00  
				
					
						
							
							
								 
						
							
								089da2608c 
								
							 
						 
						
							
							
								
								Shell: command execution and parsing support piped commands  
							
							... 
							
							
							
							There is still problems with "blocking" builtin commands (time),
return value, ... 
							
						 
						
							2023-08-17 12:05:38 +03:00  
				
					
						
							
							
								 
						
							
								ed5f4d64a8 
								
							 
						 
						
							
							
								
								Shell: add basic printf test  
							
							
							
						 
						
							2023-08-16 10:49:34 +03:00  
				
					
						
							
							
								 
						
							
								5a94818210 
								
							 
						 
						
							
							
								
								Shell: $? returns last return value  
							
							
							
						 
						
							2023-08-15 09:17:46 +03:00  
				
					
						
							
							
								 
						
							
								db2eca697e 
								
							 
						 
						
							
							
								
								Shell: '\u' in PS1 is replaced with username corresponding to euid  
							
							
							
						 
						
							2023-08-14 14:55:23 +03:00  
				
					
						
							
							
								 
						
							
								81d79cca61 
								
							 
						 
						
							
							
								
								Shell: ^A moves cursor to the beginning of line  
							
							
							
						 
						
							2023-08-14 12:26:22 +03:00  
				
					
						
							
							
								 
						
							
								dddfa308d7 
								
							 
						 
						
							
							
								
								Shell: Print if the process exited because of a signal  
							
							
							
						 
						
							2023-08-01 14:24:36 +03:00  
				
					
						
							
							
								 
						
							
								1d7795e22c 
								
							 
						 
						
							
							
								
								Kernel: Hardware exceptions  now sends signals to userspace  
							
							
							
						 
						
							2023-07-30 14:34:15 +03:00  
				
					
						
							
							
								 
						
							
								925df39107 
								
							 
						 
						
							
							
								
								Kernel: Userspace sets the foreground process and Shell handles ^C  
							
							
							
						 
						
							2023-07-28 18:10:36 +03:00  
				
					
						
							
							
								 
						
							
								2dce0a0415 
								
							 
						 
						
							
							
								
								Kernel: Userspace signal handlers are now called one at a time  
							
							... 
							
							
							
							I added a syscall for telling the kernel when signal execution has
finished. We should send a random hash or id to the signal trampoline
that we would include in the syscall, so validity of signal exit can
be confirmed. 
							
						 
						
							2023-07-23 13:34:53 +03:00  
				
					
						
							
							
								 
						
							
								10169d773d 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add SYS_KILL/kill()  
							
							
							
						 
						
							2023-07-21 19:27:38 +03:00  
				
					
						
							
							
								 
						
							
								c2cf98e32f 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add bareboness signals  
							
							... 
							
							
							
							You can now call raise() to raise a signal. Signal handlers are
not yet supported, but the handling works :) 
							
						 
						
							2023-07-21 15:45:02 +03:00  
				
					
						
							
							
								 
						
							
								404b3dd44c 
								
							 
						 
						
							
							
								
								Shell: $(...) expansion works now :)  
							
							
							
						 
						
							2023-07-06 23:22:57 +03:00  
				
					
						
							
							
								 
						
							
								d04b031e30 
								
							 
						 
						
							
							
								
								Shell: you can call Shell -c ... to invoke the shell as interpreter  
							
							
							
						 
						
							2023-07-06 23:22:49 +03:00  
				
					
						
							
							
								 
						
							
								f19dc114d6 
								
							 
						 
						
							
							
								
								Userspace: Shell now has 'env' for printing environment  
							
							
							
						 
						
							2023-07-06 10:32:43 +03:00  
				
					
						
							
							
								 
						
							
								d2aabb669b 
								
							 
						 
						
							
							
								
								Userspace: Shell imporove 'time' command  
							
							
							
						 
						
							2023-07-06 09:45:04 +03:00  
				
					
						
							
							
								 
						
							
								9c3f4039a5 
								
							 
						 
						
							
							
								
								Userspace: Shell now has time builtin  
							
							
							
						 
						
							2023-07-06 00:39:04 +03:00  
				
					
						
							
							
								 
						
							
								84ecf861cd 
								
							 
						 
						
							
							
								
								Userspace: Shell now processes $ arguments  
							
							
							
						 
						
							2023-06-19 01:39:24 +03:00  
				
					
						
							
							
								 
						
							
								46a6daccfe 
								
							 
						 
						
							
							
								
								Userspace: Shell argument parsing now appriciates quotes  
							
							
							
						 
						
							2023-06-19 01:07:00 +03:00  
				
					
						
							
							
								 
						
							
								3df3c37bad 
								
							 
						 
						
							
							
								
								Userspace: Shell argument parse now results in BAN::String  
							
							
							
						 
						
							2023-06-19 00:34:44 +03:00  
				
					
						
							
							
								 
						
							
								191a24110a 
								
							 
						 
						
							
							
								
								Userspace: Shell now sets SHELL environment variable  
							
							
							
						 
						
							2023-06-18 23:35:51 +03:00  
				
					
						
							
							
								 
						
							
								b4b892148c 
								
							 
						 
						
							
							
								
								Userspace: Shell processes PS1 '\~' as cwd and implement cd  
							
							
							
						 
						
							2023-06-12 02:03:13 +03:00  
				
					
						
							
							
								 
						
							
								e9cb844c28 
								
							 
						 
						
							
							
								
								Userspace: Shell now uses PS1 as prompt if set  
							
							
							
						 
						
							2023-06-12 00:45:47 +03:00  
				
					
						
							
							
								 
						
							
								47c69e9def 
								
							 
						 
						
							
							
								
								Userspace: add exit to shell  
							
							
							
						 
						
							2023-06-09 01:51:23 +03:00  
				
					
						
							
							
								 
						
							
								66fe48e94b 
								
							 
						 
						
							
							
								
								Userspace: add ^L support for shell  
							
							
							
						 
						
							2023-06-09 01:24:33 +03:00  
				
					
						
							
							
								 
						
							
								55ea5c5488 
								
							 
						 
						
							
							
								
								Kernel: add basic support for environment variables  
							
							... 
							
							
							
							exec functions will search files from PATH 
							
						 
						
							2023-06-05 22:51:02 +03:00  
				
					
						
							
							
								 
						
							
								357081346e 
								
							 
						 
						
							
							
								
								Shell: load old termios for process execution  
							
							
							
						 
						
							2023-06-05 21:12:08 +03:00  
				
					
						
							
							
								 
						
							
								73c11c3d29 
								
							 
						 
						
							
							
								
								Shell: add bareboness utf8 support  
							
							... 
							
							
							
							This should work as long as TTY provides only valid utf8.
If the utf is invalid, assertion fails and the shell dies. 
							
						 
						
							2023-06-05 18:55:22 +03:00  
				
					
						
							
							
								 
						
							
								5af77dcfb9 
								
							 
						 
						
							
							
								
								Shell: we now support left/right arrows  
							
							
							
						 
						
							2023-06-05 18:24:41 +03:00  
				
					
						
							
							
								 
						
							
								d1ad38c8d4 
								
							 
						 
						
							
							
								
								Kernel/LibC: add SYS_STAT and stat(), lstat()  
							
							
							
						 
						
							2023-06-05 14:37:14 +03:00