You are not logged in.

#1 2012-08-12 12:30:46

IllDefinedPillow
Member
Registered: 2012-03-10
Posts: 10

(SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

Greetings everyone,

I decided to replace GRUB Legacy on my box this morning with Syslinux. Unlike the other box where I did this, it did not go smoothly this time.

At computer startup, it will tell me that "Boot failed <Hard drive model>".
In order to do some more testing, I booted using SystemRescueCd into my Arch and installed GRUB2. Startup will fail at the very same moment.

This is what fdisk has to say about my partitioning:

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xa9d357fb

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048      821247      409600   27  Hidden NTFS WinRE
/dev/sda2          821248   488245247   243712000    7  HPFS/NTFS/exFAT
/dev/sda3       488245248   523401497    17578125    7  HPFS/NTFS/exFAT
/dev/sda4       523403262   976771071   226683905    5  Extended
/dev/sda5   *   523403264   603402239    39999488   83  Linux
/dev/sda6       603404288   635402239    15998976   82  Linux swap / Solaris
/dev/sda7       635404288   936771583   150683648   83  Linux
/dev/sda8       936773632   976771071    19998720    b  W95 FAT32

Since GRUB Legacy worked fine, I installed both Syslinux and GRUB2 for BIOS booting by overwriting the MBR. My assumption is that the BIOS cannot handle the new MBR, and thus cannot start the bootloader, but I ran out of any steps I could take to fix this. And I could be wrong, of course. wink

For completeness, this is my syslinux.cfg, even though it is pretty much the stock one, and I doubt that it is part of the cause:

# Config file for Syslinux -
# /boot/syslinux/syslinux.cfg
#
# Comboot modules:
#   * menu.c32 - provides a text menu
#   * vesamenu.c32 - provides a graphical menu
#   * chain.c32 - chainload MBRs, partition boot sectors, Windows bootloaders
#   * hdt.c32 - hardware detection tool
#   * reboot.c32 - reboots the system
#   * poweroff.com - shutdown the system
#
# To Use: Copy the respective files from /usr/lib/syslinux to /boot/syslinux.
# If /usr and /boot are on the same file system, symlink the files instead
# of copying them.
#
# If you do not use a menu, a 'boot:' prompt will be shown and the system
# will boot automatically after 5 seconds.
#
# Please review the wiki: https://wiki.archlinux.org/index.php/Syslinux
# The wiki provides further configuration examples

DEFAULT arch
PROMPT 0        # Set to 1 if you always want to display the boot: prompt 
TIMEOUT 50
# You can create syslinux keymaps with the keytab-lilo tool
#KBDMAP de.ktl

# Menu Configuration
# Either menu.c32 or vesamenu32.c32 must be copied to /boot/syslinux 
UI menu.c32
#UI vesamenu.c32

# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
MENU TITLE Arch Linux
#MENU BACKGROUND splash.png
MENU COLOR border       30;44   #40ffffff #a0000000 std
MENU COLOR title        1;36;44 #9033ccff #a0000000 std
MENU COLOR sel          7;37;40 #e0ffffff #20ffffff all
MENU COLOR unsel        37;44   #50ffffff #a0000000 std
MENU COLOR help         37;40   #c0ffffff #a0000000 std
MENU COLOR timeout_msg  37;40   #80ffffff #00000000 std
MENU COLOR timeout      1;37;40 #c0ffffff #00000000 std
MENU COLOR msg07        37;40   #90ffffff #a0000000 std
MENU COLOR tabmsg       31;40   #30ffffff #00000000 std

# boot sections follow
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
#-*

LABEL arch
	MENU LABEL Arch Linux
	LINUX ../vmlinuz-linux
	APPEND root=/dev/sda5 ro
	INITRD ../initramfs-linux.img

LABEL archfallback
	MENU LABEL Arch Linux Fallback
	LINUX ../vmlinuz-linux
	APPEND root=/dev/sda5 ro
	INITRD ../initramfs-linux-fallback.img

LABEL windows
        MENU LABEL Windows
        COM32 chain.c32
        APPEND hd0 1

LABEL hdt
        MENU LABEL HDT (Hardware Detection Tool)
        COM32 hdt.c32
 
LABEL reboot
        MENU LABEL Reboot
        COM32 reboot.c32
 
LABEL off
        MENU LABEL Power Off
        COMBOOT poweroff.com

Any ideas? Even ideas how to get more information from this box would be very helpful... "Boot failed" is not that constructive. wink

Last edited by IllDefinedPillow (2012-08-14 06:06:08)

Offline

#2 2012-08-12 13:01:21

Pres
Member
Registered: 2011-09-12
Posts: 423

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

What was the output of `syslinux_update-install -iam`? Did you also try manually placing the MBR with dd?

Offline

#3 2012-08-12 13:05:24

IllDefinedPillow
Member
Registered: 2012-03-10
Posts: 10

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

# syslinux-install_update -iam
Syslinux install successful
Boot Flag Set - /dev/sda5
Installed MBR (/usr/lib/syslinux/mbr.bin) to /dev/sda

Yes, I also tried dd with the extlinux --install call beforehand. I tried it with the standard mbr.bin and the altmbr.bin, both did not work.

Offline

#4 2012-08-12 14:11:11

ANOKNUSA
Member
Registered: 2010-10-22
Posts: 2,141

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

I'd suggest using either the partition label or UUID to boot into your system.  Sometimes the BIOS will take all the letters/numbers assigned to drives and shuffle them around based on presence, boot flags or whatever, thus making /dev/sda1 appear to be "hd1,2" and such; you'll end up having to try different numbers to find the right boot partition.  This used  to happen to me with my laptop. which allows me to swap out the optical drive for a second hard disk: If I wanted to chain-load into another OS while the second disk was present, I needed to switch the drive letters from hd0,2 to hd1,2; the same goes for usb external drives.  I don't  have to worry about doing the same with Arch anymore, since the root partition is labelled "Arch" and  syslinux  searches for that label automatically.  I don't know if you have similar circumstances, but searching by label or UUID would help clarify the problem, since both GRUB  and Syslinux install successfully.

Offline

#5 2012-08-12 14:45:32

IllDefinedPillow
Member
Registered: 2012-03-10
Posts: 10

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

Hm, I only have one HDD, so using UUIDs/labels did not help, but thanks for the suggestion. (I occasionally try to boot without the USB stick plugged in, so there is no /dev/sdb.)

Offline

#6 2012-08-12 15:18:23

DSpider
Member
From: Romania
Registered: 2009-08-23
Posts: 2,273

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

I only have one HDD, so using UUIDs/labels did not help ...

https://wiki.archlinux.org/index.php/Sy … sic_Config

LABEL arch
        MENU LABEL Arch Linux
        LINUX ../vmlinuz-linux
        APPEND root=UUID=978e3e81-8048-4ae1-8a06-aa727458e8ff ro
        INITRD ../initramfs-linux.img

"How to Succeed with Linux"

I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).

