Filesystems
Filesystem images can be written to a disk image, or mounted to a loop device.
Convert tar to Squashfs image
Construct a Squashfs filesystem image with the contents of a tar archive.
- Target:
build/${file}.sqfs - Required dependencies:
${file}.sqfs.cfg- See the Squashfs configuration file details below.
- Built dependencies:
build/${file}.tar- The tar archive to populate the filesystem image with.
Configuration file
The following options are valid in the ${file}.sqfs.cfg configuration file.
COMPRESSION- Optional - Compress the filesystem with the nominated compressor. Available compressors:gzip,lzo,lz4,xz,zstd,lzma. Default:zstd.
Convert tar to ext4 image
Construct an ext4 filesystem image with the contents of a tar archive.
- Target:
build/${file}.ext4 - Required dependencies:
${file}.ext4.cfg- See the ext4 configuration file details below.
- Built dependencies:
build/${file}.tar- The tar archive to populate the filesystem image with.
Configuration file
The following options are valid in the ${file}.ext4.cfg configuration file.
SIZE- Required - The size of the image to create and format with the ext4 filesystem. If no units are provided, e.g.1GB, then the size is interpreted as bytes.LABEL- Optional - A text label to give to the filesystem. If not provided, the label will be derived from the basename of the target${file}variable.
Example
This configuration file describes a 2GB ext4 image labelled "data":
LABEL=data
SIZE=2GB
This Makefile rule shows how to define a phony target build
that generates the ext4 image file build/data.ext4 with the contents
of build/data.tar which must be generated by other rules (not shown):
.PHONY: build
build: build/data.ext4
Convert tar to FAT image
Construct a FAT filesystem image with the contents of a tar archive.
- Target:
build/${file}.fat - Required dependencies:
${file}.fat.cfg- See the FAT configuration file details below.
- Built dependencies:
build/${file}.tar- The tar archive to populate the filesystem image with.
Configuration file
The following options are valid in the ${file}.fat.cfg configuration file.
SIZE- Required - The size of the image to create and format with the FAT filesystem. If no units are provided, e.g.1GB, then the size is interpreted as bytes.LABEL- Optional - A text label to give to the filesystem. If not provided, the label will be derived from the basename of the target${file}variable.TYPE- Optional - Override the auto-selected FAT size of the created filesystem. Available types:fat32,fat16,fat12.
Convert tar to cpio archive
Convert a tar archive to a cpio archive.
The cpio archive is constructed with the newc format which makes it
usable as a Linux kernel initramfs after being gzipped
by targeting the build/${file}.cpio.gz build artifact.
- Target:
build/${file}.cpio - Built dependencies:
build/${file}.tar- The tar file to convert to cpio.