Re: Net-boot arm64 with nfsroot, Re: Create fai-cd for other architecture?

2023-01-27 Diskussionsfäden Steffen Grunewald
On Fri, 2023-01-27 at 14:01:08 +0100, Thomas Lange wrote:
> Here are some code snippets I found for dhcpd.conf:
> 
> 
>if substring(option vendor-class-identifier, 0, 20) = 
> "PXEClient:Arch:0" {
>  filename "fai/pxelinux.0";
>}
>if substring(option vendor-class-identifier, 0, 20) = 
> "PXEClient:Arch:7" {
>  filename "fai/syslinux.efi";
>}
> }
> 
> 
>  if option arch = 00:00 {
>  filename "fai/pxelinux.0";
>  } elsif option arch = 00:09 {
>  filename "fai/bootx64.efi";
>  } elsif option arch = 00:07 {
>  filename "fai/grubnetx64.efi";
>  } elsif option arch = 00:06 {
>  filename "fai/bootx64.efi";
>  }

I've been using those for years now with syslinux, they are x86(-64) only.

For ARM64 (11 decimal) there's *only* grubnetaa64.efi which will then load
grub/grub.cfg - which doesn't seem to be customizable the way we're used to
with MAC or IP addresses. (There are signed and unsigned versions of that
file; I've chosen the signed one for now.) No means to read the individual
pxelinux.cfg/* file. (I'll have to check the syslinux issues whether someone
else has asked for non-x86 support.)

Meanwhile, I was able to boot the single machine into "sysinfo", but only
with a Buster kernel (4.19), a Bullseye one (5.10) apparently runs into
issues with the many network interfaces provided (but not connected) of the
Cavium ThunderX SoC, and eventually freezes. I'll give that one another go
next week.

Thanks so far, S


dracut fails for bookworm fai-make-nfsroot call

2023-01-27 Diskussionsfäden Waldemar Brodkorb
Hi FAI-Developers,

I have a bullseye server and want to install a bookworm system.
I configured /etc/fai accordingly to debootstrap bookworm.

When using fai-make-nfsroot -v I get following error when dracut is
used to create the initramfs:
update-initramfs: deferring update (trigger activated)
Processing triggers for dracut (059-3) ...
dracut: Generating /boot/initrd.img-6.1.0-1-s390x
dracut: dracut module 'network' depends on 'systemd-networkd', which
can't be installed
dracut: dracut module 'ifcfg' depends on 'network', which can't be
installed
dracut: dracut module 'livenet' depends on 'network', which can't be
installed
dracut: dracut module 'nfs' depends on 'network', which can't be
installed
dracut: dracut module 'nvmf' depends on 'network', which can't be
installed
dracut: dracut module 'ifcfg' cannot be found or installed.
dpkg: error processing package dracut (--configure):
 installed dracut package post-installation script subprocess
 returned error exit status 1
 Errors were encountered while processing:
  dracut
 
It seems to be a problem with systemd-networkd module.
When I use network-legacy instead, I can successfully create a
working initrd. fai-server 5.10.3 is in use.

Is this a bug in bookworm's dracut package?

best regards
 Waldemar



Re: Net-boot arm64 with nfsroot, Re: Create fai-cd for other architecture?

2023-01-27 Diskussionsfäden Thomas Lange
Here are some code snippets I found for dhcpd.conf:


   if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:0" 
{
 filename "fai/pxelinux.0";
   }
   if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:7" 
{
 filename "fai/syslinux.efi";
   }
}


 if option arch = 00:00 {
 filename "fai/pxelinux.0";
 } elsif option arch = 00:09 {
 filename "fai/bootx64.efi";
 } elsif option arch = 00:07 {
 filename "fai/grubnetx64.efi";
 } elsif option arch = 00:06 {
 filename "fai/bootx64.efi";
 }


https://github.com/cobbler/cobbler/discussions/2687

-- 
regards Thomas


Re: Net-boot arm64 with nfsroot, Re: Create fai-cd for other architecture?

2023-01-27 Diskussionsfäden Steffen Grunewald
On Thu, 2023-01-26 at 12:15:07 +0100, Thomas Lange wrote:
> > On Thu, 26 Jan 2023 11:06:14 +0100, Steffen Grunewald 
> >  said:
> 
> > Which info do you need? Would the output of `ls -lR /boot` (on a booting
> > machine) be sufficient, or even too much? Any selections from dpkg 
> output?
> I'm not sure which infos I need. Maybe the pathes for grub.
> I also need to know if some grub commands in fai-cd need to be called
> with different parameters. What about --format=x86_64-efi? Do we need
> to add some grub modules for --install-modules=...?
> What about the xorriso call? There are also intel arch specific options.

This seems to be more complicated than I expected :(

There's good news though: PXE is not *broken* on the machine, it's just 
*different*.
Different in terms of the "PXEClient:ARCH:x" magic number it sends to the 
DHCP
server.
Now knowing that x is 00011 (0x0b), I could assign an initial bootloader for
UEFI, like I'm doing with my x86_64 machines. If I only knew which file to 
use...

Jan 27 13:18:39 faiserver dhcpd[125420]: DHCPOFFER on 10.150.100.100 to 
1c:1b:0d:ef:76:7a via eth2
Jan 27 13:18:43 faiserver dhcpd[125420]: DHCPREQUEST for 10.150.100.100 
(10.150.100.109) from 1c:1b:0d:ef:76:7a via eth2
Jan 27 13:18:43 faiserver dhcpd[125420]: DHCPACK on 10.150.100.100 to 
1c:1b:0d:ef:76:7a via eth2
Jan 27 13:18:43 faiserver in.tftpd[76654]: RRQ from 10.150.100.100 filename 
grubnetaa64.efi
Jan 27 13:18:43 faiserver in.tftpd[76654]: tftp: client does not accept options
Jan 27 13:18:43 faiserver in.tftpd[76899]: RRQ from 10.150.100.100 filename 
grubnetaa64.efi
Jan 27 13:18:47 faiserver in.tftpd[80100]: RRQ from 10.150.100.100 filename 
/grub/arm64-efi/command.lst
Jan 27 13:18:47 faiserver in.tftpd[80100]: sending NAK (1, File not found) to 
10.150.100.100
Jan 27 13:18:47 faiserver in.tftpd[80102]: RRQ from 10.150.100.100 filename 
/grub/arm64-efi/fs.lst
Jan 27 13:18:47 faiserver in.tftpd[80102]: sending NAK (1, File not found) to 
10.150.100.100
Jan 27 13:18:47 faiserver in.tftpd[80142]: RRQ from 10.150.100.100 filename 
/grub/arm64-efi/crypto.lst
Jan 27 13:18:47 faiserver in.tftpd[80142]: sending NAK (1, File not found) to 
10.150.100.100
Jan 27 13:18:47 faiserver in.tftpd[80192]: RRQ from 10.150.100.100 filename 
/grub/arm64-efi/terminal.lst
Jan 27 13:18:47 faiserver in.tftpd[80192]: sending NAK (1, File not found) to 
10.150.100.100
Jan 27 13:18:47 faiserver in.tftpd[80298]: RRQ from 10.150.100.100 filename 
/grub/grub.cfg
Jan 27 13:18:47 faiserver in.tftpd[80298]: sending NAK (1, File not found) to 
10.150.100.100

So "grubnetaa64.efi" (as suggested for RasPi PXE boot) doesn't seem to be the 
right one.
The debian-installer-11-netboot-arm64 contains "bootnetaa64.efi" which looks a 
bit better,
but the second-step loader will be "grubaa64.efi", which gets me to the "grub> 
" prompt
again.

I feel I'm getting closer but I'm not there yet... back to reading now.

- S