You are not logged in.

#1 2020-03-15 17:25:48

philotomy
Member
Registered: 2014-12-08
Posts: 20

[SOLVED] Kernel panic: No init found

This morning I updated (with pacman -Syu) and rebooted, but my system is failing to boot with the kernel panic "No working init found". I've been running Arch for several years and never run into this issue. I've tried a few things without any success, so I'm hoping for some advice.

Possible relevant info:

fstab

# 
# /etc/fstab: static file system information
#
# <file system>	<dir>	<type>	<options>	<dump>	<pass>
# /dev/sdb2
UUID=a4e0fe4a-9687-4652-a7a4-df8db8e5d693	/         	ext4      	rw,noatime,data=ordered	0 1

# /dev/sdb1
UUID=919E-0B83      	/boot     	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro	0 2

# /dev/sda1
UUID=def611be-4e29-48ec-a9f0-cf83d68cd8c0	/storage	ext4		rw,noatime,data=ordered 0 0

mount

/dev/sdc2 on / type ext4 (rw,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sys on /sys type sysfs (ro,nosuid,nodev,noexec,relatime)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=8171948k,nr_inodes=2042987,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
shm on /dev/shm type tmpfs (rw,nosuid,nodev,relatime)
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
tmp on /tmp type tmpfs (rw,nosuid,nodev)
airootfs on /etc/resolv.conf type overlay (rw,relatime,lowerdir=/run/archiso/sfs/airootfs,upperdir=/run/archiso/cowspace/persistent_ARCH_201809/x86_64/upperdir,workdir=/run/archiso/cowspace/persistent_ARCH_201809/x86_64/workdir,index=off)
/dev/sdc1 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)

lsblk

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0 459.6M  1 loop 
sda      8:0    1  57.7G  0 disk 
├─sda1   8:1    1   571M  0 part 
└─sda2   8:2    1    64M  0 part 
sdb      8:16   0   1.8T  0 disk 
└─sdb1   8:17   0   1.8T  0 part 
sdc      8:32   0   1.8T  0 disk 
├─sdc1   8:33   0   512M  0 part /boot
└─sdc2   8:34   0   1.8T  0 part /
sdh      8:112  0 931.5G  0 disk 
├─sdh1   8:113  0   200M  0 part 
└─sdh2   8:114  0 931.3G  0 part 
sr0     11:0    1  1024M  0 rom  

blkid

/dev/sda1: BLOCK_SIZE="2048" UUID="2018-09-01-05-02-23-00" LABEL="ARCH_201809" TYPE="iso9660" PTUUID="7e0d49cf" PTTYPE="dos" PARTUUID="7e0d49cf-01"
/dev/sda2: SEC_TYPE="msdos" LABEL_FATBOOT="ARCHISO_EFI" LABEL="ARCHISO_EFI" UUID="D3A5-D5B3" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="7e0d49cf-02"
/dev/sdb1: UUID="def611be-4e29-48ec-a9f0-cf83d68cd8c0" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="09e421bd-a617-0d45-ad42-0e0b7de9345a"
/dev/sdc1: UUID="919E-0B83" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System" PARTUUID="9a64f50f-92e7-4462-b401-281c320bae98"
/dev/sdc2: UUID="a4e0fe4a-9687-4652-a7a4-df8db8e5d693" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="Linux filesystem" PARTUUID="53d9acb4-42cf-4de7-8be9-bae131c4bd5f"
/dev/sdh1: LABEL_FATBOOT="EFI" LABEL="EFI" UUID="3991-1105" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="58d78c76-8631-4346-89b8-ffef8742d6fb"
/dev/sdh2: LABEL="LaCie" BLOCK_SIZE="512" UUID="698B55A472A79BB2" TYPE="ntfs" PTTYPE="atari" PARTUUID="601aac6a-f862-4b7a-a3a7-87e88d970ca6"
/dev/loop0: TYPE="squashfs"

