A 9p filesystem is supported by the emulator, using a virtio transport. Using it, files can be exchanged with the guest OS, see create_file create_file and read_file. It can be enabled by passing the following options to V86Starter:

options.filesystem = {
    basefs: "http://localhost/9p/fs.json",
    baseurl: "http://localhost/9p/base/",
}

Here, basefs is a json file created using fs2json. The base url is the prefix of a url from which the files are available. For instance, if the 9p filesystem has a file /bin/sh, that file must be accessible from http://localhost/9p/base/bin/sh. If basefs and baseurl are omitted, an empty 9p filesystem is created.

The mount_tag of the 9p device is host9p. In order to mount it in the guest, use:

mount -t 9p host9p /mnt/9p/