Jump to content











Photo
- - - - -

Boot from ISO image with isolinux ( without memdisk ) ?


  • Please log in to reply
10 replies to this topic

#1 mbzadegan

mbzadegan

    Frequent Member

  • Advanced user
  • 105 posts
  • Location:IFN
  •  
    Iran

Posted 08 August 2011 - 01:17 PM

Hi ,
Does anyone know How i can boot from an ISO image with isolinux without memdisk ?

Edited by mbzadegan, 08 August 2011 - 01:36 PM.


#2 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 08 August 2011 - 02:06 PM

Does anyone know How i can boot from an ISO image with isolinux without memdisk ?


Yes. You can chain to GRUB4DOS and do it from GRUB4DOS. There isn't currently a way to produce a virtual disk that maps to a file on some filesystem from Syslinux alone.

If your .ISO is available via the network, you can use a recent iPXE to chain the .ISO via HTTP, for example.

Perhaps there's another way to accomplish whatever your goal is, too.

#3 mbzadegan

mbzadegan

    Frequent Member

  • Advanced user
  • 105 posts
  • Location:IFN
  •  
    Iran

Posted 09 August 2011 - 04:30 AM

Well , How i can chainload isolinux to GRUB4DOS ?
Is that with these scripts ?

LABEL grud4dos
MENU LABEL Grub4dos
KERNEL /grub.exe

Tnx 4 your Hints.

Edited by mbzadegan, 09 August 2011 - 04:39 AM.


#4 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 09 August 2011 - 05:28 AM

Well , How i can chainload isolinux to GRUB4DOS ?
Is that with these scripts ?

Scripts Configuration file entries, yes.

LABEL grud4dos
MENU LABEL Grub4dos
KERNEL /grub.exe

That looks about right!

#5 mbzadegan

mbzadegan

    Frequent Member

  • Advanced user
  • 105 posts
  • Location:IFN
  •  
    Iran

Posted 09 August 2011 - 07:06 AM

When i used pxelinux , i can load my grub.exe but it didn't find any menu.lst !!!

Also i tried this link http://reboot.pro/9341/ but still didn't find any menu.lst

What is the best way to boot an ISO image (650mb) without memdisk from PXElinux ?

Edited by mbzadegan, 09 August 2011 - 07:39 AM.


#6 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 15153 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 09 August 2011 - 11:07 AM

When i used pxelinux , i can load my grub.exe but it didn't find any menu.lst !!!

Also i tried this link http://reboot.pro/9341/ but still didn't find any menu.lst

What is the best way to boot an ISO image (650mb) without memdisk from PXElinux ?

You probaly need to "pass" the menu.lst as a parameter when invoking grub.exe.
Also which EXACT version of grub4dos are you using?
WHICH are the contents of it's embedded menu.lst?
Please DESCRIBE the setup you are using AND post the FULL details of it.

For the record, you originally asked how to use isolinux, which is not PXElinux.

:whistling:
Wonko

#7 Icecube

Icecube

    Gold Member

  • Team Reboot
  • 1062 posts
  •  
    Belgium

Posted 09 August 2011 - 11:17 AM

What is the best way to boot an ISO image (650mb) without memdisk from PXElinux ?

Why do you want to boot it, without MEMDISK? If you need to load the ISO over tftp (PXE), you can't use direct mapping anyway.

This might help to keep the PXE stack in memory (untested). You will need to test from the grub4dos command line that you can access the (pd) device.
LABEL grud4dos

MENU LABEL Grub4dos

LINUX /grub.exe

APPEND keeppxe


#8 RoyM

RoyM

    Frequent Member

  • .script developer
  • 419 posts
  • Interests:"Booting and Owning".
  •  
    United States

Posted 09 August 2011 - 11:36 AM

Other Sites for info
http://syslinux.zyto...ex.php/ISOLINUX
http://diddy.boot-la...s/files/pxe.htm


See here how to use grub for pxe
http://diddy.boot-la...os/Grub4dos.htm

When using grub for pxe rename your menu.lst to default
place it in /menu.lst/default

"tftpboot is root for pxe"
Menu.lst = /mnt/share2/tftpboot/menu.lst/default

Use grldr as the pxe boot file, and you can map an ISO to memory and boot from it:
map --mem (pd)/mybootable.iso (0xff)
map --hook
chainloader (0xff)
boot

******* Working Examples *********

title LiveXP_RAMsmall.ISO
map --mem (pd)/iso/LiveXP_RAMsmall.ISO (0xff) && map --hook
root (0xff)
map --mem /I386/BOOTSDI.IMG (hd0)
map --hook
chainloader (hd0,0)/NTLDR

title LiveXP_RAM.ISO
map --mem (pd)/iso/LiveXP_RAM.ISO (0xff) && map --hook
root (0xff)
map /I386/BOOTSDI.IMG (hd0)
map --hook
chainloader (hd0,0)/NTLDR

