assert_spec linux if {[expr ![info exists ::env(CBE_KEEP)]]} { exec rm -rf var/libcache/cbe exec rm -rf var/libcache/cbe_cxx exec rm -rf var/libcache/cbe_common exec rm -rf var/libcache/cbe_common_cxx exec rm -rf var/libcache/cbe_init exec rm -rf var/libcache/cbe_init_cxx exec rm -rf var/libcache/cbe_check exec rm -rf var/libcache/cbe_check_cxx exec rm -rf var/libcache/cbe_dump exec rm -rf var/libcache/cbe_dump_cxx } proc cbe_image_file { } { return "vfs_cbe_block.img" } set image_size 32 proc cbe_image_size_mb { } { global image_size return $image_size } append build_components { core init timer server/lx_block server/lx_fs server/vfs app/sequence app/cbe_init_trust_anchor app/cbe_init lib/vfs_cbe_trust_anchor lib/vfs_jitterentropy lib/libc lib/libcrypto } build $build_components create_boot_directory append config { } install_config $config exec rm -rf bin/[cbe_image_file] exec truncate -s [cbe_image_size_mb]M bin/[cbe_image_file] append boot_modules { core init timer lx_block lx_fs sequence vfs vfs.lib.so vfs_jitterentropy.lib.so ld.lib.so spark.lib.so libsparkcrypto.lib.so libcrypto.lib.so libc.lib.so cbe_init_trust_anchor cbe_init cbe_init_cxx.lib.so vfs_cbe_trust_anchor.lib.so } append boot_modules [cbe_image_file] build_boot_image $boot_modules run_genode_until {.*child "initialize_cbe" exited with exit value 0.*\n} 240 exec cp [run_dir]/genode/encrypted_private_key bin exec cp [run_dir]/genode/superblock_hash bin