Jump to content











Photo
- - - - -

gpxelinux w/memdisk iso vs grub4dos iso emulation


  • Please log in to reply
8 replies to this topic

#1 sodface

sodface

    Newbie

  • Members
  • 10 posts

Posted 10 July 2010 - 11:34 PM

I wanted to try switching over to gpxelinux.0 as my pxe boot file to take advantage of the advanced protocol support. I've been using grub4dos grldr as the pxe boot file and have had a lot of success with memory mapping and booting iso files. I saw the now older post about memdisk supporting iso file emulation like grub4dos so I thought I'd try it out.

The first iso I tried failed:

Darik's Boot and Nuke, file dban-2.2.6_i586.iso.

gpxelinux menu entry:

[codebox] label dban menu label dban LINUX memdisk INITRD images/dban-2.2.6_i586.iso APPEND iso raw [/codebox] I tried it with and without the raw keyword. The transfer of the iso file works fine and then when the boot is attempted all I get is: [codebox] reading sectors error(EDD) reading sectors error(EDD) reading sectors error(EDD) reading sectors error(EDD) ..... [/codebox] which just continues to scroll.

grldr works fine with this menu entry:
[codebox]
title Darik's Boot and Nuke (DBAN)
map --mem (pd)/boot/dban-2.2.6_i586.iso (hd32)
map --hook
chainloader (hd32)
boot
[/codebox]

I tried booting gpxelinux and then loading grub4dos from gpxelinux and manually entering the same commands above to boot the dban iso but it fails with the same scrolling "reading sectors error(EDD)" message.

Any ideas?

#2 Icecube

Icecube

    Gold Member

  • Team Reboot
  • 1063 posts
  •  
    Belgium

Posted 12 July 2010 - 08:28 PM

dban-2.2.6_i586.iso uses ISOLINUX-4.00-pre46. There where some issues with some BIOSes and CDROM drives in ISOLINUX-4.00(-preXX). ISOLINUX-4.01 should solve these problems.

#3 sodface

sodface

    Newbie

  • Members
  • 10 posts

Posted 13 July 2010 - 10:49 PM

dban-2.2.6_i586.iso uses ISOLINUX-4.00-pre46. There where some issues with some BIOSes and CDROM drives in ISOLINUX-4.00(-preXX). ISOLINUX-4.01 should solve these problems.


Thanks for the reply Icecube, though I'm not clear what you mean. I wasn't using a physical CDROM drive, I was PXE booting and then emulating a CDROM drive with both MEMDISK and Grub4dos.

Grub4dos works.
gpxelinux + memdisk doesn't.

Unexpectedly, PXE booting gpxelinux and then chainloading grub4dos and then booting the dban iso from grub4dos also fails.

Which to me somehow points at gpxelinux as the problem. Not sure how.

#4 Icecube

Icecube

    Gold Member

  • Team Reboot
  • 1063 posts
  •  
    Belgium

Posted 13 July 2010 - 11:02 PM

Thanks for the reply Icecube, though I'm not clear what you mean. I wasn't using a physical CDROM drive, I was PXE booting and then emulating a CDROM drive with both MEMDISK and Grub4dos.

Grub4dos works.
gpxelinux + memdisk doesn't.

ISOLINUX-4.0X is pickier than ISOLINUX-3.XX versions. and require a more complete eltorito specification, which MEMDISK is currently lacking. This problem is already known, and will be resolved in the future.

Unexpectedly, PXE booting gpxelinux and then chainloading grub4dos and then booting the dban iso from grub4dos also fails.

Which to me somehow points at gpxelinux as the problem. Not sure how.

This is not a gpxelinux problem, but a grub4dos problem. Grub4dos only understands tftp and not http.
Try this instead:
label dban-grub4dos

menu label dban loaded with grub4dos

LINUX grub.exe

INITRD images/dban-2.2.6_i586.iso

APPEND --config-file="map (rd) (hd32); map --hook; root (hd32); chainloader (hd32);"
This will let gpxelinux fetch all necessary files via http: grub.exe (kernel version of Grub4dos) and the dban ISO. So grub4dos doesn't need to retrieve the file anymore, but just needs to map the iso (passed as initrd =(rd)) to a CD drive number.

#5 sodface

sodface

    Newbie

  • Members
  • 10 posts

Posted 13 July 2010 - 11:28 PM

