Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Booting BIOS Flash images via iPXE
2013-02-27, 09:08
Post: #1
native iso & floppy image chainload (without memdisk) ?
Hello,
Is it possible for iPXE to natively chainload an iso or floppy image ?
I mean without the use of memdisk ? (which is not always working)
Thanks,
Gilles
Find all posts by this user
Quote this message in a reply
2013-02-27, 09:38
Post: #2
RE: native iso & floppy image chainload (without memdisk) ?
Yes, with the sanboot command. In practical terms it uses the same method as memdisk, but it uses somewhat less memory, and it's built into ipxe directly. Be aware, though, that memdisk usually gives you a read-write floppy (in memory), while a sanbooted floppy is read-only. Some floppy-based programs might have problems with this.

To sanboot a floppy you need to use drive 0x00 instead of 0x80.
Visit this user's website Find all posts by this user
Quote this message in a reply
2013-02-27, 10:11
Post: #3
RE: native iso & floppy image chainload (without memdisk) ?
Hi Robinsmidsrod,
It works for the iso, thank you !
I still have problems with compressed floppy images:
I am using: sanboot --drive 0x00 floppy.gz (relative path ;-)
Best Regards,
Gilles
Find all posts by this user
Quote this message in a reply
2013-02-28, 13:34
Post: #4
RE: native iso & floppy image chainload (without memdisk) ?
You'll have to unpack that floppy image. sanboot doesn't auto-gunzip.
Visit this user's website Find all posts by this user
Quote this message in a reply
2013-08-28, 17:35
Post: #5
RE: native iso & floppy image chainload (without memdisk) ?
Necro-ing the thread because I'm trying to make the same thing work.

I have a bunch of floppy disk images for flashing the BIOS on HP enterprise laptops. I'm trying to boot these over iPXE.

We have a Microsoft DHCP server configured per http://ipxe.org/howto/msdhcp. That's working fine.

Following the instructions above, I'm executing the following commands:

Code:
iPXE> dhcp
DHCP (...) .....ok
iPXE> sanboot --nodescribe --drive 0x00 http://ipxe.internal.url/8440w/FreeDOS-8440w-BIOS-Flash.img

and I get this:

Code:
Registered SAN device 0x00
Booting from SAN device 0x00
FreeDOS

and then it just hangs there permanently.

These floppy disk images work fine on a syslinux 4.02 pxe boot server.

The back end is a CentOS 6.4 x64 server running Apache 2.2.15. SELinux has been disabled and KeepAlive has been turned on. Byte range requests should be on by default in this version of Apache.
Find all posts by this user
Quote this message in a reply
2013-08-28, 20:15
Post: #6
Booting BIOS Flash images via iPXE
I have several BIOS Flash floppy images that work fine with syslinux 4.0 and memdisk. They are all FreeDOS boot floppy images created using the method described here.

Because the BIOS images are larger than 2.88 MB, I can't use a regular FreeDOS boot image. That's why I created disk images from scratch of the size I need.

The problem I've got now is that none of the images will boot with a sanboot command in iPXE. Using the following command:
Code:
iPXE> sanboot --no-describe --drive 0x00 http://ipxe.internal.url/8440w/8440w.img

returns:

Code:
Registered SAN device 0x00
Booting from SAN device 0x00
FreeDOS

And then it hangs there forever. By contrast, the official FreeDOS boot floppies and the dosboot.img image iPXE links to in the "Updating with a Custom ROM" section boot just fine.

I have also tried --drive 0x80 with the same result.

So clearly there's a problem with my custom floppy images, but I don't know why they aren't working. What exactly has to be true for a sanboot target to boot correctly?
Find all posts by this user
Quote this message in a reply
2013-09-01, 15:01
Post: #7
RE: native iso & floppy image chainload (without memdisk) ?
(2013-08-28 17:35)cpdohert Wrote:  Necro-ing the thread because I'm trying to make the same thing work.

I have a bunch of floppy disk images for flashing the BIOS on HP enterprise laptops. I'm trying to boot these over iPXE.

We have a Microsoft DHCP server configured per http://ipxe.org/howto/msdhcp. That's working fine.

Following the instructions above, I'm executing the following commands:

Code:
iPXE> dhcp
DHCP (...) .....ok
iPXE> sanboot --nodescribe --drive 0x00 http://ipxe.internal.url/8440w/FreeDOS-8440w-BIOS-Flash.img

and I get this:

Code:
Registered SAN device 0x00
Booting from SAN device 0x00
FreeDOS

and then it just hangs there permanently.

These floppy disk images work fine on a syslinux 4.02 pxe boot server.

The parameter to sanboot is --no-describe, but this shouldn't really matter in your case. Is the .img file the raw floppy image, and not compressed in any way? sanboot doesn't support compressed images, like memdisk does.

If this image boots with syslinux, I'm assuming you're using memdisk to load it. If you try to load the same floppy image using memdisk via ipxe, does it load properly? In iPXE you just load memdisk normally with the floppy image specified as an initrd, e.g. like I do here: https://gist.github.com/robinsmidsrod/22...-ipxe-L139
Visit this user's website Find all posts by this user
Quote this message in a reply
2013-09-04, 18:24
Post: #8
RE: native iso & floppy image chainload (without memdisk) ?
(2013-09-01 15:01)robinsmidsrod Wrote:  The parameter to sanboot is --no-describe, but this shouldn't really matter in your case.

Yes, that was a typo. I've tried with and without the (correctly spelled) --no-describe parameter.

Quote: Is the .img file the raw floppy image, and not compressed in any way? sanboot doesn't support compressed images, like memdisk does.

Uncompressed. I saw that from another forum post here and verified it.

Quote:If this image boots with syslinux, I'm assuming you're using memdisk to load it. If you try to load the same floppy image using memdisk via ipxe, does it load properly?

It does not. I get a "Decompression error output buffer overrun" error message. (This does not happen when I use memdisk and pxelinux, only memdisk with ipxe).

To summarize:

Existing uncompressed floppy disk images, created per these instructions:

syslinux and memdisk (using "APPEND floppy"): works correctly.

ipxe and memdisk: Throws "Decompression error output buffer overrun" error.

ipxe and sanboot: hangs as originally described.
Find all posts by this user
Quote this message in a reply
2013-09-05, 12:37
Post: #9
RE: Booting BIOS Flash images via iPXE
Hmmm... The "APPEND floppy" parameter to memdisk, did you try it with imgargs memdisk floppy when doing it via ipxe? Did that have any effect?

Just to be certain it's not something related to your creation of the floppy image, could you try the ODIN floppy image available from the freedos distro?

There could also be something fishy with the memory map on your hardware that is confusing it in some way. Does it happen consistently on different types of hardware (physical and/or virtual)?

I'm a bit puzzled with the decompression error message, as the image is not supposed to be compressed. Wonder why this happens. Which version of syslinux and memdisk are you testing against?
Visit this user's website Find all posts by this user
Quote this message in a reply
2017-01-28, 14:52
Post: #10
RE: native iso & floppy image chainload (without memdisk) ?
(2013-02-27 09:38)robinsmidsrod Wrote:  Be aware, though, that memdisk usually gives you a read-write floppy (in memory), while a sanbooted floppy is read-only.

It depends on the protocol and disk image sharing program. vBlade can share floppy images in read/write mode over AoE protocol. To access image you need use sanboot command:
Code:
sanboot -d 0x00 aoe:e0.0
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 3 Guest(s)