Issues with Gparted PXE Booting
-
I have been trying to get Gparted to work from FOG for the past week. I feel like there is something that I am simply missing.
I can get Gparted to boot but when it boots it is giving me this error:
Am I missing a config file or something? It seems that it is not finding any drives? I know that Gparted works because if I plug the USB with the exact same live image it works no problem on the device.
Here is what I have defined for my PXE menu settings:
kernel http://${fog-ip}/fog/gparted/vmlinuz initrd http://${fog-ip}/fog/gparted/initrd.img boot=live config components union=overlay username=user noswap noeject ip= vga=788 fetch=http://${fog-ip}/fog/gparted/filesystem.squashfs boot
Any advice would be greatly appreciated.
-
@quinniedid Probably a good idea to post your iPXE menu Parameters as text as well so people can give it a try straight away and see what’s wrong.
-
@Sebastian-Roth Great point! It has been added.
-
@quinniedid Whoops, just saw that we’ve lost track of this. Did you ever solve this. Might give it a try in the next days when I find the time.
-
@Sebastian-Roth It has not been resolved.
-
@quinniedid Do you mind sharing how you got this working? Others might find it helpful too.
-
@Sebastian-Roth I did not get it working. I have tried some different things but it fails to load.
-
@quinniedid There should be an image fetch command that you need for the initrd.
While its a bit off target here is the commands needed to pxe boot into ubuntu
:os.Ubuntu1604 kernel tftp://${fog-ip}/ubuntu/16.04/vmlinuz initrd tftp://${fog-ip}/ubuntu/16.04/initrd.gz imgargs vmlinuz initrd=initrd.gz root=/dev/nfs netboot=nfs nfsroot=${fog-ip}:/images/os/ubuntu/16.04/ locale=en_US.UTF-8 ip=dhcp rw
-
@george1421 So to translate what you have.
kernel http://${fog-ip}/fog/gparted/vmlinuz initrd http://${fog-ip}/fog/gparted/initrd.img boot=live config components union=overlay username=user noswap noeject ip= vga=788 fetch=http://${fog-ip}/fog/gparted/filesystem.squashfs boot
Into iPXE syntax
kernel http://${fog-ip}/fog/gparted/vmlinuz initrd http://${fog-ip}/fog/gparted/initrd.img imgargs initrd=initrd.img boot=live config components union=overlay username=user noswap noeject vga=788 fetch=http://${fog-ip}/fog/gparted/filesystem.squashfs boot
Also I would strongly suggest that you NOT use the path
http://${fog-ip}/fog
because of the url rewriting rules that fog does with apache. If you had to use http I would put it in directory off the web root directory and not under /fog. -
kernel tftp://${fog-ip}/gparted/vmlinuz initrd tftp://${fog-ip}/gparted/initrd.img imgargs initrd=initrd.img boot=live config components union=overlay username=user noswap noeject vga=788 fetch=tftp://${fog-ip}/gparted/filesystem.squashfs boot
I see the files download but this is the screen that I get:
-
@quinniedid Well if this was FOS linux (FOG) the error at this point was that the kernel
- Doesn’t understand the format of virtual hard drive (initrd.img)
- The initrd file didn’t make it to the target computer
- You were pxe booting a 64bit kernel and have a 32 bit initrd file.
- The kernel is mismatched to the initrd file
Since its erroring out just as it connects to the initrd file, I don’t think the issue is related to the fetch command later in the kernel parameters.
edit: Looking at the gparted pxe booting page, the issue “might” be the fetch command since it may only reference http.
-
Looking at the sysconfig file inside the current gparted zip file this is the syslinux kernel boot parameters.
kernel /live/vmlinuz append initrd=/live/initrd.img boot=live union=overlay username=user config components quiet noswap toram=filesystem.squashfs ip= net.ifnames=0 nosplash
Note there is no fetch command.
That would be translated into this (guess)
kernel tftp://${fog-ip}/gparted/vmlinuz initrd tftp://${fog-ip}/gparted/initrd.img initrd tftp://${fog-ip}/gparted/filesystem.squashfs imgargs initrd=initrd.img boot=live union=overlay username=user config components quiet noswap toram=filesystem.squashfs ip= net.ifnames=0 nosplash
Will it work, <??>.
-
@george1421 This is what I am getting now:
-
@quinniedid said in Issues with Gparted PXE Booting:
It has not been resolved.
Sorry, I got that completely wrong. Shouldn’t try to answer in a rush.
-
@quinniedid Strange, the files appear to download but then ipxe blew up on the
imgargs
command and then didn’t try to boot. Are you sure the ipxe menu doesn’t have any extra stuff in it? or like you missed theimgargs
command? -
@george1421 This is what I have configured:
kernel tftp://${fog-ip}/gparted/vmlinuz initrd tftp://${fog-ip}/gparted/initrd.img initrd tftp://${fog-ip}/gparted/filesystem.squashfs imgargs initrd=initrd.img boot=live union=overlay username=user config components quiet noswap toram=filesystem.squashfs ip= net.ifnames=0 nosplash
-
Move the components of imgargs to the kernel line after vmlinuz
Remove imgargs line
-
Ok I have a working solution here
Using gparted-live-0.33.0-2-i686.zip as the base file being used
This is the parameters settings:
kernel tftp://${fog-ip}/gparted/vmlinuz initrd tftp://${fog-ip}/gparted/initrd.img imgargs vmlinuz initrd=initrd.img boot=live config components union=overlay username=user noswap noeject ip= vga=788 fetch=tftp://${fog-ip}/gparted/filesystem.squashfs boot || goto MENU
-
@george1421 I got a lot closer! But I am now getting a failed to boot…
@Tom-Elliott Also tried these:
kernel tftp://${fog-ip}/gparted/vmlinuz vmlinuz initrd=initrd.img boot=live config components union=overlay username=user noswap noeject ip= vga=788 fetch=tftp://${fog-ip}/gparted/filesystem.squashfs initrd tftp://${fog-ip}/gparted/initrd.img boot
This seemed to get further
kernel tftp://${fog-ip}/gparted/vmlinuz initrd=initrd.img boot=live union=overlay username=user config components quiet noswap toram=filesystem.squashfs ip= net.ifnames=0 nosplash initrd tftp://${fog-ip}/gparted/initrd.img initrd tftp://${fog-ip}/gparted/filesystem.squashfs boot
-
@quinniedid My instructions worked on my system using the i686 gparted kernel. I didn’t try the amd64 kernel.
In both of the pictures I was there during testing. The VM I used for testing was a bios based system. I did not try with a uefi based VM.
In your second picture I also go that during testing when I moved the kernel arguments to the
kernel
line in the iPXE code. When I put them back is when it started working once I stopped copying the squashfs via initrd and used the fetch kernel parameter.