Jump to content











Photo
- - - - -

Problem with isolinux/memdisk


  • Please log in to reply
5 replies to this topic

#1 edborg

edborg

    Frequent Member

  • .script developer
  • 387 posts
  •  
    Italy

Posted 20 June 2007 - 05:17 PM

I can't add Linux based ISOs to my multiboot CD created with BCDW.

Initially I started with BCDW 1.50, but could only boot floppy images, not CD ISOs, neither directly nor through their extracted bootsector as indicated in the instructions.
I then realized that BCDW 1.50 was no longer maintained and a newer version from another author existed.
So i tried with BCDW 2.01 and (after taking the bcdwboot.bin bootsector from the older version to make it boot!?) succeeded in booting also no-emulation CD images directly, but not images of Linux based CDs, for which I learned that isolinux/memdisk was needed.
After finding out where to put the files I finally succeeded in booting small images such as SmartBootManager (and also a Dos based floppy image of PartitionMagic).
I still fail when trying to boot larger images such as GParted, WarLinux, UBCD, etc.

What I tried, for instance, with gparted-livecd-0.3.4-6.iso was (all tests in qEmu):
renaming it to a short name: Gparted.iso,
making it low case: gparted.iso,
making it a *.img file: gparted.img,
moving it to the root,
booting it through its extracted bootsector,
and always failed!!! :thumbup:

When booting the image the boot process starts with isolinux.bin, then memdisk is loaded, the image starts loading ... and hangs. (See first screen).
When booting its bootsector without memdisk a checksum error is shown. (See second screen).
When booting its bootsector through memdisk, see third screen.
With newer versions of isolinux/memdisk the boot process doesn't even start.

If one attempts to boot the ISO directly (no isolinux/memdisk) the process hangs at a grub command line.

Did anybody succeed in a similar task? I've searched the Internet and other forums to no avail, and the only success cases I've heard of are when booting the content of a CD from a folder, not an image. :1st:

Thanks for any suggestion.
edborg

Attached Thumbnails

  • gpartedimg.jpg
  • gpartedbin.jpg
  • gpartedbin2.jpg


#2 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 20 June 2007 - 06:18 PM

@edborg

It would be nice if you would post what actually entries in the menu you used.

Though my guess is that you need anyway a (gzipped) extacted from .iso Linux kernel, something like:

isolinux /gparted/gparted initrd=/gparted/gparted.igz root=/dev/ram0 init=/linuxrc vga=788 looptype=squashfs loop=/gparted.dat dokeymap cdroot splash=silent nosound docache


http://gparted-forum...ic.php?pid=1038

jaclaz

#3 edborg

edborg

    Frequent Member

  • .script developer
  • 387 posts
  •  
    Italy

Posted 21 June 2007 - 09:28 AM

Hi jaclaz,
Thanks for your help!

@edborg

It would be nice if you would post what actually entries in the menu you used.

This is what I did (with BCDW2.01):
Renamed gparted-livecd-0.3.4-6.iso (perfectly booting in qEmu and from a CD) to gparted.img
Downloaded isolinux.bin and memdisk to use them, according to the instructions, to (attempt to) boot the image.

This was my layout:
\bcdw\bcdw.ini
\images\gparted.img
\isolinux\isolinux.bin
\isolinux\memdisk

And this the command line in bcdw.ini:
/isolinux/isolinux.bin ; Gnome Partition editor (isolinux); ; /isolinux/memdisk initrd=/images/gparted.img
What's wrong with that? :thumbup:
------------------------------------------
However, following your suggested different approach I did some progress, but I'm still (a lot) confused. :1st:

As I unfortunately don't understand your syntax above, I tried following exactly the instructions in your link.
To do this, I had to download gparted-livecd-0.3.1-1.iso, and succeeded (both with BCDW1.50 and BCDW2.01) in booting it, with the following command line: :thumbup:
/ISOLINUX/ISOLINUX.BIN ; GNOME Parted V0.3 ; gparted; /ISOLINUX/KERNEL APPEND noapic
initrd=initrd.gz root=/dev/ram0 init=/linuxrc ramdisk_size=65000