grub.cfg

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="${saved_entry}"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod ext2
set root='hd2,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,gpt2' --hint-bios=hd2,gpt2 --hint-efi=hd2,gpt2 --hint-baremetal=ahci2,gpt2  a4e0fe4a-9687-4652-a7a4-df8db8e5d693
else
  search --no-floppy --fs-uuid --set=root a4e0fe4a-9687-4652-a7a4-df8db8e5d693
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=1920x1200x24
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux, with Linux linux-lts' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-lts-advanced-a4e0fe4a-9687-4652-a7a4-df8db8e5d693' {
	savedefault
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod fat
	set root='hd2,gpt1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,gpt1' --hint-bios=hd2,gpt1 --hint-efi=hd2,gpt1 --hint-baremetal=ahci2,gpt1  919E-0B83
	else
	  search --no-floppy --fs-uuid --set=root 919E-0B83
	fi
	echo	'Loading Linux linux-lts ...'
	linux	/vmlinuz-linux-lts root=UUID=a4e0fe4a-9687-4652-a7a4-df8db8e5d693 rw  threadirqs amdgpu.audio=0 amdgpu.dc=1
	echo	'Loading initial ramdisk ...'
	initrd	/intel-ucode.img /initramfs-linux-lts.img
}
menuentry 'Arch Linux, with Linux linux-lts (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-lts-fallback-a4e0fe4a-9687-4652-a7a4-df8db8e5d693' {
	savedefault
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod fat
	set root='hd2,gpt1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,gpt1' --hint-bios=hd2,gpt1 --hint-efi=hd2,gpt1 --hint-baremetal=ahci2,gpt1  919E-0B83
	else
	  search --no-floppy --fs-uuid --set=root 919E-0B83
	fi
	echo	'Loading Linux linux-lts ...'
	linux	/vmlinuz-linux-lts root=UUID=a4e0fe4a-9687-4652-a7a4-df8db8e5d693 rw  threadirqs amdgpu.audio=0 amdgpu.dc=1
	echo	'Loading initial ramdisk ...'
	initrd	/initramfs-linux-lts-fallback.img
}
menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-a4e0fe4a-9687-4652-a7a4-df8db8e5d693' {
	savedefault
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod fat
	set root='hd2,gpt1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,gpt1' --hint-bios=hd2,gpt1 --hint-efi=hd2,gpt1 --hint-baremetal=ahci2,gpt1  919E-0B83
	else
	  search --no-floppy --fs-uuid --set=root 919E-0B83
	fi
	echo	'Loading Linux linux ...'
	linux	/vmlinuz-linux root=UUID=a4e0fe4a-9687-4652-a7a4-df8db8e5d693 rw  threadirqs amdgpu.audio=0 amdgpu.dc=1
	echo	'Loading initial ramdisk ...'
	initrd	/intel-ucode.img /initramfs-linux.img
}
menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-a4e0fe4a-9687-4652-a7a4-df8db8e5d693' {
	savedefault
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod fat
	set root='hd2,gpt1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,gpt1' --hint-bios=hd2,gpt1 --hint-efi=hd2,gpt1 --hint-baremetal=ahci2,gpt1  919E-0B83
	else
	  search --no-floppy --fs-uuid --set=root 919E-0B83
	fi
	echo	'Loading Linux linux ...'
	linux	/vmlinuz-linux root=UUID=a4e0fe4a-9687-4652-a7a4-df8db8e5d693 rw  threadirqs amdgpu.audio=0 amdgpu.dc=1
	echo	'Loading initial ramdisk ...'
	initrd	/initramfs-linux-fallback.img
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

What I've tried so far

All the boot options (linux, linux with fallback initramfs, linux-lts, linux-lts with initramfs). Same kernel panic for any of them.

Boot from USB install media, mount root, arch-chroot, mount boot, reinstall linux with pacman:

mkdir /mnt/arch
mount /dev/sdc2 /mnt/arch
arch-chroot /mnt/arch
mount /dev/sdc1 /boot
pacman -S linux

Also tried grub reinstall, etc. from the chroot (i.e., same steps as above, but replace the pacman -S command with the following):

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

Any insight or guidance would be appreciated!

Last edited by philotomy (2020-03-15 23:33:14)


