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

1 messages · Page 2 of 1

pastel bronze
#
void MWrite(char Str[])
{
        write(
                1,
                Str,
                strlen(Str)
        );
}

void MReadInput(char Buf[], int BufSize)
{
        read(
                0,
                Buf,
                BufSize
        );
}
dull grotto
#

Errnos are freestanding

dull grotto
gusty kestrel
#

yay 1001st message here

gusty kestrel
#

i going to sleep

#

good nightly builds

halcyon silo
#

so this is the software equivalent of what Framework laps do

gusty kestrel
#

i've been procrastinating alot, i must make the default or inbuilt modules

gusty kestrel
#

well finally made a per module error context

#

which holds traceback key(for the registered module) and a mapper operation

covert heath
#

very cool

#

also have some good news

#

just traded my ram for a fully custom keyboard

#

veri neat

covert heath
gusty kestrel
#

that's only to allocate memory for loading and linking the modules

covert heath
gusty kestrel
covert heath
#

so basically LFS but with kernel level

gusty kestrel
gusty kestrel
covert heath
#

i hope modularus supports legacy bios?

gusty kestrel
#

well we could have grub too honestly

#

our compile time preboot options exist...

covert heath
covert heath
#

within an image

gusty kestrel
covert heath
#

all you gotta do is handle mb2 in legacy mode, and switch to 64 bit

gusty kestrel
covert heath
#

with UEFI mb2 and bios/uefi limine, you can just detect the bootloader then init correspondingly

covert heath
gusty kestrel
#

also i have some problems related to the API standardization and API itself for modularus

gusty kestrel
covert heath
#

not the iso

#

this is just a kernel isnt it?

gusty kestrel
covert heath
gusty kestrel
#

that would need a way to abstract all protocols

#

tho i still do it partially in modularus

#

i.e BOOT_REQUEST

gusty kestrel
#

because of the static ops

#

it "assumes" a module of the certain type its gonna serve must have

#

any ideas how can we make it flexible? @covert heath

#

personally i think our API at current is too rigid and static

#

do you think that too?

covert heath
#

but the question is

#

what made you think so?

gusty kestrel
#

we define a static ops table for each thing (every part of the kernel)

#

and wrap under a proper callable function middle layer

#

like i just think what a module of each type must have in common

gusty kestrel
#

another crazy idea i had was going to an anology (EVERYTHING IS A FILE) to a whole new level

covert heath
#

it is, not too flexible

#

while it is large

gusty kestrel
#

and thought i should port and rework the VFS in AxeialOS and port to the modularus core and MAKE each kernel abstractions in a pseudo FS 😭

covert heath
#

expandability might become an issue

gusty kestrel
covert heath
covert heath
gusty kestrel
#

but yeah that would make it INSANELY MEGA COMPLICATED

gusty kestrel
covert heath
#

its just sysfs++

gusty kestrel
covert heath
#

like its just very very exposed

gusty kestrel
#

and actually fix the the API rigidness problem?

gusty kestrel
#

which would make it a unix-like VFS ++

#

so do you think this would solve the API rigidness problem?

covert heath
#

not a bad idea though

#

but add overheads,

gusty kestrel
#

VFS needs a kernel heap

#

but abstraction is in the VFS

#

that's circular

covert heath
#

yeah...

gusty kestrel
#

unless we have a unreplacable memory manager

covert heath
gusty kestrel
covert heath
#

or we could cheat

gusty kestrel
covert heath
#

making Modularus' foundation kit

#

which is the same as builtin

#

but not builtin

#

and it simply needs the kit to simply work

gusty kestrel
#

also i may have an idea around that circular problem

covert heath
gusty kestrel
gusty kestrel
#

so we would have TWO memory manager abstractions

covert heath
gusty kestrel
#

one with OPS

covert heath
#

since it cannot use the kernel VFS

#

which is another kernel module type to handle

gusty kestrel
#

and one with the VFS abstraction

gusty kestrel
#

they already have the name

#

so do you think this thing works?

covert heath
#

maybe

gusty kestrel
#

also on the plus side this would allow us to move the MODULE management system also to the VFS

#

so we can move 98% if the stuff to VFS (sysfs++)

#

the other 2% being the bootstraps defaults like the bootstrap temp MM and the bootstrap loaders and linkers which would also use the same temp bootstrap MM

#

wait we can also use COM

#

Component Object Model

gusty kestrel
#

So refactoring and completeing the VFS

#

and also stole the VFS from AxeialOS trl

#

its too reliable

#

and will completely complete it into a complete VFS

#

4000LoC VFS to a 8000LoC one nooo

#

Also went to static inbuilt heap for the VFS ONLY, which is only 64MiB

#

