-----------------------------------------------------------------

[*] Emulating binary name: mkfs.ubifs
[*] Emulator used: qemu-arm-static
[*] Using root directory: /logs/s115_usermode_emulator/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract (1/2)
[*] Using CPU config: 
[*] Emulating binary: /usr/sbin/mkfs.ubifs

[*] Change permissions +x to /logs/s115_usermode_emulator/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/./usr/sbin/mkfs.ubifs.
[*] Emulating binary ./usr/sbin/mkfs.ubifs with parameter NONE
Error: min. I/O unit was not specified (use -h for help)
[*] Emulating binary ./usr/sbin/mkfs.ubifs with parameter -v
Error: not output device or file specified
[*] Emulating binary ./usr/sbin/mkfs.ubifs with parameter -V
mkfs.ubifs (mtd-utils) 2.1.3
[*] Emulating binary ./usr/sbin/mkfs.ubifs with parameter -h
Usage: mkfs.ubifs [OPTIONS] target
Make a UBIFS file system image from an existing directory tree

Examples:
Build file system from directory /opt/img, writing the result in the ubifs.img file
	mkfs.ubifs -m 512 -e 128KiB -c 100 -r /opt/img ubifs.img
The same, but writing directly to an UBI volume
	mkfs.ubifs -r /opt/img /dev/ubi0_0
Creating an empty UBIFS filesystem on an UBI volume
	mkfs.ubifs /dev/ubi0_0

Options:
-r, -d, --root=DIR       build file system from directory DIR
-m, --min-io-size=SIZE   minimum I/O unit size
-e, --leb-size=SIZE      logical erase block size
-c, --max-leb-cnt=COUNT  maximum logical erase block count
-o, --output=FILE        output to FILE
-j, --jrn-size=SIZE      journal size
-R, --reserved=SIZE      how much space should be reserved for the super-user
-x, --compr=TYPE         compression type - "lzo", "favor_lzo", "zlib"
                         "zstd" or "none" (default: "lzo")
-X, --favor-percent      may only be used with favor LZO compression and defines
                         how many percent better zlib should compress to make
                         mkfs.ubifs use zlib instead of LZO (default 20%)
-f, --fanout=NUM         fanout NUM (default: 8)
-F, --space-fixup        file-system free space has to be fixed up on first mount
                         (requires kernel version 3.0 or greater)
-k, --keyhash=TYPE       key hash type - "r5" or "test" (default: "r5")
-p, --orph-lebs=COUNT    count of erase blocks for orphans (default: 1)
-D, --devtable=FILE      use device table FILE
-U, --squash-uids        squash owners making all files owned by root
-l, --log-lebs=COUNT     count of erase blocks for the log (used only for
                         debugging)
-y, --yes                assume the answer is "yes" for all questions
-v, --verbose            verbose operation
-V, --version            display version information
-g, --debug=LEVEL        display debug information (0 - none, 1 - statistics,
                         2 - files, 3 - more details)
-a, --set-inum-attr      create user.image-inode-number extended attribute on files
                         added to the image. The attribute will contain the inode
                         number the file has in the generated image.
-s, --selinux=FILE       Selinux context file
-K, --key=FILE           load an encryption key from a specified file.
-b, --key-descriptor=HEX specify the key descriptor as a hex string.
-P, --padding=NUM        specify padding policy for encrypting filenames
                         (default = 4).
-C, --cipher=NAME        Specify cipher to use for file level encryption
                         (default is "AES-256-XTS").
    --hash-algo=NAME     hash algorithm to use for signed images
                         (Valid options include sha1, sha256, sha512)
    --auth-key=FILE      filename or PKCS #11 uri containing the authentication key
                         for signing
    --auth-cert=FILE     Authentication certificate filename for signing. Unused
                         when certificate is provided via PKCS #11
-h, --help               display this help text

Note, SIZE is specified in bytes, but it may also be specified in Kilobytes,
Megabytes, and Gigabytes if a KiB, MiB, or GiB suffix is used.

If you specify "lzo" or "zlib" compressors, mkfs.ubifs will use this compressor
for all data. The "none" disables any data compression. The "favor_lzo" is not
really a separate compressor. It is just a method of combining "lzo" and "zlib"
compressors. Namely, mkfs.ubifs tries to compress data with both "lzo" and "zlib"
compressors, then it compares which compressor is better. If "zlib" compresses 20
or more percent better than "lzo", mkfs.ubifs chooses "zlib", otherwise it chooses
"lzo". The "--favor-percent" may specify arbitrary threshold instead of the
default 20%.

