Difference between revisions of "News-3.74"

From Syslinux Wiki
Jump to: navigation, search
(Shuffler Improvements)
Line 3: Line 3:
 
----
 
----
  
Summary: This new release adds: UI mode, dynamic keyboard mapping, Add calls for directory functions, documentations updates, GPXE 0.9.7, Simple command module, cpuid updates, Hardware Detection Tool, PCI improvements, memdisk improvements, shuffler improvements, quiet mode, memory hole support & many bugfixes
+
Summary: this is a major release. It adds new com32 modules ('''kbdmap.c32''', '''rosh.c32''', '''cmd.c32''' and '''hdt.c32''') and fixes bugs in the shuffler API. Some libraries have been improved (new directory API, DMI, CPUID, memdisk) as well as documentation. gPXE has been bumped to 0.9.7.
  
 
----
 
----
  
= UI mode =
+
= New features =
 +
 
 +
== UI mode ==
  
 
The configuration files syntax supports a new '''UI''' directive to specify a menu system. The '''DEFAULT''' directive can be used to select the default entry inside the menu.
 
The configuration files syntax supports a new '''UI''' directive to specify a menu system. The '''DEFAULT''' directive can be used to select the default entry inside the menu.
Line 17: Line 19:
 
   UI menu.c32
 
   UI menu.c32
 
   DEFAULT Linux
 
   DEFAULT Linux
 
  
 
In the previous example, if ''Linux'' points into a submenu, that menu becomes the start menu; in other words, this directive has the same effect as both '''MENU DEFAULT''' and '''MENU START'''.
 
In the previous example, if ''Linux'' points into a submenu, that menu becomes the start menu; in other words, this directive has the same effect as both '''MENU DEFAULT''' and '''MENU START'''.
Line 25: Line 26:
 
[http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commitdiff;h=ffb58825da075663f576232b589a0372f0a8d658;hp=735fcbbdab15d94b7ae76a96dc462979c45af44d Commit]
 
[http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commitdiff;h=ffb58825da075663f576232b589a0372f0a8d658;hp=735fcbbdab15d94b7ae76a96dc462979c45af44d Commit]
  
= New module: kbdmap.c32 =
+
== New module: kbdmap.c32 ==
  
 
This new module can be used to load dynamically a new keyboard map.
 
This new module can be used to load dynamically a new keyboard map.
Line 34: Line 35:
 
[http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commitdiff;h=2b02abdaa91f41235f40f846d08bb09d8841baa6;hp=fd3b1f970c6385d178762fb5cfe922a2930d0cad Commit]
 
[http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commitdiff;h=2b02abdaa91f41235f40f846d08bb09d8841baa6;hp=fd3b1f970c6385d178762fb5cfe922a2930d0cad Commit]
  
= Directory functions =
+
== New module: rosh.c32 (ROSH - Read-Only Shell) ==
 
+
COMBOOT API extended with calls for directory functions.
+
 
+
Syntax:
+
    INT 22h AX=001Fh ; getcwd()
+
    INT 22h AX=0020h ; opendir()
+
    INT 22h AX=0021h ; readdir()
+
    INT 22h AX=0022h ; closedir()
+
 
+
Note: '''getcwd()''' is compatible with all variants of Syslinux, whereas the other calls are only implemented for SYSLINUX (FAT). They will call '''comapi_err''' if used with another variant.
+
 
+
[http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commitdiff;h=c1def425e3eeb245da7a59025f2fa37f02368504;hp=2b02abdaa91f41235f40f846d08bb09d8841baa6 Commit]
+
 
+
= New module: rosh.c32 (ROSH - Read-Only Shell) =
+
  
 
ROSH is designed to make exploring the contents of a file system/disk possible from the Syslinux environment.
 
ROSH is designed to make exploring the contents of a file system/disk possible from the Syslinux environment.
Line 59: Line 46:
 
More information can be found on the wiki: [[Read-Only_SHell(rosh.c32)]].
 
More information can be found on the wiki: [[Read-Only_SHell(rosh.c32)]].
  
= New module: cmd.c32 (Simple command module) =
+
== New module: cmd.c32 (Simple command module) ==
  
 
A simple '''cmd.c32''' COM32 module, which only echoes a CLI command.
 
A simple '''cmd.c32''' COM32 module, which only echoes a CLI command.
Line 66: Line 53:
 
[http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commitdiff;h=5241ed1d54a8bb844b0b983dcf03f0de55a20b1d;hp=d0c6656a62113b913948361779d6298fe76f6e61 Commit]
 
[http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commitdiff;h=5241ed1d54a8bb844b0b983dcf03f0de55a20b1d;hp=d0c6656a62113b913948361779d6298fe76f6e61 Commit]
  
= CPUID updates =
+
== New module: hdt.c32 (Hardware Detection Tool) ==
 
