klange changed the topic of #osdev to: Operating System Development || Don't ask to ask---just ask! || For 3+ LoC, use a pastebin (for example https://gist.github.com/) || Stats + Old logs: http://osdev-logs.qzx.com New Logs: https://libera.irclog.whitequark.org/osdev || Visit https://wiki.osdev.org and https://forum.osdev.org || Books: https://wiki.osdev.org/Books
[Kalisto] has quit [Read error: Connection reset by peer]
[Kalisto] has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
Left_Turn has quit [Ping timeout: 268 seconds]
Arthuria has quit [Ping timeout: 260 seconds]
gog has quit [Ping timeout: 240 seconds]
[Kalisto] has quit [Read error: Connection reset by peer]
[Kalisto] has joined #osdev
Left_Turn has joined #osdev
Left_Turn has quit [Read error: Connection reset by peer]
[Kalisto] has quit [Read error: Connection reset by peer]
[Kalisto] has joined #osdev
[Kalisto] has quit [Read error: Connection reset by peer]
nikolapdp has quit [Remote host closed the connection]
[Kalisto] has joined #osdev
[Kalisto] has quit [Read error: Connection reset by peer]
<Ermine> > This flag [CR0.WP] facilitates implementation of the copy-on-write method of creating a new process (forking) used by operating systems such as UNIX --- I lol'd
<heat> memory protection is for losers
netbsduser has quit [Ping timeout: 256 seconds]
voidah has joined #osdev
nikolapdp has joined #osdev
<nikolapdp> pdp11's back
<zid`> OH NO
<zid`> I mean, oh no, my keyboard needs its cable fixing
<zid`> surprised the tape solution lasted as long as it did
navi has quit [Ping timeout: 260 seconds]
nikolapdp has quit [Ping timeout: 264 seconds]
edr has quit [Quit: Leaving]
nikolapdp has joined #osdev
<nikolapdp> that's sad zid
<zid`> The poor piggies, or the surprisingly-long-term-tape-fix?
<zid`> This keyboard had cargo cult strain relief. It was the shape of strain relief, but was actually made of hard plastic, so it just rubbed the cable through.
<zid`> like those apple cables
<nikolapdp> not sure about the poor piggies so i'll go with the weird fix
<zid`> I was watching Clarkson's Farm, s03e04 is about their piggies
mctpyt has quit [Remote host closed the connection]
mctpyt has joined #osdev
Matt|home has quit [Quit: Leaving]
<geist> huh that show looks actually pretty good
<geist> when i first heard about it i assumed it'd just be too much clarkson silliness, but it looks like it is fairly well reviewed
skipwich has quit [Quit: DISCONNECT]
skipwich has joined #osdev
srjek has quit [Ping timeout: 264 seconds]
heat has quit [Ping timeout: 268 seconds]
Gooberpatrol66 has joined #osdev
ZpCola has joined #osdev
ZpCola has quit [Quit: Client closed]
ZpCola has joined #osdev
ZpCola has quit [Client Quit]
Arthuria has joined #osdev
voidah has quit [Ping timeout: 240 seconds]
MakaAlbarn has joined #osdev
Arthuria has quit [Ping timeout: 260 seconds]
<MakaAlbarn> I'm looking for a recommendation. Which of these three should I work on first? the FILE descriptor, Serial I/O, or refining the Memory Manager?
<Mutabah> Serial is nice for debugging
<Mutabah> By `FILE` descriptor do you mean your custom libc, or just the general concept of files/streams in the user-kernel API?
<MakaAlbarn> ...both
<Mutabah> filesystems can be fun :)
<MakaAlbarn> On that note, is there a way for GRUB to check what the filesystem of the boot device is?
<MakaAlbarn> also, I'm saving filesystems for after I have module Un/Loading
<kof673> i jump around a bit to prevent going insane...as long as some progress in made on some portion i do not worry about such
<kof673> *is made. it really depends whether things are supposed to be "integrated" or "separate libraries" etc. and how closely tied they are, whether they can be used alone or not, etc.
jjuran_ has joined #osdev
jjuran has quit [Ping timeout: 268 seconds]
jjuran_ is now known as jjuran
gildasio has quit [Ping timeout: 260 seconds]
gildasio has joined #osdev
simpl_e has quit [Remote host closed the connection]
rustyy has quit [Ping timeout: 260 seconds]
gbowne1 has quit [Read error: Connection reset by peer]
nikolapdp has quit [Ping timeout: 252 seconds]
vai has joined #osdev
vai is now known as Jari--
MakaAlbarn has left #osdev [#osdev]
teardown has quit [Ping timeout: 260 seconds]
teardown_ has joined #osdev
rustyy has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
theyneversleep has joined #osdev
Left_Turn has joined #osdev
node1 has joined #osdev
illis has joined #osdev
illis has quit [Client Quit]
GeDaMo has joined #osdev
gog has joined #osdev
node1 has quit [Quit: Client closed]
gildasio has quit [Ping timeout: 260 seconds]
gildasio has joined #osdev
osdev199 has joined #osdev
netbsduser has joined #osdev
<osdev199> Hi, my `nvme_admin_wait` function is executing an infinite do-while loop (line #197 at https://github.com/robstat7/Raam/blob/618268608bf9a3c736280f21965802f7d72cd225/nvme.c#L197) while checking the admin completion queue.
<bslsk05> ​github.com: Raam/nvme.c at 618268608bf9a3c736280f21965802f7d72cd225 · robstat7/Raam · GitHub
<osdev199> is it because the admin entry was never processed or is there something wrong with the commands I submitted to the nvme controller beginning line #250?
osdev199 has quit [Remote host closed the connection]
osdev199 has joined #osdev
oldgalileo has quit [Ping timeout: 268 seconds]
osdev199 has quit [Remote host closed the connection]
gog has quit [Quit: Konversation terminated!]
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 240 seconds]
srjek has joined #osdev
MrCryo has joined #osdev
oldgalileo has joined #osdev
bauen1 has quit [Ping timeout: 264 seconds]
goliath has joined #osdev
stolen has joined #osdev
rustyy has quit [Ping timeout: 264 seconds]
wlemuel has quit [Quit: wlemuel]
wlemuel has joined #osdev
m257 has joined #osdev
PublicWiFi has quit [Ping timeout: 268 seconds]
rustyy has joined #osdev
[Kalisto] has joined #osdev
wlemuel has quit [Read error: Connection reset by peer]
MrCryo has quit [Quit: MrCryo]
MrCryo has joined #osdev
MrCryo has quit [Quit: MrCryo]
MrCryo has joined #osdev
navi has joined #osdev
oldgalileo has quit [Ping timeout: 240 seconds]
oldgalileo has joined #osdev
stux has joined #osdev
bauen1 has joined #osdev
<ddevault> here's the latest bunnix iso, if anyone wants to give it another spin: https://files.catbox.moe/ral8q8.iso
<ddevault> new: mandoc, less, tcc, make, vim, advent
<ddevault> qemu-system-x86_64 -cdrom bunnix.iso [-display sdl] [-serial stdio]
arminweigl_ has joined #osdev
arminweigl has quit [Ping timeout: 268 seconds]
arminweigl_ is now known as arminweigl
heat has joined #osdev
<heat> ddevault, are you using a ram disk or are you reading the isofs directly?
<heat> (for stuff like big ports on the ISO)
edr has joined #osdev
<ddevault> ram disk
<ddevault> but I started gzipping it as of a few hours ago
<ddevault> oh, and doom is also on this iso I think?
<ddevault> there's a few minor changes on top of this but I'm ready to call it Good Enough
<ddevault> took 27 days in the end
<heat> btw that download link sucks ass
<heat> i've been downloading your iso for ~3 minutes and counting
<heat> yeah tmpfs is a simple solution but it falls flat on its face for stuff like, idk, gcc
<Ermine> Worked faster for me. I had to use vpn tho
<Ermine> I can't type small letters after man intro
<Ermine> I'm running it on my old pc, and bunnix made it to shell. Good job!
<ddevault> yeah, I don't really have a better place to stick this iso tbqh
<ddevault> thanks Ermine!
<Ermine> correction: small letters stop working after I press up button
<ddevault> the terminal driver is probably buggy, man works fine for me but I wouldn't be surprised if there were edge cases
<ddevault> eh... I should probably fix that
<ddevault> two-character input codes probably break things with my current shitty keyboard driver
<Ermine> Also, where doom
<ddevault> it might not be on that iso, I can make a new one
<ddevault> anyone know of a good place to drop the iso?
<heat> vim doesn't work
<ddevault> how so?
<heat> i can't exit vim or input any commands
<heat> i can insert and that's it
<ddevault> escape doesn't work?
<heat> nope
<ddevault> weird
<ddevault> you on a PS/2 keyboard or emulated via USB?
<heat> qemu default so PS/2
<ddevault> might be that the state was hosed after pressing an extended scancode key
<ddevault> I just added a small patch to deal with those, so maybe it'll work in the next iso
<Ermine> Btw my keyboard is usb, so it's ps/2 is emulated
<sham1> I use USB, btw
<heat> the weird bit is that "vim" "\n" ":q" doesn't work either
<ddevault> first encounter with the enemy, eh
<heat> oh you're not echoing control sequences properly too!
<ddevault> new iso, keyboard fix plus doom https://files.catbox.moe/19ziv3.iso
<heat> ugh i'd like to try it but i don't want to go through another 14min download
<ddevault> how's this? https://f.uguu.se/zcbSfqpZ.iso
<Ermine> And on my thinkpad, I get empty screen after loading initrd
<heat> much better
<heat> nope, vim doesn't work properly yet
<heat> WAIT, IM STUPID
<heat> ... i was pressing my native keyboard layout keys
voidah has joined #osdev
<erai> Wow nice lots of bunnix progress!
<heat> ddevault, pressing / on the keypad spits out two slashes instead of one
<heat> your terminal also looks racey
<ddevault> the terminal is hacky/buggy
<ddevault> for sure
<heat> it is fast at scrolling though
<heat> (i've never figured that out properly)
<ddevault> I spent a lot of time on terminal performance
<Ermine> what's the secret sauce?
<heat> do you ratelimit the scrolling?
<ddevault> it updates at no more than 24 Hz
<ddevault> it's double buffered and tracks damage and only swaps the parts of the buffers which were changed
<ddevault> any updates are queued up behind that 24 Hz clock
<heat> right
<heat> thatz cheting!!
<ddevault> is it
<ddevault> terribly sorry
<heat> i have double buffering too (not using a fb, but a console buffer), but scrolling really kills my vt's perf
<heat> because it dirties the whole screen
<heat> meaning output that scrolls a lot is consistently slow
<ddevault> I also dirty the whole screen on scroll, but it's still pretty fast
<ddevault> I can redraw everything at that 24 Hz budget if I didn't track damage
<ddevault> I'm careful not to have pixel-wise loops, I work with a row at a time via memcpy
<bslsk05> ​git.sr.ht: ~sircmpwn/bunnix (master): sys/vt/ - sourcehut git
foudfou_ has quit [Ping timeout: 260 seconds]
m257 has quit [Quit: Client closed]
<Ermine> keyboard fix didn't work
<Ermine> Still, an impressive endeavour
<ddevault> thanks :)
foudfou has joined #osdev
<heat> yeah great work :)
<ddevault> ^^
voidah has quit [Remote host closed the connection]
m257 has joined #osdev
m257 has quit [Ping timeout: 250 seconds]
m257 has joined #osdev
<heat> sbase tar doesn't take old style flags
<heat> literally unsable
<heat> unusable
oldgalileo has quit [Ping timeout: 268 seconds]
<bslsk05> ​xkcd - tar
oldgalileo has joined #osdev
<bslsk05> ​drewdevault.com: Writing a Unix clone in about a month
<heat> "sbase is good software written by questionable people. I do not endorse suckless. "
<heat> upvote
<heat> btw you have a memory leak somewhere
<ddevault> I'm sure I have lots of memory leaks
<heat> if, at the login prompt, you ctl+d a bunch of times, it ends up crashing on fork with a OOM
<ddevault> hah
<heat> also i couldn't exit doom
<heat> nor shoot
<ddevault> oh yeah I know about the doom exit issue
<ddevault> shoot is rshift
<heat> ah
<heat> wasnt it supposed to be ctrl?
<ddevault> dunno, I didn't bother making the keybindings good
<ddevault> I had a todo to fix that and never got around to it
<ddevault> >Tip: the DOOM keybindings are weird. WASD to move, right shift to shoot, and space to open doors. Exiting the game doesn’t work so just reboot when you’re done playing. I confess I didn’t spend much time on that port.
<ddevault> added to the blog post
freakazoid332 has quit [Ping timeout: 240 seconds]
srjek has quit [Ping timeout: 268 seconds]
<Ermine> I probably should finish my portable-utils project so people have an alternative to sbase
<ddevault> there is a core utilities project in Hare but it's woefully incomplete
leg7 has joined #osdev
<Ermine> My project is in the same state
<ddevault> I think sbase is fine
<ddevault> I might fork it if I ever feel the urge to flesh out more core utils stuff
<ddevault> upsetream is slow, only a handful of commits per year
<ddevault> upstream*
<ddevault> I think when I sit down to write A Serious Operating System (lol) I have learned most of what I need to design it right by now
<ddevault> the only big thing I've never messed with is SMP
<ddevault> glad I saw both sides of the micro/monolithic fence
<heat> SMP is a pretty big thing
<ddevault> yeah, I'll probably write a simple OS with SMP support to start off just so I can run into all of the design problems upfront
<Ermine> what about knightos? wasn't it monolithic?
<ddevault> then throw it out before starting A Serious Operating System
<GeDaMo> MultiBunnix :P
<ddevault> I was a kid when I wrote KnightOS
<heat> as soon as you start thinking about performance and SMP you'll find it a lot harder to design something properly
<heat> and actually writing it
<ddevault> it doesn't have much useful design inspiration to source for a serious project
m257 has quit [Ping timeout: 250 seconds]
<ddevault> it's monolithic in some sense but the z80 lacks a decent MMU or privilege rings and I took advantage of that throughout the design
<ddevault> so it's not particularly suitable for applying to any real project
<ddevault> dear god I've lived half my lifetime between now and when I started KnightOS
Halofreak1990 has joined #osdev
bauen1 has quit [Ping timeout: 260 seconds]
stolen has quit [Quit: Connection closed for inactivity]
osdev199 has joined #osdev
<osdev199> Hi, what is the way to look at why the admin command was never processed by the nvme?
<heat> is this qemu?
<osdev199> no, real machine
<heat> have you tested in qemu? does it work?
<osdev199> no I didn't tested it.
<osdev199> *test
<heat> then test in qemu first
<heat> -trace pci_nvme* if need be
FreeFull has joined #osdev
<osdev199> I'm having an issue on qemu regarding the MCFG table (couldn't found). I'm thinking if I can test it on my real machine directly atm!
<osdev199> I'm building the command struct like this: *((uint32_t *) ((char *) nvme_asqb + 4)) = cdw1;// CDW1
<osdev199> *((uint32_t *) ((char *) nvme_asqb + 8)) = 0;// CDW2
<heat> fix your qemu issue
<bslsk05> ​github.com: Onyx/kernel/drivers/nvme/nvme.cpp at master · heatd/Onyx · GitHub
xenos1984 has quit [Ping timeout: 260 seconds]
xenos1984 has joined #osdev
wereii has quit [Quit: ZNC - https://znc.in]
wereii has joined #osdev
goliath has quit [Quit: SIGSEGV]
<osdev199> heat: on qemu, I'm getting the BAR0 address as 0x0
<heat> sounds like your PCI code is busted
<osdev199> but it works correctly on my real machine
oldgalileo has quit [Remote host closed the connection]
oldgalileo has joined #osdev
<heat> why does that matter?
<heat> i guarantee you that qemu's PCI implementation is correct
<osdev199> I'm have PCIe code. Does that make any difference?
<osdev199> *having the
<heat> qemu by default gives you PCI, not PCIe. pass -machine q35 for PCIe
oldgalileo has quit [Ping timeout: 260 seconds]
<osdev199> Passed. Getting the same error.
foudfou_ has joined #osdev
foudfou has quit [Ping timeout: 260 seconds]
srjek has joined #osdev
xenos1984 has quit [Ping timeout: 268 seconds]
<osdev199> heat: any idea?
<heat> nope, nothing comes to mind, sorry
<osdev199> I went through your driver. I guess I'm also doing the same thing.
gog has joined #osdev
oldgalileo has joined #osdev
xenos1984 has joined #osdev
oldgalileo has quit [Ping timeout: 240 seconds]
theyneversleep has quit [Remote host closed the connection]
osdev199 has quit [Remote host closed the connection]
* Ermine gives gog a piece of cheese
<netbsduser> osdev199: and pray what are you doing in your PCI code
oldgalileo has joined #osdev
* gog fascinate
gog has quit [Remote host closed the connection]
oldgalileo has quit [Ping timeout: 240 seconds]
gog has joined #osdev
<gorgonical> one of my maxims: every day I get to eat cheese is a good day
<gorgonical> Makes sense cheese would fascinate women
oldgalileo has joined #osdev
oldgalileo has quit [Ping timeout: 256 seconds]
teardown_ has quit [Ping timeout: 260 seconds]
<bslsk05> ​theconversation.com: The spellbinding history of cheese and witchcraft
srjek has quit [Ping timeout: 240 seconds]
oldgalileo has joined #osdev
leg7 has quit [Ping timeout: 260 seconds]
oldgalileo has quit [Ping timeout: 272 seconds]
<mjg> gorgonical: just admit you like smelling your own farts
oldgalileo has joined #osdev
oldgalileo has quit [Ping timeout: 272 seconds]
<geist> i was gonna ask the osdev199 person what arch they're on
<geist> if they're not on x86 qemu does not configure the PCI bus on boot
<heat> in that case they would see all-1s
<heat> right?
<geist-sdf> hmm, i think it defaults to all 0s, and that's how you know it's misconfigured
<geist-sdf> but you write all 1s to it to determine the size/alignment
<geist-sdf> to see which bits are implemented
oldgalileo has joined #osdev
<netbsduser> making sure to unset memory space in the cmd byte first
oldgalileo has quit [Ping timeout: 256 seconds]
<heat> yeah i can confirm geist-sdf
<heat> it returns 0's
<heat> which is confusing, because qemu's info pci shows you all-1s
<netbsduser> i wonder what arch this osdev1999 is targeting then
<netbsduser> maybe he is doing some weird no-firmware thing, some people are really into that
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
<heat> you can't do no-firmware on x86
<heat> it's plausible this is some arm board
Matt|home has joined #osdev
bauen1 has joined #osdev
<geist-sdf> or question: does BAR0 need to be implemented on nvme? ie, is it according to spec?
<geist-sdf> or is it defined say in an PCI config extension that says which bar is what?
<geist-sdf> virtio does that for non transitional stuff
Gooberpatrol66 has quit [Quit: Konversation terminated!]
<Halofreak1990> "which is confusing, because qemu's info pci shows you all-1s", which, according to the OSDev wiki, indicates a non-present device
<heat> geist-sdf, yep, according to spec
<netbsduser> Halofreak1990: not for bars i don't think
<heat> a non-present device will return 1's for all reads
oldgalileo has joined #osdev
<netbsduser> you'd be looking at the dev and vendor id though
<heat> sure but it's not like the host controller cares about most of these registers
<heat> reads are passed through to the device, which doesn't exist
<heat> hence, all-1s
<geist-sdf> yah non present devices look like all 1s
<geist-sdf> but i think present but unconfigured looks like 0s (in the bar slots at least)
oldgalileo has quit [Ping timeout: 240 seconds]
<Halofreak1990> hmmm
ebb has quit [Quit: Somebody set up us the bomb]
ebb has joined #osdev
teardown_ has joined #osdev
ebb has quit [Max SendQ exceeded]
oldgalileo has joined #osdev
ebb has joined #osdev
ebb has quit [Max SendQ exceeded]
ebb has joined #osdev
MrCryo has quit [Remote host closed the connection]
ebb has quit [Max SendQ exceeded]
ebb has joined #osdev
teardown_ has quit [Ping timeout: 260 seconds]
ebb has quit [Max SendQ exceeded]
teardown_ has joined #osdev
ebb has joined #osdev
ebb has quit [Max SendQ exceeded]
ebb has joined #osdev
wantyapps has quit [Quit: ZNC 1.9.0 - https://znc.in]
wantyapps has joined #osdev
ebb has quit [Max SendQ exceeded]
ebb has joined #osdev
wantyapps has quit [Quit: ZNC 1.9.0 - https://znc.in]
wantyapps has joined #osdev
ebb has quit [Max SendQ exceeded]
ebb has joined #osdev
ebb has quit [Max SendQ exceeded]
ebb has joined #osdev
ebb has quit [Max SendQ exceeded]
ebb has joined #osdev
srjek has joined #osdev
ebb has left #osdev [WeeChat 4.2.1]
gbowne1 has joined #osdev
gbowne1 has quit [Remote host closed the connection]
gbowne1 has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
node1 has joined #osdev
Halofreak1990 has quit [Ping timeout: 256 seconds]
xenos1984 has joined #osdev
Matt|home has quit [Remote host closed the connection]
<bslsk05> ​pub.sortix.org: service(8)
<FireFly> don't drop this sortix or it might explode
<FireFly> sortie: anyway, neat ^^
<sortie> FireFly, I really love this feature, it makes Sortix really useful dynamically for real server workloads and system maintenance
<kof673> gog: see genesis/alchemy. "dry land" is "caked" around "day 3"...for "the worm" ...basilisk, medusa, the shamir perhaps lol the phoenix lays a golden egg, a serpent eats it, every year lol
<kof673> point: conway's law.....it is all the same
<kof673> just lost in translation :D
<sortie> Plus it hooks directly into the true power of the init's reference counted graph, basically it lets you add/remove edges at runtime, plus restarts/reloads, and the init core will automatically take care of starting/stopping daemons as needed to actuate the new graph
node1 has quit [Quit: Client closed]
<sortie> One might think of daemons in a simple "oh we just need to check if they're running or not" manner but my init really does have a powerful internal data model ala systemd where it's all based on dependencies and daemon readiness signals and all of that internal data model is what makes my init shine, plus it's robustness
<sortie> It's one of the things I love the most about osdev: Building really excellent underlying primitives on which everything else can be built perfectly. The primitives matter so much and needs to be right, you cut corners there, and the issues will affect you all the way up. Gotta build it right.
Turn_Left has quit [Read error: Connection reset by peer]
<dostoyevsky2> sortie: does your init also depend on libxz?
<sortie> dostoyevsky2, hi, no such dependency, you have to backdoor your sshd separately
<sortie> Curiously I never packaged a vulnerable liblzma for Sortix because I noticed the tarball had switched download locations which was a bit weird and I wanted to wait until it had stabilized and well
<sortie> My debian testing daily driver did get the vulnerable xz :(
<sortie> dostoyevsky2, but nope, my init is actually a no-dependencies kind of deal, it's all the base system, and kept intentionally minimal
<sortie> Well ok it does use libmount from my base system to create the partitions and identify filesystems
<dostoyevsky2> sortie: isn't mounting usually done by the kernel? I never understood so far what the advantage is to do mounting in systemd
<heat> no
<heat> mounting is done by userspace, kernels can usually mount the root filesystems themselves (if the fs driver is loaded)
<Ermine> kernel doesn't mount anything, unless instructed to do so by userspace. Except rootfs or initrd
<heat> yeah
heat has quit [Remote host closed the connection]
<netbsduser> sortie: i prefer "ala SMF"
<netbsduser> or even "ala AIX's SRC"
<netbsduser> you speak of a graph concept and that is much more like those; systemd is internally structured quite differently
<Ermine> It's structured like the rabbit hole
<nikolar> Lol
<nikolar> Some consider SMF to be the best service manager thing ever
<netbsduser> yes, me
<Ermine> It's Solaris, so SMF fans kiss girls
<netbsduser> i should know, i ported systemd to all 5 BSDs
<nikolar> Lol why
<nikolar> Why didn't you port smf
<Ermine> Because some people want features
<nikolar> Like
<netbsduser> smf is harder to port because it exploits solaris features more thoroughly than systemd exploits linux's
<nikolar> Kek
<Ermine> service management for starters, user services
<netbsduser> smf does do service management
<Ermine> lack of user services is what haunts me in Alpine
<nikolar> And systemd is the only option around?
<nikolar> Ermine: run an instance of runit or something
<Ermine> s6-rc, but its dependency model is too strict and UI is subpar
<netbsduser> it doesn't do user services, that's not an inherent attribute of it that it could never do so, it just wasn't something solaris apparently needed urgently at the time, and the death of solaris put an end to any hope of it evolving
<nikolar> :(
<Ermine> We use openrc. And no, runit is just a supervisor, not a service manager
<Ermine> And for maintainer's pov, I reckon that integration into distro would go poorly
<netbsduser> s6-rc was supposed to be succeeded by a new thing from bercot, i think actually under your sponsorship (assuming you are a representative of the alpine organisation)
<Ermine> 1) New thing is s6-rc v1, 2) His name is Laurent, 3) Alpine doesn't sponsor it
Arthuria has joined #osdev
<netbsduser> i thought he was laurent bercot
* CompanionCube vaguely recalls systemd being about jobs than the graph
<netbsduser> i didn't want to be disrespectful by calling him by his first name
<nikolar> Ermine: I run runit just fine as my init
<Ermine> 1) and s6-frontend for nice ui
<netbsduser> CompanionCube: yes, you can identify a "graph" in the sense that loaded units are connected by edges - there are many different kinds of edges, they are collectively called "atoms"
<netbsduser> they used to be called "dependencies" but they were broken up because the dependencies have various overlapping meanings
<Ermine> nikolar: I said that I look from maintainer pov. WORKSFORME solutions aren't that
goliath has joined #osdev
<nikolar> Ermine: I'm the maintainer
* Ermine facepalms
<netbsduser> but there exists no systemd dependency that says "X depends on Y" in the strict sense
<nikolar> Wonder how exactly are they modeling it internally
<netbsduser> we can limit what we consider initially to two axes: 1) ordering of generated jobs, and 2) what causes a job, when it's prepared for issuing, to bring in other jobs
<Ermine> They initially wanted to have deps for early boot, and everything else working through various activation schemes
<zid`> nikolar: You are the captain now
<nikolar> I'm
<Ermine> But everybody is using it as dependency-based
<netbsduser> for example, there is an atom "UNIT_ATOM_PULL_IN_START" which will cause a start-job on a given unit to pull in a start-job on another unit, and if the other unit's start-job fails, the entire job group is regarded as a failure
<nikolar> Ermine: so the whole activation scheme thing is unused mostly
<netbsduser> but that says nothing about ordering. the start can happen *after*wards
<Ermine> Also, 🤮🤮🤮 runit
<nikolar> Also, 🤮🤮🤮 systemd
<netbsduser> so here we see one of the two axes that people tend to care about. the other axis is ordering - by default there is none (except for units ending in .target, those implicitly order). but atoms UNIT_ATOM_BEFORE and UNIT_ATOM_AFTER do exactly as they sound like they would do
<Ermine> If you're trying to hurt me this way, you've missed. I don't like systemd either
<netbsduser> so for a service to "depend" on another implies UNIT_ATOM_AFTER with UNIT_ATOM_REQUIRES
<netbsduser> however, that doesn't mean that if X "depends" on Y, and Y goes up, X goes up, then Y goes down, that X will also be brought down
<netbsduser> that requires UNIT_ATOM_RETROACTIVE_STOP_ON_STOP
<Ermine> And the way systemd deps work leads to some interesting cases
<nikolar> Like what
<netbsduser> so now the imperative, event-based nature of systemd becomes clearer
<CompanionCube> https://mastodon.social/@maehem/112497725751975147 from elsewhere, what if sparcstation but smol?
<bslsk05> ​<maehem> A gentleman named Paul Khoury approached me about getting a retro computer he'd acquired up and running. The computer is a Sun SPARCstation UPN (1997), a prototype for a super small desktop computer that preceded the Mac mini by about 6-7 years. Only about 20 were ever made. I was the designer on the project and had poured my soul into it, so I was proud to help him get it running. I dug out the schematics from storage and ga[…] https://fi
<nikolar> Me want
<Ermine> Like valid transactions with nonexistent units
<zid`> nikolar wants someone to sparc his station?
<zid`> lewd
<Ermine> [nsfw]