Commit Graph

32 Commits

Author SHA1 Message Date
Bananymous dabd79afa7 Userspace: Prepare aoc2023 environment :) 2023-12-01 01:22:53 +02:00
Bananymous ff550785a7 Userspace: Implement basic image rendering for Netbpm
You can now render Netbpm (P6) format image to framebuffer using
`image` command. I added basic test image to
/usr/share/images/sample.ppm
2023-11-29 16:11:35 +02:00
Bananymous 42a1d26d5b Userspace: Implement basic test for framebuffer mmap 2023-11-28 23:52:22 +02:00
Bananymous a63006afaf Userspace: Add quick test for global ctors and dtors 2023-10-30 11:11:10 +02:00
Bananymous 81228d3401 Userspace: implement basic rm command 2023-10-25 21:45:27 +03:00
Bananymous 6ee4d10651 Kernel/LibC/Userspace: Implement mkdir and creat
Touch now uses creat insteadd of open with O_CREAT flag
2023-10-25 21:07:26 +03:00
Bananymous e685f38fd1 Userspace: Add basic chmod command 2023-10-25 02:37:19 +03:00
Bananymous 657f95d3f0 Userspace: Implement basic cp
This does not support any meaningful command line arguments but
is a good start.
2023-10-25 00:07:25 +03:00
Bananymous c5119cda97 Userspace: Add meminfo command that parses /proc/{pid}/meminfo 2023-09-30 21:20:53 +03:00
Bananymous 96b1186c19 Userspace: Implement basic test for MAP_SHARED 2023-09-29 18:59:37 +03:00
Bananymous b57811b371 Userspace: Implement cat-mmap
This behaves exactly as cat, but uses mmap to read the file.
2023-09-29 17:24:55 +03:00
Bananymous 6eda65eea6 Kernel/LibC/Userspace: Add SYS_POWEROFF + cli tool
You can now shutdown/reboot banan-os with the poweroff cli tool.

Reboot doesn't seem to work on qemu.
2023-09-28 12:36:47 +03:00
Bananymous 63dc2b6aa6 Kernel: Implement SYS_SYNC and add sync executable to userspace
You can (and have to) manually sync disk after writes to it.
2023-09-11 01:26:27 +03:00
Bananymous 9ebf29991d Kernel: Add basic dd command
This only supports if, of, bs, count and status=progress
2023-09-10 01:19:47 +03:00
Bananymous e4041ce5ec Userspace: Implement basic snake game :) 2023-09-04 14:30:45 +03:00
Bananymous 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
Bananymous 2441f208c6 Userspace: Add basic whoami command 2023-08-15 09:03:51 +03:00
Bananymous 77ff585248 Userspace: implement basic stat
I tried to format the output pretty much how linux does, except for
uid and git -> name resolution which is not implemented
2023-08-11 10:30:50 +03:00
Bananymous 2a851b52f1 BuildSystem: Edit build flags regarding sse and warnings 2023-07-31 22:31:17 +03:00
Bananymous 8cd91f5a6a Userspace: add basic 'touch' command 2023-07-10 16:38:15 +03:00
Bananymous f521a98157 Userspace: Add basic tee command 2023-07-10 16:07:53 +03:00
Bananymous d0a0e3bdef Userspace: Add u8sum
This program caluculates the sum of bytes in file mod 256
2023-06-12 20:36:16 +03:00
Bananymous e9217b3484 Userspace: Add basic id that prints {,e}{uid,gid} of the current proc 2023-06-11 22:37:00 +03:00
Bananymous 78536f9678 Kernel/Userspace: Add basic init process
This process parses /etc/passwd and promps login screen.
When an username is entered, it will launch that users shell
2023-06-11 22:37:00 +03:00
Bananymous 1cf464d5c7 Userspace: add basic ls command 2023-06-11 03:38:44 +03:00
Bananymous 9728947d5d Userspace: add echo 2023-06-09 01:50:18 +03:00
Bananymous d201e65810 BuildSystem: remove sse and sse2 from userspace 2023-06-03 16:05:32 +03:00
Bananymous 2df7f8a1e5 BuildSystem: add rule to build libstdc++
We can now build libstdc++ and actually link with g++
2023-06-02 18:39:42 +03:00
Bananymous a378e59432 BuildSystem: link libraries when they change
This also fixed the need for manual linkin on firt build
2023-05-31 23:01:40 +03:00
Bananymous 27147790fd Userspace: Start work on shell 2023-05-26 22:31:21 +03:00
Bananymous e0a72defa2 Kernel: Add argc and argv to process entry 2023-05-16 00:27:49 +03:00
Bananymous 177b205c48 BuildSystem: userspace has cmake target 2023-05-11 16:19:53 +03:00