ISOLINUX-4.0X is pickier than ISOLINUX-3.XX versions. and require a more complete eltorito specification, which MEMDISK is currently lacking. This problem is already known, and will be resolved in the future.

This is not a gpxelinux problem, but a grub4dos problem. Grub4dos only understands tftp and not http.
Try this instead:

label dban-grub4dos

menu label dban loaded with grub4dos

LINUX grub.exe

INITRD images/dban-2.2.6_i586.iso

APPEND --config-file="map (rd) (hd32); map --hook; root (hd32); chainloader (hd32);"
This will let gpxelinux fetch all necessary files via http: grub.exe (kernel version of Grub4dos) and the dban ISO. So grub4dos doesn't need to retrieve the file anymore, but just needs to map the iso (passed as initrd =(rd)) to a CD drive number.


Not arguing here, just clarifying. In the third scenario, I PXE booted gpxelinux.0. I then loaded grub4dos from the following gpxelinux menu entry:

LABEL grub4dos

  MENU LABEL GRUB4DOS

  kernel /grub.exe

  append keeppxe

Once at the grub4dos command line, I then issued the following commands:

map  --mem  (pd)/images/dban-2.2.6_i586.iso  (hd32)

  map  --hook

  chainloader  (hd32)

  boot

which failed in the same way that gpxelinux + memdisk did with the following error:

reading sectors error(EDD)

reading sectors error(EDD)

reading sectors error(EDD)

reading sectors error(EDD)

.....

But in this case memdisk wasn't even involved. It was gpxelinux.0 for the initial boot -> start grub4dos -> map and boot dban.iso == fail

And unless I'm completely confused, the grub4dos transfer was indeed tftp.

#6 sodface

sodface

    Newbie

  • Members
  • 10 posts

Posted 13 July 2010 - 11:33 PM

Try this instead:

label dban-grub4dos

menu label dban loaded with grub4dos

LINUX grub.exe

INITRD images/dban-2.2.6_i586.iso

APPEND --config-file="map (rd) (hd32); map --hook; root (hd32); chainloader (hd32);"
This will let gpxelinux fetch all necessary files via http: grub.exe (kernel version of Grub4dos) and the dban ISO. So grub4dos doesn't need to retrieve the file anymore, but just needs to map the iso (passed as initrd =(rd)) to a CD drive number.



Sorry, I will try this and report back. Thanks for the help.

#7 sodface

sodface

    Newbie

  • Members
  • 10 posts

Posted 13 July 2010 - 11:55 PM

Try this instead:

label dban-grub4dos

menu label dban loaded with grub4dos

LINUX grub.exe

INITRD images/dban-2.2.6_i586.iso

APPEND --config-file="map (rd) (hd32); map --hook; root (hd32); chainloader (hd32);"
This will let gpxelinux fetch all necessary files via http: grub.exe (kernel version of Grub4dos) and the dban ISO. So grub4dos doesn't need to retrieve the file anymore, but just needs to map the iso (passed as initrd =(rd)) to a CD drive number.


Ok, I tried it. It functioned like you said it would as far as the file fetching, but the boot still fails with:

reading sectors error(EDD)

reading sectors error(EDD)

reading sectors error(EDD)

reading sectors error(EDD)

.....


#8 Icecube

Icecube

    Gold Member

  • Team Reboot
  • 1063 posts
  •  
    Belgium

Posted 21 July 2010 - 11:42 PM

You can try this version (has newer ISOLINUX version):
http://ubcd.stopspaz...nloads/dban.iso

#9 sodface

sodface

    Newbie

  • Members
  • 10 posts

Posted 22 July 2010 - 02:13 AM

You can try this version (has newer ISOLINUX version):
http://ubcd.stopspaz...nloads/dban.iso


It worked! I tried it with both scenarios, gpxelinux + memdisk and loading grub4dos from gpxelinux.

I'm still not sure why the problem was with the .iso since the problem .iso file worked with grub4dos grldr (not started from gpxelinux) but failed with gpxelinux + memdisk. Seemed to me that there was something "wrong" with the environment rather than the .iso. That grub4dos was doing something a little better or at least more compatible than gpxlinux + memdisk.

But the updated .iso file worked and that's all I changed. So I guess I'll just say thanks Icecube and move on! Still... something seems strange...




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users