Hello dear guest!

Boot Land is a community driven site established since 2006 and focused on data recovery/backup boot disks, research of Windows 2000/XP/2003/Vista/7 install/deployment/antivirus tools, customizing Windows PE systems and even learning how to recover from disaster situations.

How about joining our boot disk community? So do it. Life's short!

  - You get free access to our newsletter with all the interesting buzz about boot disks
  - We share publicity revenue with everyone who wishes to participate at the forums
  - Publicity is never, never, never displayed to members (along with many other cool things)
http://boot-land.net/register

5 Pages V  « < 3 4 5 >  
Reply to this topic
 ISO mapping with MEMDISK is possible now
post Nov 18 2009, 02:32 PM
Post #32
Icecube
Frequent Member   ***
Group: Advanced user

  Joined: 7-September 08
Posts: 474
Thank(s): 116


Belgium


@ jaclaz
Maybe you can add a link to http://www.boot-land.net/forums/index.php?showtopic=9582 on the topic that you linked too.
The patch for chain.c32 is in Syslinux 3.83. It is not directly related to BCDW, but might still be useful.

@ allanf
Instead of looking at the isolinux.bin file, you could look at the source code (/core/isolinux.asm):
CODE
_start:  ; Far jump makes sure we canonicalize the address
        cli
        jmp 0:_start1
        times 8-($-$$) nop  ; Pad to file offset 8

  ; This table hopefully gets filled in by mkisofs using the
  ; -boot-info-table option.  If not, the values in this
  ; table are default values that we can use to get us what
  ; we need, at least under a certain set of assumptions.
        bi_pvd:      dd 16    ; LBA of primary volume descriptor
        bi_file:     dd 0    ; LBA of boot file
        bi_length:   dd 0xdeadbeef; Length of boot file
        bi_csum:     dd 0xdeadbeef; Checksum of boot file
        bi_reserved: times 10 dd 0xdeadbeef; Reserved
        bi_end:

CODE
found_drive:
    ; Alright, we have found the drive.  Now, try to find the
    ; boot file itself.  If we have a boot info table, life is
    ; good; if not, we have to make some assumptions, and try
    ; to figure things out ourselves.  In particular, the
    ; assumptions we have to make are:
    ; - single session only
    ; - only one boot entry (no menu or other alternatives)

        cmp dword [bi_file],0    ; Address of code to load
        jne found_file        ; Boot info table present :)

%ifdef DEBUG_MESSAGES
        mov si,noinfotable_msg
        call writemsg
%endif

    ; No such luck.  See if the spec packet contained one.
        mov eax,[sp_lba]
        and eax,eax
        jz set_file        ; Good enough

%ifdef DEBUG_MESSAGES
        mov si,noinfoinspec_msg
        call writemsg
%endif

    ; No such luck.  Get the Boot Record Volume, assuming single
    ; session disk, and that we're the first entry in the chain.
        mov eax,17        ; Assumed address of BRV
        mov bx,trackbuf
        call getonesec

        mov eax,[trackbuf+47h]    ; Get boot catalog address
        mov bx,trackbuf
        call getonesec        ; Get boot catalog

        mov eax,[trackbuf+28h]    ; First boot entry
    ; And hope and pray this is us...

    ; Some BIOSes apparently have limitations on the size
    ; that may be loaded (despite the El Torito spec being very
    ; clear on the fact that it must all be loaded.)  Therefore,
    ; we load it ourselves, and *bleep* the BIOS.

set_file:
        mov [bi_file],eax

found_file:
    ; Set up boot file sizes
        mov eax,[bi_length]
        sub eax,SECTOR_SIZE-3    ; ... minus sector loaded
        shr eax,2        ; bytes->dwords
        mov [ImageDwords],eax    ; boot file dwords
        add eax,(2047 >> 2)
        shr eax,9        ; dwords->sectors
        mov [ImageSectors],ax    ; boot file sectors

        mov eax,[bi_file]    ; Address of code to load
        inc eax            ; Don't reload bootstrap code


--------------------
+Quote Post
post Nov 18 2009, 02:42 PM
Post #33
was_jaclaz
Finder   ******
Group: Advanced user

  Joined: 14-July 06 From: Gone in the mist

