genode/repos/gems/src/app/sculpt_manager/runtime/chroot.cc
Norman Feske 3dd81b0d32 Sculpt for The Curious (TC)
This commit updates Early-Adopters (EA) version of Sculpt to the version
for The Curious (TC). Most importantly, it contains the new interactive
sculpt-manager component that automates many system management and
configuration tasks.
2018-05-31 14:02:20 +02:00

45 lines
1.1 KiB
C++

/*
* \brief XML configuration for the chroot component
* \author Norman Feske
* \date 2018-05-18
*/
/*
* Copyright (C) 2018 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU Affero General Public License version 3.
*/
#include <runtime.h>
void Sculpt::gen_chroot_start_content(Xml_generator &xml, Start_name const &name,
Path const &path, Writeable writable)
{
gen_common_start_content(xml, name, Cap_quota{100}, Ram_quota{2*1024*1024});
gen_named_node(xml, "binary", "chroot");
xml.node("config", [&] () {
xml.node("default-policy", [&] () {
xml.attribute("path", path);
if (writable == WRITEABLE)
xml.attribute("writeable", "yes");
});
});
gen_provides<::File_system::Session>(xml);
xml.node("route", [&] () {
gen_service_node<::File_system::Session>(xml, [&] () {
gen_named_node(xml, "child", "default_fs_rw"); });
gen_parent_rom_route(xml, "chroot");
gen_parent_rom_route(xml, "ld.lib.so");
gen_parent_route<Cpu_session>(xml);
gen_parent_route<Pd_session> (xml);
gen_parent_route<Log_session>(xml);
});
}