I'm building an OS, and blogging about it. Here is Day 1
If you would care to follow along as I lose my sanity, but hopefully gain a sanity's worth of knowledge: https://rschmollinger.wixsite.com/bashing-my-head-agai
If you would care to follow along as I lose my sanity, but hopefully gain a sanity's worth of knowledge: https://rschmollinger.wixsite.com/bashing-my-head-agai
Last week we had libsql with a disparaging blog post about sqlite but zero code written, this week we have someone who says he's going to build a Linux distribution but has only penned a single blog post that says just that, nothing else.
Can we get back to posting and upvoting things where some actual work of interest has been completed? Doesn't have to be a finished product, but like, anything at all would be nice. Thanks.
Because the opposite is a waste of time. If you build code, and it gets totally ignored, what was the point? Do you think the Time Cube^H^H^H^H^H^H^H^H^, ok... maybe he would have anyway... but if nobody is going to reward the effort, why waste it?
Besides... it's always been done this way
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)
Linus (torv...@kruuna.helsinki.fi)
PS. Yes - it's free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(.Day 1 of I'm going to work on X is not really interesting, unless it's part of a series where we know there's a bunch of days.
Instead look at XV6 (https://pdos.csail.mit.edu/6.828/2012/xv6.html), IMHO opinion it is a cleaner, simpler work and has some excellent educational materials as well.
Is this a rite of passage? Seems there are hundreds of OS's out there, most of which remain the creator's pet.
BTW: your linked web address doesn't seem to work.
- The codebase is very small. Study the PDF references a few days, and eventually you'll start to understand how things work.
- No convoluted build system. Just "make xv6.img". Done.
- No need to build a custom compiler from source. On Linux systems: GCC supplied by your favourite package manager is sufficient. On Mac: install i386-elf-toolchain via Homebrew.
- Plenty of folks customizing it, like adding their own syscalls or a custom scheduler or a file system integrity check (Github is your friend).
Where does one start? Any resources to recommend? Another comment suggests xv6, is that sufficient or do I need complementary stuff (e.g. I started reading "Code: The Hidden Language of Computer Hardware and Software")?
FWIW I have systems (Linux) experience as I worked in DevOps before.
I've looked at the Minix and Xinu books, which are probably the most practical books available. But these appear to be describing existing code instead of guiding you to code along. Anyone knows good resources that guide you from scratch?
Just remember I own the first 2 books, and haven't finished studying it. Oh well :p
These projects all end up the same-- 1~30 entries and then stale with no updates for several years (or ever again). I don't want to commit to something that will never be finished.
How can you make content like this that I would be engaged in? Perhaps finish the project first, and then blog/vlog the steps. If I knew there was an end (even if it ended up not being "completed"), I would be much more willing to commit to it.
I have fallen into the same trap myself (I have dozens of half-baked projects).
Also, vlogging this project on my youtube channel: https://www.youtube.com/channel/UCG3NbVuE8sfp3sFbQnj73nQ
Instead of a readme, possibly use Github pages for the project blog (if you don't want to host/pay for your own site).
https://youtube.com/playlist?list=PLHh55M_Kq4OApWScZyPl5Hhgs...
(I agree with you).