set sha256sum [installed_command sha256sum] build { core init timer lib/libc_noux noux-pkg/coreutils noux/minimal proxy/rom_verify server/log_terminal server/lz_rom } # strip coreutils binaries and create tar archive exec sh -c "[cross_dev_prefix]strip bin/coreutils/bin/*" exec tar cfv bin/coreutils.tar -h -C bin/coreutils . # get the hash of the tarball to check against after decompression set tar_digest [lindex [exec $sha256sum bin/coreutils.tar] 0] create_boot_directory append config { } append config "" append config { } install_config $config # Lzip the coreutils tarball exec lzip --force --keep bin/coreutils.tar # Tar the Lziped tarball because a zero padded ROM will not work exec tar cf bin/coreutils.tar.lz.tar -C bin coreutils.tar.lz build_boot_image { core init ld.lib.so coreutils.tar.lz.tar libc.lib.so vfs.lib.so libc_noux.lib.so libm.lib.so log_terminal lz_rom noux rom_verify stdcxx.lib.so timer } append qemu_args " -nographic -serial mon:stdio " if {[have_spec x86_64]} { # coreutils.tar is really huge when built for x86_64 } run_genode_until {child "noux" exited with exit value 0.*\n} 30 exec rm bin/coreutils.tar.lz.tar bin/coreutils.tar.lz bin/coreutils.tar