You are not logged in.

#1 2015-02-22 14:41:47

hafty
Member
Registered: 2015-01-07
Posts: 6

[Solved] boot fails after Starting flush journal to persistent storage

I installed arch on my macbook air 6 months ago and have been able to resolve any issues so far by lurking on these great forums. But yesterday while updating my system with pacman I got a kernel panic and force-shut down the machine. The last pacman log entry is "starting full system upgrade".

Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
Kernel Offset: 0x0 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffff9fffffff)
drm_kms_helper: panic occured, switching back to text console

Upon reboot it "Started Flush Journal to Persistent Storage..." and timed out after 1'30'' and reported "Dependency failed" for "/boot", "Local File Systems", "/dev/sda3" (my swap partition) and "Swap". It then started an Emergency Shell, however my keystrokes were not registered.
I found out that if I entered an invalid root partition in the kernel parameters I got to a rescue shell, so I did that, mounted my root partition and edited my fstab, commenting out the swap partition entry. On the next boot it didn't search for the swap, but only the /boot partition for which it failed in the same way as before.

I understand that my /boot partition is somehow faulty and I cannot use the emergency shell because the keyboard hook has not been run at that time, but I'm clueless as how to restore my /boot partition or even what caused this problem. I should note that I have enabled early KMS a few days ago, in order to change my console font (I added the i915 module in the mkinitcpio conf).

I've tried to boot using the fallback initrd, but it was exactly the same. On a side note, when I insert an arch installation USB stick my gummiboot doesn't seem to see it, but when I insert my external HDD with a Mac OS X installation on it, it shows another entry and boots into it just fine.

Thanks in advance for any helpful comments

Last edited by hafty (2015-02-23 00:05:44)

Offline

#2 2015-02-22 15:52:14

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,749
Website

Re: [Solved] boot fails after Starting flush journal to persistent storage

You could just chroot into your system from the Arch live ISO, re-install your kernel image & gummiboot (also check the configuration files) and perform a full system upgrade.

Make sure /boot is mounted correctly before you do this.

If you run into problems with this you should post your gummiboot configuration files, your mkinitcpio.conf, your fstab and the output of:

# parted -l
lsblk -f

Make sure your partitions are properly mounted and you have chroot'd into your system before running these commands.

Offline

#3 2015-02-22 20:16:23

hafty
Member
Registered: 2015-01-07
Posts: 6

Re: [Solved] boot fails after Starting flush journal to persistent storage

Thank you for the input @Head_on_a_Stick.
I kinda cheated my way around configuring gummiboot as I found out it does not automatically look for bootable drives by installing refind.
From the arch live iso I tried to run mkinitcpio and it spit out these lines:

==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 3.18.6-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
==> ERROR: file not found: `/usr/lib/udev/rules.d/60-persistent-storage.rules'
==> ERROR: file not found: `/usr/lib/udev/rules.d/64-btrfs.rules'
==> ERROR: file not found: `/usr/lib/udev/rules.d/80-drivers.rules'
==> ERROR: file not found: `/usr/lib/udev/scsi_id'
  -> Running build hook: [autodetect]
findmnt: error while loading shared libraries: /usr/lib/libudev.so.1: file too short
==> ERROR: failed to detect root filesystem
findmnt: error while loading shared libraries: /usr/lib/libudev.so.1: file too short
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [resume]
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img
==> WARNING: errors were encountered during the build. The image may not be complete.
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 3.18.6-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
==> ERROR: file not found: `/usr/lib/udev/rules.d/60-persistent-storage.rules'
==> ERROR: file not found: `/usr/lib/udev/rules.d/64-btrfs.rules'
==> ERROR: file not found: `/usr/lib/udev/rules.d/80-drivers.rules'
==> ERROR: file not found: `/usr/lib/udev/scsi_id'
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
  -> Running build hook: [resume]
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> WARNING: errors were encountered during the build. The image may not be complete.

my mkinitcpio.conf is default but for ' MODULES="i915" '

parted -l:

Model: ATA APPLE SSD TS064C (scsi)
Disk /dev/sda: 60.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                     Flags
 1      1049kB  211MB   210MB   fat16        EFI System               msftdata
 2      211MB   49.9GB  49.7GB  ext4         Linux filesystem
 3      49.9GB  60.7GB  10.7GB  fat32        Windows_NTFS_Untitled_2  msftdata


