Skip to content

Commit 7f8084a

Browse files
OGKevinDSpeichert
authored andcommitted
feature: add support for rpi4
Signed-off-by: Kevin Hellemun <[email protected]>
1 parent 8b141d3 commit 7f8084a

File tree

3 files changed

+9
-3
lines changed

3 files changed

+9
-3
lines changed

dhcpd/handler.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@ package dhcpd
44

55
import (
66
"errors"
7+
"net"
8+
"strings"
9+
710
mfest "github.com/DSpeichert/netbootd/manifest"
811
"github.com/insomniacslk/dhcp/dhcpv4"
912
"golang.org/x/net/ipv4"
10-
"net"
1113
)
1214

1315
func (server *Server) HandleMsg4(buf []byte, oob *ipv4.ControlMessage, peer net.Addr) {
@@ -134,7 +136,11 @@ func (server *Server) HandleMsg4(buf []byte, oob *ipv4.ControlMessage, peer net.
134136
resp.Options.Update(dhcpv4.OptBootFileName(manifest.BootFilename))
135137
} else if len(req.ClientArch()) > 0 && req.ClientArch()[0] > 0 {
136138
// likely UEFI (not BIOS)
137-
resp.Options.Update(dhcpv4.OptBootFileName("ipxe.efi"))
139+
if strings.Contains(req.ClassIdentifier(), "PXEClient:Arch:00011") {
140+
resp.Options.Update(dhcpv4.OptBootFileName("ipxe_arm64.efi"))
141+
} else {
142+
resp.Options.Update(dhcpv4.OptBootFileName("ipxe.efi"))
143+
}
138144
//bootFileSize = 1
139145
} else {
140146
resp.Options.Update(dhcpv4.OptBootFileName("undionly.kpxe"))

static/files.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ package static
22

33
import "embed"
44

5-
//go:embed ipxe.efi undionly.kpxe
5+
//go:embed ipxe.efi undionly.kpxe ipxe_arm64.efi
66
var Files embed.FS

static/ipxe_arm64.efi

195 KB
Binary file not shown.

0 commit comments

Comments
 (0)