which is way more then enough for my VFS to abstract every single module lmao

gusty kestrel
gusty kestrel
#

also what about logging?

#

memory fd?

gusty kestrel
#

like user, group, modes, flags and permission support were stubbed out

gusty kestrel
#

I have this idea

gusty kestrel
#

i'm trying it for the first time btw

#

😭

gusty kestrel
wooden linden
#

Ngl bad

#

NOT BAD

#

AUTO CORREXT

#

WHAT THE FUCK

gusty kestrel
#

lmfao

wooden linden
#

I’m so sorry

gusty kestrel
#

first try in GIMP

wooden linden
#

💀

gusty kestrel
#

because i'm on arch ofc

wooden linden
#

I wonder if a logo like this may go hard

#

In mathematics, the Menger sponge (also known as the Menger cube, Menger universal curve, Sierpiński cube, or Sierpiński sponge) is a fractal curve. It is a three-dimensional generalization of the two-dimensional Sierpinski carpet. It was first described by Karl Menger in 1926, in his studies of the concept of topological dimension.
It has sim...

gusty kestrel
#

teh reason the logo is file icon with blocks is because Modularus would use abstraction for modules as EVERYTHING IS A FILE

wooden linden
#

You could even render it inside modularus live on boot (inside userspace)

wooden linden
gusty kestrel
#

VFS is the backbone of this shi

#

also GIMP isn't that hard, i like it

#

i've seen videos

#

also followed no tutorial as its for NOOBS

halcyon silo
wooden linden
#

Dawg 😭

gusty kestrel
wooden linden
#
  • I’m on an iPhone and the autocorrect is known to be fucking dookie shit I hate it
halcyon silo
#

@gusty kestrel @gusty kestrel dont

#

DONT

#

USE FIGMA

#

FIGMA > GIMPY

#

GIMP looks like an airplane cockpit ngl

#
  • ITS ONLINE + ITS FREE FOR THIS PURPOSE
#

attack on titanic

wooden linden
#

I could also design somthing in aseprite w/ pixel art or somthing

halcyon silo
#

use blockbench @gusty kestrel

halcyon silo
pastel bronze
halcyon silo
#

it generates blocky 3d art, easily

halcyon silo
#

only heavy stuff are paid

#

i myself did in figma

wooden linden
halcyon silo
halcyon silo
wooden linden
#

I hate block bench because it’s good for Minecraft stuff but my friend constantly asks for help because thier flatpak image stinks and they don’t want to use the web version

halcyon silo
#

Modularus = Lego kernel

wooden linden
halcyon silo
#

i got as far as a fully detailed apples in a black bowl with knife

#

then quit

wooden linden
#

Blender is not that complicated. It’s a very good example of open source software done well

halcyon silo
#

yeah, the learning curve

#

depends on the person

halcyon silo
wooden linden
#

That’s with most 3d software to be honest. And for a cube you just need to use some array modifiers and Boolean modifies etc

#

And it will probably be faster to render due to using them

halcyon silo
#

procedural generation mods or smth, help too ig

halcyon silo
wooden linden
#

It’s really not that bad

halcyon silo
#

ik but i dont think gimp was needed for that

wooden linden
wooden linden
dull grotto
#

Just write svg code smh

halcyon silo
dull grotto
halcyon silo
#

then ig u can use this as inspiration

#

how do i clear my recent reactions, theyre shit

dull grotto
#

Take a look at my Logo

#