Model: JetFlash Transcend 4GB (scsi)
Disk /dev/sdb: 4049MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start  End     Size    Type     File system  Flags
 2      129kB  32.6MB  32.5MB  primary  fat16        esp

lsblk -f:

NAME            FSTYPE   LABEL       UUID                                 MOUNTPOINT
sda                                                                       
├─sda1          vfat                 367B-E3C9                            
├─sda2          ext4                 d299663d-85db-41b1-a455-aa68a54b150d 
└─sda3          vfat                 62BD-1BDA                            /root/mp
sdb             iso9660  ARCH_201502 2015-02-01-04-35-10-00               
├─sdb1          iso9660  ARCH_201502 2015-02-01-04-35-10-00               /run/archiso/bootmnt
└─sdb2          vfat     ARCHISO_EFI CBAD-30D3                            
loop0           squashfs                                                  /run/archiso/sfs/airootfs
loop1           ext4                 f0ca1199-6a92-4dea-8ca7-c29587a85fa5 
└─arch_airootfs ext4                 f0ca1199-6a92-4dea-8ca7-c29587a85fa5 /
loop2           ext4                 f0ca1199-6a92-4dea-8ca7-c29587a85fa5 
└─arch_airootfs ext4                 f0ca1199-6a92-4dea-8ca7-c29587a85fa5 /

Last edited by hafty (2015-02-22 20:24:46)

Offline

#4 2015-02-22 20:38:49

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,749
Website

Re: [Solved] boot fails after Starting flush journal to persistent storage

hafty wrote:

I kinda cheated my way around configuring gummiboot as I found out it does not automatically look for bootable drives by installing refind.

Please elaborate on this.

hafty wrote:

From the arch live iso I tried to run mkinitcpio and it spit out these lines:

==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 3.18.6-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
==> ERROR: file not found: `/usr/lib/udev/rules.d/60-persistent-storage.rules'
==> ERROR: file not found: `/usr/lib/udev/rules.d/64-btrfs.rules'
==> ERROR: file not found: `/usr/lib/udev/rules.d/80-drivers.rules'
==> ERROR: file not found: `/usr/lib/udev/scsi_id'
  -> Running build hook: [autodetect]
findmnt: error while loading shared libraries: /usr/lib/libudev.so.1: file too short
==> ERROR: failed to detect root filesystem
findmnt: error while loading shared libraries: /usr/lib/libudev.so.1: file too short
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [resume]
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img
==> WARNING: errors were encountered during the build. The image may not be complete.
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 3.18.6-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
==> ERROR: file not found: `/usr/lib/udev/rules.d/60-persistent-storage.rules'
==> ERROR: file not found: `/usr/lib/udev/rules.d/64-btrfs.rules'
==> ERROR: file not found: `/usr/lib/udev/rules.d/80-drivers.rules'
==> ERROR: file not found: `/usr/lib/udev/scsi_id'
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
  -> Running build hook: [resume]
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> WARNING: errors were encountered during the build. The image may not be complete.

my mkinitcpio.conf is default but for ' MODULES="i915" '

parted -l:

Model: ATA APPLE SSD TS064C (scsi)
Disk /dev/sda: 60.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                     Flags
 1      1049kB  211MB   210MB   fat16        EFI System               msftdata
 2      211MB   49.9GB  49.7GB  ext4         Linux filesystem
 3      49.9GB  60.7GB  10.7GB  fat32        Windows_NTFS_Untitled_2  msftdata


Model: JetFlash Transcend 4GB (scsi)
Disk /dev/sdb: 4049MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start  End     Size    Type     File system  Flags
 2      129kB  32.6MB  32.5MB  primary  fat16        esp

lsblk -f:

NAME            FSTYPE   LABEL       UUID                                 MOUNTPOINT
sda                                                                       
├─sda1          vfat                 367B-E3C9                            
├─sda2          ext4                 d299663d-85db-41b1-a455-aa68a54b150d 
└─sda3          vfat                 62BD-1BDA                            /root/mp
sdb             iso9660  ARCH_201502 2015-02-01-04-35-10-00               
├─sdb1          iso9660  ARCH_201502 2015-02-01-04-35-10-00               /run/archiso/bootmnt
└─sdb2          vfat     ARCHISO_EFI CBAD-30D3                            
loop0           squashfs                                                  /run/archiso/sfs/airootfs
loop1           ext4                 f0ca1199-6a92-4dea-8ca7-c29587a85fa5 
└─arch_airootfs ext4                 f0ca1199-6a92-4dea-8ca7-c29587a85fa5 /
loop2           ext4                 f0ca1199-6a92-4dea-8ca7-c29587a85fa5 
└─arch_airootfs ext4                 f0ca1199-6a92-4dea-8ca7-c29587a85fa5 /