Tu ne cede malis sed contra audentior ito!

Offline

#2 2020-03-15 17:29:15

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: [SOLVED] Kernel panic: No init found

Well, it is complaining about init, not the kernel and not the bootloader. So how about you go back into the install media, re-enter the arch-chroot environment, and take a look at /sbin/init to see if it is a working init?

(It should be a working symlink to ../lib/systemd/systemd)


Managing AUR repos The Right Way -- aurpublish (now a standalone tool)

Offline

#3 2020-03-15 17:36:12

philotomy
Member
Registered: 2014-12-08
Posts: 20

Re: [SOLVED] Kernel panic: No init found

That's what it's showing:

ls -l /sbin/init

lrwxrwxrwx 1 root root 22 Mar 10 16:32 /sbin/init -> ../lib/systemd/systemd

Tu ne cede malis sed contra audentior ito!

Offline

#4 2020-03-15 17:45:33

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: [SOLVED] Kernel panic: No init found

And can you successfully execute it? Is it broken (e.g. missing shared library dependencies)?

If that works fine, then what about the /sbin/init inside your initramfs?


Managing AUR repos The Right Way -- aurpublish (now a standalone tool)

Offline

#5 2020-03-15 17:48:45

philotomy
Member
Registered: 2014-12-08
Posts: 20

Re: [SOLVED] Kernel panic: No init found

Here's what I get when I try to execute it:

# /bin/init
Trying to run as user instance, but the system has not been booted with systemd

Tu ne cede malis sed contra audentior ito!

Offline

#6 2020-03-15 18:00:50

philotomy
Member
Registered: 2014-12-08
Posts: 20

Re: [SOLVED] Kernel panic: No init found

There doesn't appear to be a /sbin/init in the initramfs. Here's what lsinitcpio shows:

# lsinitcpio -v /boot/initramfs-linux.img | grep init
-rw-r--r--   0 root     root            0 Dec 31  1969 etc/initrd-release
-rwxr-xr-x   0 root     root         2093 Dec 31  1969 init
-rw-r--r--   0 root     root        13140 Dec 31  1969 init_functions
lrwxrwxrwx   0 root     root            7 Dec 31  1969 usr/bin/init -> busybox
lrwxrwxrwx   0 root     root            7 Dec 31  1969 usr/bin/run-init -> busybox

Tu ne cede malis sed contra audentior ito!

Offline

#7 2020-03-15 19:09:05

philotomy
Member
Registered: 2014-12-08
Posts: 20

Re: [SOLVED] Kernel panic: No init found

The USB media I was using to boot and chroot was a pretty old install image, so I downloaded the latest one and tried again.

Now if I chroot and try to run /sbin/init I get the following:

Cannot determine cgroup we are running in: No medium found
Failed to allocate manager object: No medium found

Tu ne cede malis sed contra audentior ito!

Offline

#8 2020-03-15 22:24:35

seth
Member
Registered: 2012-09-03
Posts: 51,206

Re: [SOLVED] Kernel panic: No init found

Can you boot with "init=/bin/bash"?
When the boot fails, are you dropped into an emergency shell?

Offline

#9 2020-03-15 23:13:37

philotomy
Member
Registered: 2014-12-08
Posts: 20

Re: [SOLVED] Kernel panic: No init found

I believe I figured out what was going on (with some help from pacman -Qkk).

I recently installed the firebird database, and it looks like that installation messed up /usr/lib64. Instead of a symlink, it was an actual directory with nothing in it except symlinks to firebird database libs. I removed all that and made it a symlink to /usr/lib. After that I was able to boot. Going to poke around and make sure nothing else got screwed up (I need to review exactly how it happened, because I never force install anything with pacman, but I don't remember what the firebird install process was).

Thanks for taking a look at this; I appreciate it. The replies helped me get on the right track (and made me feel less alone with the problem -- not how I planned on spending most of my Sunday...)

Last edited by philotomy (2020-03-15 23:35:34)


Tu ne cede malis sed contra audentior ito!

Offline

Board footer

Powered by FluxBB