FS#38549 - [syslinux] 6.02 on BTRFS volumes corrupts the superblock

Attached to Project: Arch Linux
Opened by David de Marneffe (daviddem) - Friday, 17 January 2014, 09:12 GMT
Last edited by Tobias Powalowski (tpowa) - Saturday, 31 May 2014, 11:45 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Tobias Powalowski (tpowa)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

Description: As reported on syslinux change log: http://www.syslinux.org/wiki/index.php/Syslinux_6_Changelog


Additional info:
* package version(s)6.02
* config and/or log files etc.


Steps to reproduce:
This task depends upon

Closed by  Tobias Powalowski (tpowa)
Saturday, 31 May 2014, 11:45 GMT
Reason for closing:  Fixed
Additional comments about closing:  6.03pre13-1
Comment by David de Marneffe (daviddem) - Sunday, 19 January 2014, 18:10 GMT
I am unsure whether the problem is related to this upstream bug, but attempting to install syslinux 6.02-8 on a btrfs-formatted legacy dos/MBR partition fails: only the syslinux copyright line appears with a blinking cursor, but no keyboard control. No boot: prompt or menu ever loads.

Note: I attempted the same with syslinux 4.07-1 and it also fails the same way.
Comment by David de Marneffe (daviddem) - Thursday, 23 January 2014, 06:37 GMT
Note: I am in contact with the syslinux devs about the issue mentioned in my previous post and I will provide updates here if we come to a conclusion/resolution.
Comment by David de Marneffe (daviddem) - Wednesday, 12 February 2014, 14:56 GMT
Still no news from the syslinux dev who was going to look into this. I tried to contact him again, wait and see.
Comment by Keshav Amburay (the.ridikulus.rat) - Saturday, 08 March 2014, 21:30 GMT Comment by Magnus Hustveit (dizzi90) - Thursday, 20 March 2014, 10:22 GMT
IMHO, there ought to be a warning when installing the buggy update, seeing as a reboot with the new version on a BTRFS root will make boot impossible (I speak from recent experience). The extreme alternative would be to move it to testing and not let the current version get to regular repos at all, but since BTRFS itself is as experimental as it is, that may be too extreme.
An alternate conclusion is that you should read the changelog for every package if you run something as crazy as BTRFS, before installing, but is that reasonable to expect?
Comment by Keshav Amburay (the.ridikulus.rat) - Monday, 07 April 2014, 23:59 GMT
Please try testing/syslinux-6.03pre9-1 pkg.
Comment by nyyu (nyyu) - Tuesday, 08 April 2014, 21:58 GMT
syslinux-6.03pre9-1 made me impossible to boot my system, only a black screen with this line " EDD Load error - Boot error ".
Tried syslinux-install_update unsuccessful.

Reverted to stable version, syslinux boot fine.
I use syslinux on btrfs partition.
Comment by Anatol Pomozov (anatolik) - Wednesday, 09 April 2014, 16:21 GMT
Confirm it. I hit the same "EDD Load error - Boot error" on my machine (syslinux & btrfs) today.
Comment by Anatol Pomozov (anatolik) - Wednesday, 09 April 2014, 16:44 GMT
Just to clarify, I use [testing] repos and thus syslinux version is 6.03-pre1. I swear that I had no problems until today and previous syslinux (6.02) worked fine for me.

Also the bug subject ways syslinux corrupts btrfs filesystem while comment from 'nyyu' says that simple syslinux downgrade fixes the issue and no filesystem is corrupted. Is bug subject misleading? I haven't try to fix my machine yet.
Comment by Anatol Pomozov (anatolik) - Friday, 11 April 2014, 03:45 GMT
I was able to restore my system by chrooting to it and downgrading syslinux back to 6.02.

So in my case upgrading to testing syslinux version (6.03) bricks the system, it does not allow to boot the kernel. Note that it does not corrupt btrfs superblock, at least dmesg does not complain about it.
Comment by Keshav Amburay (the.ridikulus.rat) - Thursday, 15 May 2014, 22:08 GMT
@ALL: Can you try testing/syslinux-6.03pre11-2 pkg?
Comment by Anatol Pomozov (anatolik) - Friday, 16 May 2014, 04:40 GMT
No, this version does not help me. I see that 6.03pre11-2 has EFI related modification, but my machine has BIOS.
Comment by Anatol Pomozov (anatolik) - Monday, 19 May 2014, 21:26 GMT
I just sent a message about my syslinux+btrfs problem to syslinux maillist. http://www.syslinux.org/archives/2014-May/022081.html

Hopefully we'll find a solution for it. If you have anything to share please send more information to the syslinux maillist.
Comment by Keshav Amburay (the.ridikulus.rat) - Wednesday, 21 May 2014, 03:10 GMT Comment by Anatol Pomozov (anatolik) - Wednesday, 21 May 2014, 06:28 GMT
After discussing this issue with syslinux developers it was found that ldlinux.sys file is too big. Syslinux cannot load this file from btrfs if it is bigger than 64K. I disabled debug code in syslinux package and the size is 60K now. I pushed 6.03pre11-3 to [testing] and finally able to boot using 6.03.

Thanks Keshav, the upstream changes that remove 64K limit look promising.
Comment by Keshav Amburay (the.ridikulus.rat) - Friday, 30 May 2014, 23:21 GMT
@ALL: Can you guys confirm whether testing/syslinux-6.03pre12-3 fixes the issue?
Comment by Anatol Pomozov (anatolik) - Friday, 30 May 2014, 23:34 GMT
I confirm that [testing] syslinux works fine for me now.

Loading...