Skip to content

o2: configure the machine with the shared keys; banks has eight entries - #314

Merged
techomancer merged 1 commit into
mainfrom
unifyconfig
Oct 24, 2026
Merged

techomancer merged 1 commit into
mainfrom
unifyconfig

Conversation

@techomancer

Copy link
Copy Markdown
Owner

The O2 had its own spelling of everything in [o2]: prom, flash, ram_mb or dimms, serial_port, serial_log, graphics, cpu_mhz, net and forwards. The section now holds only what the O2 alone has (mouse, control_port, arcs_fpu); the rest is the shared configuration:

prom the O2 PROM image (no embedded one; when prom is the
default, ip32prom.rev4.18.bin is tried)
nvram the PROM's flash, kept between runs by default now
banks the kit in each DIMM pair, 32/64/128/256 MB, largest
first, validated through CRIME's kit rules
serial_port_a/b the two UARTs (the second is served for the first time),
serial_log teed off the first
headless serial console instead of the graphics console
[clock] fixed_mhz is CP0 Count on every machine; the O2's
default is 90 (a 180 MHz CPU, which the PROM reports)
[network] mode, nat_subnet, [nfs], tftp_dir, rsh_dir, mac (which
reaches the 1-Wire ID chip) and [[port_forward]], built
by the new GatewayConfig::from_network

NetMode gains off (no Ethernet), accepted only on the O2 for now; pcap is refused on the O2, which has no bridged backend yet.

banks is [u32; 8] with room for machines with more than today's four banks (the Octane): a config may list one to eight entries and is written back with four unless a later bank is populated, so existing files keep their shape. Every profile reports four banks and the rest must be 0. The GUI, the bench runner and the MC take their four from it.

The old [o2] keys still parse: load_toml folds each onto the shared key it stands for when that key is at its default, prints one note listing what moved, and never writes them back.

Docs: FEATURES.md, HELP.md, iris.toml, docs/o2-ip32.md, CHANGELOG.md, the bring-up log's summary. Tests: bank slots and padding, the O2 kit and network rules, the fold of every deprecated key.

The O2 had its own spelling of everything in `[o2]`: prom, flash, ram_mb
or dimms, serial_port, serial_log, graphics, cpu_mhz, net and forwards.
The section now holds only what the O2 alone has (mouse, control_port,
arcs_fpu); the rest is the shared configuration:

  prom            the O2 PROM image (no embedded one; when `prom` is the
                  default, ip32prom.rev4.18.bin is tried)
  nvram           the PROM's flash, kept between runs by default now
  banks           the kit in each DIMM pair, 32/64/128/256 MB, largest
                  first, validated through CRIME's kit rules
  serial_port_a/b the two UARTs (the second is served for the first time),
  serial_log      teed off the first
  headless        serial console instead of the graphics console
  [clock]         fixed_mhz is CP0 Count on every machine; the O2's
                  default is 90 (a 180 MHz CPU, which the PROM reports)
  [network]       mode, nat_subnet, [nfs], tftp_dir, rsh_dir, mac (which
                  reaches the 1-Wire ID chip) and [[port_forward]], built
                  by the new GatewayConfig::from_network

NetMode gains `off` (no Ethernet), accepted only on the O2 for now; pcap
is refused on the O2, which has no bridged backend yet.

`banks` is [u32; 8] with room for machines with more than today's four
banks (the Octane): a config may list one to eight entries and is written
back with four unless a later bank is populated, so existing files keep
their shape. Every profile reports four banks and the rest must be 0.
The GUI, the bench runner and the MC take their four from it.

The old `[o2]` keys still parse: load_toml folds each onto the shared key
it stands for when that key is at its default, prints one note listing
what moved, and never writes them back.

Docs: FEATURES.md, HELP.md, iris.toml, docs/o2-ip32.md, CHANGELOG.md, the
bring-up log's summary. Tests: bank slots and padding, the O2 kit and
network rules, the fold of every deprecated key.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@techomancer
techomancer merged commit 64c7fbf into main Oct 24, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant