#AuroraOS

1 messages · Page 3 of 1

ashen plume
quaint cape
#

Init subsystem coming in clutch.

ashen plume
#

yeah i think mine is pretty cool

quaint cape
quaint cape
ashen plume
#

each of my stages calls some functions

spiral field
ashen plume
mental otter
#
void init() {
  step1();
  step2();
  step3();
  step4();
}
oak charm
#

Yeah

ionic palm
#

Mine is an absolute bloat nooo

quaint cape
#

For me its just a blob of folders that mean nothing.

ionic palm
quaint cape
#

You don't categorise anything.

ionic palm
#

-# because obviously i'm stupid

ionic palm
#

tho i promise my #1467786251510743061 would be WAY WAY cleaner then this

mental otter
quaint cape
#

Personally I'm pretty happy with how the AuroraOS source has turned out.

mental otter
#

I like how mine is but I still need to cleanup a lot of it

ionic palm
quaint cape
mental otter
#

This code is pretty chefkiss

#

@quaint cape Whatcha working on rn

quaint cape
mental otter
#

Ahh

#

I mean like in general on the kernel

#

Sorry

quaint cape
quaint cape
#

Which have per-cpu runqueues.

#

And much more arch abstraction.

#

Fixed the main one yesterday.

#

it was my TSS being f'ed.

#

I'm also going to make a better paging impl.

mental otter
#

Oh nice nice

#

Whatcha gonna do for paging

quaint cape
mental otter
#

I mean x86-64 paging is pretty basic

#

Just some layered tables

#

Think of it like fixed sized radix trees

quaint cape
#

I'm to afraid to change it.

mental otter
#

You can steal mine

#

It’s getting finished tomorrow

#

With VMA too

#

My paging is done except unmap and TLB shootdowns

#

I’m also gonna add support for 1GB and 2mb pages too

quaint cape
#

I don't really have any VMA.

#

I'm to scared to change my paging for now.

#

Last time I did i f'ed up the whole OS for multiple months.

mental otter
#

My VMA is also open source well will be once I finish it lmao

mental otter
mental otter
#

It can’t be that bad

#

I also managed my pacing rework in a day heh_face worked perfectly

mental otter
quaint cape
#

Trying to fix more bugs

#

Also fixed panic so it's a bit better now.

quaint cape
#

Now my new syscall handler tweaks.

quaint cape
quaint cape
#

Added "extern asm" to snow

quaint cape
#

having fun commenting my own code

#

ima try to make snow semi readable unlike my other projects.

#

i'll commit snow in a week or two.

#

ima have to test everything before releasing it.

#

And fixing my messy backends.

#

and my semantic also needs to be reworked.

quaint cape
#

First syscall after rewrite done

#

and yes this is me trying to do something with mlibc

#

time to see what is messed up with archctl

quaint cape
#

Fixed logging spam atleast

#

And studied for tests ig.

quaint cape
#

Fixed most errors :D

#

though I get invalid opcode when running any mlibc related code.

mental otter
#

Wait after the systemcall?

#

What’s the instructions at all the RIPs

quaint cape
#

found out 1 min ago before this message

mental otter
#

Yup by default mlibc will use the FPU

#

So make sure you save and restore the state

mental otter
quaint cape
#

Fixed most issues now i have to make a proper mmap impl

quaint cape
#

Hmm might have to try and build and run bash after this.

mental otter
#

But it shouldn’t be too hard to support mapping tmpFS pages if you keep track of them

quaint cape
#

20k loc now'

quaint cape
#

ironing out the last bugs.

quaint cape
#

-1 bug

#

+1 syscall

quaint cape
#

Rewriting print logic to use a ringbuffer.

quaint cape
#

Fixed some more snow bugs

#

Also made borrowing

#

And better semantics.

#

And some sort of half decent runtime support.

quaint cape
#

ima be gone for a week sking

#

wish me lucjk

hard trellis
quaint cape
#

ima have to fix issues in my sysfs now.

quaint cape
#

Stuff until bash:

  • Fix sysfs.
  • Fix exit syscall.
  • DEbug a bit more.
#

It's bascially only sysfs left

#

and i need to actuallly run bash too.

spiral field
quaint cape
#

I don't have a devfs

spiral field
#

why over sysfs

#

idk I simply added a debug log syscall when I first ported mlibc

quaint cape
quaint cape
#

ima try and fix this sysfs tmrw

quaint cape
#

