TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Maestro: A Linux-compatible kernel in Rust

745 pointsby Uriopassover 1 year ago

28 comments

llenotreover 1 year ago
So many thank to all of you for your support! This project has represented a lot of efforts for me and it means a lot!<p>Right now the website seems to be pretty slow&#x2F;down. There is a lot of traffic, which was not expected. I also suspect there might be a DoS attack going on.<p>I will try to make it work better when I get home! (I am currently at work so I cannot give much attention to it right now)<p>Sorry for the inconvenience, but glad you appreciate the project!
评论 #38855292 未加载
评论 #38859663 未加载
评论 #38855978 未加载
dark-starover 1 year ago
What a cool little project. It&#x27;s astonishing how far this can boot with less than a third of the syscalls of Linux implemented.<p>However, my guess is that the ones that are missing are the more complicated ones. The TTY layer, for example, looks rather basic at the moment. Getting this right will probably be a lot of work.<p>So don&#x27;t hold your breath for Maestro running your Linux applications in the next 3 years or so (even without taking into account all the thousands of drivers that Linux has)
评论 #38855989 未加载
评论 #38858961 未加载
评论 #38853274 未加载
gardaaniover 1 year ago
There&#x27;s also Kerla [1] (Monolithic kernel in Rust, aiming for Linux ABI compatibility), but that seems to have gone dormant for few years.<p>[1] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=28986229">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=28986229</a>
评论 #38855595 未加载
MuffinFlavoredover 1 year ago
It&#x27;d be cool to see it get &quot;security&#x2F;penetration tested&#x2F;fuzzed&quot; to see if &quot;just because it&#x27;s in Rust, is a good hacker able to find anything&quot;
评论 #38860308 未加载
pizza234over 1 year ago
I think this had already been attempted by the now-discontinued project [Kerla](<a href="https:&#x2F;&#x2F;github.com&#x2F;nuta&#x2F;kerla">https:&#x2F;&#x2F;github.com&#x2F;nuta&#x2F;kerla</a>).
评论 #38854690 未加载
agentultraover 1 year ago
Sounds like a fun project. Curious though: most of the drawbacks to using C and difficulties with developing an OS are around debugging.<p>I assume that the switch to Rust eliminated a certain class of memory error but is debugging still a pain? Or is there less of it than before the switch making debugging more tolerable?
评论 #38854668 未加载
lucasyvasover 1 year ago
Tangent, but I love this Gource thing that the author made the contribution video with. I&#x27;d never seen it before but had an idea to try making something like it a couple of years back - no original ideas it seems!
评论 #38855667 未加载
willangeloover 1 year ago
I really like the idea of building a kernel, especiallly for learning purposes. Curious about the resources you used to understand the whole kernel&#x2F;OS thing
评论 #38855728 未加载
Aerbil313over 1 year ago
I’m surprised to see no one mentioned Theseus OS. It’s a WIP OS built from scratch with Rust, using Rust compiler’s guarantees around memory safety for automatically providing many things which require careful plumbing in conventional OSes. As an example it’s SPL, SAS (single privilege level, single address space) and yet is secure. All parts of the OS are hot pluggable too. The drawback is that all native code needs to be Rust, though a WASM runtime is implemented last year. Related thread from 3 years ago: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=25741729">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=25741729</a>
orwinover 1 year ago
Wow, i didn&#x27;t think someone would be crazy enough to take on the ft_penguin project (is it still its name?). Really good job to be honest, when i was still at school (7 years ago now) i thought this was probably one of the project with the worse reward compared to the time needed.<p>Did you start the project with a friend at first (before the rust rewrite)? Did you work on other projects at the same time?<p>Looking up at your code, remembering how fun it was, i now kinda want to stop working in devops and start doing embedded or any low-level work like i intended to at first.
internet101010over 1 year ago
&quot;Since the OS started as a school project, I had to cut corners in order to finish it on time. But now is the time to pay back the technical debt I accumulated.&quot;<p>Please try to keep this mindset.
dottedmagover 1 year ago
Syscalls are easy. Drivers will be tough.
评论 #38852942 未加载
评论 #38861013 未加载
评论 #38852768 未加载
评论 #38861916 未加载
评论 #38855528 未加载
potato24over 1 year ago
This is obviously impressive. Did you think from the beginning monolithic&#x2F;module-based like linux was the way to go or did you consider making it a hybrid&#x2F;micro kernel.
评论 #38854733 未加载
omeid2over 1 year ago
&gt; Motūrus OS (sometimes called Motor OS)<p>But motor-os is literally the repository name. Sometimes?
Zambyteover 1 year ago
&gt; Computers are amongst the most complex tools that humanity has ever built.<p>This does not bode well for computers.
ciesover 1 year ago
Compatible means &quot;syscall compatible&quot; (I get that from the article). I wonder if it also means kernel module compatible (I dont think so, as the API touch point surface is much larger), but if it strives to be that&#x27;d be great (use all hardware that works on Linux).
评论 #38852950 未加载
mgoetzkeover 1 year ago
Great. Hope he keeps doing this until he finds enough supporters
insanitybitover 1 year ago
A memory safe linux kernel would be a fairly incredible thing. If you could snap your fingers and have it, the wins would be huge.<p>Consider that right now a docker container can&#x27;t be relied upon to contain arbitrary malware, exactly because the Linux kernel has so many security issues and they&#x27;re exposed to containers. The reason why a VM like Firecracker is so much safer is that it removes the kernel as the primary security boundary.<p>Imagine if containers were actually vm-level safe? The performance and operational simplicity of a container with the security of a VM.<p>I&#x27;m not saying this is practical, at this point the C version of Linux is here to stay for quite a while and I think, if anything, Fuschia is the most likely successor (and is unlikely to give us the memory safety that a Rust kernel would). But damn, if Linux had been built with safety in mind security would be a lot simpler. Being able to trust the kernel would be so nice.<p>edit: OK OK. Yeesh. I meant this to be a hypothetical, I got annoyed at so many of the replies, and this has spiraled. I&#x27;m signing off.<p>I apologize if I was rude! Not a fun start to the morning.
评论 #38853137 未加载
评论 #38854096 未加载
评论 #38853231 未加载
评论 #38853513 未加载
评论 #38852735 未加载
评论 #38852955 未加载
评论 #38852951 未加载
评论 #38852981 未加载
评论 #38853673 未加载
评论 #38853466 未加载
评论 #38854556 未加载
评论 #38852960 未加载
评论 #38853243 未加载
评论 #38853789 未加载
评论 #38854718 未加载
评论 #38853732 未加载
评论 #38853306 未加载
评论 #38853336 未加载
评论 #38852691 未加载
评论 #38855499 未加载
jancsikaover 1 year ago
My two cents-- make the license be <i>exactly</i> whatever Linux is-- gplv2 only IIRC<p>If you do this then you&#x27;ll never waste another moment discussing licenses for the rest of your life. It&#x27;s just &quot;because it&#x27;s what Linux uses&quot; to the end of time.<p>And even <i>if</i> there&#x27;s some future question about license enforcement or whatever wrt gplv2, it will get decided within Linux&#x2F;Linux Foundation&#x2F;etc. and you just surf in on whatever happens without a care in the world.<p>Same with what-ifs about, say, code potentially going back and forth between your project and whatever part of Linux becomes written in Rust. With MIT you&#x27;ll get GPL zealots and&#x2F;or MIT trolls chatting your head off about legal things they don&#x27;t understand. With GPLv2 &lt;-&gt; GPLv2, it all gets optimized out. :)<p>In any case, MIT 3-clause is a fine license so use that if you have your reasons. But trust me, optimizing out low-effort discussions of software licenses is worth it if you can do it. :)
评论 #38861523 未加载
weinzierlover 1 year ago
I love it and hope it will catch on.<p>I reminds me of what Linus Torvalds once said when asked about fearing competition, though.<p>From my memory his answer was something like: I really like writing device drivers. Few people like that and until someone young and hungry comes along who likes that I&#x27;m not afraid of competition.
评论 #38855573 未加载
评论 #38852687 未加载
bcyeover 1 year ago
Small feedback: On mobile the back button (and nav bar) block 1&#x2F;6th of the page, probably could use a bit less padding
评论 #38853826 未加载
评论 #38855536 未加载
goodpointover 1 year ago
Writing alternatives to GPL software under MIT&#x2F;Apache licenses is really harmful for the FOSS ecosystem.<p>We need to protect end users from more and more proprietarization, tracking and privacy breaching, SaaS and untrusted IoT devices.
评论 #38855649 未加载
评论 #38853288 未加载
phkahlerover 1 year ago
MIT license? If by chance this evolves into something big, it will be eaten alive by commercial interests. Look at the conflict between Linux devs and nVidia for example. Look at the IBM&#x2F;RedHat stuff trying to circumvent the spirit of the GPL, if maybe not the text of it.<p>If it becomes a thing, the most active developers will be paid by corporations and they will not be sharing code with you when it suits them - which can be at the drop of a hat.<p>I&#x27;d recommend changing to GPLv3 while your number of contributors is low enough to do it. Otherwise you&#x27;re just doing free work for your future masters.
评论 #38855606 未加载
评论 #38855889 未加载
评论 #38854807 未加载
评论 #38855598 未加载
rvzover 1 year ago
Some words of encouragement in the sea of pessimism on HN which brought down the previous attempt at this [0]. Keep going, ignore the FUD and continue where others have left off.<p>We need alternative and safer kernels, and attempts like this should be encouraged. Rust is suitable for that guarantee.<p>Keep going.<p>[0] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=28986377">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=28986377</a>
评论 #38855477 未加载
评论 #38865005 未加载
评论 #38857407 未加载
drtghover 1 year ago
This sounds more than great.<p>Unrelated but at same time related, feel your self absolutelly free to ignore this message,<p>Linux needs a HISP with firewall. I comment it here because this need to be supported by a&#x2F;the kernel, its needed to limit the functions that allow process injections, and also a way for to canalize all the process executions in a supervised mode.<p>As an [put operative system name here] user, I need (desire) to know when a process&#x2F;program wants to access the network or internet, if it wants to act as a server, what port, what IP&#x27;s wants to call at that moment, and to be able to block the operation before happen, limit what IP&#x27;s are allowed to serve or not to the program, being able to sniffing the program behavior.<p>In that moment&#x2F;event, I need to know how was launched the process&#x2F;program, what parent process launched it. To know if the process wants to inject over another one own resource something, or wants to access not natural system resources. And before it happens, being able to block such intention for folder&#x2F;files&#x2F;disk access, keyboard, screenshots, configuration system files, console commands and so on.<p>If that program wants to launch another program, or service and so on, it&#x27;s needed to control even if it is allowed to launch an executable in its own folder. Absolutely supervise the program and system access.<p>As user, I need to be prompted about all of this before happens, with information, for to give permission or not, temporally at that moment, or session, or to save it as decision that will taken the next time the program run.<p>Being able to configure latter it is essential, a UI more or less like a uMatrix UI point of view, and so on, designed for usability.<p>When one run a program, the gears of the HISP always are runing:<p><pre><code> - Why is trying to inject this program the browser memory? of course I do not allow it, it&#x27;s more, I kill the process right now . System scan now, we are in troubles. Log, were are the logs!! Damn, the next two days are going to be miserable... I&#x27;ll probably format the whole system when I find from were entered this. - Why is this trying to connect to internet? it&#x27;s more, this IP is from XXXXX, isn&#x27;t it? sorry, I do not allow it, run without this requests or die. - What, this is requesting DNS?, And now it is requesting a local network IP address? Houston... - Ehhh, what are you doing with that keyboard capture try? unnecessary, akta gammat. - Ok server installed running for first time, but only under this specific port, and only the loopback IP is allowed to access, this computer and anyone else. This was fast. - Ok, I allow you to access such internet IP, but only this time, keep asking the next time you run, I&#x27;ll decide. - Thanks for warning about the port scan, I guess with IPv6 this would be even worst. Thankfully I have all the services limited to IPv4 localhost, but I&#x27;ll keep one eye over those bots if they insist much. - and so on. </code></pre> This does not exist in Linux. Currently it is a Windows users thing, after installing and configuring tools, with exception of the console command filtering and uMatrix UI, that I added because they are also necessary (In windows, HISP&#x27;s configuring interfaces are just.. very rustic and hidden, they don&#x27;t have usability in mind, it is like an available legacy feature, unfortunately).<p>Whatever. In Linux, this require kernel custom modifications, and the whole HISP with firewall does not exist, and ironically, when separated one from the another are just useless.<p>So, humbly but from an selfish way, I would ask to consider design the kernel with this thing in mind. ( I do not mean to design the HISP with firewall application).<p>As I started saying, feel your self absolutely and totally free to ignore this message.
评论 #38856490 未加载
评论 #38854063 未加载
评论 #38870565 未加载
评论 #38887759 未加载
评论 #38857367 未加载
Havocover 1 year ago
Is there some sort of organised push for dropping copyleft?<p>2nd post today going down that route
评论 #38856731 未加载
评论 #38861530 未加载
snvzzover 1 year ago
I applaud them for getting things done vs just talking about it.<p>Personally, I find yet another monolithic kernel unix clone is not what we need, but the point here is that it&#x27;s made in Rust, which itself is an experiment; It is best to not do too many experiments at once, thus cannot complain.
评论 #38854103 未加载
评论 #38854445 未加载
tutfbhufover 1 year ago
I wonder how far we are from having a GPT-X.Y operating in a loop, creating a fully Linux-compatible kernel with all 437 system calls in Rust within a day, which includes testing, debugging, and recompiling.
评论 #38853779 未加载