Create a block device 🧱

The objective of this assignment is to build a kernel module that creates simple block devices backed by RAM.

For the purposes of grading, this assignment will be part of the "Programming Assignments" category.

Outcomes:

What to submit:

Procedure:

  1. Rebuild the kernel with support for devtmpfs filesystem for automatically created device nodes and the block layer

  2. Edit the rootfs to automatically mount the devtmpfs on /dev

  3. Make the appropriate edits to files/folders in rootfs to automatically mount the kernel's devtmpfs on /dev during boot

  4. Rebuild busybox with support for the fdisk partitioning utility

  5. Identify the appropriate config options to enable the fdisk utility and allow it to write partition tables

  6. Enable the options using menuconfig and rebuild busybox

  7. Write your specification for the module

  8. Write a testing program (and makefile) that verifies that the module complies with the spec

  9. Implement the module

  10. Test your work and document your findings

  11. Extra Credit Opportunity

Policies & Procedures


msg = (silence)
whoami = None
singularity v0.7 https://github.com/underground-software/singularity