Still no progress on sysfs :(

quaint cape
#

Fixed sysfs now it works

#

my exit implementation is broken smh

#

so yeee no bash for a while

quaint cape
#

get out of memory error smh

#

even though i run it at like 10gb RAM

#

ill have to investigate once i get back from todays skiing

quaint cape
silk valve
quaint cape
#

you have any idea why puts outputs a lot of C++ code??

silk valve
#

do you use c++?

quaint cape
silk valve
quaint cape
#

I dont.

quaint cape
ionic palm
#

Also @quaint cape i realized that #1467786251510743061 has the same amount of stars as #1384888317597974600 lol

quaint cape
#

cuz i have no idea.

silk valve
#

could be malformed macro?

#

since thats is raw c++ source

quaint cape
quaint cape
silk valve
quaint cape
#

like why would only me get it when theres like 10 OS's which use mlibc

ionic palm
#

and also you can run bash is already impressive

quaint cape
#

not in portability though.

quaint cape
#

then i decided ima rewrite everything

ionic palm
quaint cape
#

fighting back there now-

quaint cape
#

1

#

2

#

??

#

2 maybe

ionic palm
#

Nice, AxeialOS was rewritten only once and Modularus none

#

So still it's a decent and valid number of rewrites

quaint cape
#

time to fix exit impl and then get bash running once again.

quaint cape
quaint cape
#

time to rebuild my toolchain yeaaaaaaa

quaint cape
#

running into errors when building bash

quaint cape
#

finally was able to build bash

quaint cape
#

Tmrw I'll try and figure out why bash PF's upon entry.

#

Probably cuz I haven't implemented something.

ashen plume
#

Make sure your mmap() call is legit

quaint cape
#

I'm too tired for this shit today.

mental otter
ashen plume
mental otter
#

Atleast mlibc wants it to be

ashen plume
#

No. There’s a flag for it

mental otter
#

Ahh mlibc requesting anonymous pages requires zeroed pages though still

#

So if that’s not setup right

#

I’m not surprised at all page fault

ashen plume
#

I’m driving right now so im using voice to talk I’ll answer after

ashen plume
mental otter
#

I forgot to say that sorry

ashen plume
mental otter
ashen plume
#

Even though my process api and syscall api is Unix compat

#

I don’t have a proper libc

mental otter
#

You don’t even have one for your own apps?

ashen plume
#

But it’s in no way a full libc

quaint cape
#

Damn now my laptop panicked

#

Linux why 😭

#

I've actually never had a Linux panic .

#

What the f now it doesn't work

#

Welp f me I haven't commited my progress in so long.

silk valve
silk valve
#

linux cant load initrd

quaint cape
silk valve
quaint cape
silk valve
quaint cape
#

I'm running recovery mode to see if it fixes it.

quaint cape
#

Okay, running older Linux version fixed it.

silk valve
#

and which distro?

quaint cape
#

Ig I just gotta boot into grub each time I boot?

silk valve
silk valve
#

just not the menu to configure?

silk valve
quaint cape
silk valve
#

my first ever distro was zorin when i was 9 10 i think, but i have skill issue back then and cant install it

#

it was still tui back then

quaint cape
silk valve
#

i just press next

quaint cape
#

Its probably one of the most advanced ones nowadays.

silk valve
#

prob better than mint

#

mint is overrated imo

quaint cape
quaint cape
silk valve
quaint cape
#

pushed everything to codeberg atleast

#

so i dont lose anything

silk valve
#

why codeberg

#

just because it doesnt have microsoft?

quaint cape
silk valve
#

well its just ones taste really

#

personally a more practical person

#

i just use whatever works best

#

never really consider those

quaint cape
silk valve
#

darker dark theme

quaint cape
silk valve
quaint cape
silk valve
#

the gui, git servers

silk valve
#

compared to github

midnight rampart
silk valve
midnight rampart
#

faster at what?

#

its fast enough for everything I use it for

silk valve
midnight rampart
#

also GH stutters and now has bugs lmao

silk valve
quaint cape
quaint cape
#

impressive.

quaint cape
silk valve
quaint cape
silk valve
#

gui rendering is notably slower

quaint cape
#

Yes, thats what we're talking about.

silk valve
#

on slower devices

midnight rampart
#

it is your choice to provide your code and user stats to microsoft by using github, but you will be judged for it. There are good reasons people are moving away from it.

quaint cape
silk valve
midnight rampart
#

reason(s)

silk valve
quaint cape
silk valve
#

codeberg is much slower here

quaint cape
#

"slow"

quaint cape
midnight rampart
# silk valve ok, reasons

you're supporting microsoft and allowing your code to be scraped for AI usage (you'll note codeberg protects against this), codeberg is also not used as a marketing platform. This may or may not bother you, but github being a US company is a concern for many. I'm also fairly certain codeberg is a not for profit, which again is a personal choice but its a nice thing to support.