+
The DMI code has been updated to detect the most recent CPUs.
+
 
+
[http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commitdiff;h=b51a2b5df42a803eac6709fb7f06c739b6326aea;jp=9a15270fa5c2b7fc08b023edcf1c3552b583e1d3 Commit]
+
 
+
= New module: hdt.c32 (Hardware Detection Tool) =
+
  
 
HDT (stands for ''Hardware Detection Tool'') is a COM32 module designed to display low-level information for any x86 compatible system.
 
HDT (stands for ''Hardware Detection Tool'') is a COM32 module designed to display low-level information for any x86 compatible system.
Line 82: Line 63:
 
More information is available on the wiki: [[Hdt_(Hardware_Detection_Tool)]]
 
More information is available on the wiki: [[Hdt_(Hardware_Detection_Tool)]]
  
= PCI updates =
+
== New API: Directory functions ==
 +
 
 +
COMBOOT API extended with calls for directory functions.
 +
 
 +
Syntax:
 +
    INT 22h AX=001Fh ; getcwd()
 +
    INT 22h AX=0020h ; opendir()
 +
    INT 22h AX=0021h ; readdir()
 +
    INT 22h AX=0022h ; closedir()
 +
 
 +
Note: '''getcwd()''' is compatible with all variants of Syslinux, whereas the other calls are only implemented for SYSLINUX (FAT). They will call '''comapi_err''' if used with another variant.
 +
 
 +
[http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commitdiff;h=c1def425e3eeb245da7a59025f2fa37f02368504;hp=2b02abdaa91f41235f40f846d08bb09d8841baa6 Commit]
 +
 
 +
== Quiet mode ==
 +
 
 +
Suppress the '''Loading...''' prompt if ''quiet'' is specified on the command line.
 +
 
 +
[http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commit;h=ff78e2b62a45f18c0d427153f957d2f06c0f5c1c Commit]
 +
 
 +
= Improvements =
 +
 
 +
== CPUID updates ==
 +
 
 +
The DMI code has been updated to detect the most recent CPUs.
 +
 
 +
[http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commitdiff;h=b51a2b5df42a803eac6709fb7f06c739b6326aea;jp=9a15270fa5c2b7fc08b023edcf1c3552b583e1d3 Commit]
 +
 
 +
== PCI updates ==
  
 
The PCI library now reports PCI devices categories (e.g. ''IDE interface'', ''Ethernet controller'', ...). The resulting strings can be found in the pci.ids file.
 
The PCI library now reports PCI devices categories (e.g. ''IDE interface'', ''Ethernet controller'', ...). The resulting strings can be found in the pci.ids file.
Line 92: Line 101:
 
[http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commitdiff;h=0f106fd324fd22e42fbc6ded1b088ec982d4933f;hp=5209894429f09bba73a6545d1d495fc9279a7147 Commit]
 
[http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commitdiff;h=0f106fd324fd22e42fbc6ded1b088ec982d4933f;hp=5209894429f09bba73a6545d1d495fc9279a7147 Commit]
  
= Memdisk improvements =
+
== Memdisk updates ==
  
If a "large floppy" image is formatted with a FAT filesystem, we can use the headers in the FAT image to derive the geometry.
+
If a ''large floppy'' image is formatted with a FAT filesystem, Syslinux can now use the headers in the FAT image to derive the geometry.
  
commit: http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commitdiff;h=3ec9e0ec1012ff5699d0dd68f4926e36e62cfe3a;hp=bf366cd045b9abaf52f7f1c83d603e8e34cbe9ce
+
[http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commitdiff;h=3ec9e0ec1012ff5699d0dd68f4926e36e62cfe3a;hp=bf366cd045b9abaf52f7f1c83d603e8e34cbe9ce Commit]
  
 +
= Bug fixes =
  
= Shuffler fixes =
+
== Shuffler fixes ==
  
 
In some cases, the shuffling code was unable to manage sparse memory maps preventing system to boot.
 
In some cases, the shuffling code was unable to manage sparse memory maps preventing system to boot.
  
= Quiet mode =
+
== Memory hole management ==
 
+
Suppress the Loading... prompt if "quiet" is specified on the command line.
+
 
+
commit: http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commit;h=ff78e2b62a45f18c0d427153f957d2f06c0f5c1c
+
  
= Memory hole management =
+
Make memory beyond the core HighMem available to malloc.
  
 
Prior to that release, if we found a memory hole, we simply don't use the memory beyond that point.
 
Prior to that release, if we found a memory hole, we simply don't use the memory beyond that point.
Line 115: Line 121:
 
After this, we should be able to add relocation support to allow loading when the memory at 1 MB is unavailable.
 
After this, we should be able to add relocation support to allow loading when the memory at 1 MB is unavailable.
  
