oxidecomputer / oxidecomputer/humility
Add stable interface for setting host boot options
Open
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 584
- Forks
- 63
- Avg merge
- 3h
- Merged PRs (30d)
- 2
Description
Callers, including production manufacturing software, currently rely on hiffy for setting host boot options. It would help to have a stable, committed interface here.
Examples:
#
# The SP needs to be told, now, to boot from the network.
#
if ! "$HUMILITY" hiffy -c ControlPlaneAgent.set_startup_options \
-a startup_options=0x80; then
printf 'ERROR: setting system boot source failed.\n' >&2
exit 1
fi
@retry(count=3, sleep=1)
def enable_netboot(self):
logging.info('Enabling net boot for target %s', self.target)
cmd = ['pfexec', 'humility', '-t', self.target, 'hiffy',
'-c', 'ControlPlaneAgent.set_startup_options', '-a',
'startup_options=0x198']
output_on_err(cmd)
Contributor guide
No contributing guide indexed for this repository
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.
Research direction
Start by locating the hiffy command and the handling of ControlPlaneAgent.set_startup_options. Review the cited cosmo_os.sh and dmar-runner.py callers to understand the interface they rely on. Done means a stable, committed interface exists for setting host boot options and can replace those direct hiffy calls.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli, devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100