diff --git a/repos/libports/run/fetchurl.run b/repos/libports/run/fetchurl.run
index 648dbf661..47b9048a4 100644
--- a/repos/libports/run/fetchurl.run
+++ b/repos/libports/run/fetchurl.run
@@ -18,6 +18,12 @@ set build_components {
server/report_rom
}
+proc gpio_drv { } { if {[have_spec rpi] && [have_spec hw]} { return hw_gpio_drv }
+ if {[have_spec rpi] && [have_spec foc]} { return foc_gpio_drv }
+ return gpio_drv }
+
+lappend_if [have_spec gpio] build_components drivers/gpio
+
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
@@ -49,6 +55,13 @@ append config {
append_platform_drv_config
+append_if [have_spec gpio] config "
+
+
+
+
+ "
+
append config {
@@ -110,6 +123,8 @@ set boot_modules {
append_platform_drv_boot_modules
lappend boot_modules [nic_drv_binary]
+lappend_if [have_spec gpio] boot_modules [gpio_drv]
+
build_boot_image $boot_modules
append_if [have_spec x86] qemu_args " -net nic,model=e1000 "