diff --git a/repos/gems/recipes/pkg/drivers_rtc-pc/README b/repos/gems/recipes/pkg/drivers_rtc-pc/README
deleted file mode 100644
index 0dbd0bec05..0000000000
--- a/repos/gems/recipes/pkg/drivers_rtc-pc/README
+++ /dev/null
@@ -1,3 +0,0 @@
-
- Device drivers needed for scenarios
- using a real time clock
diff --git a/repos/gems/recipes/pkg/drivers_rtc-pc/hash b/repos/gems/recipes/pkg/drivers_rtc-pc/hash
deleted file mode 100644
index a4da4fe621..0000000000
--- a/repos/gems/recipes/pkg/drivers_rtc-pc/hash
+++ /dev/null
@@ -1 +0,0 @@
-2020-02-27 65382e039846bc88caab8a17b68040cd75a352a6
diff --git a/repos/gems/recipes/raw/drivers_rtc-pc/content.mk b/repos/gems/recipes/raw/drivers_rtc-pc/content.mk
deleted file mode 100644
index bb2e779abe..0000000000
--- a/repos/gems/recipes/raw/drivers_rtc-pc/content.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-content: drivers.config
-
-drivers.config:
- cp $(REP_DIR)/recipes/raw/drivers_rtc-pc/$@ $@
diff --git a/repos/gems/recipes/raw/drivers_rtc-pc/hash b/repos/gems/recipes/raw/drivers_rtc-pc/hash
deleted file mode 100644
index bab0bbcb5b..0000000000
--- a/repos/gems/recipes/raw/drivers_rtc-pc/hash
+++ /dev/null
@@ -1 +0,0 @@
-2019-08-20 5c445dd7b9c2e8dd6a6b2b27b55507537cde1868
diff --git a/repos/libports/recipes/pkg/system_rtc-linux/README b/repos/libports/recipes/pkg/system_rtc-linux/README
new file mode 100644
index 0000000000..e2ad88317a
--- /dev/null
+++ b/repos/libports/recipes/pkg/system_rtc-linux/README
@@ -0,0 +1 @@
+Subsystem for system real-time clock
diff --git a/repos/libports/recipes/pkg/system_rtc-linux/archives b/repos/libports/recipes/pkg/system_rtc-linux/archives
new file mode 100644
index 0000000000..08ee878baf
--- /dev/null
+++ b/repos/libports/recipes/pkg/system_rtc-linux/archives
@@ -0,0 +1,4 @@
+_/src/linux_rtc_drv
+_/src/system_rtc
+_/src/report_rom
+_/raw/system_rtc-linux
diff --git a/repos/libports/recipes/pkg/system_rtc-linux/hash b/repos/libports/recipes/pkg/system_rtc-linux/hash
new file mode 100644
index 0000000000..5f5204bd20
--- /dev/null
+++ b/repos/libports/recipes/pkg/system_rtc-linux/hash
@@ -0,0 +1 @@
+2020-03-04 7a3b4dd6a0a483d1408cc8729a6d80c139b189f1
diff --git a/repos/libports/recipes/pkg/system_rtc-pc/README b/repos/libports/recipes/pkg/system_rtc-pc/README
new file mode 100644
index 0000000000..e2ad88317a
--- /dev/null
+++ b/repos/libports/recipes/pkg/system_rtc-pc/README
@@ -0,0 +1 @@
+Subsystem for system real-time clock
diff --git a/repos/gems/recipes/pkg/drivers_rtc-pc/archives b/repos/libports/recipes/pkg/system_rtc-pc/archives
similarity index 69%
rename from repos/gems/recipes/pkg/drivers_rtc-pc/archives
rename to repos/libports/recipes/pkg/system_rtc-pc/archives
index 338d174b59..fd613f37b3 100644
--- a/repos/gems/recipes/pkg/drivers_rtc-pc/archives
+++ b/repos/libports/recipes/pkg/system_rtc-pc/archives
@@ -1,4 +1,4 @@
_/src/rtc_drv
_/src/system_rtc
_/src/report_rom
-_/raw/drivers_rtc-pc
+_/raw/system_rtc-pc
diff --git a/repos/libports/recipes/pkg/system_rtc-pc/hash b/repos/libports/recipes/pkg/system_rtc-pc/hash
new file mode 100644
index 0000000000..2b0f36a4b7
--- /dev/null
+++ b/repos/libports/recipes/pkg/system_rtc-pc/hash
@@ -0,0 +1 @@
+2020-03-04 d135ea6e090fa78737ddf2c2ca2f8184d4762c6e
diff --git a/repos/libports/recipes/raw/system_rtc-linux/content.mk b/repos/libports/recipes/raw/system_rtc-linux/content.mk
new file mode 100644
index 0000000000..e52c247147
--- /dev/null
+++ b/repos/libports/recipes/raw/system_rtc-linux/content.mk
@@ -0,0 +1,4 @@
+content: system_rtc.config
+
+system_rtc.config:
+ cp $(REP_DIR)/recipes/raw/system_rtc-linux/$@ $@
diff --git a/repos/libports/recipes/raw/system_rtc-linux/hash b/repos/libports/recipes/raw/system_rtc-linux/hash
new file mode 100644
index 0000000000..6a864e47eb
--- /dev/null
+++ b/repos/libports/recipes/raw/system_rtc-linux/hash
@@ -0,0 +1 @@
+2020-03-04 33377547149acb36d446fd3c80cd5a9113cc8f8a
diff --git a/repos/libports/recipes/raw/system_rtc-linux/system_rtc.config b/repos/libports/recipes/raw/system_rtc-linux/system_rtc.config
new file mode 100644
index 0000000000..b9bdcdbd12
--- /dev/null
+++ b/repos/libports/recipes/raw/system_rtc-linux/system_rtc.config
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/repos/libports/recipes/raw/system_rtc-pc/content.mk b/repos/libports/recipes/raw/system_rtc-pc/content.mk
new file mode 100644
index 0000000000..832d983115
--- /dev/null
+++ b/repos/libports/recipes/raw/system_rtc-pc/content.mk
@@ -0,0 +1,4 @@
+content: system_rtc.config
+
+system_rtc.config:
+ cp $(REP_DIR)/recipes/raw/system_rtc-pc/$@ $@
diff --git a/repos/libports/recipes/raw/system_rtc-pc/hash b/repos/libports/recipes/raw/system_rtc-pc/hash
new file mode 100644
index 0000000000..1b50fff0f2
--- /dev/null
+++ b/repos/libports/recipes/raw/system_rtc-pc/hash
@@ -0,0 +1 @@
+2020-03-04 f565dd1fb07048f70bf180b847dd57ba25aad3af
diff --git a/repos/gems/recipes/raw/drivers_rtc-pc/drivers.config b/repos/libports/recipes/raw/system_rtc-pc/system_rtc.config
similarity index 87%
rename from repos/gems/recipes/raw/drivers_rtc-pc/drivers.config
rename to repos/libports/recipes/raw/system_rtc-pc/system_rtc.config
index 02b92e610b..7d3f526a70 100644
--- a/repos/gems/recipes/raw/drivers_rtc-pc/drivers.config
+++ b/repos/libports/recipes/raw/system_rtc-pc/system_rtc.config
@@ -14,9 +14,8 @@
-
-
-
+
+
diff --git a/repos/libports/run/system_rtc.run b/repos/libports/run/system_rtc.run
index b294b02975..e817b9b566 100644
--- a/repos/libports/run/system_rtc.run
+++ b/repos/libports/run/system_rtc.run
@@ -2,24 +2,19 @@
assert_spec x86
-if {[expr ![have_include power_on/qemu]]} {
- puts "Test requires Qemu."
+if {[expr ![have_include power_on/qemu] && ![have_spec linux]]} {
+ puts "Test requires Qemu or Linux."
exit 0
}
-set build_components {
- test/system_rtc
- test/libc_rtc
-}
-
create_boot_directory
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/src/init \
[depot_user]/src/vfs \
- [depot_user]/pkg/drivers_rtc-pc
-
-build $build_components
+ [depot_user]/src/libc \
+ [depot_user]/src/posix \
+ [depot_user]/pkg/system_rtc-[board]
set config {
@@ -46,36 +41,21 @@ set config {
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -83,9 +63,9 @@ set config {
-
-
-
+
+
+
@@ -103,15 +83,15 @@ set config {
-}
+
+}
install_config $config
-set boot_components {
- test-system_rtc
- test-libc_rtc libc.lib.so libm.lib.so posix.lib.so
-}
+set build_components { test/system_rtc test/libc_rtc }
+set boot_components { test-system_rtc test-libc_rtc }
+build $build_components
build_boot_image $boot_components
append qemu_args " -nographic "
diff --git a/repos/os/recipes/src/rtc_drv/hash b/repos/os/recipes/src/rtc_drv/hash
index 4691debecc..0799d015a4 100644
--- a/repos/os/recipes/src/rtc_drv/hash
+++ b/repos/os/recipes/src/rtc_drv/hash
@@ -1 +1 @@
-2020-02-27 dcd46e979b68259588244e58d175d0f49ac968dd
+2020-03-04 858fd269eede8c8495e6b80bc7b029a2d9887189