#Modularus: A Self-Bootstrapping Kernel. And Related Projects

1 messages · Page 3 of 1

covert heath
#

how about you @gusty kestrel

viscid locust
#

only reason I do stuff is cuz I see cool stuff in Astral, Managarm and Skiftos

gusty kestrel
#

or Modularus?

#

The upcoming Distro ofc

covert heath
gusty kestrel
#

because i want MODERN applications

#

and DEs

#

So yeah

covert heath
#

fair

gusty kestrel
gusty kestrel
gusty kestrel
#

or actually continue here?

keen ridge
#

hm...

#

why do you wanna make a new post

gusty kestrel
#

because it's a Modularus related project

keen ridge
#

oh i see

#

you could also rename the post "Modularus and related projects"

gusty kestrel
#

Modularus: A Self-Bootstrapping Kernel. And Related Projects

#

Nice

keen ridge
#

yup

gusty kestrel
#

it's gonna be epic

#

because its a distro of my kernel

#

btw above 2000+ Messages

#

nice

keen ridge
#

your kernel has grown very fast ngl

gusty kestrel
#

and some of the parts is salvaged from my older projects like AxeialOS

keen ridge
#

oh i see

gusty kestrel
#

like the core is 80% is only a VFS

#

and that VFS is from my AxeialOS

keen ridge
#

okok

gusty kestrel
#

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

keen ridge
#

feeling that what you worked on is finally ready for smth

gusty kestrel
#

indeed

reef girder
gusty kestrel
gusty kestrel
#

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 letsgo with linux binaries

#

gonna be fun

gusty kestrel
covert heath
gusty kestrel
#

AxeialOS is not that broken

covert heath
#

what is ts?? nooo

covert heath
gusty kestrel
covert heath
#

but why 3 fn call??

gusty kestrel
#

so yea it's following what it should

covert heath
#

why not PutString("[ ERROR ]:");

gusty kestrel
#

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

covert heath
#

ok np

gusty kestrel
#

as we are in UART and i dont want to mess with colors

#

I removed those calls

#

while porting

covert heath
#

ah yes

covert heath
gusty kestrel
#

some creative naming

#

btw fixed it

#

rn

#

Shit wrong link

covert heath
#

@gusty kestrel (j4f) what if aerosync have a fancy gui kernel shell? (weekends side proj) pain ☠️

gusty kestrel
gusty kestrel
#

don't be like #1461674570846175417

#

😭

covert heath
#

ik

#

but i mean why not (famous last words)

gusty kestrel
covert heath
#

but i need input stack before that

covert heath
#

will do that in another 8 years

#

maybe 10

#

to see if i can even keep this up

gusty kestrel
#

kernel shell is a kernel s-hell

covert heath
gusty kestrel
gusty kestrel
covert heath
gusty kestrel
#

a kernel shell is like a great filter for beginners

#

in OSDEV

covert heath
#

@gusty kestrel oh already 2k msgs

gusty kestrel
covert heath
#

though there is an exception

#

a kdbg

#

i would make one asap

gusty kestrel
covert heath
#

kernel debugger?

gusty kestrel
#

i see

covert heath
#

like after kernel have nothung todo

#

we can load a kbdg kernel

#

and it spawns a shell

gusty kestrel
#

so a kernel debugger shell?

covert heath
#

like gdb

#

but for kernels

gusty kestrel
#

well not a bad idea

covert heath
#

so its kdb

covert heath
#

lemme show you a sample

gusty kestrel
#

sure

covert heath
#

*its OS/Z

gusty kestrel
#

OS/2?

covert heath
#

not OS/2

gusty kestrel
#

Ah i see

covert heath
gusty kestrel
#

Well the question is

#

how would you actually do anything inside the kdb

covert heath
gusty kestrel
#

also after an exception/fault, the kernel is kind of in an invalid state

covert heath
#

and it just look and poke memory

gusty kestrel
covert heath
#

since when kdb are used

gusty kestrel
#

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

covert heath
covert heath
covert heath
gusty kestrel
#

which was triple fault

covert heath
gusty kestrel
#

optional

covert heath
#

oh nice @gusty kestrel now FKX and ASRX all supports ET_REL and ET_DYN

#

nice

#

whats Modularus using?

gusty kestrel
covert heath
#

i see

gusty kestrel
#

Liquid OS may replace this with ET_DYN or both

gusty kestrel
#

pushed to Liqix (nickname for LiquidOS)

