HackerTrans
TopNewTrendsCommentsPastAskShowJobs

vkoskiv

no profile record

Submissions

My first contribution to Linux

vkoskiv.com
701 points·by vkoskiv·9 mesi fa·88 comments

comments

vkoskiv
·4 mesi fa·discuss
Nice! My keyboard code is still very bare bones, so I interact with my system using debug commands assigned to individual keys.

Since we're both working on a similar project, I think it could be fun to talk about OS development and share our findings (and weird bugs!) I have this same username just about everywhere, so do reach out if you're interested! Best of luck with your project either way :]
vkoskiv
·4 mesi fa·discuss
My hobby x86 kernel. I'm targeting my 80486DX2-66 PC with 32MB of RAM. This project has had a few false starts over the years, where I lacked the prerequisite knowledge to be able to properly debug things. So while the initial commit is from 2020, most of the progress is from the ~180 or so commits I've done in the last month since I picked it up again in early February. A month ago it booted from a floppy and printed some debug info to the screen showing it set up GDT, IDT and some static page tables. Now I have basic virtual memory with kmalloc()/kfree(), task switching, user mode and a few syscalls, and just this past weekend I got my floppy driver to a state where it can now (semi-)reliably detect and read data off floppy disks. I already have a userspace prototype of an ext2 parser I wrote for this in 2024, so all I need to do now is to bring that code in to the kernel and I should have filesystem support!

It's been a ton of fun to work on. Every subsystem is still flaky so I run into the wackiest bugs imaginable. I'm really grateful for the resources[1] and incredible tooling[2] that enable me to work out my frequent mistakes. I can hardly fathom how Torvalds did this with just his PC running Minix!

No idea how long I'll keep working on it. I think I'd be pretty happy if I got a real-world, non-trivial program running on top of it, but in the meantime it is serving as a good distraction from life worries at least :]

[1]: Intel 80386 Reference Manual, Linux man pages, wiki.osdev.org, various datasheets and the occasional query to ChatGPT free tier.

[2]: QEMU+gdb, Bochs, GCC 9 & binutils
vkoskiv
·9 mesi fa·discuss
I just checked this, and it seems like GitHub is a bit weird about tracking these. It didn't show up on my profile at all until I just now forked[0] torvalds/linux on GitHub. Now it shows up on my profile on May 9th (author date), but the link to the commit is broken, because repository authors page it points to filters on the commit date, not the author date.

Broken link points here and shows no commits: https://github.com/torvalds/linux/commits?author=vkoskiv&sin...

If I correct the date range to include the maintainer commit date (May 15th), the commit shows up: https://github.com/torvalds/linux/commits?author=vkoskiv&sin...

Also strange that if I only filter on author[1], nothing shows up. Though I suspect that dataset might only be updated periodically.

[0]: https://docs.github.com/en/account-and-profile/reference/pro...

[1]: https://github.com/torvalds/linux/commits?author=vkoskiv
vkoskiv
·9 mesi fa·discuss
I wanted to hold off on that upgrade until I found a source of reliable, high-quality PATA SSDs. Haven't looked into that yet, suggestions welcome!
vkoskiv
·9 mesi fa·discuss
The joke gets even better when you consider that the subsystem maintainer that reviewed my patch is also Finnish :]
vkoskiv
·9 mesi fa·discuss
Thanks! I haven't, but I probably should, since you're the second person asking about it. The site is built with Zola[0], and it's using the Radion[1] theme, with small modifications.

[0]: https://www.getzola.org/ [1]: https://github.com/micahkepe/radion
vkoskiv
·9 mesi fa·discuss
Kiitos!
vkoskiv
·9 mesi fa·discuss
Thank you! It is indeed!