diff --git a/repos/gems/recipes/pkg/sculpt-pc/README b/repos/gems/recipes/pkg/sculpt-pc/README new file mode 100644 index 0000000000..f3e32bc16d --- /dev/null +++ b/repos/gems/recipes/pkg/sculpt-pc/README @@ -0,0 +1 @@ +The x86-PC specific parts needed to run sculpt. diff --git a/repos/gems/recipes/pkg/sculpt-pc/archives b/repos/gems/recipes/pkg/sculpt-pc/archives new file mode 100644 index 0000000000..877e0b59ff --- /dev/null +++ b/repos/gems/recipes/pkg/sculpt-pc/archives @@ -0,0 +1,7 @@ +_/pkg/drivers_managed-pc +_/pkg/sculpt +_/pkg/wifi +_/src/rtc_drv +_/src/ipxe_nic_drv +_/src/nvme_drv + diff --git a/repos/gems/recipes/pkg/sculpt-pc/hash b/repos/gems/recipes/pkg/sculpt-pc/hash new file mode 100644 index 0000000000..cdc7ac464c --- /dev/null +++ b/repos/gems/recipes/pkg/sculpt-pc/hash @@ -0,0 +1 @@ +2020-11-24 3f831fdee6c570eb09e3ad41b7c0c665c2beb50e diff --git a/repos/gems/recipes/pkg/sculpt/archives b/repos/gems/recipes/pkg/sculpt/archives index 614505ad6b..5eff5d1e36 100644 --- a/repos/gems/recipes/pkg/sculpt/archives +++ b/repos/gems/recipes/pkg/sculpt/archives @@ -1,5 +1,3 @@ -_/pkg/drivers_managed-pc -_/pkg/wifi _/pkg/depot_download _/pkg/terminal _/pkg/backdrop @@ -13,7 +11,6 @@ _/src/nitpicker _/src/global_keys_handler _/src/gui_fb _/src/gui_fader -_/src/rtc_drv _/src/rom_filter _/src/terminal_log _/src/file_terminal @@ -28,7 +25,6 @@ _/src/vfs_import _/src/vfs_lxip _/src/vfs_pipe _/src/rump -_/src/ipxe_nic_drv _/src/chroot _/src/fetchurl _/src/curl @@ -38,7 +34,6 @@ _/src/log_core _/src/part_block _/src/nic_router _/src/fs_utils -_/src/nvme_drv _/src/wm _/src/themed_decorator _/src/libpng diff --git a/repos/gems/recipes/raw/drivers_managed-pc/drivers.config b/repos/gems/recipes/raw/drivers_managed-pc/drivers.config index 17da6f2a53..772dfee9c4 100644 --- a/repos/gems/recipes/raw/drivers_managed-pc/drivers.config +++ b/repos/gems/recipes/raw/drivers_managed-pc/drivers.config @@ -32,6 +32,9 @@ + + + @@ -176,6 +179,19 @@ + + + + + + + + + + + + + diff --git a/repos/gems/run/sculpt.run b/repos/gems/run/sculpt.run index 16f2335a94..7c7ccac870 100644 --- a/repos/gems/run/sculpt.run +++ b/repos/gems/run/sculpt.run @@ -1,6 +1,6 @@ -if {![have_spec x86] || [have_spec linux]} { - puts "Platform is unsupported." - exit 0 +if {![have_spec pc]} { + puts "Platform is unsupported."; + exit 0; } if {[have_spec nova]} { @@ -10,13 +10,18 @@ if {[have_spec nova]} { create_boot_directory import_from_depot [depot_user]/src/[base_src] \ - [depot_user]/pkg/sculpt + [depot_user]/pkg/sculpt-[board] proc config_system_content {} { return {\ } } +proc nic_drv {} { + if {[have_spec pc]} { return ipxe_nic_drv } + puts "\n Run script is not supported on this platform. \n"; + exit 0; +} install_config { @@ -260,6 +265,7 @@ install_config { + @@ -429,11 +435,6 @@ install_config { - - - - - @@ -455,6 +456,7 @@ install_config { + @@ -483,7 +485,7 @@ install_config { - + @@ -505,27 +507,29 @@ file copy -force [genode_dir]/repos/gems/recipes/pkg/sculpt/README [run_dir]/gen file copy -force [genode_dir]/repos/gems/run/sculpt/vimrc [run_dir]/genode/ -file copy -force [genode_dir]/repos/gems/run/sculpt/machine.vbox [run_dir]/genode/ - -file copy -force [genode_dir]/repos/gems/recipes/raw/drivers_managed-pc/drivers.config \ - [run_dir]/genode/drivers.config - foreach file { en_us.chargen de_ch.chargen de_de.chargen fr_ch.chargen fr_fr.chargen special.chargen } { file copy -force [genode_dir]/repos/os/src/server/event_filter/$file \ - [run_dir]/genode/$file } - -file copy -force [genode_dir]/repos/gems/recipes/raw/drivers_managed-pc/event_filter.config \ - [run_dir]/genode/event_filter.config + [run_dir]/genode/$file } file copy -force [genode_dir]/repos/gems/recipes/raw/depot_download/depot_download.config \ - [run_dir]/genode/depot_download.config + [run_dir]/genode/depot_download.config file copy -force [genode_dir]/VERSION [run_dir]/genode/ file copy -force [genode_dir]/repos/gems/src/app/backdrop/genode_logo.png [run_dir]/genode/ file copy -force [genode_dir]/repos/gems/run/sculpt/drop_shadow.png [run_dir]/genode/ -exec gzip -dc [genode_dir]/repos/gems/run/sculpt/machine.vdi.gz > [run_dir]/genode/machine.vdi +if {[have_spec pc]} { + file copy -force [genode_dir]/repos/gems/recipes/raw/drivers_managed-pc/event_filter.config \ + [run_dir]/genode/event_filter.config + + file copy -force [genode_dir]/repos/gems/run/sculpt/machine.vbox [run_dir]/genode/ + + file copy -force [genode_dir]/repos/gems/recipes/raw/drivers_managed-pc/drivers.config \ + [run_dir]/genode/drivers.config + + exec gzip -dc [genode_dir]/repos/gems/run/sculpt/machine.vdi.gz > [run_dir]/genode/machine.vdi +} # diff --git a/repos/gems/src/app/sculpt_manager/main.cc b/repos/gems/src/app/sculpt_manager/main.cc index 3bd14e0356..b81e46267a 100644 --- a/repos/gems/src/app/sculpt_manager/main.cc +++ b/repos/gems/src/app/sculpt_manager/main.cc @@ -20,6 +20,7 @@ #include #include #include +#include /* included from depot_deploy tool */ #include diff --git a/repos/gems/src/app/sculpt_manager/runtime/nic_drv.cc b/repos/gems/src/app/sculpt_manager/runtime/nic_drv.cc index 634074701d..a5af189824 100644 --- a/repos/gems/src/app/sculpt_manager/runtime/nic_drv.cc +++ b/repos/gems/src/app/sculpt_manager/runtime/nic_drv.cc @@ -17,8 +17,6 @@ void Sculpt::gen_nic_drv_start_content(Xml_generator &xml) { gen_common_start_content(xml, "nic_drv", Cap_quota{300}, Ram_quota{16*1024*1024}); - xml.node("binary", [&] () { xml.attribute("name", "ipxe_nic_drv"); }); - gen_provides(xml); xml.node("config", [&] () { }); @@ -28,7 +26,7 @@ void Sculpt::gen_nic_drv_start_content(Xml_generator &xml) xml.node("parent", [&] () { xml.attribute("label", "nic"); }); }); - gen_parent_rom_route(xml, "ipxe_nic_drv"); + gen_parent_rom_route(xml, "nic_drv"); gen_parent_rom_route(xml, "ld.lib.so"); gen_parent_route (xml); gen_parent_route (xml); diff --git a/repos/gems/src/app/sculpt_manager/target.mk b/repos/gems/src/app/sculpt_manager/target.mk index 99aa9b5a2b..5a69a43cb7 100644 --- a/repos/gems/src/app/sculpt_manager/target.mk +++ b/repos/gems/src/app/sculpt_manager/target.mk @@ -3,4 +3,3 @@ SRC_CC := $(notdir $(wildcard $(PRG_DIR)/*.cc)) SRC_CC += $(addprefix view/, $(notdir $(wildcard $(PRG_DIR)/view/*.cc))) LIBS += base INC_DIR += $(PRG_DIR) $(REP_DIR)/src/app/depot_deploy -REQUIRES = x86