The -F parameter is used to set the "fix up free space" flag in the superblock,
which forces UBIFS to "fixup" all the free space which it is going to use. This
option is useful to work-around the problem of double free space programming: if the
flasher program which flashes the UBI image is unable to skip NAND pages containing
only 0xFF bytes, the effect is that some NAND pages are written to twice - first time
when flashing the image and the second time when UBIFS is mounted and writes useful
data there. A proper UBI-aware flasher should skip such NAND pages, though. Note, this
flag may make the first mount very slow, because the "free space fixup" procedure
takes time. This feature is supported by the Linux kernel starting from version 3.0.

mkfs.ubifs supports building signed images. For this the "--hash-algo",
"--auth-key" and "--auth-cert" options have to be specified.
[*] Emulating binary ./usr/sbin/mkfs.ubifs with parameter -help
Usage: mkfs.ubifs [OPTIONS] target
Make a UBIFS file system image from an existing directory tree

Examples:
Build file system from directory /opt/img, writing the result in the ubifs.img file
	mkfs.ubifs -m 512 -e 128KiB -c 100 -r /opt/img ubifs.img
The same, but writing directly to an UBI volume
	mkfs.ubifs -r /opt/img /dev/ubi0_0
Creating an empty UBIFS filesystem on an UBI volume
	mkfs.ubifs /dev/ubi0_0

Options:
-r, -d, --root=DIR       build file system from directory DIR
-m, --min-io-size=SIZE   minimum I/O unit size
-e, --leb-size=SIZE      logical erase block size
-c, --max-leb-cnt=COUNT  maximum logical erase block count
-o, --output=FILE        output to FILE
-j, --jrn-size=SIZE      journal size
-R, --reserved=SIZE      how much space should be reserved for the super-user
-x, --compr=TYPE         compression type - "lzo", "favor_lzo", "zlib"
                         "zstd" or "none" (default: "lzo")
-X, --favor-percent      may only be used with favor LZO compression and defines
                         how many percent better zlib should compress to make
                         mkfs.ubifs use zlib instead of LZO (default 20%)
-f, --fanout=NUM         fanout NUM (default: 8)
-F, --space-fixup        file-system free space has to be fixed up on first mount
                         (requires kernel version 3.0 or greater)
-k, --keyhash=TYPE       key hash type - "r5" or "test" (default: "r5")
-p, --orph-lebs=COUNT    count of erase blocks for orphans (default: 1)
-D, --devtable=FILE      use device table FILE
-U, --squash-uids        squash owners making all files owned by root
-l, --log-lebs=COUNT     count of erase blocks for the log (used only for
                         debugging)
-y, --yes                assume the answer is "yes" for all questions
-v, --verbose            verbose operation
-V, --version            display version information
-g, --debug=LEVEL        display debug information (0 - none, 1 - statistics,
                         2 - files, 3 - more details)
-a, --set-inum-attr      create user.image-inode-number extended attribute on files
                         added to the image. The attribute will contain the inode
                         number the file has in the generated image.
-s, --selinux=FILE       Selinux context file
-K, --key=FILE           load an encryption key from a specified file.
-b, --key-descriptor=HEX specify the key descriptor as a hex string.
-P, --padding=NUM        specify padding policy for encrypting filenames
                         (default = 4).
-C, --cipher=NAME        Specify cipher to use for file level encryption
                         (default is "AES-256-XTS").
    --hash-algo=NAME     hash algorithm to use for signed images
                         (Valid options include sha1, sha256, sha512)
    --auth-key=FILE      filename or PKCS #11 uri containing the authentication key
                         for signing
    --auth-cert=FILE     Authentication certificate filename for signing. Unused
                         when certificate is provided via PKCS #11
-h, --help               display this help text

Note, SIZE is specified in bytes, but it may also be specified in Kilobytes,
Megabytes, and Gigabytes if a KiB, MiB, or GiB suffix is used.

If you specify "lzo" or "zlib" compressors, mkfs.ubifs will use this compressor
for all data. The "none" disables any data compression. The "favor_lzo" is not
really a separate compressor. It is just a method of combining "lzo" and "zlib"
compressors. Namely, mkfs.ubifs tries to compress data with both "lzo" and "zlib"
compressors, then it compares which compressor is better. If "zlib" compresses 20
or more percent better than "lzo", mkfs.ubifs chooses "zlib", otherwise it chooses
"lzo". The "--favor-percent" may specify arbitrary threshold instead of the
default 20%.

The -F parameter is used to set the "fix up free space" flag in the superblock,
which forces UBIFS to "fixup" all the free space which it is going to use. This
option is useful to work-around the problem of double free space programming: if the
flasher program which flashes the UBI image is unable to skip NAND pages containing
only 0xFF bytes, the effect is that some NAND pages are written to twice - first time
when flashing the image and the second time when UBIFS is mounted and writes useful
data there. A proper UBI-aware flasher should skip such NAND pages, though. Note, this
flag may make the first mount very slow, because the "free space fixup" procedure
takes time. This feature is supported by the Linux kernel starting from version 3.0.

