diff --git a/repos/gems/run/file_vault_client.run b/repos/gems/run/file_vault_client.run
new file mode 100644
index 0000000000..989e0e07d7
--- /dev/null
+++ b/repos/gems/run/file_vault_client.run
@@ -0,0 +1,472 @@
+proc jent_avail { } {
+ if {[have_board pbxa9]} { return 0 }
+ if {[have_board zynq_qemu]} { return 0 }
+ return 1
+}
+
+proc jent_avail_attr { } {
+ if {[jent_avail]} { return "yes" }
+ return "no"
+}
+
+proc passphrase { } { return abcdefgh }
+
+proc lx_fs_dir { } { return bin/file_vault_client_dir }
+
+proc lx_fs_dir_template { } { return $::env(LX_FS_DIR_TEMPLATE) }
+
+proc lx_fs_dir_template_set { } { return [info exists ::env(LX_FS_DIR_TEMPLATE)] }
+
+proc container_initialized { } { return [expr [have_board linux] && [lx_fs_dir_template_set]] }
+
+proc bash_profile { } {
+ if {[container_initialized]} { return file_vault_client_2.sh }
+ return file_vault_client_1.sh
+}
+
+if {[have_board linux]} {
+ if {[lx_fs_dir_template_set]} {
+ if {[file normalize [lx_fs_dir_template]] == [file normalize [lx_fs_dir]]} {
+ puts ""
+ puts "Error: please set LX_FS_DIR_TEMPLATE to something other than [lx_fs_dir]"
+ puts ""
+ exit -1
+ }
+ puts ""
+ puts "Use lx_fs directory template [lx_fs_dir_template]"
+ puts ""
+ }
+}
+
+build {
+ lib/tresor lib/vfs_tresor_trust_anchor lib/vfs_tresor_crypto_aes_cbc
+ lib/vfs_tresor app/tresor_init_trust_anchor app/tresor_init app/file_vault }
+
+create_boot_directory
+
+append archives "
+ [depot_user]/src/[base_src]
+ [depot_user]/src/init
+ [depot_user]/src/libc
+ [depot_user]/src/zlib
+ [depot_user]/src/fs_query
+ [depot_user]/src/vfs_block
+ [depot_user]/src/vfs
+ [depot_user]/src/openssl
+ [depot_user]/src/fs_tool
+ [depot_user]/src/fs_utils
+ [depot_user]/src/posix
+ [depot_user]/src/vfs_pipe
+ [depot_user]/src/rump
+ [depot_user]/src/fs_rom
+ [depot_user]/src/log_terminal
+ [depot_user]/src/sandbox
+ [depot_user]/src/coreutils
+ [depot_user]/src/bash
+ [depot_user]/src/report_rom
+ [depot_user]/src/dynamic_rom
+"
+
+append_if [jent_avail] archives " [depot_user]/src/vfs_jitterentropy "
+
+lappend_if [have_board linux] archives [depot_user]/src/lx_fs
+
+import_from_depot $archives
+
+append config {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ }
+
+if {[container_initialized]} { append config "
+ "
+} else { append config "
+ "
+}
+append config {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2018-01-01 00:01
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+if {[have_board linux]} {
+
+ append config {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ }
+
+} else {
+
+ append config {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ }
+}
+append config {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+exec cp [repository_contains run/[bash_profile]]/run/[bash_profile] bin/
+
+install_config $config
+
+if {[have_board linux]} {
+ exec rm -rf [lx_fs_dir]
+ if {[lx_fs_dir_template_set]} {
+ exec cp -r [lx_fs_dir_template] [lx_fs_dir]
+ } else {
+ exec mkdir -p [lx_fs_dir]/data
+ exec mkdir -p [lx_fs_dir]/trust_anchor
+ }
+}
+
+append boot_modules [build_artifacts]
+lappend boot_modules [bash_profile]
+
+lappend_if [have_board linux] boot_modules [file tail [lx_fs_dir]]
+
+build_boot_image $boot_modules
+
+append qemu_args " -display none "
+run_genode_until ".*\n" 60
+
+grep_output {\[init -> dynamic_init -> log_terminal\].*}
+
+if {[container_initialized]} {
+ compare_output_to {
+[init -> dynamic_init -> log_terminal] total 1
+[init -> dynamic_init -> log_terminal] drwx------ 1 root 0 0 Jan 1 1970 dir_1
+[init -> dynamic_init -> log_terminal] -rwx------ 1 root 0 18 Jan 1 1970 file_1
+[init -> dynamic_init -> log_terminal] drwx------ 1 root 0 0 Jan 1 1970 lost+found
+[init -> dynamic_init -> log_terminal] total 1
+[init -> dynamic_init -> log_terminal] -rwx------ 1 root 0 66 Jan 1 1970 file_2
+[init -> dynamic_init -> log_terminal] Ein zweiter Test.
+[init -> dynamic_init -> log_terminal] Eine weitere Datei.
+[init -> dynamic_init -> log_terminal] Mit mehr Inhalt.
+[init -> dynamic_init -> log_terminal] Und Sonderzeichen: /§($)=%!
+ }
+} else {
+ compare_output_to {
+[init -> dynamic_init -> log_terminal] Hallo Welt!
+[init -> dynamic_init -> log_terminal] Ein zweiter Test.
+[init -> dynamic_init -> log_terminal] total 1
+[init -> dynamic_init -> log_terminal] -rwx------ 1 root 0 18 Jan 1 1970 file_1
+[init -> dynamic_init -> log_terminal] drwx------ 1 root 0 0 Jan 1 1970 lost+found
+[init -> dynamic_init -> log_terminal] Eine weitere Datei.
+[init -> dynamic_init -> log_terminal] Mit mehr Inhalt.
+[init -> dynamic_init -> log_terminal] Eine weitere Datei.
+[init -> dynamic_init -> log_terminal] Mit mehr Inhalt.
+[init -> dynamic_init -> log_terminal] Und Sonderzeichen: /§($)=%!
+[init -> dynamic_init -> log_terminal] total 1
+[init -> dynamic_init -> log_terminal] drwx------ 1 root 0 0 Jan 1 1970 dir_1
+[init -> dynamic_init -> log_terminal] -rwx------ 1 root 0 18 Jan 1 1970 file_1
+[init -> dynamic_init -> log_terminal] drwx------ 1 root 0 0 Jan 1 1970 lost+found
+[init -> dynamic_init -> log_terminal] total 1
+[init -> dynamic_init -> log_terminal] -rwx------ 1 root 0 66 Jan 1 1970 file_2
+ }
+}
+
+if {[get_cmd_switch --autopilot] && [have_board linux]} { exec rm -rf [lx_fs_dir] }
diff --git a/repos/gems/run/file_vault_client_1.sh b/repos/gems/run/file_vault_client_1.sh
new file mode 100644
index 0000000000..0304f6b6f9
--- /dev/null
+++ b/repos/gems/run/file_vault_client_1.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+echo "Hallo Welt!" > file_vault/file_1
+cat file_vault/file_1
+echo "Ein zweiter Test." > file_vault/file_1
+cat file_vault/file_1
+ls -la file_vault/
+mkdir file_vault/dir_1
+echo "Eine weitere Datei." > file_vault/dir_1/file_2
+echo "Mit mehr Inhalt." >> file_vault/dir_1/file_2
+cat file_vault/dir_1/file_2
+echo "Und Sonderzeichen: /§($)=%!" >> file_vault/dir_1/file_2
+cat file_vault/dir_1/file_2
+ls -la file_vault/
+ls -la file_vault/dir_1
+exit 0
diff --git a/repos/gems/run/file_vault_client_2.sh b/repos/gems/run/file_vault_client_2.sh
new file mode 100644
index 0000000000..44cacbb1db
--- /dev/null
+++ b/repos/gems/run/file_vault_client_2.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+ls -la file_vault/
+ls -la file_vault/dir_1
+cat file_vault/file_1
+cat file_vault/dir_1/file_2
+exit 0
diff --git a/tool/autopilot.list b/tool/autopilot.list
index 2bfc2f13d6..8223345fdd 100644
--- a/tool/autopilot.list
+++ b/tool/autopilot.list
@@ -16,6 +16,7 @@ fb_bench
fetchurl_lwip
fetchurl_lxip
fs_query
+file_vault_client
gdb
hello
ieee754