midnight rampart
#

for the sake of transparency here I use both (for now), but I wont be hosting any new projects on github and generally try to avoid the github site whenever possible.

silk valve
#

like currently have a gitlab mirror

midnight rampart
#

yeah I currently have codeberg as my main mirror and it automatically pushes to the github repo for me 🙂

#

it has built in support for that 😉

midnight rampart
#

wrt to the performance, not sure what thats about - I've always found codeberg faster for everything. The exception being when its offline, which is something I've never personally encountered but people here have complained about it a few times. If you're looking at more than a file for a project imo its nicer to clone it and have the full feature set of your favourite editor to jump around.

midnight rampart
# silk valve really?

you're looking for "Mirror Settings" in the project settings. You could alsod do it via an action script I guess (codeberg has its own CI called woodpecker and also supports the forjego one - it has free runners for both).

quaint cape
mental otter
#

@quaint cape Did you see the thing about annon pages? Btw mlibc does give you really easy dynamic linking if you need it. And you can use the “ldd” tool to check if it’s a static binary

quaint cape
mental otter
mental otter
#

If it’s asking for ld Linux

quaint cape
quaint cape
#

this is my config

#

malloc*

mental otter
#

Huh

mental otter
#

I’m taking a break from OSdev and I’m gonna hopefully return to the prism thing I got organized and stuff

quaint cape
midnight rampart
#

Also you'll get more eyes on your issue if you ask in an on-topic channel rather than a progress thread. I would suggest going there.

midnight rampart
#

This isn't directed at you in particular but its something I've noticed lately, that people are asking for help in their project threads and not the channels. The on-topic channels are there to ask for help if you need it!

mental otter
quaint cape
mental otter
#

A new kernel in C++

#

Due to severe corruption issues

mental otter
#

@quaint cape How’s bash coming along

quaint cape
mental otter
mental otter
quaint cape
#

think i got dynamic linking working

#

huh

#

interesting

midnight rampart
midnight rampart
#

nah you're fine lol, it was just an observation

quaint cape
#

more shared library stuff yeaaaaaaaaaaaaaaaaaaaaaaaa

quaint cape
#

i like how sometimes my idle thread starts and sometimes it just dies directly

ashen plume
quaint cape
#

continuing with bash port today

quaint cape
#

even more bash progress

#

imlementing all syscalls bash is complaining about

mental otter
#

Can I ask what syscalls it was complaining about?

quaint cape
mental otter
#

i wonder if that can be stubbed for bash?

quaint cape
#

next one is sys_getuid

#

ill be here the whole evening doing these

quaint cape
#

i just implement them all

#

that are easy

#

wait cant i just return 0 for sys_getuid since theres only one user?

#

@mental otter do you know if i can just return 0 for getuid and getgid?

#

whats the difference between getuid and geteuid

mental otter
#

you should be able to

mental otter
quaint cape
#

and then theres getegid??

#

😭

mild shoal
#

should give you a quick rundown of all that stuff

quaint cape
quaint cape
#

or can i just stub that with return 0 since its not needed

mild shoal
#

I got into a bash prompt with these:

extern syscall_print
extern syscall_mmap
extern syscall_openat
extern syscall_read
extern syscall_seek
extern syscall_close
extern syscall_archctl
extern syscall_write

but to get a proper working shell u'll need a bit more

quaint cape
mild shoal
#

for bash its not

quaint cape
#

do yk if mlibc freaks out if i return ENOSYS

#

should i just return 0 instead?

quaint cape
#

it surely cant be more funcs to stub than this

#

ima finish tmrw

spiral field
quaint cape
#

cuz when i try and stub them mlibc just panics cuz it wants a real signal

mild shoal
mild shoal
#

When I ported it, it really didnt need signals

#

But that was also like 3 years ago

#

Worst case you success stub it

#

Or just patch out that ensure in your local patches or w/e

quaint cape
quaint cape
#

well, im starting to consider maybe writing my own window compositor and porting x11

