Jump to content











Photo
- - - - -

General information about SYSLINUX, ISOLINUX, EXTLINUX, PXELINUX and MEMDISK


  • Please log in to reply
1 reply to this topic

#1 Icecube

Icecube

    Gold Member

  • Team Reboot
  • 1063 posts
  •  
    Belgium

Posted 27 July 2009 - 05:39 PM

The Syslinux Project covers lightweight bootloaders for MS-DOS FAT filesystems (SYSLINUX), network booting (PXELINUX), bootable "El Torito" CD-ROMs (ISOLINUX), and Linux ext2/ext3 filesystems (EXTLINUX). The project also includes MEMDISK, a tool to boot legacy operating systems (such as DOS) from nontraditional media; it is usually used in conjunction with PXELINUX and ISOLINUX.

Main site: http://syslinux.zyto...yslinux_Project

Mailing list: http://www.zytor.com...stinfo/syslinux
IRC channel: irc://irc.freenode.net#syslinux

Download stable releases from: http://www.kernel.or.../boot/syslinux/
Download last test releases from: http://www.kernel.or...slinux/Testing/

If you want to have the last available development code: http://syslinux.zyto...php/Development

Presentation by H. Peter Anvin at FOSDEM about the Syslinux Project:

ftp://ftp.belnet.be/mirror/FOSDEM/2009/ma...slinux.xvid.avi


General information about the configuration file of the Syslinux Project bootloaders (SYSLINUX, ISOLINUX, EXTLINUX and PXELINUX) can be found at:
http://syslinux.zyto...NCLUDE_filename

Also check the docs in the Syslinux archive that you can download from: http://www.kernel.or.../boot/syslinux/
The /doc directory contains the last (and most detailed) info.

The Syslinux Project contains also 2 COM32 modules that can produce a nice menu:
  • menu.c32
  • vesamenu.c32
Look at: http://syslinux.zyto...omboot/menu.c32 for more info.

The Syslinux Project has also a lot of other COM32 modules (are programs that run directly on a SYSLINUX bootloader derivative).
You can find those COM32 modules in the /com32 directory of the downloaded Syslinux archive.
  • /com32/menu/
    • menu.c32
    • vesamenu.c32
  • /com32/modules
    • chain.c32 (booting bootsectors, booting hard drives, booting ntldr, setupldr.bin, bootmgr, grldr)
    • reboot.c32
    • ...
  • /com32/hdt

For more information about all COM32 modules, look at the the begining of the sourcefile (*.c) in the same folder as the *.c32 module.
e.g.:
For more info about chain.c32 look at /com32/modules/chain.c:
/* ----------------------------------------------------------------------- *

 *

 *   Copyright 2003-2009 H. Peter Anvin - All Rights Reserved

 *   Copyright 2009 Intel Corporation; author: H. Peter Anvin

 *

 *   This program is free software; you can redistribute it and/or modify

 *   it under the terms of the GNU General Public License as published by

 *   the Free Software Foundation, Inc., 53 Temple Place Ste 330,

 *   Boston MA 02111-1307, USA; either version 2 of the License, or

 *   (at your option) any later version; incorporated herein by reference.

 *

 * ----------------------------------------------------------------------- */



/*

 * chain.c

 *

 * Chainload a hard disk (currently rather braindead.)

 *

 * Usage&#58; chain hd<disk#> &#91;<partition>&#93; &#91;options&#93;

 *		chain fd<disk#> &#91;options&#93;

 *	  chain mbr&#58;<id> &#91;<partition>&#93; &#91;options&#93;

 *	  chain boot &#91;<partition>&#93; &#91;options&#93;

 *

 * ... e.g. &#34;chain hd0 1&#34; will boot the first partition on the first hard

 * disk.

 *

 *

 * The mbr&#58; syntax means search all the hard disks until one with a

 * specific MBR serial number &#40;bytes 440-443&#41; is found.

 *

 * Partitions 1-4 are primary, 5+ logical, 0 = boot MBR &#40;default.&#41;

 *

 * Options&#58;

 *

 * file=<loader>&#58;

 *	loads the file <loader> **from the SYSLINUX filesystem**

 *	instead of loading the boot sector.

 *

 * seg=<segment>&#58;

 *	loads at and jumps to <seg>&#58;0000 instead of 0000&#58;7C00.

 *

 * ntldr=<loader>&#58;

 *	equivalent to -seg 0x2000 -file <loader>, used with WinNT&#39;s loaders

 *

 * freedos=<loader>&#58;

 *	equivalent to -seg 0x60 -file <loader>, used with FreeDOS kernel.sys.

 *

 * msdos=<loader>

 * pcdos=<loader>

 *	equivalent to -seg 0x70 -file <loader>, used with DOS&#39; io.sys.

 *

 * swap&#58;

 *	if the disk is not fd0/hd0, install a BIOS stub which swaps

 *	the drive numbers.

 *

 * hide&#58;

 *	change type of primary partitions with IDs 01, 04, 06, 07,

 *	0b, 0c, or 0e to 1x, except for the selected partition, which

 *	is converted the other way.

 */
"chain hd0 1" translates to the following section in a syslinux.cfg, isolinux.cfg, pxelinux.cfg or extlinux.cfg:
LABEL bootharddisk

COM32 chain.c32

APPEND hd0 1
Or to the following if you are using menu.c32 or vesamenu.c32:
LABEL bootharddisk

MENU LABEL Boot first partition on first hard disk

COM32 chain.c32

APPEND hd0 1

  • pscEx and bee4u like this

#2 bee4u

bee4u

    Frequent Member

  • Advanced user
  • 172 posts
  •  
    United Kingdom

Posted 08 August 2012 - 05:41 AM

Good information to make use of it... :thumbsup:




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users