PDA

View Full Version : Suse Studio Onsite - PXE/Netboot images (out of memory gzip)



jhonnypolak
07-Mar-2012, 02:48
Hi All,

I've got a small problem on my hands. I've installed Suse Studio Onsite and have been creating a JeOS image which I want to act as a thin client.
I can create a PXE image with Suse Studio Onsite successfully boot a VM using that image from my PXE server.
The issue I'm having is that once I add on a few more packages the image stops loading.
After doing some investigating it turns out that once the images exceeds a certain size, JeOS panics with a "Out of memory" error while trying to run gzip.

I've tried building a SLES PXE image and a Minimal X PXE image, both do that same thing. All of them seem to hang at around the same time.
I checked on my TFTP server and here are my observations:

When the image size is 291 MB the TFTP server reports that it was able to send around 220332032 bytes ( approx 75%) of the image
When the image size is 317 MB the TFTP server reports that it was able to send around 209518592 bytes ( approx 65%) of the image
When the image size is 323 MB the TFTP server reports that it was able to send around 202211328 bytes ( approx 62%) of the image

So it seems to me like there's a limitation somewhere around the kernel or something that prohibits loading a gz compressed file larger than around 220MB

This is not a ramdisk issue. I've tried increasing the ramdisk size (as you can see from my images) and it didn't solve the problem.

To make matters more interesting, if i unzip the JeOS image from the gz container (the size will go from say 311 MB to 1.4GB) and make appropriate changes so that the PXE booting sequence boots from the uncompressed image rather than the compressed image, the image will LOAD SUCCESSFULLY.

I've tried 3 TFTP servers: Solarwinds, Altiris Deployment Server TFTP and TFTPD32. All of them report exactly the same things. So i know this is not a TFTP issue.

So it seems like there's an issue somewhere where the gz file is being copied to ?
I believe that is somewhere like /dev/fd ?
there's not enough space there ?

How can that be increased ?

http://img37.imageshack.us/img37/2474/outofmemorygzip.jpg


http://img42.imageshack.us/img42/614/outofmemory.jpg

jhonnypolak
22-Mar-2012, 01:36
I've done a bit more testing and it seems like the issue is with the 32
bit initrd.

I've built the same exact package using the 64 bit version and it loads
fine. All the same modules were added as in the 32 bit version, yet the
32 bit version hangs when loading.
To make matters more interesting, when i compile a LiveCD version of
that build that hangs via PXE boot, it will boot the server fine.

I also compared the kernels from the LiveCD version and PXE boot
version and they are identical.
Which leads me to believe there is a problem with the initrd.

Can someone send me a link to their netboot initrd image please ? Needs
to be SLES 11 32bit.

My initrd's file name is: initrd-netboot-suse-SLES11.i686-2.1.1.gz

If anyone has a different version can you please send me a link so i
can test it


--
jhonnypolak
------------------------------------------------------------------------
jhonnypolak's Profile: http://forums.opensuse.org/member.php?userid=66798
View this thread: http://forums.opensuse.org/showthread.php?t=473166