title ========= LiveXP.iso ==============================================================
root

title LiveXP.iso to hd32\n
pxe keep
map (pd)/iso/LiveXP.iso (hd32) && map --hook
root (hd32)
chainloader (hd32)


title LiveXP.iso to 0xff\n
pxe keep
map (pd)/iso/LiveXP.iso (0xff) && map --hook
root (0xff)
chainloader (0xff)

title LiveXP.iso to --mem 0xff\n
pxe keep
map --mem (pd)/iso/LiveXP.iso (0xff) && map --hook
root (0xff)
chainloader (0xff)

title ========= win7pe ==================================================================
root

title win7pe.iso to 0xFF
pxe keep
map --mem (pd)/iso/win7pe.iso (0xff)
map --hook
chainloader (0xff)

title win7pe.iso to hd32
pxe keep
map --mem (pd)/iso/win7pe.iso (hd32)
map --hook
chainloader (hd32)

title win7pe.iso to fd0
pxe keep
map --mem (pd)/iso/win7pe.iso (fd0)
map --hook
chainloader (fd0)

title ======= Other ISO'S =============================================================
root

title MS DaRT70 ISO
root (pd)/iso/DaRT70.iso
map (pd)/iso/DaRT70.iso (0xff) || map --mem (pd)/iso/DaRT70.iso (0xff)
map --hook
chainloader (0xff)

title PciSniffer Mapped to Memory
pxe keep
map --mem --heads=0 --sectors-per-track=0 /iso/pcisniffer.iso (hd32)
map --hook
chainloader (hd32)

title UDPcast Mapped to Memory \nUDPcast is a file transfer tool that can send data simultaneously to many destinations on a LAN. Network setup fails on Compaq laptop = use second network card in list
pxe keep
map --mem --heads=0 --sectors-per-track=0 /iso/udpcd.iso (hd32)
map --hook
chainloader (hd32)

title UDPcast Mapped to (hd32) \nUDPcast is a file transfer tool that can send data simultaneously to many destinations on a LAN. Network setup fails on Compaq laptop = use second network card in list
pxe keep
map --mem /iso/udpcd.iso (hd32)
map --hook
chainloader (hd32)

title Konboot Mapped to Memory (fd0)
pxe keep
map --mem --heads=0 --sectors-per-track=0 /iso/FD0-konboot-v1.1-2in1.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title Konboot Mapped (fd0)
pxe keep
map --mem /iso/FD0-konboot-v1.1-2in1.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title ======= PARTITION =================================================================
root

title Partition Wizard 5.0 (Partition Tools)\nSupports 32/64 bit Windows XP, Vista and 7. Users can perform complicated partition operations to manage their hard disk.Functions include:Resizing,Copying,Create,Delete,Format,Convert, Explore,Hide,Change drive letter,Set active,Partition Recovery.Support RAID,and size larger than 2 TB.
map --mem (pd)/iso/pwhe5.iso (0xFF)
map --hook
root (0xff)
chainloader (0xff)

title Partition Wizard 6.0 (Partition Tools)\nSupports 32/64 bit Windows XP, Vista and 7. Users can perform complicated partition operations to manage their hard disk.Functions include:Resizing,Copying,Create,Delete,Format,Convert, Explore,Hide,Change drive letter,Set active,Partition Recovery.Support RAID,and size larger than 2 TB.
map --mem (pd)/iso/pwhe6.iso (0xFF)
map --hook
root (0xff)
chainloader (0xff)

title ========== BackTrack 5 ============================================================
root

title BackTrack 5 (1024x768) Persistent\nType startx to run GUI once booted PERSISTENT
map --mem (pd)/iso/BT5-KDE-32.iso (0xFF)
map --hook
root (0xff)
kernel /BT5/casper/vmlinuz file=/cdrom/BT5/cdrom/preseed/custom.seed boot=casper live-media-path=/BT5/casper textonly nosplash vga=791-- persistent
initrd /BT5/casper/initrd.gz

title ===================================================================================
root

# Chainload pxelinux boot loader.
title PXELinux chainloader --raw (pd)/pxelinux.0
pxe keep
chainloader --raw (pd)/pxelinux.0

title ======= iPXE ======================================================================
root

title chain to /ipxe/undionly.kpxe w/pxe keep
pxe keep
chainloader --force --raw (pd)/ipxe/undionly.kpxe


title ======= gPXE ======================================================================
root

title chain to /gPXE.pxe
pxe keep
chainloader --force --raw (pd)/gpxe.pxe

title chain to gpxe-1.0.1+-r8169.kpxe for smoothwall
# pxe keep
chainloader --force --raw (pd)/smooth/gpxe-1.0.1+-r8169.kpxe

