Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#53436 - [syslinux] Installation with /usr/bin/syslinux-install_update fails, won't boot

Attached to Project: Arch Linux
Opened by Volker Tanger (vtanger) - Friday, 24 March 2017, 07:23 GMT
Last edited by Anatol Pomozov (anatolik) - Saturday, 20 January 2018, 21:35 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Anatol Pomozov (anatolik)
Architecture x86_64
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

When installing from fresh archlinux-2017.03.01-dual.iso image to a single legacy MBR partition /dev/sda1 ext4 (on a KVM virtual machine) with

arch-chroot /mnt syslinux-install_update -i -m

it fails with

/usr/bin/syslinux-install_update: line 116: warning: command substitution: ignored null byte in input
Installed MBR (/usr/lib/syslinux/bios/mbr.bin) to /dev/sda


Subsequential boot fails with Syslinux boot loader complaining

Failed to load ldlinux.c32


When digging deeper: the "-m" option fails, the installation of the MBR.
The mbr itself can be found where it is expected at (/mnt)/usr/lib/syslinux/bios/mbr.bin do /dev/sda
Nonetheless the system boots into syslinux, but fails there.

The "missing" /boot/syslinux/ldlinux.c32 is at that exact location as well as all other ones usually found there (compared to on an older, working system).



Additional info:

* archlinux-2017.03.01-dual.iso (used to work with the archlinux-2017.01.01-dual.iso)
* syslinux 6.03-6



/boot/syslinux/syslinux.cfg:

serial 0 115200
DEFAULT arch
PROMPT 0
TIMEOUT 30
UI menu.c32

LABEL arch
MENU LABEL Arch Linux
LINUX ../vmlinuz-linux
APPEND root=/dev/sda1 rw logo.nologo elevator=deadline nomodeset
INITRD ../initramfs-linux.img

This task depends upon

Closed by  Anatol Pomozov (anatolik)
Saturday, 20 January 2018, 21:35 GMT
Reason for closing:  No response
Comment by Anatol Pomozov (anatolik) - Saturday, 01 April 2017, 15:07 GMT Comment by Volker Tanger (vtanger) - Sunday, 02 April 2017, 12:25 GMT
Sorry, after 1-2 weeks of fiddling I missed the update on the Arch wiki page that had happened in the last days. Unfortunately I had not found the Syslinux wiki page - thanks for linking to that.

After formating the disc with -O ^64bit it works.

The mkfs.ext4 must have changed its 32/64bit default behaviour between the 2017.01.01 and the 2017.03.01 ISOs.

Maybe you can add a check to syslinux-install_update getBoot() function like (untested addition)

getBoot() {
[...]
if [[ $bootfs ]]; then
if ! check_is_in "$bootfs" "${syslinux_fs[@]}"; then
echo "/boot file system is not supported by Syslinux"
exit 1
fi
if [ -n "$( tune2fs -l $bootfs | fgrep 64bit )" ]; then
echo "64 bit option on EXT filesystem is not supported by Syslinux, see http://www.syslinux.org/wiki/index.php?title=Filesystem#ext";
exit 1
fi
[...]
Comment by Anatol Pomozov (anatolik) - Saturday, 22 April 2017, 16:47 GMT
It is a great suggestion. I added a check in SVN revision 293941. Please test it.
Comment by Volker Tanger (vtanger) - Wednesday, 13 December 2017, 23:41 GMT
Sorry, I'm way under water (schedule-wise) since ... forever this year.
I don't see that I can test in in the next months, either.
:(

Loading...