Jump to content











Photo
- - - - -

make virtual floppy, then boot XP CD - Help!


  • Please log in to reply
14 replies to this topic

#1 Damnation

Damnation

    Member

  • Members
  • 78 posts
  •  
    Australia

Posted 04 December 2012 - 12:27 PM

I'm using ISOLinux and grub4dos, trying to make a CD that will load either 1 of 2 Floppy images (NVAHCI or NVRAID) and then pass on to the XP CD.

ISOLINUX,CFG




PROMPT 1

TIMEOUT 90



DEFAULT RAID





LABEL AHCI



menu label AHCI ->

MENU INDENT 1

    KERNEL /BOOT/ISOLINUX/grub.exe

    APPEND --config-file=/BOOT/ISOLINUX/WINXPA.LST





LABEL RAID

menu label RAID ->

MENU INDENT 1

    KERNEL /BOOT/ISOLINUX/grub.exe

    APPEND --config-file=/BOOT/ISOLINUX/WINXPB.LST




This has a problem, as neither of these pass the LST file on to grub4dos, so it just goes to the command prompt.

WINXPA.LST




default 0

timeout=0



title Windows XP x86 AHCI



find --set-root --ignore-floppies --ignore-cd /BOOT/ISOLINUX/NVAHCI.IMG

map --mem /BOOT/ISOLINUX/NVAHCI.IMG (fd0)

map --mem /BOOT/ISOLINUX/NVAHCI.IMG (fd1)

#map --mem (md)0x800+4 (99)



echo

chainloader (cd)/i386/setupldr.bin || chainloader (cd)/I386/SETUPLDR.BIN || chainloader (cd)

echo

clear

pause You MUST press F6 when prompted, then hit S to select your driver

clear

pause Now quickly hit [Enter] twice (and then F6 if you need to install drivers) ...




I can run this manually from the command prompt, but it fails when I try to pass to the XP CD.

WINXPB.LST




default 0

timeout=0



title Windows XP x86 RAID



#find --set-root --ignore-floppies --ignore-cd /BOOT/ISOLINUX/NVRAID.IMG

map --mem /BOOT/ISOLINUX/NVRAID.IMG (fd0)

map --mem /BOOT/ISOLINUX/NVRAID.IMG (fd1)

#map --mem (md)0x800+4 (99)



echo

chainloader (cd)/i386/setupldr.bin || chainloader (cd)/I386/SETUPLDR.BIN || chainloader (cd)

echo

clear

pause You MUST press F6 when prompted, then hit S to select your driver

pause

clear

pause Now quickly hit [Enter] twice (and then F6 if you need to install drivers) ...




Same problem here

Any Help?

#2 ilko

ilko

    Frequent Member

  • Advanced user
  • 487 posts
  •  
    Bulgaria

Posted 04 December 2012 - 01:45 PM

timeout=0


Have you tried with

timeout 0


Besides, are you sure, you can select drivers using F6 and S, without the help of Firadisk or WinVBlock? As far as I remember only default drivers could be used this way, but could be wrong.

#3 Damnation

Damnation

    Member

  • Members
  • 78 posts
  •  
    Australia

Posted 04 December 2012 - 02:14 PM

It never loads the LST file, just goes straight to grub> prompt.

I wouldn't need winvblock would I? I'm using an XP CD not an ISO Image.

#4 ilko

ilko

    Frequent Member

  • Advanced user
  • 487 posts
  •  
    Bulgaria

Posted 04 December 2012 - 02:34 PM

Grub4dos may not be reaching the part "title ...something" and below because you obviously have an error in the lines above, so it may be just dropping to shell because of the error mentioned. That's the first logical thing in my opinion to start from.

I wouldn't need winvblock would I? I'm using an XP CD not an ISO Image.

Do you use a virtual floppy? Is Firadisk/WinVBlock only about virtual CDs?

http://www.msfn.org/...post__p__881245

#5 Wonko the Sane

Wonko the Sane

    The Finder

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

Posted 04 December 2012 - 02:39 PM

