Project Description

QEMU can serve host files using the 9P2000 protocol. Xen can serve host files using the 9P2000 protocol. Even WSL2 can serve files using the 9P2000 protocol. This makes it a perfect choice to make your kernel under development in your host environment available to your testing VM, right? Well, almost. GRUB2 cannot boot from a Plan9 filesystem share.

Goal for this Hackweek

Implement 9P2000 for GRUB2 (at least over virtio) and allow booting from a 9P filesystem.

Resources

GRUB2 sources

Looking for hackers with the skills:

bootloader grub2 virtualization virtio plan9

This project is part of:

Hack Week 23

Activity

  • about 1 year ago: mbrugger liked this project.
  • about 1 year ago: pvorel liked this project.
  • about 1 year ago: wfrisch liked this project.
  • about 1 year ago: michael-chang liked this project.
  • about 1 year ago: gary_lin liked this project.
  • about 1 year ago: tlebreux liked this project.
  • about 1 year ago: agraul liked this project.
  • about 1 year ago: ptesarik liked this project.
  • about 1 year ago: ptesarik added keyword "bootloader" to this project.
  • about 1 year ago: ptesarik added keyword "grub2" to this project.
  • about 1 year ago: ptesarik added keyword "virtualization" to this project.
  • about 1 year ago: ptesarik added keyword "virtio" to this project.
  • about 1 year ago: ptesarik added keyword "plan9" to this project.
  • about 1 year ago: ptesarik started this project.
  • about 1 year ago: ptesarik originated this project.

  • Comments

    • tlebreux
      about 1 year ago by tlebreux | Reply

      Nice idea, I had started working on a 9p fs kernel driver for https://ares-os.org/ here: https://git.sr.ht/~tomleb/mercury/tree/master/item/p9. Was pretty fun to learn about VirtIO and 9pfs.

    Similar Projects

    Create DRM drivers for VESA and EFI framebuffers by tdz

    Description

    We already have simpledrm for firmware framebuffers. But the driver is originally for ARM boards, not PCs. It is already overloaded with code to support both use cases. At the same time it is missing possible features for VESA and EFI, such as palette modes or EDID support. We should have DRM drivers for VESA and EFI interfaces. The infrastructure exists already and initial drivers can be forked from simpledrm.

    Goals

    • Initially, a bare driver for VESA or EFI should be created. It can take functionality from simpledrm.
    • Then we can begin to add additional features. The boot loader can provide EDID data. With VGA hardware, VESA can support paletted modes or color management. Example code exists in vesafb.


    Extending KubeVirtBMC's capability by adding Redfish support by zchang

    Description

    In Hack Week 23, we delivered a project called KubeBMC (renamed to KubeVirtBMC now), which brings the good old-fashioned IPMI ways to manage virtual machines running on KubeVirt-powered clusters. This opens the possibility of integrating existing bare-metal provisioning solutions like Tinkerbell with virtualized environments. We even received an inquiry about transferring the project to the KubeVirt organization. So, a proposal was filed, which was accepted by the KubeVirt community, and the project was renamed after that. We have many tasks on our to-do list. Some of them are administrative tasks; some are feature-related. One of the most requested features is Redfish support.

    Goals

    Extend the capability of KubeVirtBMC by adding Redfish support. Currently, the virtbmc component only exposes IPMI endpoints. We need to implement another simulator to expose Redfish endpoints, as we did with the IPMI module. We aim at a basic set of functionalities:

    • Power management
    • Boot device selection
    • Virtual media mount (this one is not so basic add-emoji )

    Resources


    Harvester Packer Plugin by mrohrich

    Description

    Hashicorp Packer is an automation tool that allows automatic customized VM image builds - assuming the user has a virtualization tool at their disposal. To make use of Harvester as such a virtualization tool a plugin for Packer needs to be written. With this plugin users could make use of their Harvester cluster to build customized VM images, something they likely want to do if they have a Harvester cluster.

    Goals

    Write a Packer plugin bridging the gap between Harvester and Packer. Users should be able to create customized VM images using Packer and Harvester with no need to utilize another virtualization platform.

    Resources

    Hashicorp documentation for building custom plugins for Packer https://developer.hashicorp.com/packer/docs/plugins/creation/custom-builders

    Source repository of the Harvester Packer plugin https://github.com/m-ildefons/harvester-packer-plugin


    SUSE KVM Best Practices by roseswe

    Description

    SUSE Best Practices around KVM, especially for SAP workloads. Early Google presentation already made from various customer projects and SUSE sources.

    Goals

    Complete presentation we can reuse in SUSE Consulting projects

    Resources

    KVM (virt-manager) images

    SUSE/SAP/KVM Best Practices

    • https://documentation.suse.com/en-us/sles/15-SP6/single-html/SLES-virtualization/
    • SAP Note 1522993 - "Linux: SAP on SUSE KVM - Kernel-based Virtual Machine" && 2284516 - SAP HANA virtualized on SUSE Linux Enterprise hypervisors https://me.sap.com/notes/2284516
    • SUSECon24: [TUTORIAL-1253] Virtualizing SAP workloads with SUSE KVM || https://youtu.be/PTkpRVpX2PM
    • SUSE Best Practices for SAP HANA on KVM - https://documentation.suse.com/sbp/sap-15/html/SBP-SLES4SAP-HANAonKVM-SLES15SP4/index.html


    Contribute to terraform-provider-libvirt by pinvernizzi

    Description

    The SUSE Manager (SUMA) teams' main tool for infrastructure automation, Sumaform, largely relies on terraform-provider-libvirt. That provider is also widely used by other teams, both inside and outside SUSE.

    It would be good to help the maintainers of this project and give back to the community around it, after all the amazing work that has been already done.

    If you're interested in any of infrastructure automation, Terraform, virtualization, tooling development, Go (...) it is also a good chance to learn a bit about them all by putting your hands on an interesting, real-use-case and complex project.

    Goals

    • Get more familiar with Terraform provider development and libvirt bindings in Go
    • Solve some issues and/or implement some features
    • Get in touch with the community around the project

    Resources