I only had to change the layout from the suggested (not working):
\BCWD\GPARTED
\BCWD\ISOLINUX\BOOT.CAT
\BCWD\ISOLINUX\BOOT.MSG
\BCWD\ISOLINUX\INITRD.GZ
\BCWD\ISOLINUX\ISOLINUX.BIN
\BCWD\ISOLINUX\ISOLINUX.CFG
\BCWD\ISOLINUX\LINUX KERNEL
\BCWD\ISOLINUX\SPLASH.LSS

to the following:
\BCWD\GPARTED
\ISOLINUX\BOOT.CAT
\ISOLINUX\BOOT.MSG
\ISOLINUX\INITRD.GZ
\ISOLINUX\ISOLINUX.BIN
\ISOLINUX\ISOLINUX.CFG
\ISOLINUX\LINUX KERNEL
\ISOLINUX\SPLASH.LSS


The problem is that gparted-livecd-0.3.4-6.iso has COMPLETELY different files and layout that, not understanding the syntax, I can't figure out how to adapt.
Where can I find explanations for that?

If I could understand the logic, I could try to boot also other ISOs, such as gparted-livecd-0.3.4-6, Warlinux, UBCD, and others.
Thanks :thumbup:
edborg

#4 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 21 June 2007 - 10:11 AM

Basically what you need is:
1) A Kernel (a Linux one or memdisk, which is a "kernel")
2) A linux initrd (initial ram disk)
http://www-128.ibm.c...y/l-initrd.html
3) The actual iso image

What you succeeded in doing is however NOT booting from .iso, but rather booting from RAMdisk:

root=/dev/ram0 init=/linuxrc ramdisk_size=65000


.iso booting is when you "loop mount" the image as in:

looptype=squashfs loop=/gparted.dat


I am really not much an expert on this, but as far as I know, what BCDW actually does in a setup like yours is to "call" isolinux passing to it the SAME parameters you would otherwise (bootsector calling directly isolinux) put in ISOINUX.CFG.

So what you should research is how to boot with isolinux (NOT through BCDW) and the entries one should use for the various distros in isolinux.cfg, then "translate" this entries in parameters to be passed to isolinux by BCDW.

These might help you:
http://www.msfn.org/...D_I_t94398.html
http://www.bootcd.us/Build_CECD.php
http://members.chell...100/ILpart1.htm
http://linux.dell.co...E-and-HowTo.txt

jaclaz

#5 edborg

edborg

    Frequent Member

  • .script developer
  • 387 posts
  •  
    Italy

Posted 21 June 2007 - 12:01 PM

I see that the matter is a lot more complicated than I had thought and shall try to learn more on the subject from those links, if I can.

What I had successfully done at the beginning is exactly what is explained in the second of your links above:

Smart Boot manager allows you to choose and boot any OS currently installed in the Hard Drive. Adding Smart Boot manager is no problem if you have added the R.I.P. Linux. But if you don't want R.I.P. Linux but want the functionality of Smart Boot Manager, then download isolinux and memdisk and extract it's contents to the root of Emergency CD. Now download Smart Boot Manager floppy image and place it in "EMCD\Floppies". Then make sure that the following files are present:

EMCD\isolinux\isolinux.bin
EMCD\boot\memdisk
EMCD\Floppies\\sbm.img
<Note: If you have R.I.P Linux, they will already be present> Now add the following line to bootcat.ini:

/isolinux/isolinux.bin ; Smart boot manager ; ^ Smart Boot Manager.^ ; /boot/memdisk initrd=/Floppies/sbm.img

Now you can start Smart Boot manager from Emergency CD and boot into your Operating Systems in the hard drive!

and simplistically thought that it was possible to apply the same procedure to any other image, but unfortunately that only works for SmartBootManager!
I'll see what I can manage to do, thanks.
edborg

#6 d4vr0s

d4vr0s

    Member

  • Advanced user
  • 38 posts
  • Location:The greatest computer in the universe of time and space, designed by Deep Thought
  •  
    United States

Posted 22 June 2007 - 12:21 PM

You can also use bcdw to call a menu item from the isolinux.cfg :1st:
bcdw.ini
\boot\isolinux\isolinux.bin&#59; Boot and Nuke&#59; ^ Securely wipes HDD ^ Version 2007042900 Beta&#59; dban
isolinux.cfg
LABEL  dban

KERNEL dban.bzi

APPEND nuke=&#34;dwipe&#34; silent





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users