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] }