metro: Bringup tracking issue
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Active
- Tech stack
- rust
- Domain
- embedded-iot
Research direction
Start with the unchecked entries in base.toml, dev.toml, and lab.toml, comparing the metro definition with the cosmo-based setup described in the issue. Work through the remaining task, configuration, feature, and FPGA-blob checklist items; done means the applicable metro bringup entries are reviewed and enabled or resolved.
Written by the indexing model from the issue text.
Description
In #2676, we added/are adding a totally-commented-out definition for metro, based on cosmo.
However, we need everything to actually work! Here's a tracking list of things that still need to be reviewed and enabled. We can make PRs for chunks of these features at a time. This is currently structured in roughly the shape of the toml definitions.
I've marked a couple "high priority" tasks as 🚨. A couple of "will definitely be different" items are marked as ⚠️.
base.toml
- Enable
measurement-handoff(this should be done as late as possible to make testing smoother) -
[mmio]⚠️ - FPGA map may differ -
[caboose]- #2690 -
[tasks]-
[tasks.jefe]-
[tasks.jefe.config.on-state-change]- #2691 (partial -
[tasks.jefe.config.on-task-fault]- #2690 -
[tasks.jefe.config.allowed-callers]- #2691 (partial)
-
-
[tasks.net]- #2691 -
[tasks.sys]- #2680-
[tasks.sys.interrupts] -
[tasks.sys.config.gpio-irqs.rot_irq]- #2695 -
[tasks.sys.config.gpio-irqs.seq_irq]
-
-
[tasks.spi2_driver]- #2691 -
[tasks.spi3_driver]- #2695 -
[tasks.i2c_driver]- #2693-
[tasks.i2c_driver.interrupts]- #2693
-
-
[tasks.packrat]- #2690 -
[tasks.rng_driver]- #2690 -
[tasks.thermal] -
[tasks.power] -
[tasks.hiffy]- #2687 -
[tasks.metro_seq]⚠️ - A general comment is that metro will have a new sequencer FPGA image that is not common with cosmos, though for most purposes they'll look the same barring some new features around programming the Versal etc. -
[tasks.ignition_flash] -
[tasks.spartan7_loader]⚠️ - A general comment is that metro will have a new sequencer FPGA image that is not common with cosmos, though for most purposes they'll look the same barring some new features around programming the Versal etc.-
[tasks.spartan7_loader.config]
-
-
[tasks.hash_driver] -
[tasks.hf]🚨 - We might want this for QSPI asap, see this comment -
[tasks.update_server]- #2687 -
[tasks.sensor]- #2695 -
[tasks.host_sp_comms] -
[tasks.udpecho]- #2691 -
[tasks.udpbroadcast]- #2691 -
[tasks.control_plane_agent] -
[tasks.sprot]- #2695 -
[tasks.validate]- #2693 -
[tasks.vpd]- #2695 -
[tasks.user_leds]- #2685 -
[tasks.dump_agent]- #2687 -
[tasks.snitch]- #2691 -
[tasks.spd] -
[tasks.auxflash]- #2695 -
[tasks.idle]
-
-
[config]-
[[config.i2c.controllers]]- #2693- muxes
- sharkfins + nvme_bmc + hscs
- temp sensors, fan control, fan tray, hscs and vpds
- power devices
- DIMMs
- NIC hot swap/fan control (this is going to be different!)
-
[config.spi.spi2]- #2691-
[config.spi.spi2.devices.spartan7_fpga]- #2691 -
[config.spi.spi2.devices.ksz8463]- #2691
-
-
[config.spi.spi3]- #2695-
[config.spi.spi3.mux_options.port_c] -
[config.spi.spi3.devices.mux]
-
-
[config.spi.spi5]- #2695-
[config.spi.spi5.mux_options.port_j] -
[config.spi.spi5.devices.rot]
-
-
[config.net.vlans.*]- #2691 -
[config.net.sockets.*]- #2691 (partial) -
[config.auxflash]- #2695
-
-
[[auxflash.blobs.SPA7]]- #2695 🚨 REUSING COSMO BLOBS FOR NOW! NEEDS FIX! -
[[auxflash.blobs.ICE4]]- #2695 🚨 REUSING COSMO BLOBS FOR NOW! NEEDS FIX!
dev.toml
-
[tasks]-
[tasks.jefe.config.allowed-callers] -
[tasks.udprpc] -
[tasks.fmc_demo] -
[tasks.hiffy]
-
-
[config.net.sockets]-
[config.net.sockets.rpc] -
[config.net.sockets.fmc_test] -
[config.net.sockets.hiffy]
-
lab.toml
-
tasks.metro_seq.features- TODO: We might want to make "stay-in-a2" a default-on feature for bringup!
-
tasks.packrat.features
CC @labbott, @nathanaelhuffman
edit(2026-09-11): Added dev.toml and lab.toml tasks.
- Dominant language
- Rust
- Stars
- 3.6k
- Forks
- 239
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 23
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from oxidecomputer/hubris
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
oxidecomputer/hubris#2593 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
oxidecomputer/hubris#2577 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
oxidecomputer/hubris#2699 ·
-
⚠️ ereport control-plane-agent root-of-trust service processor
Difficulty 5/5 Over a week Newbie friendliness 25/100
oxidecomputer/hubris#2698 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
oxidecomputer/hubris#2689 ·
All issues in oxidecomputer/hubris
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100