Posts: 7,224
Thank(s): 547


Italy


@icecube
Will do thanks. smile.gif

@allanf
I know I may be opening a can of worms scared9.gif, but JFYI wink.gif:
http://www.msfn.org/board/has-anyone-used-...53.html&hl=

cheers.gif

jaclaz


--------------------
+Quote Post
post Nov 18 2009, 10:48 PM
Post #34
Krokodox
Newbie   *
Group: Members

  Joined: 11-June 08
Posts: 20
Thank(s): 7


Sweden


QUOTE (unclemonty @ Nov 12 2009, 11:56 AM) *
Thanks smile.gif

Do you know of any examples in getting the Etherboot PXE (gPXE) images to work with the memdisk ISO version? tftp is very slow and the http functionalities of the Etherboot images offer a great way to circumvent this for large ISO files.



Yes it works. I am currently setting up a slimmed W2K3 RAM based image that the server downloads via PXE / GPXE using HTTP as transport instead of TFTP. It is a fast and very nice way of downloading and also makes it possible to create a high-availibility solution since the HTTP server can be load-balanced smile.gif

I will document my setup as soon as I have all bits working smoothly. I use the latest Syslinux, in there you will find a gpexlinux.0, use this instead of the etherboot's gpxe-undi driver for the PXE part of the boot. Once booted, use the ISO capable Memdisk that can be found here somewhere for download, not the one in the current Syslinux package.

The .ISO file needs to boot into GRLDR and map the contained disk image. The W2K3 disk image needs to have been setup with Firadisk driver. I use nLite to shrink the W2K3 setup eliminating all unnecessary junk and then let W2K3 install itself in a VirtualBox VM. Once I finish the config of the machine I capture it using VSS to a disk image, that then goes into the .ISO.

It is a bit tricky and needs a lot of tinkering but once you see it boot fast like hell via PXE / GPXE / HTTP you never regret that you did not start messing around with iSCSI smile.gif
+Quote Post
post Nov 18 2009, 11:43 PM
Post #35
Icecube
Frequent Member   ***
Group: Advanced user

  Joined: 7-September 08
Posts: 474
Thank(s): 116


Belgium


The ISO booting capable MEMDISK is now available in Syslinux 3.84-pre3:
http://www.kernel.org/pub/linux/utils/boot/syslinux/Testing/


--------------------
+Quote Post
post Nov 18 2009, 11:49 PM
Post #36
Last Chance
  
Group: Members

  Joined: 6-November 08
Posts: 4
Thank(s): 0


Canada


Doesn't seem to work with XP images. Anyone have this working yet?
+Quote Post
post Nov 19 2009, 06:16 AM
Post #37
allanf
Gold Member   *****
Group: .script developer

  Joined: 5-June 07
Posts: 1,116
Thank(s): 73


QUOTE (Icecube @ Nov 19 2009, 12:32 AM) *
@ allanf
Instead of looking at the isolinux.bin file, you could look at the source code (/core/isolinux.asm):


Thanks for the tip. Much more pleasant reading, including the sprinklings of humour and the odd prayer or two. smile.gif

I note the assumptions made when boot info table is not present (default?). Sadly, my ability to test on real (not virtual)devices is limited - one XP laptop with plenty of RAM and disk space, but broken optical drive and display; second Win7 laptop with 256 RAM and damaged HDD partitioned up into small functional chunks, and running the first laptop through Remote Desktop. Neither have USB booting. Oh! What fun! smile.gif

QUOTE (jaclaz @ Nov 19 2009, 12:42 AM) *
I know I may be opening a can of worms scared9.gif, but JFYI wink.gif:
http://www.msfn.org/board/has-anyone-used-...53.html&hl=


Ordinarily, I like worms.

I tested it out following the KB article, just to see if it works and what it does - expecting some sort of screen to make a selection even though I don't have the right platform. No luck; and no luck with x86 boot options either. In both cases, booting went straight into the first entry (default).

Anyway, might leave this thread to get back on track.

Regards smile.gif


