Re: Multi-arch installer

2022-05-10 Diskussionsfäden Ian Eure

Steffen Grunewald  writes:


On Mon, 2022-05-09 at 21:50:23 -0700, Ian Eure wrote:
I have some oddball hardware I want to use FAI on.  It has a 
64-bit CPU, but
its UEFI BIOS only supports 32-bits.  I can manually install 
with the Debian
multi-arch image[1], which has a 32-bit bootloader, but 
correctly installs

amd64 kernel and packages.

Is there a way to get FAI to do something similar?


I may not fully understand your problem, but wouldn't FAI just 
detect the

availability of UEFI (via /sys/)?

Relevant background here is that I’m booting FAI off a CD image, 
because this hardware doesn’t have Ethernet.  The image doesn’t 
even boot, because it has a 64-bit bootloader which the computer’s 
32-bit UEFI can’t use.  So it can’t make any decisions based on 
what’s in /sys.


 -- Ian


Re: Multi-arch installer

2022-05-10 Diskussionsfäden Steffen Grunewald
On Mon, 2022-05-09 at 21:50:23 -0700, Ian Eure wrote:
> I have some oddball hardware I want to use FAI on.  It has a 64-bit CPU, but
> its UEFI BIOS only supports 32-bits.  I can manually install with the Debian
> multi-arch image[1], which has a 32-bit bootloader, but correctly installs
> amd64 kernel and packages.
> 
> Is there a way to get FAI to do something similar?

I may not fully understand your problem, but wouldn't FAI just detect the
availability of UEFI (via /sys/)? Everything else should be handled by the
DHCP/TFTP server side (which is only closely related to FAI).
Whether there's a 64-bit system installed depends on the NFSROOT assigned.
But since you want to talk to the 32-bit UEFI first, perhaps the following
years-old snippet from my dhcpd.conf may point you in some direction:

...
## https://www.syslinux.org/wiki/index.php?title=PXELINUX#UEFI
if substring(option vendor-class-identifier, 0, 20) = 
"PXEClient:Arch:0" {
  filename "pxelinux.0";
}
if substring(option vendor-class-identifier, 0, 20) = 
"PXEClient:Arch:6" {
  filename "syslinux32.efi";
}
if substring(option vendor-class-identifier, 0, 20) = 
"PXEClient:Arch:7" {
  filename "syslinux64.efi";
}
if substring(option vendor-class-identifier, 0, 20) = 
"PXEClient:Arch:9" {
  filename "syslinux64.efi";
}
...

You may have to look for ldlinux.* and syslinux*.* files in various subtrees
provided by the syslinux-common package, and copy them into your TFTP tree.

HTH,
- S

-- 
Steffen Grunewald, Cluster Administrator
Max Planck Institute for Gravitational Physics (Albert Einstein Institute)
Am Mühlenberg 1 * D-14476 Potsdam-Golm * Germany
~~~
Fon: +49-331-567 7274
Mail: steffen.grunewald(at)aei.mpg.de
~~~


Multi-arch installer

2022-05-09 Diskussionsfäden Ian Eure
I have some oddball hardware I want to use FAI on.  It has a 
64-bit CPU, but its UEFI BIOS only supports 32-bits.  I can 
manually install with the Debian multi-arch image[1], which has a 
32-bit bootloader, but correctly installs amd64 kernel and 
packages.


Is there a way to get FAI to do something similar?

[1]: 
https://cdimage.debian.org/debian-cd/current/multi-arch/iso-cd/