Did you mount all your Arch partitions and chroot into your system before running those commands?

Offline

#5 2015-02-22 20:54:07

hafty
Member
Registered: 2015-01-07
Posts: 6

Re: [Solved] boot fails after Starting flush journal to persistent storage

Sorry about that. I did the lsblk and parted out of chroot.

lsblk: error while loading shared libraries: /usr/lib/libudev.so.1: file too short

parted is not installed on my arch

Offline

#6 2015-02-22 21:01:12

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,749
Website

Re: [Solved] boot fails after Starting flush journal to persistent storage

Can you try a full system upgrade from within the chroot?

# pacman -Syu

The `parted` output would be the same but can you tell me where you have mounted your /boot and root partitions?

Offline

#7 2015-02-22 21:24:35

hafty
Member
Registered: 2015-01-07
Posts: 6

Re: [Solved] boot fails after Starting flush journal to persistent storage

I mounted the root and boot partitions at /mnt and /mnt/boot

# pacman: error while loading shared libraries: /usr/lib/libgssapi_krb5.so.2: file too short

I wouldn't be too opposed to reinstalling my system entirely, as I have wanted to declutter it for some time. Would you consider that the easiest solution?
The thing that bugs me though is that I have no idea of what happened and how I caused it

Offline

#8 2015-02-22 21:45:14

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,749
Website

Re: [Solved] boot fails after Starting flush journal to persistent storage

That library is from the krb5 package in [core] and the libudev.so.1 is from libsystemd (also in [core]) -- you could try re-installing those packages from /var/cache/pacman/pkg using `pacman -U`...

But yes, maybe a re-install would be simpler (bit of a cop out though).

Offline

#9 2015-02-23 00:03:07

hafty
Member
Registered: 2015-01-07
Posts: 6

Re: [Solved] boot fails after Starting flush journal to persistent storage

Thank you so much for your help. You made my day big_smile
Pacman wouldn't run at all so I ran pacman from the live stick with the -r switch to reinstall krb5 and then I could reinstall libsystemd and systemd itself and then mkinitcpio was successful.
I can now boot and it's almost fine, but I think the package management is messed up a bit. I had to regenerate pacman keys and right now i cant establish any secure connections. I also had to reinstall perl with --force because it seems there were some empty files pacman was hesitant to overwrite.
I figured I'd just reinstall every single package and then it would tell me if there were empty files so I could reinstall those which fail with --force. Is that a sensible thing to do?
I'm marking this as solved as my computer is basically running again.

Last edited by hafty (2015-02-23 00:06:26)

Offline

#10 2015-02-23 20:15:14

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,749
Website

Re: [Solved] boot fails after Starting flush journal to persistent storage

hafty wrote:

I figured I'd just reinstall every single package and then it would tell me if there were empty files so I could reinstall those which fail with --force. Is that a sensible thing to do?

Have you tried a full system upgrade yet?

You can re-install all native packages using:

# pacman -Qnq | pacman -S

List all foreign packages using:

pacman -Qmq

Offline

#11 2015-02-23 22:24:08

hafty
Member
Registered: 2015-01-07
Posts: 6

Re: [Solved] boot fails after Starting flush journal to persistent storage

I did that and it reported some 4 broken packages (ca-certificates-mozillal amongst others) so I reinstalled them and now everything seems to be working flawlessly.

Head_on_a_Stick wrote:
hafty wrote:

I kinda cheated my way around configuring gummiboot as I found out it does not automatically look for bootable drives by installing refind.

Please elaborate on this.

I found out that gummiboot, unlike rEFInd, doesn't automatically look for EFISTUBs except in some special cases, which is why I was able to boot into Mac OS X on an external HDD but not into the arch installation drive. So I booted into OS X and installed rEFInd from there. rEFInd scans all available drives for EFISTUBs and allowed me to boot into the installation media.
Meanwhile, I've installed gummiboot again with an entry for rEFInd, should I need it at some point.

Thanks for your support @Head_on_a_Stick smile

Offline

#12 2015-02-23 22:40:37

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,749
Website

Re: [Solved] boot fails after Starting flush journal to persistent storage

You're welcome smile

Offline

Board footer

Powered by FluxBB