The Syntax to pass a config file to grub4dos is from README_grub4dos.txt:

3. Loaded by SYSLINUX:

label grub.exe
kernel grub.exe
append initrd=DOS.IMG --config-file="map (rd) (fd0); map --hook; chainloader (fd0)+1; rootnoverify (fd0)"


If you prefer the --config-file= wants a "set of commands" or a "filename" enclosed in double quotes, maybe this is the issue.
Also, since the grub.exe is loaded by Syslinux, it i possible that the root is not established correctly and you may want to try:using an absolute path instead of a relative one.

@Ilko
The grub4dos syntax does NOT use the equal sign but at least a few versions of gru4dos' parser was "tolerant" of the "=" sign.
It should NOT be used, but maybe that setting was taken from some posts when the parser allowed it (cannot say if current version does):

As a side note (and NOT related to the issue at hand), this:

chainloader (cd)/i386/setupldr.bin || chainloader (cd)/I386/SETUPLDR.BIN || chainloader (cd)

makes very little or no sense.
grub4dos considers the CD Filesystem as CaSe SeNsITiVe AND all names on a "normal" XP install CD MUST BE CAPITAL LETTERS.

:cheers:
Wonko

#6 Damnation

Damnation

    Member

  • Members
  • 78 posts
  •  
    Australia

Posted 04 December 2012 - 03:27 PM

I've discovered 2 things, also This in in a VM, when I can get it working in the VM I'll try the real thing.

grub4dos is defaulting to hd0,0 rather than the cd like I need it to.

The second CD drive isn't being detected, thus no XP CD.