#

both as alternatives

#

since i can use sdl for the window compisitor

#

and then bash as the ground up shell

#

huh well need bash ported anyways

quaint cape
#

Implementing a lot more syscalls

#

Syscall count = 35 now

rough junco
#

imo the worst part of porting bash (initially) is pselect

chrome cosmos
chrome cosmos
#

posix versions. it was 20 years ago i think

rough junco
#

Ahh, well yeah. It's honestly not too bad. I don't have signals yet so I just implement pselect with select which itself is implemented by poll

quaint cape
#

ehh RIP

#

i have 50 syscalls

rough junco
#

For bash?

#

Or did you move on for a bit?

quaint cape
rough junco
#

lmao

quaint cape
#

just done syscalls for everything i have

#

and i made some sort of experimental ipc implementation

rough junco
#

What syscall does bash currently give up on?

quaint cape
#

(only signals, pipes, message queus)

quaint cape
#

ima also have to spend half an hour writing mlibc implementations for all of them

rough junco
#

How does the "experimental ipc implementation" work lol?

quaint cape
#

so before my next rewrite ill class this ipc implementation as shit

rough junco
#

lmao

chrome cosmos
#

that's honest! 😄 i wonder how my first implementations are going to look 😕

mental otter
#

For my non POSIX IPC that il use for my own tools I’m thinking of shared pages + a few syscalls to wait and signal

quaint cape
#

welp this might take a few days for me to patch all syscalls

#

i also forgot about .bashsrc and everything else i need setup

quaint cape
#

i already got 50 total syscalls btw

quaint cape
#

55

#

huh why does it immideatly exit?

#

@mild shoal do i need to define those constants for it to run?

#

progress

quaint cape
#

trying to fix bugs just made it worse

quaint cape
quaint cape
#

input is broken though

rough junco
#

Did you end up implementing polling?

mental otter
rough junco
#

(poll, select and their signal safe variants)

mental otter
#

Ahhh

#

I think they have thoes?

#

Iirc I looked up and they were mentioning it

quaint cape
rough junco
# quaint cape nope

Then how did you satisfy the pselect mlibc sysdep if you don't mind me asking?

rough junco
# quaint cape I dont.

Interesting, then how do you get to the prompt? Are you doing bash with or without readline?

rough junco
#

Ahh then that makes sense

quaint cape
#

next i gotta debug why it throws out of memory

#

found it

#

my paging_copy impl was broken

#

before i commit ima have to commit quite a bit

astral tartan
#

what is paging_copy copying here? the page tables?

quaint cape
#

now it just copies the user PML4s-

quaint cape
astral tartan
#

I know my page table copying code would probably have hundreds of bugs and race conditions so I just don't copy anything. except the mmap() areas.

#

and lazily populate/CoW and faults.. I tried copying on an older OS, I got random memory corruption and kernel panics all the time..

quaint cape
#

the thing is that as i said i mark everything as shit before being rewritten atleast once

#

when i get whole bash working ill rewrite the syscall logic and the proc logic

#

and some pagin g

astral tartan
#

just rewrite it until it works.. I'm at OS attempt 5 right now KEKW

quaint cape
#

i never change os

astral tartan
quaint cape
#

you learn smth each time

astral tartan
spiral field
quaint cape
#

doing acpi with uacpi rn

quaint cape
#

Hmm anyways guys should I use meson or stick with Make?

#

Which is better?

#

I wanna settle with one before my build scripts get too outta hand.

quaint cape
#

why does uacpi require fflush?

quaint cape
#

going good with uacpi 🙏 (not)

astral tartan
silk valve
silk valve
#

meson didnt play nice with me

#

and makefiles just left my source tree garbled up with objects files

chrome cosmos
quaint cape
#

time to fix acpi driver yee

astral tartan
#

still #GP?

quaint cape
quaint cape
mental otter
quaint cape
mental otter
#

Il just use Linux from scratch if I have to

vital summit
# quaint cape https://www.tomshardware.com/software/operating-systems/california-introduces-ag...

it means nothing. because:

  • an open source project cant force you to upgrade to the version with the age check
  • online centrally managed user accounts arent a thing
  • there is no mandatory "app store"
  • the age check can be patched out by the end user
  • open source projects arent going to pay for the commercial age verification apis theyre peddling
  • theres no 'linux inc' to send a fine, especially not ine in silicon valley
  • the law cant take effect internationally
