tinkerbell / tinkerbell/actions

Create action to support fallback for nodes lacking UEFI/netboot

Open
#9 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind/feature priority/backlog
Dominant language
Go
Stars
37
Forks
57
PR merge metrics
No merged PRs in 30d

Description

Some boards do not support netbooting natively, such as the Rock Pi X. A current workaround is to supply a bootloader USB with the following folder structure:

/dev/sdxy/
└─ efi/
      └─ boot/
            └─ bootx64.efi

The bootx64.efi in this case is the renamed version of ipxe. I barely know anything about netbooting and bootloaders, but I suspect there is a better way.

It would be useful if there was an action, that would configure the boot partition to attempt to PXE boot first (to allow deprovisioning) and then to attempt to boot via the configured hard disk. This feature could be part of rootio, but I suspect that it should be a seperate action.

This would also greatly improve compatibility with devices, that do not have a UEFI to configure boot options, such as older Raspberry Pis or other single board computers.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing rootio action and how actions configure boot partitions. Compare the requested PXE-first, disk-fallback behavior with the bootloader USB layout described here, including the renamed ipxe bootx64.efi. Done means a defined action can support devices without native UEFI or netbooting and preserves hard-disk boot as a fallback.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
infrastructure, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.