gusty kestrel
#
[    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

covert heath
#

peak, aerosync dbg routine is test n' guess 🥀

viscid locust
#

Understandable ✅

gusty kestrel
covert heath
#

also there shouldnt be abs of the err, should be a errno to string

#

though you already got reasons

#

so abs is redundant

viscid locust
gusty kestrel
#

which makes it scrambled

covert heath
gusty kestrel
#

instead of wrapping them under the reason strings

gusty kestrel
#
[    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 😭

buoyant escarp
jade narwhal
gusty kestrel
#

So ???

jade narwhal
#

oh ok

#

i thought it was a log or sum shi

gusty kestrel
gusty kestrel
#

those are actual problems 😭

wooden linden
gusty kestrel
wooden linden
#

Lowkey idk why this isn’t a native feature

gusty kestrel
wooden linden
#

Why can’t it be like [[generate_strings(str)]] on an enum and then you have char* <enum_name>_str

covert heath
wooden linden
covert heath
#

yes

#

an experimental replacement for C

timid stirrup
reef girder
covert heath
reef girder
#

yes

covert heath
#

i mean yeah, thats a way

timid stirrup
#

debug trait is awesome

reef girder
#

i love rust but they have to make APIs more stable

covert heath
covert heath
timid stirrup
reef girder
#
#![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

dull grotto
gusty kestrel
#

Liquix or Liqix?

covert heath
gusty kestrel
#

why I'm being lazy 😭

#

i must gotta work on Modularus

#

I mean it's distro Liquix

covert heath
#

relatable

gusty kestrel
#

I procrastinate alot

gusty kestrel
#

hmmm

#

what should i do

gusty kestrel
covert heath
reef girder
#

extern C is a thing

gusty kestrel
#

i had to revert my linker

#

to the older one

gusty kestrel
#

FINALLY

#

i tested the framebuffer and IT WORKS

#

Damn i can't believe this crazy idea WORKS...

#

like fr

gusty kestrel
#

i need to Hyper-optimize those VFS one day to minimize the overhead

wooden linden
gusty kestrel
gusty kestrel
wooden linden
#

So every pixel write has to go through the VFS?

gusty kestrel
wooden linden
#

🥀

#

That’s honestly fast for it having to do that

#

Add MMAP support tho pls

gusty kestrel
gusty kestrel
gusty kestrel
dull grotto
#

My development speed has been halved

gusty kestrel
dull grotto
gusty kestrel
#

literally one day after i arrive at home 😭

dull grotto
#

Professors are just dumping assignments after assignments

gusty kestrel
#

Avg professor ngl

dull grotto
#

Not the analysis part, the actual implementation

gusty kestrel
#

which is empty

dull grotto
gusty kestrel
#

Guys what should i do today???

#

make a boot console

#

So i can have some proper text on screen

covert heath
#

also add ANSI colors like aerosync did just a few hours ago!

covert heath
#

quite nice addition

#

though prob not gonna use it

#

since im not changing the whole code base 😭

gusty kestrel
#

Colored tags

covert heath
#

but we have to end it

#

i mean reset

gusty kestrel
#

I see

covert heath
#

theres prob a workaround though

#

its likely janky

gusty kestrel
#

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

viscid locust
gusty kestrel
#

letsgo Liquix SPEAKS to the screen

#

ported the AxeialOS EarlyBootConsole to Liquix

gusty kestrel
gusty kestrel
#

Modularus allows that happily and i can have both consoles trl

#

AxeialOS one and flanterm

#

Modularus <3

viscid locust
#

It requires 6 lines of setups.

#

Don't know why you would though as you have your own .

gusty kestrel
#

mindblowing, my AxeialOS boot console took 2 extra wrap functions and some wiring with the emitter (roughly 50LoC worth of changes) 😭

gusty kestrel
covert heath
#

oh nvm flanterm is full console

gusty kestrel
#

@covert heath

covert heath
#

(dont ask why im always here)

gusty kestrel
#

This is a complete clone of the AxeialOS loggers 😭

gusty kestrel
covert heath
#

thats what we wanted

covert heath
gusty kestrel
#

But yeah this is a huge thing for modularus

covert heath
#

huge?

gusty kestrel
#

Because atp, EVERYTHING IS A MODULE

#

or A FILE

covert heath
#

ah yes

gusty kestrel
gusty kestrel
#

Guys what should i do now???

#

WAIT FIRST THINGS FIRST we need GDT/IDT/TSS and stuff

covert heath
#

as usual

gusty kestrel
#

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/

buoyant escarp
#

this is questionable

gusty kestrel
#

like
/gdt/index0
/gdt/index1

#

etc

gusty kestrel
gusty kestrel
#

i will have a control node too in /gdt/gdtctl

#

which i can ioctl with request new index

#

which makes a blank index

wooden linden
#

I think it could easily be a static module that loads and executes and unloads once it’s setup the needed things

gusty kestrel
#

but when wondering that thought came to my mind

wooden linden
#

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

gusty kestrel
wooden linden
#

You just need the GDT in a very specific format to work for x86-64 platforms with syscall

wooden linden
#

Sorry

gusty kestrel
#

letsgo my kernel is in the osdev wiki

#

this is fire

gusty kestrel
#

Also race conditions IN modularus is gonna be ☠️ 💀 💥

#

nightmare to dbg

gusty kestrel
#

and hyper-optimized

viscid locust
#

How where and why

viscid locust
#

For anyone wondering its under Resources/More/Projects/M/Modularus.

#

It was a pain to find.

gusty kestrel
#

lol

covert heath
#

did i literally just got kicked out?

jade narwhal
jade narwhal
#

tell me whyyyy nooo

covert heath
#

i m like you

#

😭

jade narwhal
covert heath
covert heath
covert heath
covert heath
#

@jade narwhal i have no where to post shit anymore 😭

night bough
#

Where is the server??

night bough
covert heath
jade narwhal
#

server kaboom nooo

#

also do yall think that @gusty kestrel quit discord?

jade narwhal
covert heath
#

and he should do an announcement

covert heath
#

so sad

#

WHERE IS YOU? @gusty kestrel

#

youre right (visually)

keen ridge
#

what are you talking about

covert heath
#

server

keen ridge
#

oh

covert heath
#

and hes been inactive for 2 days

keen ridge
#

why

covert heath
#

he could be using another platform like fluxer

#

or matrix

#

but also no sign here 😭

keen ridge
#

i see

buoyant escarp
#

join the osdev one its linked somewhere trl