Offline

#7 2012-08-12 15:46:28

IllDefinedPillow
Member
Registered: 2012-03-10
Posts: 10

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

I see, you corrected my syntax, thanks. But it still cannot boot.

Now, this is how syslinux.cfg looks now:

# Config file for Syslinux -
# /boot/syslinux/syslinux.cfg
#
# Comboot modules:
#   * menu.c32 - provides a text menu
#   * vesamenu.c32 - provides a graphical menu
#   * chain.c32 - chainload MBRs, partition boot sectors, Windows bootloaders
#   * hdt.c32 - hardware detection tool
#   * reboot.c32 - reboots the system
#   * poweroff.com - shutdown the system
#
# To Use: Copy the respective files from /usr/lib/syslinux to /boot/syslinux.
# If /usr and /boot are on the same file system, symlink the files instead
# of copying them.
#
# If you do not use a menu, a 'boot:' prompt will be shown and the system
# will boot automatically after 5 seconds.
#
# Please review the wiki: https://wiki.archlinux.org/index.php/Syslinux
# The wiki provides further configuration examples

DEFAULT arch
PROMPT 0        # Set to 1 if you always want to display the boot: prompt 
TIMEOUT 50
# You can create syslinux keymaps with the keytab-lilo tool
#KBDMAP de.ktl

# Menu Configuration
# Either menu.c32 or vesamenu32.c32 must be copied to /boot/syslinux 
UI menu.c32
#UI vesamenu.c32

# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
MENU TITLE Arch Linux
#MENU BACKGROUND splash.png
MENU COLOR border       30;44   #40ffffff #a0000000 std
MENU COLOR title        1;36;44 #9033ccff #a0000000 std
MENU COLOR sel          7;37;40 #e0ffffff #20ffffff all
MENU COLOR unsel        37;44   #50ffffff #a0000000 std
MENU COLOR help         37;40   #c0ffffff #a0000000 std
MENU COLOR timeout_msg  37;40   #80ffffff #00000000 std
MENU COLOR timeout      1;37;40 #c0ffffff #00000000 std
MENU COLOR msg07        37;40   #90ffffff #a0000000 std
MENU COLOR tabmsg       31;40   #30ffffff #00000000 std

# boot sections follow
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
#-*

LABEL arch
	MENU LABEL Arch Linux
	LINUX ../vmlinuz-linux
	APPEND root=UUID=d292a449-b64b-40cd-b09b-e876e50e207f ro
	INITRD ../initramfs-linux.img

LABEL archfallback
	MENU LABEL Arch Linux Fallback
	LINUX ../vmlinuz-linux
	APPEND root=UUID=d292a449-b64b-40cd-b09b-e876e50e207f ro
	INITRD ../initramfs-linux-fallback.img

LABEL windows
        MENU LABEL Windows
        COM32 chain.c32
	APPEND label:winboot

LABEL hdt
        MENU LABEL HDT (Hardware Detection Tool)
        COM32 hdt.c32
 
LABEL reboot
        MENU LABEL Reboot
        COM32 reboot.c32
 
LABEL off
        MENU LABEL Power Off
        COMBOOT poweroff.com

#	APPEND root=/dev/sda5 ro
#	APPEND hd0 1

However, I still believe that it fails prior to reading this file. Syslinux does not output anything before the booting fails, which it should if syslinux.cfg would be accessible but erroneous, shouldn't it?

Offline

#8 2012-08-12 16:15:43

DSpider
Member
From: Romania
Registered: 2009-08-23
Posts: 2,273

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

Is "d292a449-b64b-40cd-b09b-e876e50e207f" the UUID for /dev/sda5 (the root partition), or is /dev/sda7 the root partition?


Does the menu even show up? Need more details than this... Post the output from "blkid" from a "live" Linux distribution and your /etc/fstab.


"How to Succeed with Linux"

I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).

Offline

#9 2012-08-12 17:15:53

IllDefinedPillow
Member
Registered: 2012-03-10
Posts: 10

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

Thank you for your time.

No, the menu does not show up. Not even Syslinux's name or its version. It actually fails very quickly.

# blkid
/dev/sda1: LABEL="winboot" UUID="B0D09BCAD09B94E6" TYPE="ntfs" 
/dev/sda2: LABEL="WINDOWS" UUID="4EC29FECC29FD715" TYPE="ntfs" 
/dev/sda3: LABEL="Data" UUID="4226A28926A27D93" TYPE="ntfs" 
/dev/sda5: UUID="d292a449-b64b-40cd-b09b-e876e50e207f" TYPE="ext4" 
/dev/sda6: UUID="2b9be106-9199-422c-b433-a54b0546e809" TYPE="swap" 
/dev/sda7: UUID="9045b256-d20b-441f-8cbb-1d8c3d2d012d" TYPE="ext4" 
/dev/sda8: UUID="DDB3-B3BD" TYPE="vfat" 
/dev/sdb1: LABEL="SYSRESC" UUID="5CF7-0DD8" TYPE="vfat"
# cat /etc/fstab
# 
# /etc/fstab: static file system information
#
# <file system>        <dir>         <type>    <options>          <dump> <pass>
tmpfs		/tmp	tmpfs	nodev,nosuid	0	0
/dev/sda5 / ext4 defaults 0 1
/dev/sda6 swap swap defaults 0 0
/dev/sda7 /home ext4 defaults 0 1

EDIT:

/boot/syslinux % ls -lh
total 36K
lrwxrwxrwx 1 root root   27 Aug 12 10:10 chain.c32 -> /usr/lib/syslinux/chain.c32
lrwxrwxrwx 1 root root   25 Aug 12 10:10 hdt.c32 -> /usr/lib/syslinux/hdt.c32
-r--r--r-- 1 root root  32K Aug 12 17:40 ldlinux.sys
lrwxrwxrwx 1 root root   26 Aug 12 10:10 menu.c32 -> /usr/lib/syslinux/menu.c32
lrwxrwxrwx 1 root root   25 Aug 12 10:10 pci.ids -> /usr/share/hwdata/pci.ids
lrwxrwxrwx 1 root root   30 Aug 12 10:10 poweroff.com -> /usr/lib/syslinux/poweroff.com
lrwxrwxrwx 1 root root   28 Aug 12 10:10 reboot.c32 -> /usr/lib/syslinux/reboot.c32
-rw-r--r-- 1 root root    0 Aug 12 17:40 SYSLINUX_AUTOUPDATE
-rw-r--r-- 1 root root 2.5K Aug 12 17:35 syslinux.cfg
lrwxrwxrwx 1 root root   30 Aug 12 10:10 vesamenu.c32 -> /usr/lib/syslinux/vesamenu.c32

There is no menu, nor a Syslinux prompt.

Last edited by IllDefinedPillow (2012-08-12 17:22:58)

Offline

#10 2012-08-12 17:38:06

DSpider
Member
From: Romania
Registered: 2009-08-23
Posts: 2,273

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

Ok, how about installing it manually then? Pop in the new Arch install media and run:

# mount /dev/sda5 /mnt
# arch-chroot /mnt
# extlinux --install /boot/syslinux
# dd bs=440 conv=notrunc count=1 if=/usr/lib/syslinux/mbr.bin of=/dev/sda

Or, if you have an older Arch LiveCD or some other "live" Linux distribution:

# mount /dev/sda5 /mnt
# cd /mnt
# for i in /proc /sys /dev /dev/pts; do mount -B $i .$i; done
# chroot .
# extlinux --install /boot/syslinux
# dd bs=440 conv=notrunc count=1 if=/usr/lib/syslinux/mbr.bin of=/dev/sda

Edit: The boot flag is already set on /dev/sda5 so we'll just leave that alone.

Last edited by DSpider (2012-08-12 17:39:41)


"How to Succeed with Linux"

I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).

Offline

#11 2012-08-12 17:47:41

DSpider
Member
From: Romania
Registered: 2009-08-23
Posts: 2,273

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

Wait, /dev/sda may be the USB stick if you're booting from one... You may need to use /dev/sdb to write the MBR with dd. Check with...

# fdisk -l

...so that you're pointing dd to the right drive.

Last edited by DSpider (2012-08-12 17:49:05)


"How to Succeed with Linux"

I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).

Offline

#12 2012-08-12 18:44:20

IllDefinedPillow
Member
Registered: 2012-03-10
Posts: 10

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

No luck, but thanks anyway. I will not try anything else today; maybe I will retry to install GRUB2 instead tomorrow or something like that. And I still wonder what has changed so both don't work...

Offline

#13 2012-08-12 18:52:18

DSpider
Member
From: Romania
Registered: 2009-08-23
Posts: 2,273

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

I hope you weren't using /dev/sda5 instead of /dev/sda when you used dd. Same goes for GRUB. You want to install to the MBR, not to a partition.

Last edited by DSpider (2012-08-12 18:55:21)


"How to Succeed with Linux"

I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).

Offline

#14 2012-08-12 20:24:02

IllDefinedPillow
Member
Registered: 2012-03-10
Posts: 10

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

It was /dev/sda.

Offline

#15 2012-08-14 06:11:07

IllDefinedPillow
Member
Registered: 2012-03-10
Posts: 10

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

Here is what fixed it:

  • Installing GRUB2.

  • Setting boot flag to /dev/sda1.

What I believe to be the cause:
Some years ago, I read about that if the boot partition is too far into a HDD, you cannot boot from that partition.

Now, unlike Syslinux, GRUB Legacy and GRUB2 can handle such situations as they can load the kernel and initrd from any partition. This way, the boot flag can be on any partition, as it does not matter.

Offline

#16 2012-08-14 07:44:38

DSpider
Member
From: Romania
Registered: 2009-08-23
Posts: 2,273

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

GRUB doesn't care about boot flags. On older BIOS-es if the boot partition is past a certain cylinder (somewhere after 8 GB or so), then it cannot boot. But if the computer was bought in the last 10 years or so, you don't have this problem. I think Syslinux was installed correctly but you probably had a typo or something in the syslinux.cfg file. You should have gotten rid of those comments and crap and just went with the most plain syslinux.cfg file you could. Something like:

UI vesamenu.c32
TIMEOUT 300

