Update to new PXE which should support imgextract

This commit is contained in:
Gregory Kurtzer
2022-05-26 19:55:00 -07:00
parent 2f6c1f728d
commit 27ea7f2022
10 changed files with 42 additions and 23 deletions

View File

@@ -162,7 +162,6 @@ files: all
install -d -m 0755 $(DESTDIR)$(WWPROVISIONDIR)
install -d -m 0755 $(DESTDIR)$(WWOVERLAYDIR)/wwinit/$(WWCLIENTDIR)
install -d -m 0755 $(DESTDIR)$(WWCONFIGDIR)/ipxe
install -d -m 0755 $(DESTDIR)$(WWTFTPDIR)/ipxe/
install -d -m 0755 $(DESTDIR)$(BASHCOMPDIR)
install -d -m 0755 $(DESTDIR)$(MANDIR)/man1
install -d -m 0755 $(DESTDIR)$(WWDOCDIR)
@@ -187,9 +186,8 @@ files: all
cp bash_completion.d/warewulf $(DESTDIR)$(BASHCOMPDIR)
cp man_pages/* $(DESTDIR)$(MANDIR)/man1/
install -m 0644 staticfiles/arm64.efi $(DESTDIR)$(WWDATADIR)/ipxe
install -m 0644 staticfiles/i386.efi $(DESTDIR)$(WWDATADIR)/ipxe
install -m 0644 staticfiles/i386.kpxe $(DESTDIR)$(WWDATADIR)/ipxe
install -m 0644 staticfiles/x86.efi $(DESTDIR)$(WWDATADIR)/ipxe
install -m 0644 staticfiles/x86_64.efi $(DESTDIR)$(WWDATADIR)/ipxe
install -m 0644 staticfiles/x86_64.kpxe $(DESTDIR)$(WWDATADIR)/ipxe
init:
systemctl daemon-reload

View File

@@ -21,16 +21,10 @@ if exists user-class and option user-class = "iPXE" {
} else {
if option architecture-type = 00:0B {
filename "/warewulf/arm64.efi";
} elsif option architecture-type = 00:0A {
filename "/warewulf/arm32.efi";
} elsif option architecture-type = 00:09 {
filename "/warewulf/x86.efi";
} elsif option architecture-type = 00:07 {
filename "/warewulf/x86.efi";
} elsif option architecture-type = 00:06 {
filename "/warewulf/i386.efi";
filename "/warewulf/x86_64.efi";
} elsif option architecture-type = 00:00 {
filename "/warewulf/i386.kpxe";
filename "/warewulf/x86_64.kpxe";
}
}
@@ -46,4 +40,4 @@ host {{$nodes.Id.Get}} {
}
{{end}}
{{- end }}
{{- end }}

View File

@@ -27,7 +27,7 @@ func TFTP() error {
}
fmt.Printf("Writing PXE files to: %s\n", tftpdir)
for _, f := range [4]string{"x86.efi", "i386.efi", "i386.kpxe", "arm64.efi"} {
for _, f := range [4]string{"x86_64.efi", "x86_64.kpxe", "arm64.efi"} {
err = util.SafeCopyFile(path.Join(buildconfig.DATADIR(), "warewulf", "ipxe", f), path.Join(tftpdir, f))
if err != nil {
wwlog.Printf(wwlog.ERROR, "%s\n", err)

34
ipxe-update.sh Executable file
View File

@@ -0,0 +1,34 @@
#!/bin/sh
ARCH=x86_64
PCBIOS=bin-${ARCH}-pcbios/undionly.kpxe
EFI=bin-${ARCH}-efi/ipxe.efi
PCBIOS_output=`pwd`/staticfiles/${ARCH}.kpxe
EFI_output=`pwd`/staticfiles/${ARCH}.efi
set -xe
TMPDIR=`mktemp -d`
cd "$TMPDIR"
git clone https://github.com/ipxe/ipxe.git
cd ipxe/src
sed -i -e 's@//#define CONSOLE_SERIAL@#define CONSOLE_SERIAL@' config/console.h
sed -i -e 's@//#define CONSOLE_FRAMEBUFFER@#define CONSOLE_FRAMEBUFFER@' config/console.h
sed -i -e 's@//#define IMAGE_ZLIB@#define IMAGE_ZLIB@' config/general.h
sed -i -e 's@//#define IMAGE_GZIP@#define IMAGE_GZIP@' config/general.h
make -j 8 $PCBIOS
make -j 8 $EFI
cp $PCBIOS $PCBIOS_output
cp $EFI $EFI_output
rm -rf "$TMPDIR"

View File

@@ -22,17 +22,10 @@ if exists user-class and option user-class = "iPXE" {
} else {
if option architecture-type = 00:0B {
filename "/warewulf/arm64.efi";
# } elsif option architecture-type = 00:0A {
# Still need to add this to staticfiles
# filename "/warewulf/arm32.efi";
} elsif option architecture-type = 00:09 {
filename "/warewulf/x86.efi";
} elsif option architecture-type = 00:07 {
filename "/warewulf/x86.efi";
} elsif option architecture-type = 00:06 {
filename "/warewulf/i386.efi";
filename "/warewulf/x86_64.efi";
} elsif option architecture-type = 00:00 {
filename "/warewulf/i386.kpxe";
filename "/warewulf/x86_64.kpxe";
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
staticfiles/x86_64.efi Normal file

Binary file not shown.

BIN
staticfiles/x86_64.kpxe Normal file

Binary file not shown.