root (

shows

fd0 hd0 rd cd

typing
cdrom --init

adds cd0 and cd1 and seems to detect the second CD drive, but cd0 and cd1 are inaccessible, only cd is accessible which is the CD containing ISOLINUX and the images.

#7 ilko

ilko

    Frequent Member

  • Advanced user
  • 487 posts
  •  
    Bulgaria

Posted 04 December 2012 - 03:30 PM

Syslinux.cfg:
PROMPT 1

TIMEOUT 90



DEFAULT AHCI





LABEL AHCI

menu label AHCI

MENU INDENT 1

	 KERNEL /BOOT/ISOLINUX/grub.exe

	 APPEND --config-file=/BOOT/ISOLINUX/WINXPA.LST

This loads fine WINXPA.LST. in QEMU, files on USB stick emulated as IDE hard disk in QEMU.

On a CD, does grub.exe find /BOOT/ISOLINUX/WINXPA.LST ?

Crossposting.
Added:

Try:

APPEND --config-file="cdrom --init ; map --hook ; find --set-root devices=c /BOOT/ISOLINUX/WINXPA.LST ; configfile /BOOT/ISOLINUX/WINXPA.LST"


Re-reading the post above. What's your config actually? Do you have 2 physical CD-ROMs? One with ISOLINUX and second with XP Setup?

#8 Damnation

Damnation

    Member

  • Members
  • 78 posts
  •  
    Australia

Posted 04 December 2012 - 04:13 PM

On a CD, does grub.exe find /BOOT/ISOLINUX/WINXPA.LST ?


it's defaulting to the harddrive instead of the cd, so no.

Re-reading the post above. What's your config actually? Do you have 2 physical CD-ROMs? One with ISOLINUX and second with XP Setup?


yep like that.

#9 ilko

ilko

    Frequent Member

  • Advanced user
  • 487 posts
  •  
    Bulgaria

Posted 04 December 2012 - 05:46 PM

When you drop to grub4dos try:
cdrom --init

map --hook

find --set-root devices=c /BOOT/ISOLINUX/WINXPA.LST
Does it find it in cd0 or cd1?

Grub4dos README document:

Note 1: If the system does not fully support the ATAPI CD-ROM specifications,
you will encounter failure when trying to access the (cdX) devices.

Note 3: After adding IO ports, you should do a `map --unhook' followed by a
`cdrom --init' and then followed by a `map --hook'.

By default, these ports are used for searching cdroms(so they needn't
be added):

0x03F601F0, 0x03760170, 0x02F600F0,
0x03860180, 0x6F006B00, 0x77007300.

Note 4: The BIOS might have offered a cdrom interface. It would be (cd). After
`cdrom --init' and `map --hook', we might have our (cd0), (cd1), ...
available. It is likely that one of them could access the same media
as the BIOS-offered (cd).



#10 Damnation

Damnation

    Member

  • Members
  • 78 posts
  •  
    Australia

Posted 04 December 2012 - 07:44 PM




APPEND --config-file="cdrom --init ; map --hook ; find --set-root devices=c /BOOT/ISOLINUX/WINXPA.LST ; configfile /BOOT/ISOLINUX/WINXPA.LST"




This seems to have worked. It runs the LST file, but it crashes in VMWare when it gets to cd1,

typing it in manually determines cd1 is unreadable, cd0 is the ISOlinux CD.

#11 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1,676 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 04 December 2012 - 10:43 PM


APPEND --config-file="cdrom --init ; map --hook ; find --set-root devices=c /BOOT/ISOLINUX/WINXPA.LST ; configfile /BOOT/ISOLINUX/WINXPA.LST"


This seems to have worked. It runs the LST file, but it crashes in VMWare when it gets to cd1,

typing it in manually determines cd1 is unreadable, cd0 is the ISOlinux CD.

Why are you using find --set-root ? If you are booting GRUB4DOS from ISOLINUX, then G4D should always have (cd) available.

APPEND --config-file="root (cd); configfile /BOOT/ISOLINUX/WINXPA.LST"



#12 ilko

ilko

    Frequent Member

  • Advanced user
  • 487 posts
  •  
    Bulgaria

Posted 05 December 2012 - 10:50 AM

Sha0, does that mean that since booting is from a CD, the

cdrom --init

map --hook

commands are not necessary, or ISOLINUX did that part already? Are they necessary only when booting is NOT from a CD?
Is (cd) going to be the same CD-ROM where ISOLINUX was booted from?

#13 Wonko the Sane

Wonko the Sane

    The Finder

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

Posted 05 December 2012 - 11:13 AM

OT :w00t: I think I'll bite. :ph34r: :realmad:

What is the (IMHO senseless) reason WHY one would want to make an isolinux based CD to load grub4dos instead of making a grub4dos based CD and load grub4dos directly?
What is the reason why one should have two CD's in two different CD drives?

Wouldn't it be anyway more useful/portable/whatever to have (still in the IMHO perverted "use CD's and one is the "stock" unmodified XP CD") have a "bootstrap CD" that loads/ maps to mem the floppy images, after which you eject that CD and insert the XP one? (my guess is that the number of PC's with two CD/DVD drives is slighly less than that of PC's with just one CD/DVD drive)

:cheers:
Wonko

#14 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1,676 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 06 December 2012 - 05:30 AM

Sha0, does that mean that since booting is from a CD, the

cdrom --initmap --hook
commands are not necessary,
 


It means that BIOS has mapped the optical disc to an INT 0x13 drive number for El Torito booting. Those GRUB4DOS commands will attempt to search for and map optical disc drives to INT 0x13 drive numbers.

or ISOLINUX did that part already?

No. ISOLINUX didn't do those GRUB4DOS commands.

Are they necessary only when booting is NOT from a CD?

No. Regardless of whether or not you've booted from a CD/DVD, you can use these commands to attempt to map INT 0x13 drive numbers to available CD/DVD drives. One of those might happen to be the same as one you've booted from with an El Torito boot.

Is (cd) going to be the same CD-ROM where ISOLINUX was booted from?

Yes.

All of my spacing was removed after posting and the quotes look like garbage. Giving up on posting again.

#15 Damnation

Damnation

    Member

  • Members
  • 78 posts
  •  
    Australia

Posted 07 December 2012 - 09:11 AM

my friend got himself a working floppy drive and used that to install his driver. so this can be considered solved.






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users