Update to new PXE which should support imgextract
This commit is contained in:
6
Makefile
6
Makefile
@@ -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
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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
34
ipxe-update.sh
Executable 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"
|
||||
@@ -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
BIN
staticfiles/x86_64.efi
Normal file
Binary file not shown.
BIN
staticfiles/x86_64.kpxe
Normal file
BIN
staticfiles/x86_64.kpxe
Normal file
Binary file not shown.
Reference in New Issue
Block a user