Awesome
BMFS
Utility for accessing a disk or disk image formatted with BareMetal File System (BMFS).
Prerequisites
The scripts in this repo depend on a Debian-based Linux system like Ubuntu or Elementary. macOS is also supported.
- GCC - C compiler for building C/C++ applications.
In Linux this can be completed with the following command:
sudo apt install gcc
Building BMFS
./build.sh
You can copy the bmfs binary to a location in the system path for ease of use
Creating a new, formatted disk image
bmfs disk.image initialize 128M
Creating a new disk image that boots BareMetal OS
bmfs disk.image initialize 128M path/to/bmfs_mbr.sys path/to/pure64.sys path/to/kernel64.sys
or if the Pure64 boot loader and BareMetal-OS kernel are combined into one file:
bmfs disk.image initialize 128M path/to/bmfs_mbr.sys path/to/software.sys
Formatting a disk image
bmfs disk.image format
In Linux/Unix/Mac OS X you can also format a physical drive by passing the correct path.
sudo bmfs /dev/sdc format
Display BMFS disk contents
bmfs disk.image list
Sample output:
C:\baremetal>utils\bmfs BMFS-256-flat.vmdk list
Disk Size: 256 MiB
Name | Size (B)| Reserved (MiB)
==========================================================================
test.app 31 2
AnotherFile.app 1 2
helloc.app 800 2
Create a new file and reserve space for it
bmfs disk.image create FileName.Ext
You will be prompted for the size to reserve.
Alternately, you can specify the reserved size after the file name. The reserved size is given in Megabytes and will automatically round up to an even number.
bmfs disk.image create FileName.Ext 4
Read from BMFS to a local file
bmfs disk.image read FileName.Ext
Write a local file to BMFS
bmfs disk.image write FileName.Ext
Delete a file on BMFS
bmfs disk.image delete FileName.Ext
// EOF