#Zinnia
1 messages ยท Page 30 of 1
surely you can just make a minimal image bruh
bruh
bro @spark surge what did you do to flanterm
why is it shit now
:D
i should write an I226-V driver
a zinnia server on real hw + ssh would be fucking funny
what are you referring to, exactly? speed, the fact that it no longer autoconverts \n to \r\n, or what?
the speed is definitely no WC
yes
that's intended behaviour
Because it emulates a TTY
you kinda have to treat flanterm_write as a serial_write, and any driver even on linux inserts \r for that in the write callback before it goes to the wire
That's not really the behavior I was seeing with flanterm
It always just moved to the next line AND reset the column position on \n regardless of whether \r was present or not
Has the behavior changed?
yes
i updated it and it did that all of a sudden
i also do that on com1
but not on flanterm because it didn't do this before
ok fixed
zinux
Did you ssh into it?
Cool
so far no crashes
shit
now i need to check on the server lol
rewrite in C soon 
the fuck?
Mfers in 2026 dont even rewrite their code anymore they just look at claude like this

fuck my stupid chud life
my allocator so ass ๐
the problem with claude is that it's finding bugs in my trash code left and right
how is that a problem?
i keep using it for that 
just don't pay for it anymore :^)
i need to revisit all usages of mutex/spinmutex
there are so many stupid deadlocks in this thing
I226-V driver incoming
i am in the process of rewriting the signal implementation
it was quite bad
for example SIGSEGVs couldn't be caught, it would just terminate regardless
lol
now os-test gets quite far
i also made sure nothing heap allocates in an interrupt
oh and that exposed another polling bug in epoll_pwait()
now the xfce-terminal opens without me having to move my mouse to make the window appear 
since zinnia can now reliably boot on real hardware, i think it's time to try to connect to sortix irc on real hardware
Amazing
I226-V time
technically mbps not mb/s
What's the difference
For physical speed you can say km/h and kmph, or m/s and mps
(Although I haven't seen mps anywhere)
one is in bits while the other is in bytes
The difference is not in / vs p, the difference is in Mb vs MB
You can see that the b is lowercase in Mb/s
If he wrote MB/s, then yeah, that would be incorrect unless it actually refers to megabytes per second
It's true that Mbps is the common form of the term "megabits per second", but Mb/s is just as valid
good to know
Mb/s != MB/s
*Mb
lol
Multiboot 
multiboot=bad yes
milli buckets,
Minecraft
usb stuff has been started
how many litres is one millibucket?
me when i carry 27 * 64 * 7 tons of iron blocks
Me when I get them from a storage cell via a wireless terminal
Me when my turbine engine consumes 64000 liters of kerosene a second
1L; one cubic meter aka one Block is 1000L = one Bucket
dont forget that this water is endless
Not in gtnh
what always perplexed me is that a bucket is 1000 mb, but then a block of a metal is 9 ingots, but an ingot is usually 144 mb of molten metal
but a bucket is a blocks worth of water
1 cell of liquid is 1 bucket UNLESS its a molten metal or plastic, then it is 144 mb
greg logic
i mean the problem is wider than just greg
Or tinkers
this actually does make sense if you take into account that density decreases with temperature
melting a block would give you more than a block worths of that material in liquid form
i guess, but then you need to consider that different metals have different densities?
that's true
wdym
it basically allows up to 4 ps2 devices
i only have one mouse
touchpad
its both probably
oh ok
or well
no
you dont implement multiplexed ps2
so u dont actually know if it works
i will check in linux
linux will use in i2c mode because thats what aml exposes likely
im just saying that in legacy ps2 mode u could see one of those exposed
ig
because ps2 doesnt allow 3 devs obviously
at least on one of my laptops with a trackpoint i have that setup but idk
omfg it works
what does?
yes
LMFAO
i think i messed up the caching mode of the gop or something
I'm getting a solid 1 fps in glxgears
okay that is fixed
Whats the number now
one sec
laptop battery died because i left it on accidentally
note for later
clang somehow creates a textrel dyntab entry on a hello world
@grave peak
xfce is not a fan of me moving the trackpoint
whenever i do it freezes glxgears
this should be running with smp too
yeah
this is so cool
i think this is a good picture to put on the readme :D
move closer to the screen
Nice
@fair lintel btw
i saw your msg in unmapped
(it was caching)
god damn it
@hoary cave isn't this the same place where your thing gets stuck?
is your pc amd by chance?
i have an intel pc lol
bruh
but yeah looks similar
hm
i dont see the rtc print
might just be initgraph ordering
i only see fbcon and discover ap ones
because i recompiled
it's my epyc server
๐
:D
look at ts
ps2
wtf
it's emulated

i finally figured out what broke rust std
i was missing fields from mlibc pthread attr
the fuck
so it was backtracing into undefined pointers

or well, my test program was
but it works now
so in other words
yet another abi mismatch
and i can almost use clang now as well
just this problem
Funnily enough it seems to work fine on asstral now
Not that its even of as much importance anymore with usb hid
Asstral
Ironcrash
Spinnia
๐
yup
that I can do
W
Now go star #1514007971762278452 
On FPGAs of course
It will eventually
But for the time being I have a small box with a screen, ESP32 and an ICE40
Marvins probably gonna ge tmore upvoted than my wine post
who knows
We'll see I guess
I have a feeling the mod of that subreddit has me deboosted or some bullshit because I complained to him once
lol
can mods do that?
Idk
Why not use r/osdev2 aswell?
I mean like it exists for a reason
If it gets content it helps 
reddit is a lost cause
i passed the vibe check
I ruined my entire history like 2 months ago so the older commits all have that same creation date
when in reality I started the rewrite like in december of 2024
@hoary cave i think i fixed the discover-ap hang
i was reading the MADT wrong
idk how this code ever worked
but basically i was reading beyond the end of the table and looping infinitely if it happens to be zeroed out
good job
btw marvin you should also re-test Managarm master with the usb and ap fixes
If only there was uacpi_for_each_subtable 
boring
i should have a kernel test suite for the high level aspects ๐ค
maybe something like user mode zinnia would be cool
Yep
that sounds like a really fun idea unironically
after i get usb hid working i'll definitely try that
@grave peak did you see that one guy hating on zinnia
saying "yet another linux os"
Anything that doesn't have a custom vibecoded crappy gui is Linux compatible, obviously 
you can run tests in kernel too
its very easy
oo
with a custom test harness
Yeah you can make a ktest module for example
yeah i know about the harness thingy, but i was thinking about something that would work nicely with cargo test/CI jobs
the harness does work with cargo test
that's what it plugs into, literally
gives you a slice of test functions you can run
does cargo get to see which tests fail/succeed in detail?
Why not have a vibe coded kernel GUI os that is also Linux compatable

no, because you are no_std
but you can show the user which tests fail and which pass
you get to implement the frontend
that's harder to expose then
not really, you can just output it over serial bro
yeah but i need to parse the results from there
boo hoo

"i have to write code"
i guess, but that's so much more work lol
i guess
and you can't run the tests on real hw that way
but i guess it's not really needed
usermode kernel is useful for other things than testing
i don't think testing QEMU drivers makes sense in CI
more so the core, vfs and stuff like that
I don't have a usermode target but for example I just copy kernel sources to the test dir, with some of them being synthetic and just test that way
So like unit tests but as a normal user app
i would've conditionally declared the kernel as std if testing
then linked it against a portable binary to run the tests
since the kernel is technically speaking just a shared library with an entry point
Yeah
All you need is a custom phys to virt impl and page table abstractions for userspace
do i?
if I'm just testing high level code
Depends on what you want to test
Like im doing a full test suite for all of my allocators for example
Which requires page_to_virt phys_to_virt and basically everything like that
I'll have to see what it entails
Just a custom backend that persistently converts a physical page into some malloced memory or similar etc
Yup
I also posted it on lobste.rs
https://lobste.rs/s/0ichrt/zinnia_modular_64_bit_unix_like_kernel
oh cool I didn't know about this site
ah
well now i actually need to care about my code quality 
after usb i need to clean up my scheduler + signals
Realistically no one reads your code
you will
Most people on HN see cool pictures and description and star
and i respect people that care about the code
Yeah the only reason I read other people's code is to roast them
exactly
Unironically 
thats not a very high bar to cross
Post #2 on lobsters. Page 2 on HN for me. Good luck. Not too many comments yet on either.
HN isnt that bad
If the post has AI in it it blows up tho lol
zinnia: the first AI-ready operating system for the agent age
yay 200 stars 
Damn went from 75 stars yesterday to over 200
Btw I believe this OS had a different name, was it Menix or something like that?
true
also womenix

you would probably have 500 stars by now if it was a shrek png
no, you should have had a kernel shell in vga text mode with key commands "1- About 2- Reboot"
you forgot about 3- init gdt
- Print Shrek
feh --bg-fill shrek.png
You don't need dhcp for ipv6
but i want to do it before that
dead project
๐ชฆ
Here lies zinnia
You can tell it's zinnia since we put its name on the stone
i ported git
i really wish porting rustc was easier lol
the toolchain is the worst part of rust
When did git start using rust?
what?
my rustc rant is unrelated to git
i wanted to compile the kernel on itself
but it's just not working
oh lol
i need to add my target to like 10 different crates
though git was adding rust a while ago
https://lore.kernel.org/git/[email protected]/
and i don't understand how i can use these patched crates for both cross-cargo and cargo
๐ญ
AAAAAAAAAAAA
trolled
fell for it again award
literally me
What build server is this?
Buildbot Web UI
Ah neat
If only Jinx supported conditional patches...
why would you need that
just write your patches in a way that makes them unconditional
Because I disable different stuff for different architectures
that sounds wrong
but why would you need to patch anything there
you said patches
im confused
Whatever command that the buildbot is calling that gets all packages doesn't resolve the environment variables
And it doesn't work
it runs jinx dry-run "*"
false
when did you have that idea
pay me 3 gazillion $
ive been doing that for a year
i mean it's not entirely a novel idea 
i shilled it for a year also to infy
so maybe you were victim of my shilling unconsciously
so do i
im not sure how far along you are but https://github.com/rdmsr/zag it's all in um/ subdirectories if you wanna check how I do stuff
zamn
I can run the entire kernel under um
i can't
and i don't want to
i just want a barebones CI harness
so i can have tests run without a qemu
how does it work on linux? ptrace?
capturing syscall's
#1485107693458030706 message
real
i would say my device tree parser/small decompiler works quite well
i'm looking for dhcp clients to port
as @fair lintel put it: the consequence of not rewriting ten times
Astral netd 

i found some suckless shit that just needs AF_PACKET
the alternative is bsd stuff which wants /dev/bpf
lol
i'm porting sdhcp
AF_PACKET is an okay interface IMO
actually wait
sdhcp works via udp
funny
dhcp is just udp and some ioctls/sysctls
good point, i should implement getifaddrs
๐ what
why would you do that
i might slop ipv6 becvause i don't understand how it works myself
but cmon
don't do that
vrother
Cringe
do you have ipv6
no you misunderstood
i want to learn it, but i'll just ask where to find the info and the relevant parts
in the rfcs
i'm not reading all of it
it's still kind of slop because i'm using the slop engine
but less slop than gloire
i wasn't even going to touch ipv6 until that person opened an issue asking for it
lol
Wait for ipv8
AI slopped ada โ ๏ธ
i was about to mention it but then i remembered to scroll down lmao
systemd-networkd
good joke
yo?
i think we're cooking
i think the gateway is fucked
i can only reach stuff on 10.0.0.0/24
lol this is what i get for trying to use "suckless" software
(it does in fact suck and doesn't do the dhcp handshake correctly)
yooooo
let's go
lol
it's not quite a waterfall
more like one of those loops from the sonic the hedgehog games
Is that off the shelf or did you sloperate a new one
it's suckless dhcp
like i said
.
I'll look for an alternative maybe
Oh ok so you are slopping but like human slop
hm true
but that'd be the only applet I'd use lol
i already use gnu coreutils
hm
do i bite the bullet and just implement AF_PACKET
then use dhcpcd
oh wait
dhcpd is already portable kinda
that was fast
well the backend wasn't all that complicated tbh
i forgot what the dhcpcd codebase looked like but i remember the linux backend looking like a mess
i'm not using the linux backend thankfully
the patch is about 300loc
most functions i just stubbed
you just need a way to do raw packets
i do AF_PACKET
zinnia has gone woke
womenix
based tik
neat
i also have a crs309
oo fancy
hell yeah
i should add a driver for my Intel X570
im stuck with gbe ๐ญ
woe
i have a hexS since i dont have any 10gbe stuff and if i want 10gbe i'd probably get a 10gbe switch instead
my internet is like 600mbps so it handles it fine
ironically my internet is 100mbps down
40 up
but my homelab is a rack of 5 machines which need to talk to each other fast
i'm moving all my games to one of them, and my pc just loads them via fiber
sure, my actual internet isn't that fast, but anything that happens inside my room is blazing fast ๐
loading them locally from an nvme would be quite a bit faster still but with 10gbe it doesnt sound so bad
well
you're right about that, but it realistically doesn't make that much difference
yeah
holy shit
let me grab the box
i have 2 gen 3 nvmes in a raid 0 giving me ~5000MB/s
and thats not even close to what you have lmao
ah
"I am rich and I must be esten"
Allow me to flex my wasting of money:
- Ryzen 9700X, 64GB DDR5, 2TB Gen 5
- Epyc 7443, 128GB DDR4, 1TB Gen 4
- 2x Epyc 7402, 512GB DDR4, 1TB Gen 3, 18TB SATA
- Core Ultra 265KF, 64GB DDR5, 4TB Gen 4 + 2TB Gen 4
- Radxa Orion O6, 16GB LPDDR5, 1TB Gen 3
that's my current homelab
porn building packages in tmpfs
eat the rich
512gb of packages...
mfw porn in tmpfs
Seize the means of computing
well
i do store all sources, build dirs and build results
try building webkit/chromium with -j96
this is actual server hardware which only takes RDIMMs
true
and you get a benefit of you run all 16 memory channels
i was ooming at -j32 with 64GB
yeah this server has 96 threads
for webkit i think it was (or qtwebengine)
i've never owned any server hardware so yeah
the Epyc 7443 machine has 48 threads, but a significantly better single core perf
my "server" has a literal ryzen 5600 and 16gb of ram
buy
you can get these server cpus for cheaper than you think
like ~100โฌ
well there's one very expensive piece nowadays 
they're not expensive anymore because they suck balls
it's about as good as a 9950x in MT
dedotated wam
C++ software is not included in the dataset for skewing the results
wtf
the neat thing about epycs is that you get 128 pcie 4.0 lanes
well it wouldn't be that bad if they didn't do unity builds for parts of it
ig the nvmes take up a bit
hmm yeah i did the math and realized lmao
If you want to look it up, this is a Supermicro H12SSL-NT
there's some really cool I/O on this
stuff you've probably never heard of
1000eur second hand ๐
and of course an ipmi kvm bmc
fake
probably
i paid 650โฌ brand new
what in the actual fuck
that's fuckign crazy
You vill own nothing and ve happy
what about it
i bought 32gigs when they announced the framework 13 pro for 250โฌ
next day sold out everywhere, last know price over 800โฌ
how many cores those epycs?
there are legit 0 offers for lpcamm memory here
all three 24c/48t
the 7402s are dual socket
ah so like 96t total?
ye
my server used to have 16gb of... ddr3
just write your programs better
that kinda hardware sounds fun to do tests on
if i had server grade stuff like that I could properly benchmark concurrency stuff
yeah I know
run this on it 
but change the code to use like 96 threads instead of 12

problem with that xeon stuff is that it's 1. old and 2. power hungry
cool
which is what they're designed for ig
threadrippers are very similar, but just don't idle as well
you can get first gen ones really cheap
or second gen even
i see cpu+mobo combos for about 300โฌ
the biggest problem you'll have is that they only take rdimms
wdym
some ryzen 9s have 16 cores
the point of getting a server CPU is more cores
but ryzen 9 is a consumer CPU and has 16 cores
and IO
GPU cluster
like a 40g nic, multiple gpus at full speed, nvme bifurcation cards, etc
you mean on smp boot?
yeah
i can boot all 95 APs
i can also disable xapic mode
it's kinda funny
managarm couldn't cope with it until i fixed it
yeah
could you compile something with -j96 without it being dogshit slow
I'd have to try
I'm going to finish usb mass storage today maybe, then i can easily create and test stuff on real hw
I'll let you know
implement xhci in zag 
but even on -j1 my kernel runs gcc quite fast 
yea but my point is parallelization not speed
it might be slower at -j96 than like -j4
i could imagine that my tlb shootdowns are that bad
i have never tested
i only know it runs well on -j20
on my pc
well that's good
ig a way to measure scalability is how performance scales (who would've thought?)
i have yet to benchmark anything, most of the time I'm glad if it runs at all
i didn't want to say "I'll steal your ideas"
managarm also does async shootdowns
you might want to steal their design too
#1485107693458030706 message
uh
that's how it works
how do i say this
i already do
then my shootdowns are also async 
minus asids
i guess not really then
i hacked together an impl that works quite well
but i don't understand why it works
look at the blue cable
then nvm
your design could still be made asynchronous though
i think i didn't do it because of that munmap thing
it's basically asynchronous but you bolted synchrony on it
but if i don't need to care if shouldn't be ab Problem
my design is roughly similar to that
IPIs are not strictly needed, you just have to do it periodically (I do it on every quiescent state)
idk if it's better, I'd have to think about it
it probably is better, because mine isn't very well thought out
well yours is from managarm
and managarm's is from korona
and korona has a phd
vs 18 yo with no degree ๐
phd code mutilated by an idiot
fwiw i also don't have a degree
i am a state certified SWE tho
my title is "Fachinformatiker Anwendungsentwicklung"
you could've mashed your keyboard and I wouldn't have known
IT Specialist in Application Development
How have you done usb so quicktly bruh
โ ๏ธ
Yeah but I wpuldve expected tvat to take longer
i have been working on it for 2-3 weeks i think
i started before czapek started playing cs2 24/7
Yeah bro just vanished from the vcs
he was in a few days ago
me implementing yet another linux api just to get kde to compile
BSD larp (uBuntu Software Distribution)
fr
well, i just implemented net/bpf.h
that's about as bsd as it gets
whenever I'm working on my mlibc abi i see AF_BLUETOOTH and it makes me wonder what the bluetooth stack looks like
Why do you need that for kde bruh
dhcpcd
What linux api are you implementing fir kde
some kankerfd i forgor what it's called
I'm basically going through dennis' kde prs
and translating to jinx
๐
i think the managarm one might be better for a general-purpose thing
Yes
port xdm
the x stands for good

do i hear? chicken?

While at it make the default theme be the one my school computers have from the gov distro 
Fuck you Android
to compile android /s
lol
Bro give me some RAM ๐ญ
Don't give me the ram, il end up eating it.
Plus I have uh 32 + 16 + 16 + 16 + 16 + 8 + 8 + 2 gigabytes of anyways in my hands anyways 
I have 16 GB of laptop DDR4 memory on an adapter from AliExpress
bruh
In this economy?
I used to have it on my laptop way before the RAM crisis, when I built my PC I couldn't afford to buy new RAM so I ended up taking it from my laptop
I don't think I have much else to say
using frg::string and string_view would have been nice, but whatever
I wouldn't bother rewriting it to that now tho
okay
what we may want to do at some point is to provide "default" impls for this that you can switch to with some meson flag
in what way?
which would be implemented in terms of e.g. netlink or BSD socket ioctls
so that you would just opt into one of those instead of having to roll this yourself
yeah
getifaddrs is actually a good example of this, there's a good chance that most sysdeps use one of the two mechanisms anyway, otherwise they'd have to write it themselves
should be fixed now
@near tartan if I cooked up a generenic pkill/ps/etc implementation and made it generic/use sysctl (so no /proc brain damage) would u use it
yeah
uhhhhhh
(it doesn't work)
thank you to dennis for the recipes
oh bruhhh this is a DRM meme
nooooo
tfw
miscompilation
me when startplasma hard codes some systemd shit
fuck that
Bro didnt know kde is systemd hardcoded under compile
How much is the power bill
And 5 whole great rigs
What the hell man
systemd's nuts
dbus is not only systemd
what
no like, startplasma.cpp has some systemd code in there
didn't we do this already for getifaddrs?
no
this was a draft pr by me
but it wasn't merged
i think?
or are you talking about something else
I'm not sure if we merged that, and I only remember doing netlink anyway
that's in the linux sysdep
iirc the getifaddrs sysdep is gated behind linux
and my patch moved it out but there were some comments left to address
ah no, we discussed that as part of https://github.com/managarm/mlibc/pull/1705
the consequences of having a job and living with your parents
you could be saving up for a car or some shit
in fact i bet you could buy a second hand car with the price of two of those
i already have a car
makes sense
used too
that extra thousand euros per month (or more) really coming in handy, huh
I updated that PR, pls take a look
๐
it's really not that bad
well it doesn't seem to compile
if the linux option is disabled probably
i need to fix my risc-v port
everyone be getting kde running now huh
mlibc users stay winning
the cycle of osdev discord:
step 1: ideas are born, memes are made of Dennis suffering
step 2: managarm get shit working on mlibc
step 3: wait 5-10 business days
step 4: multiple hobby OSes now have it
what is left for mlibc at this point
gnome
you have systemd, chromium, kde
and upstream
at least I got 2 firsts 
wine and minecraft

managarm had some of wine working before astral tho 
kde isn't that bad to port if you pretend to be a bsd or linux tbh
(it was quite limited tho)
if you get gta 3 and gta san andreas running in wine with hardware acceleration using the nvidia module
im instantly uninstalling linux
firefox?
firefox too?
idk I dont think they have firefox yet
yes we do
I was answering "what's missing?"
no

welp
thanks to 
ok so what is left then
year is 2032
and unclankering firefox
mlibc has taken over glibc
but time
uacpi has taken over acpica
YEAR OF THE MLIBC
has rust been ported yet?
yes
zig?
nobody bothered with zig yet, lol


