Difference between revisions of "Building"

From Syslinux Wiki
Jump to: navigation, search
(Add patch for "red zone" flag for EFI.)
(Add "relocate protected-mode code" patch that might solve booting some Chromebooks using Syslinux 6.03.)
Line 23: Line 23:
 
* Use [http://repo.or.cz/syslinux.git/patch/7d70885d22e4474407637026c1af12a253281407?hp=2d14923c02aa343f650a5bee128e9ea383a0ed59 -mno-red-zone for EFI] <!--   
 
* Use [http://repo.or.cz/syslinux.git/patch/7d70885d22e4474407637026c1af12a253281407?hp=2d14923c02aa343f650a5bee128e9ea383a0ed59 -mno-red-zone for EFI] <!--   
 
   --> <p> The patch related to the so-called "red zone" is included in Syslinux 6.04-pre1 (released 2016Mar). </p>  <!--  
 
   --> <p> The patch related to the so-called "red zone" is included in Syslinux 6.04-pre1 (released 2016Mar). </p>  <!--  
 +
  --><!-- -->
 +
* Syslinux 6.03 might fail to boot in some hardware (e.g. some Chromebooks). <!-- 
 +
  --> The patch [http://repo.or.cz/syslinux.git/patch/0a2dbb3392ee710838bea6bda80d4daad6b54780?hp=f1e95ca49902b5eda4c02275a69152d4834882d6 "relocate protected-mode code as intended"], <!-- 
 +
  --> applied to Syslinux during 2015Apr, might help.  <!--
 +
  --><!-- -->  <!--
 +
  --><!-- https://bugs.launchpad.net/ubuntu/+source/syslinux/+bug/1429323 -->  <!--
 +
  --><!-- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=780765 -->  <!--
 +
  --><!-- https://bugzilla.redhat.com/show_bug.cgi?id=1135793#c21 -->  <!--
 +
  --><!-- Another possibly-related commit might be [http://repo.or.cz/syslinux.git/commit/83aad4f69065509ba5b1c080edccfed316a4cff0 "correct a type"] -->  <!--
 +
  --><!--  also from Scot Doyle. <-- 
 +
  --> <p> Testing Syslinux {{nowrap|6.04-pre1}} (or later) is recommended. </p>  <!--
 
   --><!-- -->
 
   --><!-- -->
  

Revision as of 08:23, 19 November 2016

  • NASM 2.11.06 has a bug which prevents Syslinux from building correctly. Use other version of NASM (e.g. 2.11.05, 2.11.08, among others).
  • binutils 2.26, as originally released upstream, has a bug preventing Syslinux from building correctly. The bug in bintuils 2.26 was resolved in a later commit.
  • When building with glibc 2.23+, the "major", "minor" and "makedev" functions are defined in "sys/sysmacros.h". The patch "extlinux: pull in sys/sysmacros.h for major/minor/makedev", applied to Syslinux during 2016Apr, should help. Please note that not only Syslinux is affected by this change in glibc.
  • Building Syslinux 6.03 with gcc5+:

    These patches related to gcc5+ are included in Syslinux 6.04-pre1 (released 2016Mar).

  • Use -mno-red-zone for EFI

    The patch related to the so-called "red zone" is included in Syslinux 6.04-pre1 (released 2016Mar).

  • Syslinux 6.03 might fail to boot in some hardware (e.g. some Chromebooks). The patch "relocate protected-mode code as intended", applied to Syslinux during 2015Apr, might help.

    Testing Syslinux 6.04-pre1 (or later) is recommended.

  • "error: impossible constraint in asm". When gcc5+ is configured with --enable-default-pie, in some cases there might be a need to use custom flags in some makefile(s), similar to either "CFLAGS += -fno-pie" or "CFLAGS := -fno-pie". Examples:


See also