Jump to content











Photo
- - - - -

Syslinux 3.85 is out ==> better support for Windows booting


  • Please log in to reply
5 replies to this topic

#1 Icecube

Icecube

    Gold Member

  • Team Reboot
  • 1062 posts
  •  
    Belgium

Posted 21 February 2010 - 04:06 PM

Syslinux 3.85 is a bug fix and minor new feature release.  The biggest

change is undoubtedly that gPXELINUX is now considered feature

complete, and should be able to be a drop-in for PXELINUX for all uses.



Special thanks to Intel Corporation, my current employer, for their

support for my Syslinux work.



Changes in 3.85:

		* gPXELINUX: updated to gPXE 1.0.0.  gPXELINUX can now do NBP

		  chainloading, and does not require a second DHCP.

		* vesamenu.c32: unbreak the default "grey hole" background.

		* We no longer have a built-in default of "linux auto".

		  Instead, if no DEFAULT or UI statement is found, or the

		  configuration file is missing entirely, we drop to the boot:

		  prompt with an error message (if NOESCAPE is set, we stop

		  with a "boot failed" message; this is also the case for

		  PXELINUX if the configuration file is not found.)

		* chain.c32: support chainloading Grub4DOS; patch by Gert

		  Hulselmans.

		* New tool: sysdump.c32, can be used to produce system

		  information for debugging via tftp or ymodem (serial port).

		* "vga=current" on the Linux command line is now supported.

		* chain.c32: support for Windows Recovery Console, via the

		  "cmldr=" option.

		* chain.c32: should now support loading NTLDR from different

		  type media than loaded from.

		* chain.c32: support chainloading to a FAT/NTFS partition with

		  invalid "hidden sectors" via the "sethidden" option.

		* memdisk: fix the mBFT ACPI table.

		* vesamenu.c32: if the image is smaller than the screen, tile

		  it across the whole screen.

		* mkdiskimage: -s option for producing a sparse image.

		* vesamenu.c32: support arbitrary resolution setting (beyond

		  BIOS support) on some Intel-based video chipsets.  This code

		  is a modified version of the "915resolution" tool by

		  Steve Tomljenovic; your mileage might vary.
http://syslinux.zyto...ary/013716.html

Booting Windows (ntldr, setupldr.bin, bootmgr) from other partitions than primary should work better now.

UI menu.c32



Boot Recovery console (2000/XP/2003)

LABEL recovery_console

MENU LABEL Boot Recovery console (2000/XP/2003) from first primary partition

COM32 chain.c32

APPEND hd0,1 cmldr=/i386/setupldr.bin



LABEL vista

MENU LABEL Boot Windows Vista from first primary partition

COM32 chain.c32

APPEND hd0,1 ntldr=/bootmgr_vista



LABEL w7

MENU LABEL Boot Windows 7 from second primary partition

COM32 chain.c32

APPEND hd0,2 ntldr=/bootmgr_w7



LABEL grub4dos

MENU LABEL Boot grub4dos and let it first search on the third primary partition for its menu.lst file

COM32 chain.c32

APPEND hd0,3 file=grldr


#2 cdob

cdob

    Gold Member

  • Expert
  • 1450 posts

Posted 10 March 2010 - 08:43 PM

* chain.c32: support for Windows Recovery Console, via the "cmldr=" option.

Does this include a USB stick?

Given a boot sector without a cmdcons marker and
LABEL cmdc

  MENU LABEL Windows(tm) Recovery Console

  COM32 chain.c32

  APPEND cmldr=/cmdcons/setupldr.bin

  TEXT HELP

  Windows(tm) Recovery Console

  ENDTEXT
setupldr.bin dosn't load recovery console. /minint/ PE is loaded instead.

#3 Icecube

Icecube

    Gold Member

  • Team Reboot
  • 1062 posts
  •  
    Belgium

Posted 10 March 2010 - 10:01 PM

setupldr.bin doesn't load recovery console. /minint/ PE is loaded instead.

From which drive and partition do you run the command (and where did you have the recovery console installed)?
Does it work with grub4dos and what are the commands that you use?

#4 cdob

cdob

    Gold Member

  • Expert
  • 1450 posts

Posted 10 March 2010 - 11:17 PM

Booted from USB Stick (hd0 at BIOS, 2GB, FAT16, fixed bit set at firmware)
Bootsector string: mkdosfs
There is a MBR and one partition.
Syslinux, grub4dos and recovery console is installed at this partition.

This does launch the recovery console
LABEL grub4dos

MENU LABEL grub4dos

COM32 chain.c32

APPEND file=/grldr

title Launch "Windows(tm) Recovery Console"

chainloader /cmdcons/setupldr.bin

#####################################################################

# write string "cmdcons" to memory 0000:7C03 in 2 steps:

#####################################################################

# step 1. Write 4 chars "cmdc" at 0000:7C03

write 0x7C03 0x63646D63

# step 2. Write 3 chars "ons" and an ending null at 0000:7C07

write 0x7C07 0x00736E6F

I wonder: does grub4dos and chain.c use the same byte order ?

#5 Icecube

Icecube

    Gold Member

  • Team Reboot
  • 1062 posts
  •  
    Belgium

Posted 11 March 2010 - 12:11 AM

It seems to be broken (due to other changes in chain.c32 after my patch), use the attached file on the next link, untill it is fixed:
http://www.boot-land...showtopic=10100

Thanks for reporting.

#6 Icecube

Icecube

    Gold Member

  • Team Reboot
  • 1062 posts
  •  
    Belgium

Posted 11 March 2010 - 09:06 AM

Booting the recovery console still works in syslinux-3.85, but you need to add the drive and partition:
LABEL cmdc

  MENU LABEL Windows(tm) Recovery Console

  COM32 chain.c32

  APPEND cmldr=/cmdcons/setupldr.bin hd0,1

  TEXT HELP

  Boot Windows(tm) Recovery Console from first primary partition

  ENDTEXT
If you want to boot a MBR, use chain.c32 of Syslinux-3.86-pre1 (fixes a bug).




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users