--------------------
Reminding lancelot: You know what a "bugie" is.
It's not a bug; it's that green thing hanging out of your snotty nose.
... :rofl: ...
+Quote Post
post Nov 20 2009, 02:30 AM
Post #38
Sha0
Member   **
Group: Advanced user

  Joined: 1-August 07
Posts: 94
Thank(s): 41


Canada


MEMDISK El Torito emulation has been merged into Syslinux' 3.84-pre4 development branch, meaning MEMDISK El Torito users can benefit from all the other fixes/enhancements which H. Peter Anvin (and possibly others) has (or have) committed to MEMDISK "proper." Two recent commits deal with PC-DOS and the PloP boot-loader .ISO, by the way. Enjoy.

http://git.zytor.com/?p=syslinux/syslinux.git;a=summary

QUOTE (maanu @ Jun 19 2009, 04:12 AM) *
now that is an excellent improvement . thanks a lot icecube for the head up .

im wondering if i can use this MEMDISK with G4D and syslinux at the same time ? well i guess i can .

Yes. MEMDISK and GRUB4DOS both install INT 13h "hooks". These hooks typically keep track of the previous hook, so you end up will a pile of hooks. You can hook to your heart's content, or until you run out of available memory.

MEMDISK only does RAM disk mapping at this time. GRUB4DOS does RAM disk mapping as well as mapping to a contiguous range of sectors on another device.

QUOTE (maanu @ Jun 23 2009, 04:04 PM) *
ice cube , i was wondering if u have tested ram based live xp iso with syslinux yet ?

i mean with memdisk approach..

If the OS uses INT 13h to access its boot disk, MEMDISK will provide this service. OSs like XP and Linux do not use INT 13h, so you need a special driver to look for whatever RAM disk that was setup by MEMDISK. I'm developing WinVBlock to accomplish this, but ISO support is not there yet. karyonix has developed Firadisk, but as far as I know it only works with GRUB4DOS.

QUOTE (v_h @ Jul 30 2009, 10:30 AM) *
Just tried LiveXP_RAM.iso (50Meg cab compressed Boot Cd created with the BootSDI script) and it booted OK.

Please note that when you load an .ISO into RAM as a RAM disk, you need enough memory for the image.
When you're booting an XP which itself loads a RAM disk, then you need enough additional RAM for this "sub-image". Drivers like WinVBlock and Firadisk help to avoid this redundancy by allowing the OS to find the original RAM disk.

QUOTE (unclemonty @ Nov 12 2009, 05:56 AM) *
Thanks smile.gif

Do you know of any examples in getting the Etherboot PXE (gPXE) images to work with the memdisk ISO version? tftp is very slow and the http functionalities of the Etherboot images offer a great way to circumvent this for large ISO files.

From the gPXE CLI, you do:
CODE
initrd http://webserver/some.iso
chain http://webserver/memdisk-iso iso

where the chain command is given the path to your El Torito-capable MEMDISK and also given iso as a "kernel command-line argument." The above commands can go into a gPXE script, also. See ROM-O-Matic and the gPXE Wiki pages for command-line and script reference material.

You could also chain to PXELINUX from gPXE, if you are more comfortable with PXELINUX' familiar config-files. Some folks are not aware that fairly recent ( >= 3.70) PXELINUces can use HTTP when booted from gPXE. Simply use http://webserver/somefile-style file paths in your config-files.

As noted in another post, gpxelinux.0 is exactly
CODE
undionly.kkpxe (gPXE) -> pxelinux.0 (PXELINUX)

So you simply drop in gpxelinux.0 where you used to use pxelinux.0 and you should have HTTP abilities.

QUOTE (Last Chance @ Nov 18 2009, 06:49 PM) *
Doesn't seem to work with XP images. Anyone have this working yet?

... And where does it fail, exactly? Please include detail in reports of this nature. As mentioned in a recent post, you need a driver for an OS like XP. Without one, you will either get a Blue Screen of Death or you will have to use XP's /RDPATH= functionality and load a second RAM disk image (meaning a greater memory requirement.)

- Shao Miller
+Quote Post
post Nov 20 2009, 03:29 PM
Post #39
Icecube
Frequent Member   ***
Group: Advanced user

  Joined: 7-September 08
Posts: 474
Thank(s): 116


Belgium