#

so, just ignore it and carry on as normal

#

whole thing is half baked by someone who thinks: osVendor == (apple || google)

#

its not even enforceable on windows, unless they enforce secure boot only and microsoft store only

quaint cape
#

fixed GP on uacpi entry

#

now i also gotta fix bash stuff

astral tartan
#

bash stuff?

quaint cape
quaint cape
quaint cape
#

still debugging bash though

#

my fork is broken asf btw

vital summit
#

yeah hate it when my fork is broken

astral tartan
quaint cape
#

i hate fork

#

its my num 1 enemy

#

and context switching

#

thats also hell

vital summit
#

in 2009 when I was learning from tutorials I was using the jamesM tutorial

#

it's fork and paging model was just massively scuffed and left broken

#

not as an "exercise for the reader", was just ... bad.

#

I hated it so much I went to read the spec on it

#

the I decided who in their right mind builds a process model like that in the 21st century, and walked my own path instead.

quaint cape
#

Holy this fork shit is making me go crazy

vital summit
#

reject fork return to modernity

quaint cape
#

lol

chrome cosmos
#

i used to hear fork criticised regularly. industry professionals really hated it lol

quaint cape
#
checking for BEOS mounted file system support functions... no
configure: error: could not determine how to read list of mounted file systems
``` huh
#

me trying to build coreutils

#

why the

chrome cosmos
#

when you get a message like that from configure, it's usually the last thing it tried from a list

#

if you search the configure script, you can find the list and what tests it makes

#

df needs a list of filesystems. du i think has a "stay on this filesystem" option which might need the list too

quaint cape
#

ima just enable the linux option in my mlibc

#

or well kind of work

#

and yea i have some logs enabled

#

😭

#

i spammed logs soo much

quaint cape
astral tartan
#

why does it not return to bash?

#

waitpid broken?

quaint cape
#

theres a lot of shit thats broken rn

astral tartan
#

yeah, bash and coreutils are extremly dependent on POSIX-correct syscalls. You miss 1 edge case and everything breaks...

quaint cape
quaint cape
#

hmm ima binge watch yt todau

#

n´prob nkt gonna be much progress

quaint cape
#

lol ima have to update my history file today

quaint cape
#

proper acpi

vital summit
quaint cape
#

i go mainstream

#

i like how auroraos is turning out to just be another astral clone letsgo

spiral field
astral tartan
quaint cape
quaint cape
# quaint cape unsure why.

the whole OS is just getting slower and slower with the days passing as i dont care about optimization anymore

mental otter
#

There is an easy optimization you can make on x86-64

#

(rep movsb/stosb)

silk valve
silk valve
quaint cape
#

Once i get coreutils ported (will send SS of progress later) I'll actually have something to run on it

silk valve
#

maybe thats a point

quaint cape
#

anyone know how to get mlibc to not freak out once i use malloc or free etc..

mild shoal
quaint cape
#

When I've ported bash ima have to write a proper procfs

mental otter
#

@quaint cape Why are you making one giant commit lmfao

quaint cape
#

lol

mental otter
#

I mean why am I talking

#

😭

#

I do the same shit

quaint cape
#

so i just commit a months progress each monthg

#

and before that i do five days of rewrite

#

aka cleaning up logs and shitty stub impls

mental otter
#

Commits are good incase you fuckup lol

quaint cape
#

which made linux panic

#

i waas able to recover it though

#

ZorinOS recovery mode

#

clutch

mental otter
#

💀

quaint cape
quaint cape
mental otter
#

I can’t even get bash to compile dawg

#

🥀

#

Everything wants to have strange ass errors

quaint cape
mental otter
#

I’m lowk gonna just report mlibc

quaint cape
#

bash is easy to compile

#

send me the errors

#

also idgaf if we talk about ur OS in here so feel free to speak

mental otter
quaint cape
mental otter
astral tartan
# mental otter

that's why I'm doing my own libc. Everything just works. (well, at least everything I have implemented)

quaint cape
mental otter
#

My mlibc port is based on a 4 month version so PSP1G_pspTrollar

#

I should update it anyways and refactor a lot of it

quaint cape
#

secondly make sure you have

#

posix

mental otter
#

Yes I have posix BSD and glibc

quaint cape
#

glibc

mental otter
#

Linux fails to compile

#

💀

quaint cape
#

and bsd

quaint cape
#

just decided to do ironclad approach and make it myself

mental otter
#

And I ended up having fucking uhhh one of my mlibc patches be just adding more headers

#

Then everything page faulted at addr0

#

💀

mental otter
mental otter
quaint cape
mental otter
#

Because I did not wana find like all 40 of slender man’s pages XD

quaint cape
#

Also another thing

#

ehh

mental otter
#

Let me get the patch file lol

quaint cape
#

astral uses 5.1

#

like me

#

so yea

#

might be culprint

mental otter
#

Why bash 5.1 tbf

#

Idk my shi is cursed lmfao

#

@quaint cape Ping me when you get that commit in lol

#

So I can port in doom

quaint cape
mental otter
#

dont over work yourself pls

quaint cape
quaint cape
#

if you feel like youre up for a challenge feel free to try and fix that

quaint cape
#

@mental otter pushed

#

ima rewrite my code once ur done

mental otter
#

What’s the build system like?

quaint cape
#

if you feel like youre up for the challenge change that tooi

mental otter
#

good thing thats what i use to build doom

#

XD

#

repo link?

quaint cape
mental otter
#

okay uhh

#

how do i combine these lol

#

or is it a sub module deal

quaint cape
mental otter
#

git submodules

quaint cape
mental otter
#

why is the initrd commited lmfao

quaint cape
quaint cape
mental otter
quaint cape
#

ty

mental otter
#

oops

quaint cape
#

i manually update the initrd after my sysroot

#

btw

mental otter
#

pls make a build system for this

quaint cape
#

i really need a better build system

mental otter
#

doom is gonna make that thing huge

#

steal this lol

#

why did i comment these

#

💀

#

like why did i remove that out

quaint cape
#

its outdated asf though

mental otter
#

pls make a decent build system

#

and remove binary blobs from repo

#

XD

quaint cape
#

look at meta/ramdisk.sh

quaint cape
mental otter
quaint cape
#

./ports/mlibc/mlibc.sh

#

./ports/bash/bash.sh

#

then copy the sysroot/usr into initrd/usr

mental otter
#

fym new branch

quaint cape
mental otter
#

also where do i get ./ports

#

clone the repo inside the repo?

quaint cape
mental otter
quaint cape
#

and then ima consider using jinx

mental otter
#

I was planning the same at some point lmfao

mental otter
#

sorry i diddnt get to porting

#

il try asnd build this tomorrow wahhgone

quaint cape
#

AuroraOS got a new build-system.

quaint cape
#

@mental otter hows it going w porting work=

mental otter
#

im working on fixing my PS.2 driver

quaint cape
mental otter
#

its almost good

#

just refaoring a bunch lol

mental otter
#

It now deadlocks on real hardware

#

💀

#

I did do a fix for IRQLs though

quaint cape
mental otter
#

Nah it’s my IRQLs

#

And shedular spinlocks

#

Well I think

#

If I undo the “fix” it works again

quaint cape
#

Reworking my ports impl to use jinx

quaint cape
#

fun

#

cant build gcc now that i use jinx

#

yeeeaaaaaaaaaa

#

@mental otter btw hold off the doom port work until i get jinx working in maybe a week

#

and meson running etc

mental otter
#

should be easier with jinx anyways

#

after its setup*

#

and initramfs generation

#

because mmLol

#

distrobuting the wad may be a nightmare

#

i have my script yoink it from IA

quaint cape
mental otter
#

thats what i do

#

but for the build system

quaint cape
#

huh something is broken with my jinx impl

#

time to spend an hour debugging some random shit

quaint cape
#

rip have to study today

#

hopefully I'll be able to continue working tmrw

quaint cape
#

time to pick up AuroraOS dev

quaint cape
#

think i fixed most issues

#

time to build bash again

quaint cape
#

Fixed meson

#

RM'ed RFd the makefile now

#

meson is better tbh

#

still have some fun page faults to fix though

mental otter
#

@quaint cape How’s your jinx rewrite going?

#

If everything is setup hopefully I can figure out your build system and get doom going

#

Because I just finished mine and I have ports file I can port

quaint cape
#

Still ironing our some bugs in my impl

#

Might push today or tmrw.

quaint cape
#

running into issues with my sysroot

#

huh

#

might be a bit delayer

quaint cape
#

added attributes to my vfs

#

lol

#

fun times

#

ima go to bed cya

quaint cape
#

Hmm today ima clean upo

#

since my implementation yesterday, were well questionable.

quaint cape
quaint cape
#

Rewrote small part of task stuff

quaint cape
#

hmm auroraos has so many bugs ngl

zealous girder
#

claude please fix all the bugs in my OS make no mistakes

quaint cape
#

might create 1k other bugs though

zealous girder
#

such is life

zealous girder
# quaint cape

you have a cute Limine wallpaper, you may be interested in the new Limine Flanterm FB params request

#

it allows you to keep it into the kernel if you want

quaint cape
#

Always wished for a background.

zealous girder
#

yes! it's quite easy to use, just see the spec, it's at the bottom

quaint cape
quaint cape
quaint cape
#

my kernel didn't like updating to the newest flanterm version:

quaint cape
#

cuz i am having trouble finding it

zealous girder
quaint cape
zealous girder
#

Limine has always used Flanterm internally, but this request is new, it allows the bootloader to optionally pass down to the kernel the Flanterm initialisation parameters so things look continuous and cute

#

you should not rely on the respose existing of course, but if you wanna use it if it's there, then yeah

quaint cape
#

Or wait thats what we've been discussing 💀

zealous girder
#

yes

#

just try it

quaint cape
#

claude please integrate this new Limine feature with my kernel

#

:D

zealous girder
#

it's honestly really easy to do, i doubt you'd find Claude helpful here beyond wasting tokens lmao

quaint cape
#

-# i dont even have claude code btw

quaint cape
quaint cape
zealous girder
#

i am not sure what you mean, all that request does is provide the parameters you can optionally pass to Flanterm initialisation instead of whatever else you'd default to

#

the request doesn't need to be implemented by the bootloader, so you should handle it not being returned

quaint cape
zealous girder
#

you should keep that, this request provides an extra way of getting initialisation parameters for Flanterm, it's not an abstraction

#

you should handle a response not being returned because bootloaders may not implement this and it's not something essential for a kernel to run

icy herald
quaint cape
#

Now I'm starting to understand.

#

Maybe should read those docs?

icy herald
#

yes

#

would be a good idea

quaint cape
#

ohh shit ive misunderstood everything

#

my bad guys

#

sorry for wasting your time

zealous girder
#

np

quaint cape
#

so its basically this?

zealous girder
#

yeah

quaint cape
#

huh upgrading Limine is always interesting

#

why did yall rename so much stuff

zealous girder
#

the new names are better, though note that the ABI is still the same so it's just an API change, but older kernel binaries will keep working as-is

quaint cape
#

why tf doesn't inputs work with the new system lol

#

the background doesn't transfer either

#

fixed input

#

background still stupid

quaint cape
#

@zealous girder sorry to disturb, but what did i forget?

#

shouldnt this produce the expected behaviour or are there some kind of extra-step needed to get the background working?

zealous girder
#

you need to give Flanterm a proper allocator else the canvas won't work

mental otter
#

I do have a question. Does having a proper allocator also speed up flanterm in any way? Or does it just give things for stuff like the canvas etc

quaint cape
#

Noted

#

Ima fix that tmrw

#

Could you also write some sort of docs for flanterm lol.

quaint cape
zealous girder
#

pretty awesome!

zealous girder
#

the allocator is only using during initialisation, not at runtime

#

and the internal bump allocator is crazy fast by virtue of, well, being a bump allocator

#

so if anything your allocators will make initialisation slower

#

but that's not the point, the point is that the pool of the bump allocator is limited so you cannot use bigger screen sizes, canvases, etc, and also it uses a bunch of preallocated space in .bss obviously, which some may wish to disable

mental otter
#

ahhh makes sense

quaint cape
mental otter
#

yeah i think all bugs rn

#

are just stdin being arse

quaint cape
#

mlibc panic for no reason

mental otter
#

try updating mlibc maybe?

#

they made the sysdeps system alot cooler

mental otter
#

@quaint cape does running help twice work for you at all?

#

because the second help

#

decided to repeat like 20 times

#

🥀

quaint cape
#

Considering I can't run one command.

#

I have a hard time believing I can run two.

mental otter
#

Damn

#

💀

#

Not even built ins?

quaint cape
#

Cuz that's the only thing I've tested

mental otter
#

no

#

thats executing bash

#

echo is a builtin

mental otter
#

Hm yeah

#

I did end up getting mine working now tho

#

Just by stubbing every thing possible 💀

quaint cape
#

i got soo many stubs too

mental otter
#

I had to add some functions into the stubs too

#

But bash even things I have job control

quaint cape
#

👏

mental otter
#

No

#

But I lie to bash

quaint cape
mental otter
#

I just like emulate just enough

quaint cape
#

bash can run without

mental otter
#

And just wanted to get it to a clean state

#

🥀

quaint cape
mental otter
#

So I stubbed things out properly

#

Scroll up in my channel

#

Thing was acting cursed AF

quaint cape
mental otter
#

It prints out something

#

And it was printing it every time I pressed enter

#

💀

quaint cape
#

what

#

how

#

what did u do?

#

do you just loop run bash each time

#

wait thats genius

#

who needs waitpid

#

just run bash in a loop for each cmd

mental otter
#

No

#

I didn’t do that

#

It did it

#

On its own

quaint cape
mental otter
#

💀

quaint cape
mental otter
#

Now you see why I did what I did

#

🥀

quaint cape
#

🥀 how did u even get to that point

mental otter
#

Desperation

quaint cape
#

yk what is making me go crazy

#

my fcking jinx shit is bugged

#

you using jinx jet

#

yet*

#

would love to see

mental otter
#

I am

#

It’s on my repo

#

I do a mono repo tho

quaint cape
#

like wtf

#

i didnt change anything

#

holy

mental otter
#

This shouldn’t be happening

#

Unless your hard fucking shit up

quaint cape
#

yea

mental otter
#

Jinx uses containers

#

Check my recipes

quaint cape
#

soon ima start printing all fcking paths

#

i cant either see what jinx is doing cuz im using meson

#

so yea

#

cooked

#

i havent looked at jinx for so long though

#

might just let it run and see if all problems just magically go away

quaint cape
#

time for fundemental build system rewrite since Evalyn pointed out my shitty approach thanks btw <3

#

this is like the third time??

mental otter
#

Do a mono repo this time too

#

🗣️ 🔥

#

Oh btw @quaint cape

#

I ended up using makefiles still

#

Instead of meson

#

Still way cleaner

quaint cape
#

ima use mesn

mental otter
#

Because now the makefile only makes the elf

quaint cape
#

since its just better

mental otter
quaint cape
#

me ❤️ meson

quaint cape
#

you lit have it in your name

mental otter
#

😭

#

Honestly

quaint cape
#

i just think all programmers as boys

mental otter
#

Don’t sweat it

#

I’ve had this happen

#

Like more times than I can count

#

💀

quaint cape
#

though we do have quite a lot of girls in this server

#

tbh

quaint cape
#

yall are quite rare ❤️

#

lol

#

1/100

#

not rly

mental otter
#

I have a thinkpad

#

With arch Linux

quaint cape
mental otter
#

Btw I bet the mlibc panics are from your syscalls mucking up some state?

quaint cape
#

ima just see wherever i return -ENOSYS in my kernel

#

there's quite a lot of places actually

#

some syscalls are stubbed with me just returning enosys

#

which might freak it out.

mental otter
#

Minus ENOSYS?

#

Idk if mlibc wants it like that

#

I give it positive ENOSYS

quaint cape
#

wonder if that could be the reason?

mental otter
#

I stub it

#

By saying it’s always 1970

quaint cape
mental otter
#

UNIX epoch

quaint cape
#

well tbf my error codes and stuff are shit

mental otter
#

0 time

quaint cape
#

ima have to rework that completely

mental otter
#

Why return ENOSYS when you can stub it easily

quaint cape
#

when i get bash working its the next thing

quaint cape
mental otter
#

It’s not a string?

quaint cape
#

int

mental otter
quaint cape
#

<t:1774529618:D>

quaint cape
#

also what is that sys thing

#

i just wrap it in sys_

#

new mlibc thing??

mental otter
#

new mlibc thing

#

update

#

:3

quaint cape
#

clanker rewrite my sysdep

#

:D

quaint cape
mild shoal
#

mlibc expects a positive errno return

#

e.g. return ENOSYS

quaint cape
#

im stupid

#

😭

#

welp

#

easy fix ig

zealous girder
#

cuz if you don't it'll look nicer

#

and boot faster

quaint cape
#

I'm investigating why that happens.

#

Or well, rephrased I shouldnt clear my screen at boot. Might be old bits of code left that does it though

quaint cape
#

damn

#

you were right

#

had a old piece of code who cleared it black.

zealous girder
#

👍

quaint cape
#

what is new?

#

are there any like update details?