Hello,
I am a developer of freebsd-kpi-rs and freebsd-kmi-rs (R4FBSDk - Rust for FreeBSD kernel). Recently I have released the devd(8) re-implemented in Rust (ported from closed source code which I developed for the client) and I was planning to submit port for review. But, for reasons beyond my control, I decided to terminate both projects and focus on the new projects i.e RISC-V/ARM bootloader (Rust) and microkernel (Rust) with userland process schedulers, for the embedded devices i.e routers, SCADA etc. Both are focused on European market only, so in US you won't hear about it a lot.
I am not going to maintain the code anymore, so if you really need it, you can download it from the floowing repos (access is not available from some countries).
1) rdevd a devd device state change daemon which is 100% compatiable with original devd with some exceptions, a project page: project page
2) R4FBSDk prject page and FreeBSD Kernel Programming Interface and Kernel Module Interface
KPI is a FFI to kernel
KMI is kernel module standart library which used KPI and turns it into Rust friendly safe code. i.e like libc crate and nix crate.
+ cargo based build kernel module template a template of the kernel module without FreeBSD build system (best option)
+ makefile based kernel module template atemplate of the kernel module based on makefile which builds the module as a library and attaches it to C file (bad approach)
The reasons for termination are:
I have to focus my on my personal safety and security as I fleed from my country and I can not return.
I don't want to deal with projects based in USA anymore, sorry.
Also, threre are other reasons which are not really important for me, but also significant. One reason is some members FreeBSD community so arrogant that they believe that they are masters of memory management and they belittle my work by calling it "Rust sh@t". I, personally, don't care because I also doing this way quite often (even calling Rust this way). I am not big fan of Rust, but it is way better than C and C++ for sure. Provide better alternative and I will be happy to use it. And, I don't want to start a holywar, but it's not like that. In a large project it's very difficult to track and remember where the memory was allocated and how it was allocated. And I noticed that I am spending less time debugging the problems related to memory access violations and use after free problems or invalid pointers or out of bounds reading or even integer overflow.
And finally, I don't see any advantages of FreeBSD over GNU/Linux any more. Only two advantages still actual: there is no Linus Torvalds and FreeBSD is still optimal as it can.
If you have any question, you can ask, but I am not sure that I will reply.
Datz it.
I am a developer of freebsd-kpi-rs and freebsd-kmi-rs (R4FBSDk - Rust for FreeBSD kernel). Recently I have released the devd(8) re-implemented in Rust (ported from closed source code which I developed for the client) and I was planning to submit port for review. But, for reasons beyond my control, I decided to terminate both projects and focus on the new projects i.e RISC-V/ARM bootloader (Rust) and microkernel (Rust) with userland process schedulers, for the embedded devices i.e routers, SCADA etc. Both are focused on European market only, so in US you won't hear about it a lot.
I am not going to maintain the code anymore, so if you really need it, you can download it from the floowing repos (access is not available from some countries).
1) rdevd a devd device state change daemon which is 100% compatiable with original devd with some exceptions, a project page: project page
2) R4FBSDk prject page and FreeBSD Kernel Programming Interface and Kernel Module Interface
KPI is a FFI to kernel
KMI is kernel module standart library which used KPI and turns it into Rust friendly safe code. i.e like libc crate and nix crate.
+ cargo based build kernel module template a template of the kernel module without FreeBSD build system (best option)
+ makefile based kernel module template atemplate of the kernel module based on makefile which builds the module as a library and attaches it to C file (bad approach)
The reasons for termination are:
I have to focus my on my personal safety and security as I fleed from my country and I can not return.
I don't want to deal with projects based in USA anymore, sorry.
Also, threre are other reasons which are not really important for me, but also significant. One reason is some members FreeBSD community so arrogant that they believe that they are masters of memory management and they belittle my work by calling it "Rust sh@t". I, personally, don't care because I also doing this way quite often (even calling Rust this way). I am not big fan of Rust, but it is way better than C and C++ for sure. Provide better alternative and I will be happy to use it. And, I don't want to start a holywar, but it's not like that. In a large project it's very difficult to track and remember where the memory was allocated and how it was allocated. And I noticed that I am spending less time debugging the problems related to memory access violations and use after free problems or invalid pointers or out of bounds reading or even integer overflow.
And finally, I don't see any advantages of FreeBSD over GNU/Linux any more. Only two advantages still actual: there is no Linus Torvalds and FreeBSD is still optimal as it can.
If you have any question, you can ask, but I am not sure that I will reply.
Datz it.