You are not logged in.

#1 2017-12-04 21:05:34

Slaw0
Member
Registered: 2014-09-25
Posts: 12

[SOLVED] Booting from UEFI without bootloader

I'm trying to create a set up where I use UEFI directly to load the OS but for some reason the boot record is not found after I restart.

The steps I've taken:
1. basic setup, 1 nvme SSD: root swap boot and home partitions, the EFI partition is fat32 and mounted as /boot
2. pacstrap and basic setup according to wiki, at the end:

$ mkinitcpio -p linux
$ efibootmgr --disk /dev/nvme0n1 --part 3 --create --gpt --label "Arch Linux" --loader /vmlinuz-linux --unicode "root=/dev/nvme0n1p2 rw initrd=/initramfs-linux.img iommu=1 amd_iommu=on rd.driver.pre=vfio-pci"

The record is created and it seams ok:

BootCurrent: 0003
Timeout: 1 seconds
BootOrder: 0000,0003,0002,0001
Boot0000* Arch Linux	HD(3,GPT,2cfea3d3-69fe-6142-b2a1-8ef9141dac78,0x10800800,0x100000)/File(\vmlinuz-linux)r.o.o.t.=./.d.e.v./.n.v.m.e.0.n.1.p.2. .r.w. .i.n.i.t.r.d.=./.i.n.i.t.r.a.m.f.s.-.l.i.n.u.x...i.m.g. .i.o.m.m.u.=.1. .a.m.d._.i.o.m.m.u.=.o.n. .r.d...d.r.i.v.e.r...p.r.e.=.v.f.i.o.-.p.c.i.
Boot0001  USB KEY	BBS(HD,,0x0)/VenHw(5ce8128b-2cec-40f0-8372-80640e3dc858,0b00)..GO..NO..........K.i.n.g.s.t.o.n.D.a.t.a.T.r.a.v.e.l.e.r. .3...0.P.M.A.P...................\.,.@.r.d.=.X..........A.............................F..Gd-.;.A..MQ..L.4.0.1.6.7.E.A.7.C.E.6.5.B.0.4.0.8.9.A.7.B.7.9.6........BO
Boot0002  UEFI: KingstonDataTraveler 3.0PMAP	PciRoot(0x1)/Pci(0x7,0x1)/Pci(0x0,0x3)/USB(0,0)/CDROM(1,0xa4,0x10575c)..BO
Boot0003* UEFI: KingstonDataTraveler 3.0PMAP, Partition 2	PciRoot(0x1)/Pci(0x7,0x1)/Pci(0x0,0x3)/USB(0,0)/HD(2,MBR,0x5329baec,0xa4,0x20000)..BO

efivars are mounted throughout the process.

Pointers are greatly appriciated.

UPDATE:

As it turns out the problem is the manufacturers UEFI implementation.

It seams according to MSI (MSI x399 Gaming Pro Carbon AC motherboard) disabling the Windows whql setting in BIOS is equal to making the EFI record table read only...

Last edited by Slaw0 (2017-12-12 19:45:05)

Offline

#2 2017-12-04 22:58:03

Head_on_a_Stick
Member
From: The Wirral
Registered: 2014-02-20
Posts: 9,003
Website

Re: [SOLVED] Booting from UEFI without bootloader

Slaw0 wrote:

the boot record is not found

I have no idea what this means, please explain more clearly exactly what happens when your computer starts.

The record is created and it seams ok.

You should post the full `efibootmgr -v` output here so that we can see it also.

Another Archer has reported problems booting an nVME drive with EFI_STUB:

https://bbs.archlinux.org/viewtopic.php?id=232150

Perhaps your problem is related?


Jin, Jîyan, Azadî

Offline

#3 2017-12-05 00:00:14

Omar007
Member
Registered: 2015-04-09
Posts: 368

Re: [SOLVED] Booting from UEFI without bootloader

On that system the problem is not the nVME drive but rather the broken UEFI implementation of said system (this seems to be a general problem with the Dell XPS models).
While it does create the entry, the UEFI implementation of that specific system completely disregards any and all arguments assigned to a boot entry. In other words, it doesn't matter what you try to pass on to '-u/--unicode', it will never be used.

Do you use the same system?

Last edited by Omar007 (2017-12-05 00:02:20)

Offline

#4 2017-12-05 06:42:56

Slaw0
Member
Registered: 2014-09-25
Posts: 12

Re: [SOLVED] Booting from UEFI without bootloader

Head_on_a_Stick wrote:

You should post the full `efibootmgr -v` output here so that we can see it also.

Your are right, sorry. Updated the post.

Slaw0 wrote:

the boot record is not found

I mean that after restarting, I end up in BIOS because I assume the UEFI cant find any bootable record.

Head_on_a_Stick wrote:

Another Archer has reported problems booting an nVME drive with EFI_STUB:

He is getting kernel panic so his UEFI could load the boot entry, so no.

Omar007 wrote:

Do you use the same system?

I dont, I'm usinng MSI's x399 Gaming Pro Carbon motherboard.

Offline

#5 2017-12-05 19:35:47

Blasphemist
Member
From: Colorado
Registered: 2013-01-17
Posts: 160

Re: [SOLVED] Booting from UEFI without bootloader

The boot entry is created and saved so that isn't the issue, efibootmgr is showing you that. Are you using the ESP in that entry? I wonder if you are pointing to the root partition instead. The kernel lives on the ESP when /boot is the mount point for the ESP. Is /boot the mount point you used for the ESP, does it have the boot and ESP flags set and are you using the right partition number for the ESP?


Simple and Open

Offline

#6 2017-12-05 22:12:27

Slaw0
Member
Registered: 2014-09-25
Posts: 12

Re: [SOLVED] Booting from UEFI without bootloader

Yes, /dev/nvme0n1p3 is my ESP and it is mounted to /boot. I used fdisk and set EFI System partition label so that should take care of the flags.

Blasphemist wrote:

I wonder if you are pointing to the root partition instead. The kernel lives on the ESP when /boot is the mount point for the ESP.

Do you mean that after --unicode I should also set root=/dev/nvme0n1p3 ? Tried it and it didnt work.

However, while trying I realised that the record that I created at the first time is missing so thats probably the root cause. I suspect this is my use case now. I'll report back tommorow smile

Offline

Board footer

Powered by FluxBB