This project builds on my previous efforts to plumb the Linux Kernel Library (LKL) into USB storage devices. This time I plan on mostly ignoring Android and will instead focus on lklfuse USB support.

lklfuse uses virtio over MMIO to route block device I/O between the host block layer and LKL guest kernel. xHCI emulation appears to be how proper USB traffic routing between host and guest would normally be implemented, but I'm unfamiliar with (and daunted by) the specifications and protocols involved. Given that both guest and host are Linux, I'm considering a simpler approach using USB/IP over virtio, but would need to investigate further to see whether it's viable.

Goals

  • Explore options for USB traffic routing between LKL guest and Linux hosts
    • Learn about and play with the USB/IP and virtio protocols
    • Read about the kernels usbdevice_fs.h APIs
  • Implement lklfuse USB storage support
  • stretch goal: map a LUKS/dm-crypt device
  • stretch goal: benchmark USB against virtio-block devices

Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 24

Activity

  • 3 days ago: mwilck liked this project.
  • 6 days ago: mbrugger liked this project.
  • about 1 month ago: dmdiss started this project.
  • about 1 month ago: dmdiss originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    This project is one of its kind!