#Modularus: A Self-Bootstrapping Kernel. And Related Projects
1 messages · Page 3 of 1
only reason I do stuff is cuz I see cool stuff in Astral, Managarm and Skiftos
For AxeialOS?
or Modularus?
The upcoming Distro ofc
yeah this
I'm thinking of Linux
because i want MODERN applications
and DEs
So yeah
fair
@covert heath
https://github.com/VOXIDEVOSTRO/LiquidOS
Finally made a distro's repository
Guys do you think i should make a new post about it?
or actually continue here?
lemme do that exactly
Modularus: A Self-Bootstrapping Kernel. And Related Projects
Nice
yup
it's gonna be epic
because its a distro of my kernel
btw above 2000+ Messages
nice
your kernel has grown very fast ngl
The core is very small
and some of the parts is salvaged from my older projects like AxeialOS
oh i see
okok
updated the first message
to hold the link of both of the projects
the distro and the main kernel
finally a embed on the post
making a distro out of your own kernel is so cool
yeah ig
feeling that what you worked on is finally ready for smth
indeed
it's cool until you need to package stuff
yea... maybe that's a concern for later
Finally some sane log messages
Also error keys my beloved
lets go, i ported the AxeialOS Logger
Also i'm thinking of actually stealing most of the AxeialOS stuff and repurposing
So this is basically a AxeialOS is now a distro of Modularus #1451192963639148707
and iirc i've said this before
"i'll repurpose AxeialOS has a Modularus Distro"
Also Liquid OS would be UNIX
with linux binaries
gonna be fun
that's one way to reuse your older code
aerosync uses voidframe code and blows up 
you said voidframe was unstable and kind of broken
AxeialOS is not that broken
what is ts?? 
yes it is
Log paddings
what, yes it calls putchar -> which calls VFS_Open and VFS_Write -> which calls the UART_Write to display on screen
so yea it's following what it should
i mean
why not PutString("[ ERROR ]:");
ik
Oh i see, i have to fix that, it is because of the colors as i ported it from AxeialOS
in between those there must be a SetFG and SetBG calls
which changes colors
of the text
Lemme actually fix that
Thanks btw @covert heath
ok np
it is suppose to be like this if colors are allowed
as we are in UART and i dont want to mess with colors
I removed those calls
while porting
ah yes
btw color invis 
lmao
some creative naming
btw fixed it
rn
Shit wrong link
@gusty kestrel (j4f) what if aerosync have a fancy gui kernel shell? (weekends side proj)
☠️
Oh hell no
don't be like #1461674570846175417
😭
fr
but i need input stack before that
yeah
will do that in another 8 years
maybe 10
to see if i can even keep this up
kernel shell is a kernel s-hell
nice play on words
that's what i can quote
Also it does apply
yes
@gusty kestrel oh already 2k msgs
yes
Yes ik, it's quite nice
What
kernel debugger?
i see
like after kernel have nothung todo
we can load a kbdg kernel
and it spawns a shell
so a kernel debugger shell?
btw kgdb is actually the GNU kernel debugger
so its kdb
i think osdev have some posts about it
lemme show you a sample
sure
OS/2?
not OS/2
Ah i see
the font is crooked for such small size
why not?
also after an exception/fault, the kernel is kind of in an invalid state
a kdb is selfcontained
and it just look and poke memory
if you replace a halt loop with a shell loop
since when kdb are used
I see
Technically not a bad idea
but i think it's redundant
imo
because if your exceptions LOGS are verbose enough you dont really need it
as you already have what you need
and also when testing in emulators
you already have gbd
But theres an exception
which is real hardware
still the point stands
it's redundant if you have comprehensive exception logs
remote debugging
depends....
and usb driver ain easy 😭
I've only used GDB once in my life when building AxeialOS
which was triple fault
same here lmao
oh nice @gusty kestrel now FKX and ASRX all supports ET_REL and ET_DYN
nice
whats Modularus using?
The builtin is a ET_REL
i see
Liquid OS may replace this with ET_DYN or both
good
pushed to Liqix (nickname for LiquidOS)
[ ERROR ]: Errored
Code : -2 (abs:2)
Reason: No such file or directory/Not Found
Trace : 2 -> Core/Main_KExports.c->LookUpKExport
[ ERROR ]: Errored
Code : -2 (abs:2)
Reason: No such file or directory/Not Found
Trace : 1 -> Core/BuiltIns/Linker/*->Module_Link
[ ERROR ]: Errored
Code : -2 (abs:2)
Reason: No such file or directory/Not Found
Trace : 2 -> Core/Main_KExports.c->LookUpKExport
[ ERROR ]: Errored
Code : -2 (abs:2)
Reason: No such file or directory/Not Found
Trace : 1 -> Core/BuiltIns/Linker/*->Module_Link
[ ERROR ]: Errored
Code : -2 (abs:2)
Reason: No such file or directory/Not Found
Trace : 2 -> Core/Main_KExports.c->LookUpKExport
[ ERROR ]: Errored
Code : -2 (abs:2)
Reason: No such file or directory/Not Found
Trace : 1 -> Core/BuiltIns/Linker/*->Module_Link
[ ERROR ]: Errored
Code : -14 (abs:14)
Reason: Bad address/Not canonical
Trace : 0 -> Core/BuiltIns/Linker/*->Linker_Ioctl
[ ERROR ]: Errored
Code : -14 (abs:14)
Reason: Bad address/Not canonical
Trace : 0 -> General
btw error reporting reveal
peak, aerosync dbg routine is test n' guess 🥀
Error errored code -2
Understandable ✅
It's ENOENT iirc also reason is pretty clear
also there shouldnt be abs of the err, should be a errno to string
though you already got reasons
so abs is redundant
Its either just my phone but Ur formatting is wack
probably phone, it's just bunch of padding for alignment
which makes it scrambled
likely phone
That's only a placeholder for the string form of the Error codes, like -1 = EPERM, -2 = ENOENT
instead of wrapping them under the reason strings
[ ERROR ]: Errored
Code : -2 | ENOENT
Reason: No such file or directory/Not Found
Trace : 2 -> Core/Main_KExports.c->LookUpKExport
[ ERROR ]: Errored
Code : -2 | ENOENT
Reason: No such file or directory/Not Found
Trace : 1 -> Core/BuiltIns/Linker/*->Module_Link
[ ERROR ]: Errored
Code : -2 | ENOENT
Reason: No such file or directory/Not Found
Trace : 2 -> Core/Main_KExports.c->LookUpKExport
[ ERROR ]: Errored
Code : -2 | ENOENT
Reason: No such file or directory/Not Found
Trace : 1 -> Core/BuiltIns/Linker/*->Module_Link
[ ERROR ]: Errored
Code : -2 | ENOENT
Reason: No such file or directory/Not Found
Trace : 2 -> Core/Main_KExports.c->LookUpKExport
[ ERROR ]: Errored
Code : -2 | ENOENT
Reason: No such file or directory/Not Found
Trace : 1 -> Core/BuiltIns/Linker/*->Module_Link
[ ERROR ]: Errored
Code : -14 | EFAULT
Reason: Bad address/Not canonical
Trace : 0 -> Core/BuiltIns/Linker/*->Linker_Ioctl
[ ERROR ]: Errored
Code : -14 | EFAULT
Reason: Bad address/Not canonical
Trace : 0 -> General
more error updates
No more abs
tho it was a placeholder
why the fuck is my Errors.h SOOO LONG 😭

wait... .h??
tho does that look clean?
also btw those error reports are NOT intentional for demo
those are actual problems 😭
Could it be spit up into many files and then errors.h just includes the other files?
ig, maybe put Enum tables in one file and string tables in another
C++26 reflection lets you get the string of an enum 
Lowkey idk why this isn’t a native feature

This is C23* 
we need it
Why can’t it be like [[generate_strings(str)]] on an enum and then you have char* <enum_name>_str
the C3 language have this natively
C3?
You can do it using the X macro pattern
so does rust 
with #[derive(Debug)] you mean?
yes
i mean yeah, thats a way
debug trait is awesome
i love rust but they have to make APIs more stable
i am beginning to love rust
wdym by that, like for freestanding or what
Like what?
#![feature(negative_impls)]
#![feature(allocator_api)]
#![feature(str_from_raw_parts)]
#![feature(likely_unlikely)]
#![feature(slice_split_once)]
#![feature(bool_to_result)]
#![feature(box_into_inner)]
#![feature(const_index)]
#![feature(const_trait_impl)]
#![feature(const_cmp)]
also build-std would be nice to have in stable
Iirc it's ABI is still unstable
Liquix or Liqix?
Liquix
I procrastinate alot
nvm, i must fix the core errors 
got distracted for a moment
oh god that took a while to fix
i had to revert my linker
to the older one
FINALLY
i tested the framebuffer and IT WORKS


Damn i can't believe this crazy idea WORKS...
like fr
Also from the drawing speed... ig its kindof slow because of the VFS overhead
i need to Hyper-optimize those VFS one day to minimize the overhead
Why is the framebuffer going through the VFS? Wouldn’t it just be one MMAP call?
for now i exposed as /framebuffer node in the sysfs++
which is basically like a devfs node
So every pixel write has to go through the VFS?
yes...
should not be that hard imo
famous last words
My development speed has been halved
Why?
Mon-Fri: Uni drains energy
Weekends: I want to just relax
Valid... After my vacations i have my final school year's semester
literally one day after i arrive at home 😭
Professors are just dumping assignments after assignments
Avg professor ngl
Let me tell you the fun part, I have to write program by hand on a piece of paper for Design and Analysis of Algorithm
Not the analysis part, the actual implementation
For lab
Sounds fun, i remember when in exams i randomly wrote C code on back of my Question paper
which is empty
It's soooo fun, unless you have 5 other subjects each with assignments due every week, and the implementation can range from very sort (basic searching) to extremely long and tedious
Guys what should i do today???
make a boot console
So i can have some proper text on screen
also add ANSI colors like aerosync did just a few hours ago!
cool!
thnks
quite nice addition
though prob not gonna use it
since im not changing the whole code base 😭
I see
real
btw
Guys should i port AxeialOS console OR make my own?
I'm too lazy to make my own atp
AxeialOS code works for Liquix quite well
flanterm is a savior ok that matter
I wonder if i can port flanterm to Liquix
Well obviously you can
Modularus allows that happily and i can have both consoles 
AxeialOS one and flanterm
Modularus <3
Easily.
It requires 6 lines of setups.
Don't know why you would though as you have your own .
mindblowing, my AxeialOS boot console took 2 extra wrap functions and some wiring with the emitter (roughly 50LoC worth of changes) 😭
I'm taking advantage of my old code
why dont you port linearfb? 😛
oh nvm flanterm is full console
This is a complete clone of the AxeialOS loggers 😭
Sorry
at least it works
thats what we wanted
np 
But yeah this is a huge thing for modularus
Big achievement
Because atp, EVERYTHING IS A MODULE
or A FILE
ah yes
Guys what should i do now???
WAIT FIRST THINGS FIRST we need GDT/IDT/TSS and stuff
bump
imma make GDT which runs on files
insane idea
which is possible thanks to Modularus
Thinking so that when the GDT.ko will be loaded and linked
in the STANDARD _start entry i would create a SYSTEM directory node (/gdt/)
and attach
with list/array of GDT indices
Each index as a file in /gdt/
indeed, i was suprised that this is even possible 😭
tho to create those indices
i will have a control node too in /gdt/gdtctl
which i can ioctl with request new index
which makes a blank index
To be fair the GDT never really needs changing much if at all and the only dynamic part is the pointer to the TSS
I think it could easily be a static module that loads and executes and unloads once it’s setup the needed things
fr, i actually don't see any use of it
but when wondering that thought came to my mind
You really shouldn’t use any of it even on x86-32 platforms
Just have static tables loaded z+ a TSS and load some stacks in there etc
And swap them when needed
Paging does 99% of the job
true
You just need the GDT in a very specific format to work for x86-64 platforms with syscall
I know
Sorry
i'll make Modularus resilient asf
and hyper-optimized
huh
How where and why
Ohh wow I had to dig deep to find it.
For anyone wondering its under Resources/More/Projects/M/Modularus.
It was a pain to find.
lol
where is the axe in the leg server?
did i literally just got kicked out?
wait where is it @gusty kestrel i also got kicked out??
did it get deleted? 
i think so
i paniked
tell me whyyyy 
i wasnt asking you :D
😭
remember that
cant talk to an inactive account 🥀
@jade narwhal i have no where to post shit anymore 😭
Where is the server??
Y'all got kicked out too?
yeah,you too?
likely tbh
he did post the fluxer port
but he actually never use it
and he should do an announcement
not actiively
so sad
WHERE IS YOU? @gusty kestrel
youre right (visually)
what are you talking about
all of us get kicked out of @gusty kestrel '
server
oh
and hes been inactive for 2 days
why
i genuinely have no idea
he could be using another platform like fluxer
or matrix
but also no sign here 😭
i see
theres a modularus fluxer server
join the osdev one its linked somewhere 