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.c
andisoMethods.c
in the functioncheck_kernel_file()
. - Navigate to base folder and run
make
. - Then run
./main
to 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
Code
andInclude
folders are present. - VirtualBox
- Navigate to
UEFI/Code
folder and run make.sh which createsboot.iso
. - Load the
boot.iso
into a virtual machine in VirtualBox with UEFI enabled.