Sample Header Ad - 728x90

Booting working linux image UEFI / PXE / GRUB

1 vote
2 answers
328 views
I am trying to set up a server to boot opensuse-15.5 via PXE on an UEFI environment and GRUB2. I found [this](https://www.suse.com/c/step-by-step-instructions-for-building-a-multiple-architecture-opensuse-leap-pxe-server/) tutorial for Suse that worked quite well. I've got a client getting an IP address, downloading few files from the TFTP on the same machine, and I also have a NFS server set up. The issue is, every tutorial I found seems focus on installing a new OS in the client, and that is not what I need. What I do need, is for a very basic, minimalist OS to be loaded in order to be able to run few commands from the terminal. Nothing else. I don't need to load a Live image or run an installer. Following the instructions in the tutorial I get to the point where the client fails connecting to the repositories to start installing the OS. What I did after that, was to replace the *initrd* and *linux* images for those I got from an OS installation in the same client I am trying to boot. Also, I made an image of the root file system in the client (the same installation) and placed it in the server, in order to make it accessible through NFS. After this, the result was that the client loaded *initrd*, then *linux*, but it stopped before finishing at a point where it's (probably) trying to set up the graphics card. The line mentions *drm and i915* (Apologies, I don't have the client in front of me right now but I will update with the right message tomorrow). I am not even sure of the linux image I have to load and the parameters I have to pass to GRUB in order to make it all work. I've been trying to understand from the GRUB's manual and other sources, but I've got more questions than certainties. Can anybody tell me...: which commands should I add to *grub.cfg* (and which ones should I get rid of)? which linux image should I use? and probably any source of information that come to mind? Thanks very much for your time. Gabs. EDIT: The crashing point had nothing to do with graphics/drm/i915. The last message displayed (for about a minute) would show **graphics/drm/i915** but the issue would actually be immediately after that, at **dracut initqueue hook**. As far as I understand, it would somehow start to look for a memory stick that was mounted and included in *fstab* at the moment of making the image of the root partition with *dd*. After remaking the image (and sending it to the server via NFS this time), I can see **that** issue is sorted (see picture)enter image description here The issue now, as seen in the next picture, is at **switch root** stage. Which I really don't know the meaning of but I'll do some research about. enter image description here The next picture is **net/grub.cfg**. I edited this file and got rid of the *install* and *instsys* commands because I thought they were irrelevant (as I am not trying to install an OS). I also tried this **grub.cfg** without the *root* and *nfsroot* commands which (according to my understanding) would use the file system in the hard drive, instead of the one in the server, and the whole set up seems to work. It is only when it needs to get the root file system from the NFS server that I've got the error in the second picture. Apologies, the 3rd picture is blurry. enter image description here At this point in time, I imagine there is something wrong with the file system. I made the image with **dd**, moved it to the server, and mount it with **mount -o loop /image /srv/tftpboot/openSUSE-XXX/rootfs**. I read it's not the same to image a partition as to image a whole disk. Also, that *btrfs* is somehow special in regards to imaging. Is there a particular way to do this? Apologies for the delay to update. Thanks again for your help and time to comment.
Asked by Gabriel (11 rep)
Jan 20, 2025, 07:55 PM
Last activity: Feb 20, 2025, 10:18 PM