Hypervisor 101 in Rust

(tandasat.github.io)

173 points | by pykello 5 days ago ago

21 comments

  • WD-42 5 days ago ago

    I believe this was written by the same person who wrote Operating System in 1000 Lines[1] which was high quality and super fun to work through. So this is definitely going on the rainy day list.

    A book from this person would be amazing!

    [1]https://operating-system-in-1000-lines.vercel.app/en/

    • Iridescent_ 4 days ago ago

      No, that would be https://1000hv.seiya.me/en/ Easy mistake to make though, it is the 3rd such guide being posted in a week, definitely seems like the subject has a lot of traction.

      • nicce 4 days ago ago

        Makes me worry if some of these are just copied and altered with LLM to boost the author's reputation. (haven't checked)

      • WD-42 4 days ago ago

        Wow you are right. They look so similar. No idea about the OP then.

      • sharts 4 days ago ago

        Nice!

  • sureglymop 4 days ago ago

    The guide itself is great.

    But I really dislike these markdown books used by many rust projects. I wish they just had an option to download it as a PDF, so that I could archive them. The printing button really isn't good enough for that. I mean if everything is already neatly renderd to HTML like that, how hard could it realistically be to also create a good looking PDF version...

    • vladvasiliu 4 days ago ago

      Just wondering, what value do you get out of this? I used to like having a hardcopy of these kinds of things, especially when I used to have a much smaller monitor.

      But these subjects evolve so fast, that having a bunch of .deadtrees lying around just become a nuisance.

      If all I want is some form of archive to look back on later, a bunch of .md files seems perfect.

      • neandrake 4 days ago ago

        Render to pdf or ebook to read from an ereader, at least that's what I prefer. I use Instapaper to quickly snag articles while browsing then later use my kobo to sit and read through them.

    • Shared404 4 days ago ago

      Good looking typesetting from markdown is surprisingly hard. Played with it a while myself, and it's really not fun.

      .... is what I was going to say until I went and hit the print button and 10% of the text was missing and everything was right aligned in the top right corner.

      Yikes. You may find it worthwhile to clone the repo, iterate over it with pandoc to make A Big HTML File and then use your browsers print feature or pandocs converter. That's about as good as you'll get without a lot of pain ime.

      • throw_away2 4 days ago ago

        If you hide the left sidebar, and then print, then it is aligned correctly. Each H1 is on a separate page, which is certainly a choice, but on cursory inspection, it would seem as if all the content is there.

        • Shared404 4 days ago ago

          Ah, good catch. At work so didn't play with it too much.

          Tbh, would probably still recommend rendering it with pandoc because the h1's being split that way does annoy me, but at least it gets the content right.

    • ochronus 4 days ago ago

      Not a 100% perfect solution, but you can click the little printer icon in the top right corner and then print to PDF from your browser.

      • sureglymop 2 hours ago ago

        Thank you for mentioning it. I think you got downvoted because I had already mentioned that in my comment. The PDF looks unreadable to my on this specific page as the layout is messed up.

  • badpenny 4 days ago ago

    This is obviously just a bunch of notes/slides for a course. It's borderline useless for anybody not taking the course.

    • LandR 4 days ago ago

      Yeah, I'm not sure what people are getting from this...

      If you already have the knowledge to understand the notes in the slides, it's probably pointless to you. If you don't, the slides make no sense at all since nothings explained.

      What am I missing here that's so great ?

  • neitsa 4 days ago ago

    Would have been better to link to the repo [1] directly.

    The repository contains the materials of a class, so without attending the class or having a rather strong pre-existing knowledge about hypervisors on x86-x64, the material is going to be very hard to follow.

    From my PoV, there are definitely better (as in, explained with a lot more details) tutorials online on how to start your hypervisor from scratch which I'd recommend before trying to understand this one (which has some really nice peculiarities such as Fuzzing UEFI with code coverage).

    [1] https://github.com/tandasat/Hypervisor-101-in-Rust

    • officerk 4 days ago ago

      Can you share links to those tutorials?

  • beckthompson 4 days ago ago

    The word "hypervisor" always sounded so techo and cool to me!

    • alfanick 4 days ago ago

      I used to work as a "Kernel/Hypervisor Engineer" at that big company that sells books. People from outside the tech always thought I'm some kind of supervisor's supervisor ;)

      • robertlagrant 4 days ago ago

        Just make sure you look busy when the Ultravisor's walking around.

  • curtisszmania 5 days ago ago

    [dead]