You are not logged in.

#1 2014-02-14 18:34:11

tyr0
Member
Registered: 2007-06-02
Posts: 152

[solved] Bootloaders (syslinux/Grub) not loading on new installation

Hi,

I´m trying to install arch on a Lenovo Thinkpad X1 (UEFI). I installed grub as described in the wiki, but grub does not start up at all when the machine is powered on. sda is partitioned (GPT) as follows:

1. 512 MB: ESP (EF00) = sda1
2. remaining space: LVM (8E00)
   a.) boot (300 MB)
   b.) Swap (4 GB)
   c.) root (25 GB)
   d.) home (remaining space)

fstab:

LABEL=root	/	     ext4	rw,relatime,data=ordered	0	1
LABEL=home	/home    ext4	rw,relatime,data=ordered	0	2
LABEL=boot	/boot      ext4	rw,relatime,data=ordered	0	2
/dev/sda1   	/boot/efi  vfat	rw,relatime,fmask=0022,codepage=437;iocharset=iso8859-1,shortname=mixed,errors=remount-ro  0  2
/dev/mapper/lvm-spwap  none  swap  defaults  0   0

I installed grub via

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck --debug

No errors were reported, x86_64-efi is now present in /boot/grub. /boot/efi is now populated by the folder EFI/arch_grub, which contains grubx64.efi
grub.cfg was generated within the chroot by

grub-mkconfig -o /boot/grub/grub.cfg

This command gives somes warnings:

WARNING: Failed to connect to lvmetad: No such file or directory. Falling back to internal scanning.
/run/lvm/lvmetad.socket: connect failed: No such file or directory
done

If I try to activate lvmetad.service by systemctl I get the error:

Running in chroot, ignoring request.

Leaving the chroot (lvmetad is running), 'grub-mkconfig -o /mnt/boot/grub/grub.cfg' results in:

Generating grub configuration file ...
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: warning:unknown device type dm-0
.
done

After rebooting I just get a blank screen, grub is not loading at all. I have absolutely no idea, what went wrong during the installation, therefore I would be glad if you gave me some input. Thanks!

EDIT: I just installed arch with the legacy BIOS enabled instead of UEFI. The problem is very similar with this configuration. Instead of a loaded Grub I only get a blinking cursor.

Last edited by tyr0 (2014-02-17 00:05:41)

Offline

#2 2014-02-15 14:28:53

tyr0
Member
Registered: 2007-06-02
Posts: 152

Re: [solved] Bootloaders (syslinux/Grub) not loading on new installation

I want to write down these findings in a second post, since the problem seems to be not strictly UEFI related:
I´ve set up the machine with Bios legacy. I partitioned the SDD (sdb) as follows:

sdb1 - EF02 - ext4 --> /boot partition
sdb2 - 8E00 - ext4 --> LVM
   a.) /dev/lvm/swap
   a.) /dev/lvm/root
   a.) /dev/lvm/home

I´ve set up the system as described, everything went well. Then I installed syslinux instead of Grub, which was installed by "syslinux-install_update -i -a -m". Output:

Syslinux BIOS install successful
Attribute Legacy Bios Bootable Set - /dev/sdb1
Installed MBR (/usr/share/syslinux/bios/gptmbr.bin) to /dev/sdb

Everything looks great. Upon reboot I end again in a black screen without syslinux showing up. I have absolutely no idea what to do next.

Offline

#3 2014-02-15 15:04:52

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,922

Re: [solved] Bootloaders (syslinux/Grub) not loading on new installation

do you have lvm2 as hook in mkinitcpio.conf ?

also check the kernel boot line in /boot/syslinux/syslinux.cfg , it should have something like this :
root=/dev/mapper/volumegroupname-logicalvolumename


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#4 2014-02-15 15:17:44

tyr0
Member
Registered: 2007-06-02
Posts: 152

Re: [solved] Bootloaders (syslinux/Grub) not loading on new installation

Thank you for you reply. mkinitcpio.conf contains lvm2 between the hooks block and filessystem and syslinux.cfg contains:

APPEND root=/dev/mapper/lvm-root rw

Syslinux prompt does not show up upon reboot, I only get a black screen.
When I try to manually install syslinux, I get the following output:

cp -r /usr/lib/syslinux/bios/*.c32 /boot/syslinux/  --> no errors
extlinux --install /boot/syslinux --> /boot/syslinux is device /dev/sdb1
sgdisk /dev/sdb1 --attributes=1:set:2 --> error below
Found invalid GPT and valid MBR; converting to GPT format in memory
Exact type match not found for type code 6F00; assigning type code for 'Linux filesystem'
Warning! Secondary partition table overlaps the last partition by 5224866608 blocks!
You will need to delete this partition or resize it in another utility.
Non-GPT disk; not saving changes. Use -g to override.

I have no idea what this means. The automatic install worked flawlessly. Moreover, I´m able to set the bootflag "legacy-BIOS bootable" with gdisk without problems. This error only occurs when using sgdisk.
"dd bs=440 conv=notrunc count=1 if=/usr/lib/syslinux/bios/gptmbr.bin of=/dev/sdb"
results in:

1+0 records in
1+0 records out
440 bytes (440 B) copied, 0.00388746 s, 113 kB/s

Last edited by tyr0 (2014-02-15 15:40:46)

Offline

#5 2014-02-15 18:04:10

tyr0
Member
Registered: 2007-06-02
Posts: 152

Re: [solved] Bootloaders (syslinux/Grub) not loading on new installation

I´m completely lost now. To further simplify the situation, I did a fresh install with Bios legacy enabled and without an lvm. I did just a plain gpt partitioning:

sdb:
 a.) /dev/sdb1 -> /mnt/boot
 b.) /dev/sdb2 -> swap
 c.) /dev/sdb3 -> /mnt
 d.) /dev/sdb4 -> /mnt/home

The installation was fine. I installed and configured syslinux without errors. However, upon restart I ended up with a black screen. Then I repartitioned the disk and added a Bios boot partition and installed/configured grub ("Installation finished. No error reported."). Again I got only a black screen. Something is really wrong with my machine, even this simple setup failed. I would be happy about any input.

Offline

#6 2014-02-16 17:26:13

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,922

Re: [solved] Bootloaders (syslinux/Grub) not loading on new installation

If i read things correctly, sdb is a GPT disk ?

which program did you use to format the partitions ?


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#7 2014-02-16 17:51:08

tyr0
Member
Registered: 2007-06-02
Posts: 152

Re: [solved] Bootloaders (syslinux/Grub) not loading on new installation

Yes, sdb is a gpt disk. It was partitioned with gdisk. Actually the gpt format is the only thing, which all variants tested had in common.
To sum it up: Regardless of using bios legacy or UEFI, I am not able to start a boot loader (tested syslinux, grub) when the machine is powered on. I only get a black screen.

EDIT: I have to apologize. I did a fresh install on the system with UEFI enabled, now syslinux is showing up (most likely because edited /boot/efi/EFI/syslinux/syslinux.cfg and not /boot/syslinux/syslinux.cfg :-) ). Nevertheless, syslinux can´t boot arch because of:

../../../../vmlinuz-linux... failed: No such file or directory

vmlinuz-linux and initramfs-linux.img are present in /boot.
My /boot/efi/EFI/syslinux/syslinux.cfg looks like:

 UI menu.c32
 PROMPT 0
 
 MENU TITLE Boot Menu
 TIMEOUT 50
 DEFAULT arch
 
 LABEL arch
         MENU LABEL Arch Linux
         LINUX ../../../../vmlinuz-linux
         APPEND root=/dev/sda2 rw
         INITRD ../../../../initramfs-linux.img
 
 LABEL archfallback
         MENU LABEL Arch Linux Fallback
         LINUX ../../../../vmlinuz-linux
         APPEND root=/dev/sda2 rw
         INITRD ../../../../initramfs-linux-fallback.img

I have to say that I created a separted boot partition:

sda1 (ESP) -> mounted to /boot/efi
sda2 -> mounted to /boot
sda3 (LVM) -> mounted to /

Last edited by tyr0 (2014-02-16 19:50:48)

Offline

#8 2014-02-16 20:46:35

srs5694
Member
From: Woonsocket, RI
Registered: 2012-11-06
Posts: 719
Website

Re: [solved] Bootloaders (syslinux/Grub) not loading on new installation

First, I note that you're specifying "root=/dev/sda2" in your boot loader configuration; but you reported using LVM, with your root filesystem on /dev/lvm/root. The LVM partition is not a valid root specification to pass to the kernel. Fixing this detail might get you booted.

If not, try using the rEFInd CD-R or USB flash drive image to boot. Ideally, it should show you one or more Linux kernel options. To boot, though, you'll probably have to hit F2 or Insert twice to open a simple line editor and add "root=/dev/lvm/root" (or whatever your correct root specification is) to the kernel options. rEFInd tends to be easier to set up than most other boot programs. It's certainly less finicky than GRUB, which is about the most difficult-to-configure boot loader ever devised by human minds.

Offline

#9 2014-02-17 00:05:22

tyr0
Member
Registered: 2007-06-02
Posts: 152

Re: [solved] Bootloaders (syslinux/Grub) not loading on new installation

Thank you for your reply. You are absolutely right of course. It was just a copy-error. Actually I specified "root=LABEL=root", which should be okay. I think syslinux had a problem with /boot being a separate partition. So I switched to grub which i working perfectly fine now, despite the config is a mess as you indicated. I will try rEFInd, thank you for the link.
So the problem is solved and I am still not sure why. Probably because of the new gpt table. Thank you for your help, I´ll mark this as solved.

Offline

Board footer

Powered by FluxBB