commit: http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commit;h=175d813554b69e2883f5bd5eec5eb86a8a0118b7
+
[http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commit;h=175d813554b69e2883f5bd5eec5eb86a8a0118b7 Commit]
  
= Thanks =
+
= Credits =
  
 
The Syslinux project thanks contributors that made this new release existing : Hans Peter Anvin, Gene Cumm, Vincente Jimenez Aguilar, Sebastian Herbszt, Michael Brown, Shao Miller, Pierre-Alexandre Meyer, Erwan Velu and all pre-release testers.
 
The Syslinux project thanks contributors that made this new release existing : Hans Peter Anvin, Gene Cumm, Vincente Jimenez Aguilar, Sebastian Herbszt, Michael Brown, Shao Miller, Pierre-Alexandre Meyer, Erwan Velu and all pre-release testers.

Revision as of 21:07, 3 April 2009

Syslinux 3.74 was released on <date>


Summary: this is a major release. It adds new com32 modules (kbdmap.c32, rosh.c32, cmd.c32 and hdt.c32) and fixes bugs in the shuffler API. Some libraries have been improved (new directory API, DMI, CPUID, memdisk) as well as documentation. gPXE has been bumped to 0.9.7.


New features

UI mode

The configuration files syntax supports a new UI directive to specify a menu system. The DEFAULT directive can be used to select the default entry inside the menu.

Prior to that release, the syntax was:

  DEFAULT menu.c32

Now, you can do:

  UI menu.c32
  DEFAULT Linux

In the previous example, if Linux points into a submenu, that menu becomes the start menu; in other words, this directive has the same effect as both MENU DEFAULT and MENU START.

For backwards compatibility with earlier versions of Syslinux, this directive is ignored unless the configuration file also contains a UI directive.

Commit

New module: kbdmap.c32

This new module can be used to load dynamically a new keyboard map.

Syntax:

   kbdmap.c32 <key_map>

Commit

New module: rosh.c32 (ROSH - Read-Only Shell)

ROSH is designed to make exploring the contents of a file system/disk possible from the Syslinux environment. Primarily, it is geared towards the disk-based variants as TFTP currently does not have any standardized method for retrieving a directory listing.

The internal commands currently implemented include help, man, ls, dir, more, cd, pwd, run, quit and exit.

Commit

More information can be found on the wiki: Read-Only_SHell(rosh.c32).

New module: cmd.c32 (Simple command module)

A simple cmd.c32 COM32 module, which only echoes a CLI command. This is mostly useful when running on an alternate CLI, e.g. on top of the native gPXE COMBOOT interface.

Commit

New module: hdt.c32 (Hardware Detection Tool)

HDT (stands for Hardware Detection Tool) is a COM32 module designed to display low-level information for any x86 compatible system.

HDT can inspect multiple subsystems: CPU (via cpuid), PCI, DMI (Memory modules, BIOS, Motherboard, IPMI base board, Chassis, Batteries, CPU), Disks (work in progress), Syslinux itself, Linux Kernel modules needed, PXE environment, VESA modes.

Commit

More information is available on the wiki: Hdt_(Hardware_Detection_Tool)

New API: Directory functions

COMBOOT API extended with calls for directory functions.

Syntax:

   INT 22h AX=001Fh ; getcwd()
   INT 22h AX=0020h ; opendir()
   INT 22h AX=0021h ; readdir()
   INT 22h AX=0022h ; closedir()

Note: getcwd() is compatible with all variants of Syslinux, whereas the other calls are only implemented for SYSLINUX (FAT). They will call comapi_err if used with another variant.

Commit

Quiet mode

Suppress the Loading... prompt if quiet is specified on the command line.

Commit

Improvements

CPUID updates

The DMI code has been updated to detect the most recent CPUs.

Commit

PCI updates

The PCI library now reports PCI devices categories (e.g. IDE interface, Ethernet controller, ...). The resulting strings can be found in the pci.ids file.

Commit

It can also report kernel modules needed for each device.

Commit

Memdisk updates

If a large floppy image is formatted with a FAT filesystem, Syslinux can now use the headers in the FAT image to derive the geometry.

Commit

Bug fixes

Shuffler fixes

In some cases, the shuffling code was unable to manage sparse memory maps preventing system to boot.

Memory hole management

Make memory beyond the core HighMem available to malloc.

Prior to that release, if we found a memory hole, we simply don't use the memory beyond that point. This makes it possible for com32 modules to use that memory. After this, we should be able to add relocation support to allow loading when the memory at 1 MB is unavailable.

Commit

Credits

The Syslinux project thanks contributors that made this new release existing : Hans Peter Anvin, Gene Cumm, Vincente Jimenez Aguilar, Sebastian Herbszt, Michael Brown, Shao Miller, Pierre-Alexandre Meyer, Erwan Velu and all pre-release testers.