Explores ISO 9660 file systems and loads the kernel file into memory using low-level Block I/O operations which reads 2KB raw blocks. Block I/O provides a low level implementation to read a file regardless of the file system type.
This folder includes an implementation in C to traverse through an ISO file (ISO 9660 File Systems) and prints out relevant information such as file names and sizes. Can be extended to print other information.
- Path to the iso file has to be provided in
main.candisoMethods.cin the functioncheck_kernel_file(). - Navigate to base folder and run
make. - Then run
./mainto execute the program.
This folder includes an implementation to perform higher-level operations (reading a file) using the low-level block I/O operations in UEFI. This code reads the ISO file (ISO 9660 file system), and loads the kernel into memory.
- build-essential, clang, lld, mkisofs, virtualbox. (install with
sudo apt install) - Clone this repository - https://github.com/rusnikola/fwimage in the same folder where
CodeandIncludefolders are present. - VirtualBox
- Navigate to
UEFI/Codefolder and run make.sh which createsboot.iso. - Load the
boot.isointo a virtual machine in VirtualBox with UEFI enabled.