title chain to PXELinux.0
pxe keep
chainloader --force --raw (pd)/pxelinux.0

title chain to /undionly.kpxe
pxe keep
chainloader --force --raw (pd)/undionly.kpxe

title Load grldr with PXE support
pxe keep
terminal console
chainloader --force --raw (pd)/grldr

title PXE Create ramdisk using map
map --mem (pd)/iso/dosboot.img (fd0)
map --hook
rootnoverify (fd0)
chainloader (fd0)+1

title PXE Create ramdisk using memdisk
kernel (pd)/memdisk/memdisk
initrd (pd)/dosboot.img

title ========= Memtest =================================================================
root

title Memory Test v420 Mapped to Memory
pxe keep
map --mem --heads=0 --sectors-per-track=0 /iso/mt420.iso (hd32)
map --hook
chainloader (hd32)

title Memory Test v420 Mapped to (hd32)
map --mem /iso/mt420.iso (hd32)
map --hook
chainloader (hd32)

title Memory Test /BT4/boot/memtest86+.bin\nMemory Test
kernel /BT4/boot/memtest86+.bin

title ========= Reboot ==================================================================
root

title Grub commandline
commandline

title Reboot\nRegards of sahar_computers@yahoo.com
reboot

title halt - Switch OFF - STOP
halt





**********************************************************************************
grldr can also be loaded by PXE as PXE boot file. after boot through PXE,
it will use (pd) as the TFTP Server device.
map --mem (pd)/someimg.img (fd0)
map --hook

You can see that the menu.lst is very similar to normal disk boot, you just
need to replace device like (hd0,0) with (pd).

There are some differences between disk device and pxe device:

1. You can't list files in the pxe device.
2. The blocklist command will not work with a file in the pxe device.
3. You must use --mem option if you want to map a file in the pxe device.

When you use chainloader to load file from the pxe device, there is a option
you can use:

chainloader --raw (pd)/BOOT_FILE

Option --raw works just like --force, but it load file in one go. This can
improve performance in some situation.

You can use the pxe command to control the pxe device.

1. pxe

If used without any parameter, pxe command will display current
settings.

2. pxe blksize N

Set the packet size for tftp transmission. Minimum value is 512,
maximum value is 1432. This parameter is used primarily for very old
tftp server where packet larger than 512 byte is not supported.

3. pxe basedir /dir

Set the base directory for files in the tftp server. If

pxe basedir /tftp

then all files in the pxe device is related to directory /tftp, for
example, (pd)/aa.img correspond to /tftp/aa.img in the server.

The default value of base directory is the directory of the boot file,
for example, if boot file is /tftp/grldr, then default base directory
is /tftp.

4. pxe keep

Keep the PXE stack. The default behaviour of GRUB4DOS is to unload
the PXE stack just before it exits.

5. pxe unload

Unload the PXE stack immediately.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

#9 mbzadegan

mbzadegan

    Frequent Member

  • Advanced user
  • 105 posts
  • Location:IFN
  •  
    Iran

Posted 09 August 2011 - 12:07 PM

Well dear icecube , With your KEEPPXE suggestion , i could find menu.lst ;)
but in the next step i could not boot from iso with these config of (tftp)/menu.lst/default

title iso_booting
find --set-root /lfs.iso
map --mem /lfs.iso (cd)
map --hook
chainloader (cd)
boot

with this error :

find --set-root /lfs.iso
Error 15 : file not found

Also when i type 'root (' and then press TAB rd and pd will be appear .

#10 mbzadegan

mbzadegan

    Frequent Member

  • Advanced user
  • 105 posts
  • Location:IFN
  •  
    Iran

Posted 09 August 2011 - 12:23 PM

Tnx RoyM & icecube , Finally i solved my problem with these configs :) ;)

(tftp)/menu.lst/default config :

title iso_booting
root (pd)/lfs.iso
map --mem (pd)/lfs.iso (0xff)
map --hook
chainloader (0xff)
boot

(tftp)/pxelinux.cfg/default config :

LABEL grub
kernel /grub.exe
APPEND keeppxe

Edited by mbzadegan, 09 August 2011 - 12:28 PM.


#11 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 10 August 2011 - 09:06 AM

Tnx RoyM & icecube , Finally i solved my problem with these configs :cheers: :cheers:

But it seems that your goal has changed a bit. The strategy you are using will map an .ISO into memory as a RAM disc, which you were originally trying to avoid. If you are using PXELINUX, that suggests that you could potentially use iPXE to SAN-boot the .ISO... As long as the .ISO is served by a web-server (not TFTP). I think it'd go something like this from the iPXE CLI:

iPXE> sanboot http://webserver/lfs.iso

or, in an iPXE script:

#!ipxe

sanboot http://webserver/lfs.iso






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users