@ sha0
I did merge all your posts. There where to many of them biggrin.gif .
Thanks for working again on MEMDISK cool.gif .

@ all
A new MEMDISK is attached to my first post. MEMDISK of Syslinux 3.84-pre4 + 2 patches which allow MEMDISK to boot ISO's which use floppy emulation (PloP iso) or hard disk emulation (Dell Diagnostics iso) instead of a no-emulation boot sector.


--------------------
+Quote Post
post Nov 20 2009, 04:35 PM
Post #40
Sha0
Member   **
Group: Advanced user

  Joined: 1-August 07
Posts: 94
Thank(s): 41


Canada


QUOTE (Icecube @ Nov 20 2009, 10:29 AM) *
@ sha0
I did merge all your posts. There where to many of them biggrin.gif .
Thanks for working again on MEMDISK cool.gif .

Thanks, Icecube. I was meaning to do that this morning, but you beat me to it. smile.gif
QUOTE (Icecube @ Nov 20 2009, 10:29 AM) *
@ all
A new MEMDISK is attached to my first post. MEMDISK of Syslinux 3.84-pre4 + 2 patches which allow MEMDISK to boot ISO's which use floppy emulation (PloP iso) or hard disk emulation (Dell Diagnostics iso) instead of a no-emulation boot sector.

I apologize for the confusion concerning Syslinux 3.84-pre4 versus Syslinux 3.84-pre4 + 2 patches... H. Peter has included these two patches into the top of Syslinux 3.84-pre4, so that means that's the current state of Syslinux 3.84-pre4. "+ 2 patches" might confuse people, in case they think they need to apply patches or something (which they don't,) so I'm just clarifying here.

Future MEMDISK directions (in my opinion):
  • An ACPI table that an OS' driver can use to re-establish the RAM disk without using INT 13h (much like iSCSI's iBFT and AoE's aBFT)
  • Mapping a BIOS drive number to a contiguous range of sectors on another BIOS drive (more "MAPDISK" then "MEMDISK" smile.gif)
  • Implementing MEMDISK as one or more COM32 modules, re-using the current MEMDISK hooks


- Shao Miller
+Quote Post
post Nov 20 2009, 05:57 PM
Post #41
Last Chance
  
Group: Members

  Joined: 6-November 08
Posts: 4
Thank(s): 0


Canada


QUOTE (Sha0 @ Nov 19 2009, 06:30 PM) *
MEMDISK El Torito emulation has been merged into Syslinux' 3.84-pre4 development branch, meaning MEMDISK El Torito users can benefit from all the other fixes/enhancements which H. Peter Anvin (and possibly others) has (or have) committed to MEMDISK "proper." Two recent commits deal with PC-DOS and the PloP boot-loader .ISO, by the way. Enjoy.
.....

- Shao Miller



What I want is to just plop an XP CD image in my tftpboot path and call it with Memdisk. We have working RIS and whatnot, I soley want the ability to call an ISO of an XP Cd for in-place repairs, as I run a local shop and want to do it without CD. Our machines have plenty of ram to handle the size of the image, we just want to fire an XP CD image off of a server to do repair installs, something that the myriad of PE installs don't do conveniently (setting up the iniq id in the registry and whatnot).
+Quote Post

5 Pages V  « < 3 4 5 >
Reply to this topic
2 User(s) are reading this topic ()


  

Collapse

  Topic Replies Topic Starter Views Last Action
No New Posts Possible to chainload a extracted CD boot sector ?
12 gbrao 362 Today, 10:14 AM
Last post by: Wonko the Sane
No New Posts Is it possible to emulate HP hardware using virtual machine?
2 Cybergrace 203 22nd January 2010 - 12:46 PM
Last post by: dog
No new Is it possible to remove Control Panel Icon?
14 Virtual-R 1,479 18th January 2010 - 10:26 AM
Last post by: Virtual-R
No New Posts Topic has attachmentsissue with ppAppsgen pe
12 maanu 985 13th December 2009 - 12:05 PM
Last post by: maanu
No New Posts Topic has attachmentsISO Burn Failure
5 Nodak 1,524 9th December 2009 - 04:23 PM
Last post by: amalux