mkfs.ubifs supports building signed images. For this the "--hash-algo",
"--auth-key" and "--auth-cert" options have to be specified.
[*] Emulating binary ./usr/sbin/mkfs.ubifs with parameter --help
Usage: mkfs.ubifs [OPTIONS] target
Make a UBIFS file system image from an existing directory tree

Examples:
Build file system from directory /opt/img, writing the result in the ubifs.img file
	mkfs.ubifs -m 512 -e 128KiB -c 100 -r /opt/img ubifs.img
The same, but writing directly to an UBI volume
	mkfs.ubifs -r /opt/img /dev/ubi0_0
Creating an empty UBIFS filesystem on an UBI volume
	mkfs.ubifs /dev/ubi0_0

Options:
-r, -d, --root=DIR       build file system from directory DIR
-m, --min-io-size=SIZE   minimum I/O unit size
-e, --leb-size=SIZE      logical erase block size
-c, --max-leb-cnt=COUNT  maximum logical erase block count
-o, --output=FILE        output to FILE
-j, --jrn-size=SIZE      journal size
-R, --reserved=SIZE      how much space should be reserved for the super-user
-x, --compr=TYPE         compression type - "lzo", "favor_lzo", "zlib"
                         "zstd" or "none" (default: "lzo")
-X, --favor-percent      may only be used with favor LZO compression and defines
                         how many percent better zlib should compress to make
                         mkfs.ubifs use zlib instead of LZO (default 20%)
-f, --fanout=NUM         fanout NUM (default: 8)
-F, --space-fixup        file-system free space has to be fixed up on first mount
                         (requires kernel version 3.0 or greater)
-k, --keyhash=TYPE       key hash type - "r5" or "test" (default: "r5")
-p, --orph-lebs=COUNT    count of erase blocks for orphans (default: 1)
-D, --devtable=FILE      use device table FILE
-U, --squash-uids        squash owners making all files owned by root
-l, --log-lebs=COUNT     count of erase blocks for the log (used only for
                         debugging)
-y, --yes                assume the answer is "yes" for all questions
-v, --verbose            verbose operation
-V, --version            display version information
-g, --debug=LEVEL        display debug information (0 - none, 1 - statistics,
                         2 - files, 3 - more details)
-a, --set-inum-attr      create user.image-inode-number extended attribute on files
                         added to the image. The attribute will contain the inode
                         number the file has in the generated image.
-s, --selinux=FILE       Selinux context file
-K, --key=FILE           load an encryption key from a specified file.
-b, --key-descriptor=HEX specify the key descriptor as a hex string.
-P, --padding=NUM        specify padding policy for encrypting filenames
                         (default = 4).
-C, --cipher=NAME        Specify cipher to use for file level encryption
                         (default is "AES-256-XTS").
    --hash-algo=NAME     hash algorithm to use for signed images
                         (Valid options include sha1, sha256, sha512)
    --auth-key=FILE      filename or PKCS #11 uri containing the authentication key
                         for signing
    --auth-cert=FILE     Authentication certificate filename for signing. Unused
                         when certificate is provided via PKCS #11
-h, --help               display this help text

Note, SIZE is specified in bytes, but it may also be specified in Kilobytes,
Megabytes, and Gigabytes if a KiB, MiB, or GiB suffix is used.

If you specify "lzo" or "zlib" compressors, mkfs.ubifs will use this compressor
for all data. The "none" disables any data compression. The "favor_lzo" is not
really a separate compressor. It is just a method of combining "lzo" and "zlib"
compressors. Namely, mkfs.ubifs tries to compress data with both "lzo" and "zlib"
compressors, then it compares which compressor is better. If "zlib" compresses 20
or more percent better than "lzo", mkfs.ubifs chooses "zlib", otherwise it chooses
"lzo". The "--favor-percent" may specify arbitrary threshold instead of the
default 20%.

The -F parameter is used to set the "fix up free space" flag in the superblock,
which forces UBIFS to "fixup" all the free space which it is going to use. This
option is useful to work-around the problem of double free space programming: if the
flasher program which flashes the UBI image is unable to skip NAND pages containing
only 0xFF bytes, the effect is that some NAND pages are written to twice - first time
when flashing the image and the second time when UBIFS is mounted and writes useful
data there. A proper UBI-aware flasher should skip such NAND pages, though. Note, this
flag may make the first mount very slow, because the "free space fixup" procedure
takes time. This feature is supported by the Linux kernel starting from version 3.0.

mkfs.ubifs supports building signed images. For this the "--hash-algo",
"--auth-key" and "--auth-cert" options have to be specified.
[*] Emulating binary ./usr/sbin/mkfs.ubifs with parameter --version
mkfs.ubifs (mtd-utils) 2.1.3
[*] Emulating binary ./usr/sbin/mkfs.ubifs with parameter version
Error: min. I/O unit was not specified (use -h for help)

-----------------------------------------------------------------