You are not logged in.
Did a pacman -Syu yesterday and rebooted and some partitions (/boot/uefi) isn't loading. As a result, I'm getting thrown in to a safe-mode shell. What do I need to do to try and fix this? I have a rescue disk (well a normal cd-rom that installs arch), which I could chroot from. I've never really had a problem with the kernel before now (apart from installing nvidia drivers everytime it upgrades).
Last edited by kabads (2015-08-20 10:38:33)
Offline
Chroot in and make sure /boot is mounted before reinstalling the kernel and rebuilding your intird...
Moving to NC.
Offline
OK, so after chrooting in the /boot directory is there with:
$ ls -al
efi
initramfs-linux-fallback.img
initramfs-linux-lts-fallback.img
initramfs-linux-lts.img
initramfs-linux.img
vmlinuz-linux
vmlinuz-linux-lts
I've reinstalled the kernel with
pacman -S linux
and recreated the initramfs with
mkinitcpio -p linux
but /boot is still failing to load with kernel modules not loading.
Any ideas?
Last edited by kabads (2015-08-18 08:12:33)
Offline
What is the output of `uname -a` and `pacman -Q linux`?
Offline
From the arch-chroot environment:
$ uname -a
Linux archiso 4.0.7-2-ARCH #1 SMP PREEMPT Tue Jun 39...
$ pacman -Q linux
linux 4.1.5-1
Offline
From the rescue shell:
$ uname -a
Linux 4.1.4-1-ARCH #1 SMP Preempt...
$ pacman -Q linux
linux 4.1.5-1
Offline
OK - having dug around at https://wiki.archlinux.org/index.php/Sy … leshooting it seems that nvidia is not loading when the kernel boots. Is there a way of preventing the kernel from trying to load nvidia so that I can get to a normal shell? I have been using nvidia-beta from aur, but may try the regular one from the package respository.
Offline
That is not your problem. Your bootloader is loading an old kernel. Fix it.
Offline
@Scimmia - thanks - it looks like my system may have switched from gummiboot to systemd-boot without my noticing. I'm not sure how to change the bootloader to the new kernel - I've looked at: https://wiki.archlinux.org/index.php/Systemd-boot and have tried
$ mount /dev/sdb1 /boot/efi
$ bootctl --path /boot/efi update
but got,
File system "/boot/efi" is not a FAT EFI System Partition (ESP) file system.
This machine still boots in to Windows, so UEFI doesn't seem to have a problem.
The filesystem can be seen here:
http://imgur.com/v4miig3
Offline
Why are you mounting the ESP to /boot/efi? The kernel gets installed to /boot, so /boot/efi probably still has your old kernel.
Offline
Why are you mounting the ESP to /boot/efi? The kernel gets installed to /boot, so /boot/efi probably still has your old kernel.
+1. In other words, /boot/efi should not contain kernel images, just what the boot loader puts there. You do not even need your system to be aware of it in your /etc/fstab. It only needs to be mounted once when writing the boot loader stuff.
CPU-optimized Linux-ck packages @ Repo-ck • AUR packages • Zsh and other configs
Offline
Scimmia wrote:Why are you mounting the ESP to /boot/efi? The kernel gets installed to /boot, so /boot/efi probably still has your old kernel.
+1. In other words, /boot/efi should not contain kernel images, just what the boot loader puts there. You do not even need your system to be aware of it in your /etc/fstab. It only needs to be mounted once when writing the boot loader stuff.
Gummiboot/systmed-boot won't access kernels outside the ESP. Nothing should ever be mounted to /boot/efi.
Offline
Thanks again - I'm not sure what I should be doing in this situation. Does the EFI partition ever get mounted in any form? How does systemd-boot know where it is? And where is systemd-boot configured so that I can point it to the newer kernel?
Offline
systemd-boot is identical to gummiboot (except for improved integration with `bootctl`).
What is the output of:
# bootctl
systemctl --failed
lsblk
Last edited by Head_on_a_Stick (2015-08-19 11:27:30)
Offline
$ bootctl
File system"/boot" is not a FAT EFI System Partition (ESP) file system.
$ systemctl --failed
UNIT LOAD ACTIVE SUB DESCRIPTION
<E2><97><8F> boot-efi.mount loaded failed failed /boot/efi
<E2><97><8F> mnt-windows.mnt loaded failed failed /mnt/windows
<E2><97><8F> system-modules-load.service loaded failed failed Load Kernel Modules
LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
3 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
| - sda1 8:1 0 455.8G 0 part
| - sda2 8:2 0 2G 0 part [SWAP]
| - sda3 8:3 0 20G 0 part
` - sda4 8:4 0 453.8G 0 part /
sdb 8:16 0 453.8G 0 disk
| - sdb1 8:17 0 100M 0 part
| - sb2 8:18 0 900M 0 part
| - sb3 8:19 0 128M 0 part
` - sdb4 8:20 0 118.1G 0 part
sr0 11:0 1 646M 0 rom
Offline
What is in your fstab?
What is the output of:
systemctl status boot-efi.mount mnt-windows.mnt system-modules-load.service
# parted -l
Offline
Apologies for the screenshots - I've taken screenshots as there is too much to manually type over.
$ cat /etc/fstab
http://imgur.com/z018GDx
$ systemctl status boot-efi.mount mnt-windows.mnt system-modules-load.service
http://imgur.com/A94Yy8r
$ parted -l
http://imgur.com/4gBvXAs
Offline
So your ESP is being mounted to /boot/efi in fstab. Why did you do it that way?
Offline
This must have been done when I installed Arch Linux. I didn't want a separate /boot partition. Other than that, it wasn't a conscious decision. What steps should I take to rectify?
Offline
What steps should I take to rectify?
https://wiki.archlinux.org/index.php/EF … unt_Points
What I don't understand is how you are booting up -- you don't seem to be using systemd-boot/gummiboot and those bootmanagers will not work unless the kernel image & initrd are on the ESP (ie, if /boot is mounted there, rather than /boot/efi)
Offline
I didn't want a separate /boot partition.
This is where you went wrong. You have to have an ESP already, simply make that your /boot partition and everything becomes simple.
Offline
This must have been done when I installed Arch Linux... Other than that, it wasn't a conscious decision.
How did you install Arch Manjaro/Evolution/Whatever?
Offline
@jasonwryan - I installed it using the beginners guide on the wiki. I'm not sure of the exact steps right now, but it was slightly confusing for me as this was the first time I installed linux on a UEFI machine.
Thanks @Scimmia and @Head_on_a_Stick - copying over the files to efi (whilst /dev/sda4 was mounted to / and /dev/sdb1 was mounted to /boot/efi) fixed this. However, I'm afraid this will happen again with the next kernel update - I don't mind doing this again, but I would rather get the system more mainstream. Is it possible to directly mount /boot to /dev/sdb1 - if I do, will I need to do anything else (i.e. fix /etc/fstab) for this to work automatically?
Offline
fix /etc/fstab
^ This.
Offline
Thanks again - just to be sure, will it be as easy as pointing fstab to /dev/sdb1 as the boot partition?
Offline