[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#796112: marked as done (jessie-pu: package syslinux/3:6.03+dfsg-5+deb8u1)



Your message dated Sat, 05 Sep 2015 14:31:07 +0100
with message-id <1441459867.2151.32.camel@adam-barratt.org.uk>
and subject line Closing p-u bugs for 8.2
has caused the Debian Bug report #796112,
regarding jessie-pu: package syslinux/3:6.03+dfsg-5+deb8u1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
796112: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=796112
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian.org@packages.debian.org
Usertags: pu

Hi release team,

as reported on #780765, syslinux fails to boot on some Chromebooks.

This was fixed in Ubuntu, Tails and Debian unstable between March and May, with
the patches that the debdiff applies. Ubuntu and Tails users have reported that
it indeed fixed the problem for them, and I could not find any trace of
regression reports.

These patches made it to upstream Git a few months ago:

  http://repo.or.cz/w/syslinux.git/commit/0a2dbb3
  http://repo.or.cz/w/syslinux.git/commit/83aad4f

I'd like to see this fixed in Jessie. The syslinux package maintainer ack'ed the
idea on https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=780765#62

Cheers!
diff -Nru syslinux-6.03+dfsg/debian/changelog syslinux-6.03+dfsg/debian/changelog
--- syslinux-6.03+dfsg/debian/changelog	2015-01-07 07:49:34.000000000 +0100
+++ syslinux-6.03+dfsg/debian/changelog	2015-08-18 17:23:09.000000000 +0200
@@ -1,3 +1,12 @@
+syslinux (3:6.03+dfsg-5+deb8u1) jessie; urgency=low
+
+  * Cherry-pick upstream patches that fix booting on some Chromebooks
+    (Closes: #780765):
+    - 0005-load-linux-correct-type.patch
+    - 0006-load-linux-protected-mode.patch
+
+ -- intrigeri <intrigeri@debian.org>  Tue, 18 Aug 2015 17:21:55 +0200
+
 syslinux (3:6.03+dfsg-5) unstable; urgency=low
 
   * Moving source lintian-overrides to newer location.
diff -Nru syslinux-6.03+dfsg/debian/patches/0005-load-linux-correct-type.patch syslinux-6.03+dfsg/debian/patches/0005-load-linux-correct-type.patch
--- syslinux-6.03+dfsg/debian/patches/0005-load-linux-correct-type.patch	1970-01-01 01:00:00.000000000 +0100
+++ syslinux-6.03+dfsg/debian/patches/0005-load-linux-correct-type.patch	2015-08-18 17:18:52.000000000 +0200
@@ -0,0 +1,20 @@
+Author: Scot Doyle <lkml14@scotdoyle.com>
+Origin: upstream, http://repo.or.cz/w/syslinux.git/commit/83aad4f
+Description: load_linux: correct a type
+ Correct base's type to match its initialization from prot_mode_base and
+ passage to syslinux_memmap_find(). Tested with extlinux.
+
+diff -Naurp syslinux.orig/com32/lib/syslinux/load_linux.c syslinux/com32/lib/syslinux/load_linux.c
+--- syslinux.orig/com32/lib/syslinux/load_linux.c
++++ syslinux/com32/lib/syslinux/load_linux.c
+@@ -155,8 +155,8 @@ int bios_boot_linux(void *kernel_buf, si
+ 		    char *cmdline)
+ {
+     struct linux_header hdr, *whdr;
+-    size_t real_mode_size, prot_mode_size, base;
+-    addr_t real_mode_base, prot_mode_base, prot_mode_max;
++    size_t real_mode_size, prot_mode_size;
++    addr_t real_mode_base, prot_mode_base, prot_mode_max, base;
+     addr_t irf_size;
+     size_t cmdline_size, cmdline_offset;
+     struct setup_data *sdp;
diff -Nru syslinux-6.03+dfsg/debian/patches/0006-load-linux-protected-mode.patch syslinux-6.03+dfsg/debian/patches/0006-load-linux-protected-mode.patch
--- syslinux-6.03+dfsg/debian/patches/0006-load-linux-protected-mode.patch	1970-01-01 01:00:00.000000000 +0100
+++ syslinux-6.03+dfsg/debian/patches/0006-load-linux-protected-mode.patch	2015-08-18 17:18:38.000000000 +0200
@@ -0,0 +1,26 @@
+Author: Scot Doyle <lkml14@scotdoyle.com>
+Origin: upstream, http://repo.or.cz/w/syslinux.git/commit/0a2dbb3
+Description: load_linux: relocate protected-mode code as intended
+ If the kernel is relocatable and the protected mode code will not fit
+ in the initially determined location, that code will be moved to the
+ next available location. However, beginning with commit 8f470e7b, the
+ code is moved to the initially determined location instead of the next
+ available location because prot_mode_base is no longer updated to the
+ correct location. Since whdr->code32_start is updated, it is pointing
+ to the wrong execution start location, random code is executed and
+ the machine is rebooted.
+ .
+ Restore the old behavior by assigning prot_mode_base the value of
+ base. Tested on a machine that exposed this behavior.
+
+diff -Naurp syslinux.orig/com32/lib/syslinux/load_linux.c syslinux/com32/lib/syslinux/load_linux.c
+--- syslinux.orig/com32/lib/syslinux/load_linux.c
++++ syslinux/com32/lib/syslinux/load_linux.c
+@@ -323,6 +323,7 @@ int bios_boot_linux(void *kernel_buf, si
+     }
+ 
+     whdr->code32_start += base - prot_mode_base;
++    prot_mode_base = base;
+ 
+     /* Real mode code */
+     if (syslinux_memmap_find(amap, &real_mode_base,
diff -Nru syslinux-6.03+dfsg/debian/patches/series syslinux-6.03+dfsg/debian/patches/series
--- syslinux-6.03+dfsg/debian/patches/series	2014-12-07 20:51:56.000000000 +0100
+++ syslinux-6.03+dfsg/debian/patches/series	2015-08-18 17:13:25.000000000 +0200
@@ -2,3 +2,5 @@
 0002-gfxboot-menu-label.patch
 0003-extlinux-manpage.patch
 0004-gnu-efi-git.patch
+0005-load-linux-correct-type.patch
+0006-load-linux-protected-mode.patch

--- End Message ---
--- Begin Message ---
Version: 8.2

Hi,

These bugs correspond to updates which were included in the 8.2 point
release.

Regards,

Adam

--- End Message ---

Reply to: