Replies: 1 comment
-
Hello @turbocat2001, I'd be happy to get your contributions into the project, but I have to say that such feature won't be easy to implement in Tilck. Let me explain: first of all, Tilck does not have at the moment any abstractions for block devices: just in-memory file systems are supported. Clearly, supporting that is part of the plan, but it will require quite some work while I have almost zero free time at the moment. Therefore, in order to support a floppy controller, you'll have to design and implement a series of major changes in this kernel, not just an isolated kernel module. For example:
The hardest part will be coming up with the right abstractions for block devices, without brutally copying from other operating systems like Linux (that will be illegal as Tilck's license is incompatible with the Linux one). At most, you could take a little bit of inspiration from FreeBSD. Ideally, just learn from the osdev.org wiki and the official specs documents. Anyway, just achieving raw access to a floppy controller (must work on QEMU too) would be great, even if you don't make the filesystem changes. We could still write user-space programs that just read/write to/from the device and have fun. But at this point I have to ask: what kind of experience do you have with OS development and C programming in general? I would be super happy if you did such major contributions to this project, but generally makes sense to start with something simpler. For example, learn how to build, test and debug Tilck very well. Learn the coding style. Play with the opened issues, for example this one: #117 as I added a ton of detailed guidance. Let's start with some simpler contributions and then move towards something cool like this feature. Does that make sense to you? Regards, |
Beta Was this translation helpful? Give feedback.
-
I had an idea to implement a floppy controller driver. The fact is that I have an old computer and a set of floppy disks. That is, I will test the driver on real hardware. It remains to be seen whether the project needs support for such ancient equipment ? And is there an api now for adding custom disk devices.
Beta Was this translation helpful? Give feedback.
All reactions