[syslinux] chain.c32 (and partiter) updates v2

Michal Soltys soltys at ziu.info
Mon Nov 5 16:32:34 PST 2012


This is a bit updated set of chain.c32 changes that simplifies a few things
(and in partiter part), fixes few minor issues and adds a few new features.

Details are in the following commits, below is the summary and pull details at
the end.

Shao - any chance to peek over them ? Most of those are relatively simple
changes and well tested, though of course something might have slipped my
attention.


Summary of the more important changes:

- partiter simplifications and updates

Following brief off-list discussion - this simplifies overkill generalizations,
so the code should be easier to follow and modify.

- add relax flag

Relax option tones down sanity checks which can help with broken layouts and
disk sizes reported differently between machines

- tolerate and handle hybrid GPT+MBR layouts, add prefmbr flag

This recognizes disks with both layouts at the same time, and introduces
'prefmbr' flag to force the use of MBR layout in case GPT is present.

- recognize exFAT

This makes chain exFAT aware by adding yet another "BPB" variation with the
usual stuff (partition offset - now 64bit, drive).

- com32/chain: manglepe_fixchs() correction

Previously fixchs also included start/length 0/0 entries (holes), so this patch
makes it a bit more careful.

- use disk_guid for part_guid for 0th partition (under GPT layouts)
- partiter: make sure 'index' is (-1) also for empty primary partitions



The following changes since commit 7307d60063ee4303da4de45f9d984fdc8df92146:

  memdisk: Fix order of sectors/track and bytes/sector (2012-10-23 10:53:17 +0100)

are available in the git repository at:

  git://git.hasevolq.net/syslinux.git chain_update

for you to fetch changes up to 55f9ae015ae44a5687c80a1d95f822bc48206bec:

  com32/chain: use single value for partiter related options (flags) (2012-11-06 00:42:34 +0100)

----------------------------------------------------------------
Michal Soltys (23):
      com32/chain: update licenses
      com32/chain: comments, minor adjustments
      com32/chain: use anonymous and unnamed aggregates
      com32/chain: change stepall into flags
      com32/chain: shuffle code before partiter simplifications
      com32/chain: partiter - simplifications and updates
      com32/chain: remove redundant rawindex
      com32/chain: partiter - more precise comments / output
      com32/chain: remove unused ebr_start
      com32/chain: add pi_errored() in partiter
      com32/chain: mangle and related updates
      com32/chain: cleaner variable names
      com32/chain: use disk_guid for part_guid for 0th partition
      com32/chain: warning/error/help/doc tidying
      com32/chain: implement relax flag
      com32/chain: implement handling of non-standard hybrid GPT+MBR layouts
      com32/chain: recognize exFAT
      com32/chain: remove common.h
      com32/chain: rely more on addr_t, replace ADDR*
      com32/chain: index -1 partiter adjustment
      com32/chain: manglepe_fixchs() correction
      com32/chain: partiter: rename start_lba
      com32/chain: use single value for partiter related options (flags)

 com32/chain/Makefile   |    6 +-
 com32/chain/chain.c    |  139 ++++++-----
 com32/chain/chain.h    |   15 ++
 com32/chain/common.h   |    9 -
 com32/chain/mangle.c   |  207 +++++++++++------
 com32/chain/mangle.h   |   30 +++
 com32/chain/options.c  |  228 ++++++++++--------
 com32/chain/options.h  |   48 +++-
 com32/chain/partiter.c |  608 ++++++++++++++++++------------------------------
 com32/chain/partiter.h |   85 ++++---
 com32/chain/utility.c  |   85 +++++--
 com32/chain/utility.h  |   67 +++++-
 doc/chain.txt          |   41 ++--
 13 files changed, 861 insertions(+), 707 deletions(-)
 delete mode 100644 com32/chain/common.h

-- 
1.7.10.4




More information about the Syslinux mailing list