Email or username:

Password:

Forgot your password?
Drew DeVault

I needed a break from Real Work, so I'm speedrunning writing a Unix-ish operating system

Day 3

180 comments
Eskild Hustvedt

@drewdevault Okay that sounds really cool (and fun). I'd love to learn more about it at some point :)

hexaheximal

@drewdevault let me guess, it's written in hare? 🙃

Drew DeVault

The hacking shall continue until we are self hosting

Borjan Tchakaloff

@drewdevault so bunnix is a standalone endeavour? No external kernel?

tippfehlr

@drewdevault you need a break from work, so you write an operating system to relax 😄

char *lotte; :v_trans: :v_bi:

@drewdevault anything (non-trivial) that can be done with a regex, should be done with a regex

Drew DeVault

Yes, this is a regex implementation in ring 0

Jeroen Massar

@drewdevault but why the f is it there? ;) (I can only assume because at the moment it is quicker than solving the problem the "correct" way ;) )

R. L. Dane :debian: :openbsd:

@drewdevault

Lemme guess, "just a little hobby project, won't ever be as big as MINIX, only supports AT harddisks right now because that's all you have?" 😂

mort

@drewdevault Wait you implemented ext4? I assumed that for this kind of project you'd make a baby's first file system style thing like we did in OS class in uni...

Drew DeVault

It can read files from the Linux install on my laptop :D

Borjan Tchakaloff

@drewdevault inspiring! At this rate you'll have the laptop on the Internet by next week

Side note: you definitely need to label your white marker on one of these alt texts 😁 "WXGA whatnot"

Drew DeVault

End of day 4: ext4 works but needs to be integrated into the filesystem abstraction (which also needs to be fleshed out)

Maybe VFS tomorrow?

Drew DeVault

Starting to get lwext4 rigged into the Bunnix filesystem abstraction

Drew DeVault

Did anyone else think inodes were black magic when they first got into Unix

Dušan 🇷🇸 :arch: ⚛️

@drewdevault Of course, just the idea of files having different entries in the FS table, but pointing to the same underlying data on disk is still something I find a little bit like black magic. 😂

Steven Reed

@drewdevault I never really used DOS/Windows much, and I don't remember delving deeply into filesystem internals on the Amiga or Beeb, so Linux was my first exposure. Inodes therefore always seemed very natural, and meant FAT confused the hell out of me...

Henri

@drewdevault First had to learn what they were when a drive ran out of them and I had to reformat.

Drew DeVault

Work progresses on integrating ext4 with the Bunnix filesystem API

This screenshot brought to you by fs::* rather than lwext4::*

Drew DeVault replied to Drew

I have a (shitty) VFS

That's probably it for day 5, I have other things to do today 🙂

Drew DeVault replied to Drew

What's probably next is fleshing out the VFS a bit, then getting to userspace and implementing a few syscalls

Noodlez :nixos: :neovim: replied to Drew

@drewdevault Dude you're amazing. I've been stuck on just memory management in my hobby kernel for like 6 months now (although truthfully like 6 hours I barely get to work on it), and here you are just pumping out a kernel like it's nothing.

Drew DeVault replied to Noodlez :nixos: :neovim:

@noodlez1232 I've done this a few times already, experience makes it easier :) and I still struggle with memory management! In a way it's the hardest part imho

Drew DeVault replied to Drew

Day 7, taking a break to hang out with a friend who's in town, more to come tomorrow

BIG KRIMPIN replied to Drew

@drewdevault but Drew, tomorrow is kingsday, you can't miss out on kingsday!

Drew DeVault replied to BIG
Drew DeVault replied to Drew

@bigkrimpin ...although sometimes I cosplay as one when it's funny

BIG KRIMPIN replied to Drew

@drewdevault yeah me neither... but like... cheap stuff y'know?

Drew DeVault replied to Drew

Day 8: let's write a System-V loader and get to userspace

also: don't write a USB driver don't write a USB driver don't write a USB driver

Drew DeVault replied to Drew

✓ Userspace

No user I/O yet though so you have to take my word for it

Drew DeVault replied to Drew

Okay, now you don't have to take my word for it

marius replied to Drew

@drewdevault is this part of Helios, or some exploratory alternative?

marius replied to Drew

@drewdevault is that the secret to get this far this quickly? :)

Drew DeVault replied to Drew

Day 8 was all about getting userspace online. We are loading ELF programs, jumping into userspace, and we have working interrupts and syscalls

Day 9 will start implementing more useful syscalls and fleshing out I/O

Drew DeVault replied to Drew

There we go. That's probably all for today.

tippfehlr replied to Drew

@drewdevault is taking a break from taking a break

erai

@drewdevault i think you might beat me to a fully self hosting system

Jeroen Massar

@drewdevault yeah, do print out a screenshot, in 30 years you will still be thinking about "I needed a break from Real Work" ;)

Go Up