(I'm bad at drawing or designing stuff)

halcyon silo
#

"Tobacco leads to cancer, heart attacks, lung disorders, and other deadly diseases"

"Mutual funds is subject to market risk. Read all terms and conditions carefully before investing"

This is what lowkey hits me when im high in ADHD

halcyon silo
#

modular and simplicity

dull grotto
halcyon silo
#

the choice of material art and a perfect color palette is astonishing

#

the simple and creatively constructed text glyphs say it all

gusty kestrel
covert heath
gusty kestrel
covert heath
#

i saw a few designs

gusty kestrel
covert heath
#

that is quite similar to my REGS_RETURN_VAL

covert heath
covert heath
gusty kestrel
gusty kestrel
covert heath
gusty kestrel
covert heath
#

yeah

gusty kestrel
#

i see

covert heath
#

Linux is tux

gusty kestrel
covert heath
#

but BSD, UNIX, MACH, and XNU is itself a logo

covert heath
#

deciding between a mascot and a logo

gusty kestrel
#

which is a Mascot

#

UNIX is a logo

covert heath
gusty kestrel
#

Logo is nicer

covert heath
#

it is

#

the current github page logo is its current logo

gusty kestrel
#

mascot is a way to create an identity of something with character, animal or fictional being

gusty kestrel
#

its clean

covert heath
covert heath
gusty kestrel
#

well still thinking about Modularus logo

covert heath
#

just change the font ig

gusty kestrel
#

also the next push will be a complete re write

#

to VFS

#

and removing the rigid abstraction headers

covert heath
gusty kestrel
covert heath
#

*not in a giving up way

gusty kestrel
#

stuck on something?

#

relatable feeling

covert heath
#

just that lunar new year is comming (just 1 more day of school)

#

and i simply dont want to do anything lmfao

#

and just eat, sleep, cycle

#

also waiting for my stuff to arrive

covert heath
gusty kestrel
#

after coming back home, directly i have last year of my school

covert heath
#

execve is not execve-ing

gusty kestrel
gusty kestrel
covert heath
gusty kestrel
#

the school eats lot of my time in the day

#

barely can do something that i actually like

covert heath
gusty kestrel
# covert heath so relatable here

i love to sit on my corner desk, make something out of scrap, do something new or most of the time code, read docs and other peoples code

dull grotto
#

I spend most of my time researching, and scrolling reddit

#

I should be studying for my mid-sem but I'm building my website instead 💀

gusty kestrel
covert heath
gusty kestrel
#

7 days ? 6 stars? noice

gusty kestrel
#

letsgo finally reworked the VFS

#

Also lets talk about abstraction

#

because here we are taking EVERYTHING IS A FILE to an extreme level

#

SO i have two abstraction strategy

#

one is having a single psuedo fs like sysfs but insane (sysfs++)

#

and is per part fs

#

like schdfs

#

threadfs

#

processfs

#

loaderfs

#

idtfs

#

gdtfs

#

etc etc

#

i think i should make a poll

gusty kestrel
#

@covert heath i'm going with the sysfs approach btw lmao

#

everything IS A FILE

#

Also pushed the code you can review

covert heath
gusty kestrel
covert heath
covert heath
gusty kestrel
#

idt/gdt/tss/ist will be also set from files

#

system calls will also be set, registered and called from files

#

fucking everything from file

#

also we need a way for kernel logging

#

without AGAIN breaking modularity

#

and also one thing is i'm using a statically allocated HEAP

#

bump allocator

#

for VFS nodes and stuff

covert heath
#

jesus

gusty kestrel
#

nodes dont need alot of memory iirc

#

few bytes

gusty kestrel
#

because before a initramfs we need basic stuff

#

so sysfs would be the mount and the main disk filesystem root will be mounted elsewhere like /mnt/drive1

#

/mnt/drive2

#

etc

#

tho it would be still handled by the modules anyway

#

Back to VFS and making the core of the abstraction. now my question really is. FUCKING HOW

#

how can i know everything is working?

#

because i need the sysfs++ to be present first

#

but to log anything in the first place i need a bootstrap loader AND linker

covert heath
gusty kestrel
covert heath
#

the ++ is just there to denote my intentions about a more deeply integrated pseudo fs

covert heath
#

whatever though

gusty kestrel
covert heath
#

but i think of the name first didnt i?

gusty kestrel
#

lemme check

#

no it isn't

#

duh

covert heath
#

10 minutes

gusty kestrel
#

source: ||trust me bro||

covert heath
gusty kestrel
covert heath
#

just the name itself

gusty kestrel
#

almost 10 stars 🥹

#

lets surpass AxeialOS

#

with 8 stars lmao

covert heath
#

bruh

#

mine dont even get pass 5

#

so sad

#

@gusty kestrel how do you parse the dmline?

#

can i use yours? mine is unstable

gusty kestrel
gusty kestrel
covert heath
gusty kestrel
covert heath
#

is it working?

#

plus

#

licensing

gusty kestrel
#

you are fine

gusty kestrel
covert heath
#

k thx, will have a look

#

can it do key:vaule?

#

plus, where the hell is it?

gusty kestrel
covert heath
#

no?

#

the cmdline parser?

gusty kestrel
#

or a terminal in axeialOS

covert heath
#

COMMAND LINE

#

AT BOOT TIME

#

dude

#

not a shell

gusty kestrel
covert heath
#

??

#

no

gusty kestrel
covert heath
#

dude its this

covert heath
#

Linux cmdline

#

wait

#

aka boot args

gusty kestrel
covert heath
#

we all call it cmdline

#

the kernel cmdline

#

there is no 'shell' in linux

gusty kestrel
#

AxeialOS doesn't use a command line

covert heath
#

its just cmdline

#

and that derives from Linux ()

#

or whatever UNIX

gusty kestrel
#

okay cmdline

covert heath
gusty kestrel
covert heath
#

how

#

so its compile time config only?_

gusty kestrel
gusty kestrel
#

AXEKCONF

#

for now AxeialOS uses Compile time options

covert heath
#

bruh i literally just realized some of my pills for my cold needs to be taken 30 mins before meal

#

and i have taken it after meal since day one ☠️

gusty kestrel
covert heath
#

i probably not gonna die any time soon tho

gusty kestrel
covert heath
#

goddamn it linux 275 loc cmdline parser is more functional than my 500 loc flopware

gusty kestrel
#

thinking about sysfs++

gusty kestrel
#

liek for debugging, tooling and etc

covert heath
#

its standard

gusty kestrel
#

would make it dynamic

covert heath
#

whar?

#

you mean seperated parser?

gusty kestrel
covert heath
#

i mean why not

#

with cmdline you c an do lots of thing

gusty kestrel
#

because any way loggers would be external modules or temporary builtins

covert heath
#

like configure the kernel OTF

#

on -the-fly

gusty kestrel
#

well what about sysfs++

covert heath
covert heath
#

so its a rebranded of the same thing

#

unless you made it special

gusty kestrel
#

like must be interactive

#

like devfs

#

you can write and read to it

#

to change states, configure, run, call and query

gusty kestrel
#

LESSSS GOO letsgo finally we surpassed AxeialOS

#

so gonna go and make the sysfs++

#

would the ops: read, write, open, close and ioctl be fine? for sysfs++?

#

i do think so, well its just like any other ordinary devfs but without block and char devices

#

Also wondering should sysfs++ be a seperate module?

#

external or builtin but disposable?

#

Tho we need a memory manager for the linker

#

well as external or builtin as usual

#

this is complicated

#

yea we should make builtins for memory manager, and linker ONLY, sysfs++ logic would be embeded as core

#

because sysfs++ would be mounted as "/"

#

as we wont have a early boot image (initrd) which also depends on the vendor who is gonna make the kernel distro

gusty kestrel
#

partially made the sysfs++ header

#

dirty heap is just basic temporary heap layer

#

and made the first builtin

#

which is just a statically alllocated 64MB pool with a bump allocator

#

GAWD, core is getting big asf really fast

#

PascalCase my beloved

dull grotto
gusty kestrel
#

lmfao

gusty kestrel
gusty kestrel
#

dayum, registering the sysfs++ or mounting it causing a fault

#

but i dont have any IDT and GDT builtins

#

well why there would be builtins

#

we just triplefault as its cant be handled

gusty kestrel
#

less gooo 10 stars letsgo

gusty kestrel
#

also the fact i dont have any logging nooo

#

the screen is just as blank as my Untitled1 file in vscode nooo

#

i may have to manually troubleshoot by commenting stuff to know where exactly it faults

#

like the main creation? or the mounting or an entry creation

gusty kestrel
#

manual tracing

covert heath
#

bruh

gusty kestrel
#

what would you expect from this project

covert heath
#

yeah

#

fair point

gusty kestrel
#

also its insane that its SO possible

covert heath
#

i mean exokernel are a thing

gusty kestrel
covert heath
gusty kestrel
#

it mean pushing everything to userspace

covert heath
#

but it shares the fact that the kernel is nothing

covert heath
gusty kestrel
#

this kernel is dynamically monolithic sortof

covert heath
covert heath
gusty kestrel
#

simply:
Modularus is:
Monolithic: No
Microkernel: No
ExoKernel: No

#

it doesnt fit in any

covert heath
#

you got the lightness of exokernel, plugins of microkernel, and rigid of monolithic (supposedly)

covert heath
#

not sure with that much of abstraction

gusty kestrel
covert heath
#

thats what a module loader supposed to do

gusty kestrel
#

its a weird yet a possible idea

#

to implement and research

covert heath
#

again are you planing to do just a PoC or more than a PoC

gusty kestrel
#

its gonna be a complete kernel

#

kernel distro?

covert heath
#

idk

#

either a kernel or a full os

gusty kestrel
covert heath
gusty kestrel
#

and both, complete kernel and in future a OS distro

covert heath
#

im actually already planning a distro

#

for AeroSync

#

for its 9th release

gusty kestrel
covert heath
gusty kestrel
#

probably...

covert heath
gusty kestrel
#

sysfs++ IS WORKING LESS GOO! fixed the fault letsgo

#

FIRST THINGS FIRST I'M GONNA MAKE another inbuilt and also loader BUT BEFORE THAT i would make a builtin FOR some basic printing FIRST

#

because GOD lack of logs are annoying

#

i will only do UART for now

gusty kestrel
#

lets get to working

#

i must fix the sysfs++

#

cuz... it doesn't work? for some reason it is giving me ENOSYS

#

meaning no operations

#

in the VfsOpen

covert heath
#

ENOSYS is no impl ready

gusty kestrel
#

because i'm still considering to make my own set* of errnos

#

set*

covert heath
#

dued

#

that would absolutely be horrible

#

if one expect UNIX errno

gusty kestrel
#

and thought of using a complete set of UNIX Errnos

covert heath
#

so copy userspace errno.h and defer the deadly errno local var

#

anyways, added clang CFI to my kernel

gusty kestrel
covert heath
gusty kestrel
#

Yea, also you have the complete set of UNIX errnos?

#

i can use

#

wait you PR has it

covert heath
#

not sure if its complete

#

i think linux version is in asm-generic

gusty kestrel
#

even linux ones would also be fine

covert heath
#

its this

#

the base

#

btw just out of curiosity @gusty kestrel

#

can you test my kernel? (if you have time)

gusty kestrel
covert heath
gusty kestrel
#

how can i run it?

covert heath
#

unpack and move?

#

to esp

#

or you can have the iso

covert heath
gusty kestrel
#

thanks for the iso

covert heath
#

and skips ISO hassle entirely

#

(for some reason, i have trust issues with isos)

#

you can choose the verbose or non verbose

gusty kestrel
covert heath
#

qemu?

gusty kestrel
covert heath
gusty kestrel
#

its cool

covert heath
#

real hw would be better since i wouldnt want to waste your time'

#

btw bios from 2014

gusty kestrel
#

on my laptop

covert heath
#

i see

#

np

gusty kestrel
#

well its cool asf

covert heath
#

hows modularus then?

gusty kestrel
covert heath
#

what problem?

gusty kestrel
# covert heath what problem?

because for some reason all vfs operation return no operations error even tho the sysfs++ is mounted and registered

#

without any errors

covert heath
#

lmao

gusty kestrel
#

also because i dont have any logging, thanks to errnos and can easily trace errors

covert heath
#

using a remote debugger?

gusty kestrel
# covert heath using a remote debugger?

no, adding conditionals during the sequence (if(Probe4Error(anything))) or != GeneralOK and making it intentionally cause an exception like if -ENOSYS do a ud2, if a EINVAL do a division fault, if a ENOMEM do a pagefault

gusty kestrel
#

then i can check the qemu logs what exception caused it

gusty kestrel
covert heath
gusty kestrel
covert heath
#

i think so

#

anyways, gonna push

gusty kestrel
#

and also way faster to do

#

imo

gusty kestrel
#

@covert heath FIRST MESSAGE FROM MODULARUS

covert heath
#

serial?

gusty kestrel
#

yes

gusty kestrel
covert heath
#

cool

#

idk what to do now

gusty kestrel
#

sysfs++ stuff

#

and finally the stuff

covert heath
#

cool

#

just doing mm stuff once agin

gusty kestrel
covert heath
#

idk what to do

gusty kestrel
covert heath
gusty kestrel
#

did alot of stuff

gusty kestrel
pastel bronze
gusty kestrel
covert heath
pastel bronze
covert heath
gusty kestrel
covert heath
#

anyways

gusty kestrel
#

well what should i do next?

#

make a builtin linker?

pastel bronze
#

make a fucking idt nooo

gusty kestrel
pastel bronze
#

oh wrong person

#

wait you dont have idt?

gusty kestrel
pastel bronze
#

not wrong person then lmao

gusty kestrel
#

this kernel is only pure VFS and a pseudo fs mounted as ROOT

#

with few builtins

#

heap and a UART

#

Thats all it is 😭

pastel bronze
#

i give you my speedrunning osdev energy

gusty kestrel
gusty kestrel
#

imma make builtins for the linker and loader too

covert heath
#

yeah

gusty kestrel
#

loader would just use boot request

covert heath
#

moreover do you expect other to build modules for everything

#

or you will add a set of default modules?

covert heath
#

like the default kernel will come with

gusty kestrel
covert heath
#

nothing?

gusty kestrel
#

only few builtins

#

like which is the static pool, heap, loader and linker

#

thats basically it

covert heath
#

damn

gusty kestrel
#

then later on you can create externals for them and use them instead of the builtins

gusty kestrel
covert heath
#

completely different from aerosync

gusty kestrel
covert heath
#

with aerosync im aiming full modularity for drivers

#

only

#

but not with the internals

gusty kestrel
#

that's the goal, and i can see its working very well

#

modularity at its peak

tired maple
#

based

gusty kestrel
#

ig make builtins for loader and linker today???

gusty kestrel
#

@covert heath you think i should change modularus license? saw the conversation from #1471870285207568588

covert heath
#

what are you planning?

gusty kestrel
covert heath
#

yeah, should change

#

for sth like this

gusty kestrel
#

also star the repo dyum 🥀 , only 3 stars is broke asf

#

and a 10 star thread lmfao

covert heath
gusty kestrel
#

what IDE do you use @covert heath ?

#

primarily?

covert heath
#

CLion

#

but prob gotta reinstall

gusty kestrel
#

Cool

covert heath
#

used it for like 3 months and its stack overflowing

gusty kestrel
#

VSCODE is unstable asf

covert heath
gusty kestrel
#

vscode crashes too

covert heath
#

i was scared about ram usage but not too bad-ish

#

thats also why i sold the ram

#

though the on-disk usage is insane

#

afaik

#

16G

#

*after you install alot of extension and doesnt clean cache

gusty kestrel
#

swap would be working overtime

covert heath
#

max 100M

#

even though i gave it 16g for some reason

#

clion was such nice DE

#

*IDE

gusty kestrel
covert heath
gusty kestrel
#

very lightweight

covert heath
#

already

#

but i cant seem to wrap my head around it

gusty kestrel
covert heath
#

yeah

#

think it pairs exceptionally with tmux

gusty kestrel
covert heath
#

the point is i dont member everything

#

and it needs too much configuring (to get single-click experience)

#

that an ide offers

#

ig im just a really lazy person

gusty kestrel
#

also i got the habbit of vscode from my school btw

gusty kestrel
covert heath
dull grotto
covert heath
#

the old one was double clicking like hell

#

actually

#

triple clicking

gusty kestrel
#

are scissor keyboards bad?

#

which i use

covert heath
gusty kestrel
#

both laptop and my PC

covert heath
#

i personally somewhat enjoy them

dull grotto
#

The only guy who thanked Clankers for RAM-a-acopalyse

gusty kestrel
gusty kestrel
covert heath
#

the keycaps

#

and yeah, if you are not careful

#

they are ofc somewhat fragile

gusty kestrel
gusty kestrel
#

my PC's keyboard which is scissor is also been around for 3 years

gusty kestrel
covert heath
#

best i can do is 80wpm

gusty kestrel
#

also thats when it pure words

covert heath
gusty kestrel
#

no numbers and no punctuation

covert heath
#

but i think its a bit biased

#

since most typing test are just strings

gusty kestrel
covert heath
#

and our like is programming

#

and guess that

#

they no include !@#$%^&*()_+-=<>,.?/:;"'{[]}|\

#

~`

gusty kestrel
#

i have a horrible habbit of typing semi colon

#

like once i did that in pyython

#

like alot

covert heath
gusty kestrel
#

and kept wondering why was the interpreter screaming lmao

covert heath
#

peak python moment

gusty kestrel
#

lmafao

covert heath
#

python is great language though ngl

#

at least for scripting

gusty kestrel
#

tho i don't like indent oriented langs

covert heath
#

to not be able to type how you like

#

and your style gets defined by the interpreter

gusty kestrel
covert heath
gusty kestrel
#

i dont use use indented control flow in C too

#

even tho C supports it

covert heath
#

so literally ```c
if ()
foo();

gusty kestrel
# covert heath very

tho still if i was made to choose ANY other programming lang except C, it would be python ngl

covert heath
#

also just discovered sth interesting

#

kthread_create() is extremely quick

#

but kthread_run() takes 5s for 512 task

gusty kestrel
covert heath
covert heath
gusty kestrel
#

enqueue?

covert heath
# gusty kestrel what does the run do?
void __no_cfi wake_up_new_task(struct task_struct *p) {
  struct rq *rq;
  int cpu = p->cpu;

  if (p->sched_class->select_task_rq) {
    cpu = p->sched_class->select_task_rq(p, cpu, WF_FORK);
  }
  set_task_cpu(p, cpu);
  rq = per_cpu_ptr(runqueues, cpu);
  irq_flags_t flags = spinlock_lock_irqsave(&rq->lock);

  p->state = TASK_RUNNING;
  activate_task(rq, p, ENQUEUE_WAKEUP);

  if (p->sched_class->check_preempt_curr) {
    p->sched_class->check_preempt_curr(rq, p, WF_FORK);
  }

  spinlock_unlock_irqrestore(&rq->lock, flags);
}
#

so yeah

#

its likely the scheduler fault

covert heath
#

its not a global lock

gusty kestrel
gusty kestrel
#

also use atomics here NOT spinlocks

#

because you are only changing few states

dull grotto
#

Depends on activate_task() implementation

covert heath
#

locklessly (mostly)

gusty kestrel
#

by the run function

#

also did you try without locking?

covert heath
covert heath
#

ok my kernel is kinda cooked

#

and i dont know for sure which commit

#

so i may have to defer and roll back the release

#

the vtd module is crashing

#

on android qemu things are worse

gusty kestrel
#

porting the AxeialOS print formatter and loggers letsgo

gusty kestrel
#

IT SPEAKS, IT FUCKING SPEAKS letsgo

#

Also 11 stars noice

#

Modularus: A Self-Bootstrapping Kernel.

#

Thats better

gusty kestrel
#

we got modules loading !!!

#

Insane

gusty kestrel
covert heath
#

12 stars is insane

gusty kestrel
covert heath
#

anyways

#

switched to fedora

gusty kestrel
#

not bad

covert heath
#

KDE to GNOME is the point

#

lets talk in the vc

gusty kestrel
#

Putting the final piece of the Modularus core, THE BUILTIN LINKER

#

which means NEXT we would have a our core completed !

covert heath
#

that is insane

gusty kestrel
#

indeed

jade narwhal
gusty kestrel
jade narwhal
#

modularus having more stars than axeial is insan

gusty kestrel
jade narwhal
gusty kestrel
#

Uniqueness of the project ig

jade narwhal
#

does modularus have a discord server

gusty kestrel
#

is the only one

#

i've made a poll there

jade narwhal
#

oh right

gusty kestrel
#

insane, i've been building Modularus for almost the entire span of my vacation 😭

shy pulsar
#

i have made like 10 LoC worth of changes to my kernel in this year 😂✌️

gusty kestrel
#

also i think Modularus is a KLS (Kernel from scratch). do you think so

gusty kestrel
viscid locust
gusty kestrel
#

coding yourself

viscid locust
gusty kestrel
viscid locust
gusty kestrel
tired maple
#

4 stars

gusty kestrel
tired maple
#

np

#

how did you achieve 13 stars on this thread??? 🤲

gusty kestrel
dull grotto
gusty kestrel
#

because this post is active

tired maple
gusty kestrel
gusty kestrel
gusty kestrel
#

@wooden linden, Binbricks are alive

wooden linden
#

yooo

gusty kestrel
#

insane

#

ALSO THE CORE IS MINIMAL ASF

#

only a VFS, Sysfs++ as root, builtins for loader (uses bootloader request), linker and a static pool!

wooden linden
#

do you plan on an i686 port?

gusty kestrel
#

THATS IT

gusty kestrel
#

as currently i'm working with x86_64 at default

wooden linden
#

im working on a MB2 pre kernel thing that will give a much nice interface and map the kernel in the higher half and stuff

#
  • public domain & i wana make sure it works for others things too
gusty kestrel
#

Multiboot2???

#

well not bad

wooden linden
#

yes

gusty kestrel
#

i've used it, and ITS PAINFUL

wooden linden
#

it dosnt do alot. so im making a thing for it to be less painful PSP1G_pspTrollar

gusty kestrel
#

very cool

gusty kestrel
#

oh my god my excitement is crazy

jade narwhal
gusty kestrel
#

very nice

#

also more options on BuiltIns

gusty kestrel
gusty kestrel
#

finally the linker node

gusty kestrel
#

ALSO fixed the loader

#

Builtin one

#

because i forgot to make accept name of the module and actully load the module we want

#

THIS IS SO FIRE

#

and this everything would happen from a VFS is crazy

gusty kestrel
#

nah i'm gonna stick with a COMPLETE fork copy of a linux errnos

#

I think it works

covert heath
#

use it too

gusty kestrel
#

cool

#

also gonna make a distro out of this core trl

#

gonna be peak

covert heath
viscid locust
gusty kestrel
#

will be made

covert heath
#

i thought you gonna abandon this one

#

lmao

gusty kestrel
covert heath
#

cool

gusty kestrel
#

also the fact this is a 16 day old kernel 😭

#

it's insane

#

well obviously because the CORE is under ~8KLoC

#

and barealy has features on its own

viscid locust
gusty kestrel
#
[voxidevostro@VOXAUX HotSwap]$ tokei .
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 Language              Files        Lines         Code     Comments       Blanks
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 C                        53         5751         4698          113          940
 C Header                 29         3358         2540          304          514
 LD Script                 1           62           49            0           13
 Makefile                  5          435          346           19           70
 Markdown                  1            4            0            3            1
 Shell                     1          143          114           10           19
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 Total                    90         9753         7747          449         1557          
covert heath
gusty kestrel
viscid locust
covert heath
#

iirc

viscid locust
covert heath
#

and 25k is uacpi

viscid locust
#

I only got like 30k

gusty kestrel
viscid locust
covert heath
#

and A LOT FROM LINUX

gusty kestrel
viscid locust
covert heath
viscid locust
gusty kestrel
covert heath
gusty kestrel
#

Pure C code

covert heath
viscid locust
viscid locust
covert heath
#

yours and mine is day andnight in terms of features

#

especially userspace

covert heath
viscid locust
#

i only got like bash

#

if even that

covert heath
viscid locust
viscid locust
covert heath
covert heath
#

i mean kernel space

viscid locust
#

vfs

#

memory

#

some basic io shit

#

some sort of basic ahh round robin scheduler

gusty kestrel
#

Same, for AxeialOS i focused on kernel completion

viscid locust
#

how is Modularus going btw

gusty kestrel
covert heath
#

~/AeroSync $ cloc arch/ include/ drivers/ init mm fs crypto
294 text files.
280 unique files.
14 files ignored.

github.com/AlDanial/cloc v 2.06 T=0.16 s (1785.0 files/s, 354403.3 lines/s)

Language files blank comment code

C 99 4631 3825 21900
C/C++ Header 165 3267 8511 12274
Assembly 5 73 60 809
Linker Script 1 23 31 129
CMake 9 15 1 41
Markdown 1 0 0 2

SUM: 280 8009 12428 35155

#

this for no deps

wooden linden
#

whats the VFS used for and the filesystem?

gusty kestrel
wooden linden
#

couldnt you go for simpler IPC

covert heath
#

full github.com/AlDanial/cloc v 2.06 T=0.37 s (1294.0 files/s, 345026.1 lines/s)

Language files blank comment code

C 193 13340 10343 60928
C/C++ Header 217 4430 10370 18101
YAML 3 69 9 3812
Markdown 21 451 0 1782
CMake 35 208 206 995
Assembly 6 100 91 896
C++ 1 157 63 729
Text 2 147 0 616
Linker Script 1 23 31 129
JSON 1 0 0 104
Python 1 26 6 88

SUM: 481 18951 21119 88180

covert heath
viscid locust
covert heath
#

and it takes like 10 minutes to find it

wooden linden
covert heath
#

ik

viscid locust
#

android or ios

wooden linden
# covert heath full github.com/AlDanial/cloc v 2.06 T=0.37 s (1294.0 files/s, 345026.1 lines/s...
full github.com/AlDanial/cloc v 2.06  T=0.37 s (1294.0 files/s, 345026.1 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C                              193          13340          10343          60928
C/C++ Header                   217           4430          10370          18101
YAML                             3             69              9           3812
Markdown                        21            451              0           1782
CMake                           35            208            206            995
Assembly                         6            100             91            896
C++                              1            157             63            729
Text                             2            147              0            616
Linker Script                    1             23             31            129
JSON                             1              0              0            104
Python                           1             26              6             88
-------------------------------------------------------------------------------
SUM:                           481          18951          21119          88180
-------------------------------------------------------------------------------
covert heath
viscid locust
covert heath
gusty kestrel
covert heath
#

so its a bit harder

wooden linden
#

the fuck is 13340 blank lines for

viscid locust
#
~/AeroSync $ cloc arch/ include/ drivers/ init mm fs crypto
     294 text files.
     280 unique files.
      14 files ignored.

github.com/AlDanial/cloc v 2.06  T=0.16 s (1785.0 files/s, 354403.3 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C                               99           4631           3825          21900
C/C++ Header                   165           3267           8511          12274
Assembly                         5             73             60            809
Linker Script                    1             23             31            129
CMake                            9             15              1             41
Markdown                         1              0              0              2
-------------------------------------------------------------------------------
SUM:                           280           8009          12428          35155
-------------------------------------------------------------------------------
gusty kestrel
#

new thread for it?

covert heath
#

gboard doesnt work for some reaosn

wooden linden
#

wait nvm im dum

viscid locust
gusty kestrel
viscid locust
#

without any userspace stuff

#

with userspace stuff its 30k loc

gusty kestrel
covert heath
viscid locust
#

it has everything important though.

gusty kestrel
#

here is the AxeialOS kernel only

[voxidevostro@VOXAUX AxeialOS]$ cloc ./Kernel
     145 text files.
     144 unique files.                                          
      79 files ignored.

github.com/AlDanial/cloc v 2.08  T=0.73 s (197.0 files/s, 48520.0 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C                               77           2894            385          26745
C/C++ Header                    62            824            527           3953
make                             1             23              3             75
Linker Script                    1              7              1             34
Markdown                         3              0              0              4
-------------------------------------------------------------------------------
SUM:                           144           3748            916          30811
-------------------------------------------------------------------------------
viscid locust
#

I could prob bump syscall count up to like 45-50 if i added syscalls for everything my kernel can do

gusty kestrel
#

exactly 30KLoC

covert heath
#

or anything similar

viscid locust
#

i just go with the flow

covert heath
#

i see