LABEL arch
        MENU LABEL Arch Linux
        LINUX ../vmlinuz-linux
        APPEND root=UUID=978e3e81-8048-4ae1-8a06-aa727458e8ff ro
        INITRD ../initramfs-linux.img

"How to Succeed with Linux"

I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).

Offline

#17 2012-08-15 08:54:18

ilikepie
Member
Registered: 2009-10-28
Posts: 38

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

It probably wasn't a typo in his syslinux.cfg file, nor a Syslinux installation problem. I had the exact same problem, save for the fact that my PC reboots endlessly when it doesn't find a bootable device instead of showing some error message. And I could actually boot into syslinux from a live CD with the "boot from HD" option. I just deleted and recreated my /boot partition, copied over a backup of the files that were there, including my cfg file, and ran the syslinux MBR installer, and then it worked.

Somehow, I tried switching from grub-legacy to syslinux on another computer of mine, and it yielded the very same symptoms. Go figure.

Last edited by ilikepie (2012-08-15 08:58:30)

Offline

#18 2012-08-15 13:49:25

IllDefinedPillow
Member
Registered: 2012-03-10
Posts: 10

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

The reason why I pin my problem on the boot flag is because of the following observed behavior:

1. Syslinux + boot flag on /dev/sda5 -> does not boot
so I tried
2. GRUB2 + boot flag on /dev/sda5 -> does not boot, visible result is the exact same as in 1
so I tried
3. GRUB2 + boot flag on /dev/sda1 -> boots

From that I conclude that the boot flag was the showstopping problem. Apparently I have a crappy BIOS or something like that. I cannot explain in any other way why GRUB would behave like this. So I think my problem was hardware-specific (it is a two year old Toshiba notebook, by the way).

Offline

#19 2012-08-15 14:53:15

the.ridikulus.rat
Member
From: Indiana, USA
Registered: 2011-10-04
Posts: 765

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

I think the problem is with boot flag in logical partition (in your case /dev/sda5) instead of the primary partition (/dev/sda1) . I would say either syslinux's mbr.bin does not support booting to lslinux.sys in a logical partition, or your BIOS refuses to boot if none of the primary partitions have boot flag set.

EDIT: I have tried syslinux only in a GPT system (and removed it later), and currently I boot using grub-bios, so my (above) comment may not be correct.

Last edited by the.ridikulus.rat (2012-08-15 14:55:53)

Offline

#20 2014-07-17 03:24:09

anatolik
Developer
Registered: 2012-09-27
Posts: 458

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

IllDefinedPillow wrote:

I decided to replace GRUB Legacy on my box this morning with Syslinux. Unlike the other box where I did this, it did not go smoothly this time.
At computer startup, it will tell me that "Boot failed <Hard drive model>".

When did you see the message? Before the syslinux menu or after? If after then it clearly the syslinux issue. If you decide to try syslinux again you should follow https://wiki.archlinux.org/index.php/Sy … loader_log to get more log messages from the boot process.

Personally I found several issues with syslinux. e.g. syslinux does not work with btrfs correctly. In some cases (i suspect it depends on initrd image disk location) syslinux refuses to boot kernel from btrfs partition. It says something like "Boot magic number invalid"... Do you use btrfs by the chance?


IllDefinedPillow wrote:

Since GRUB Legacy worked fine, I installed both Syslinux and GRUB2 for BIOS booting by overwriting the MBR. My assumption is that the BIOS cannot handle the new MBR

When you say "new MBR" do you mean GPT? On my BIOS machine where I use syslinux it refuses to boot from GPT partitioned disk, syslinux is unable even reach the menu. I had to convert the disk back to DOS format.

Last edited by anatolik (2014-07-17 03:35:25)


Read it before posting http://www.catb.org/esr/faqs/smart-questions.html
Ruby gems repository done right https://bbs.archlinux.org/viewtopic.php?id=182729
Fast initramfs generator with security in mind https://wiki.archlinux.org/index.php/Booster

Offline

#21 2014-07-17 13:33:54

Inxsible
Forum Fellow
From: Chicago
Registered: 2008-06-09
Posts: 9,183

Re: (SOLVED) Have Syslinux, will not boot with either Syslinux or GRUB2

anatolik, the thread is almost 2 years old and Solved too. I doubt that the OP is still looking for answers.

Closing...


Forum Rules

There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !

Offline

Board footer

Powered by FluxBB