您尚未登录。

#1 2015-01-18 01:10:58

jouyouyun
会员
注册时间: 2011-10-10
帖子: 268

[Sovled] kernel panic not syncing: no working init found

今天更新了系统,内核升级到了 3-18.2.2,然后重启进不去了,出现如下图所示的错误。
bbcode

查了下,似乎是 initramfs-linux.img 错误,chroot 后用 mkinitcpio -p linux 重新生成后,还是无法进入。

请问这该如何处理?

最近编辑记录 jouyouyun (2015-01-18 17:11:07)

离线

#2 2015-01-18 01:59:29

atmouse
会员
注册时间: 2011-08-24
帖子: 701

Re: [Sovled] kernel panic not syncing: no working init found

这是我见过提问最清晰的截图了

再截图一张grub引导参数的图片,
你是不是升级的时候把init程序搞坏了(/usr/lib/systemd/systemd),chroot后 ldd /sbin/init 看下

离线

#3 2015-01-18 11:25:29

jouyouyun
会员
注册时间: 2011-10-10
帖子: 268

Re: [Sovled] kernel panic not syncing: no working init found

ldd /sbin/init or /usr/lib/systemd/systemd

#ldd /sbin/init
        不是动态可执行文件

#ldd /usr/lib/systemd/systemd
        不是动态可执行文件

grub引导参数

menuentry 'Arch (on /dev/sda4)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-d48ef2af-4b2f-40d6-a662-edb4751095e4' {
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos4'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  d48ef2af-4b2f-40d6-a662-edb4751095e4
	else
	  search --no-floppy --fs-uuid --set=root d48ef2af-4b2f-40d6-a662-edb4751095e4
	fi
	linux /boot/vmlinuz-linux root=UUID=d48ef2af-4b2f-40d6-a662-edb4751095e4 rw quiet
	initrd /boot/initramfs-linux.img
}

离线

#4 2015-01-18 13:13:05

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,953
个人网站

Re: [Sovled] kernel panic not syncing: no working init found

果然你把 init 搞坏了。file /usr/lib/systemd/systemd 看看?然后重装 systemd 试试。

离线

#5 2015-01-18 13:13:49

atmouse
会员
注册时间: 2011-08-24
帖子: 701

Re: [Sovled] kernel panic not syncing: no working init found

你安装的是哪个版本的systemd?
systemd官方包的版本应该是这样的
atmouse@ArchCC ~ % file /lib/systemd/systemd
/lib/systemd/systemd: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=1fae1fe19d54505c6a1e98abe695518f734a6020, stripped


绝对是动态链接

离线

#6 2015-01-18 14:19:45

jouyouyun
会员
注册时间: 2011-10-10
帖子: 268

Re: [Sovled] kernel panic not syncing: no working init found

Yun# file /usr/lib/systemd/systemd
/usr/lib/systemd/systemd: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=1fae1fe19d54505c6a1e98abe695518f734a6020, stripped

Yun# pacman -Qi systemd
名称   : systemd
版本   : 218-1
描述   : system and service manager
架构   : x86_64
URL地址  : http://www.freedesktop.org/wiki/Software/systemd
软件许可 : GPL2  LGPL2.1  MIT
软件组  : 无
提供   : nss-myhostname  systemd-tools=218  udev=218
依赖于  : acl  bash  dbus  glib2  kbd  kmod  hwids  libcap  libgcrypt
             libsystemd  libidn  lz4  pam  libseccomp  util-linux  xz
可选依赖 : python: systemd library bindings[已安装]
             cryptsetup: required for encrypted block devices[已安装]
             libmicrohttpd: remote journald capabilities
             quota-tools: kernel-level quota management
             systemd-sysvcompat: symlink package to provide sysvinit
             binaries[已安装]
             polkit: allow administration as unprivileged user[已安装]
要求被  : colord  device-mapper  libgusb  libmbim  libpulse  libusb  lvm2
             media-player-info  mesa  mkinitcpio  modemmanager  netctl
             pcmciautils  polkit  procps-ng  qt5-base  qtwebkit  rtkit
             systemd-sysvcompat  udisks2  upower  xf86-input-evdev
被可选依赖: 无
冲突与  : nss-myhostname  systemd-tools  udev
取代   : nss-myhostname  systemd-tools  udev
安装后大小:  23.60 MiB
打包者  : Dave Reisner <dreisner@archlinux.org>
编译日期 : 2014年12月11日 星期四 10时13分36秒
安装日期 : 2015年01月18日 星期日 11时21分59秒
安装原因 : 作为其他软件包的依赖关系安装
安装脚本 : 是
验证者  : 数字签名

离线

#7 2015-01-18 14:33:20

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,953
个人网站

Re: [Sovled] kernel panic not syncing: no working init found

咦好奇怪。你把你的 /boot/initramfs-linux.img 上传到某个地方我们看看?

离线

#8 2015-01-18 15:23:16

jouyouyun
会员
注册时间: 2011-10-10
帖子: 268

Re: [Sovled] kernel panic not syncing: no working init found

initramfs-linux.img: http://pan.baidu.com/s/1bnwCmWf

离线

#9 2015-01-18 16:12:48

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,953
个人网站

Re: [Sovled] kernel panic not syncing: no working init found

里边缺少库文件,所以各种程序跑不了。看来是你的 ldd 而不是 init 程序有问题……

which -a ldd
file /usr/bin/ldd
file -L /lib64/ld-linux-x86-64.so.2 /usr/lib64/ld-linux-x86-64.so.2 /usr/lib/ld-linux.so.2

离线

#10 2015-01-18 16:19:45

jouyouyun
会员
注册时间: 2011-10-10
帖子: 268

Re: [Sovled] kernel panic not syncing: no working init found

Yun# which -a ldd
/usr/sbin/ldd
/usr/bin/ldd
/sbin/ldd
/bin/ldd

Yun# file /usr/bin/ldd 
/usr/bin/ldd: Bourne-Again shell script, ASCII text executable

Yun# file -L /lib64/ld-linux-x86-64.so.2 /usr/lib64/ld-linux-x86-64.so.2 /usr/lib/ld-linux.so.2
/lib64/ld-linux-x86-64.so.2:     ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c50de0e139140a77a886d53046b76869279c7f71, not stripped
/usr/lib64/ld-linux-x86-64.so.2: cannot open `/usr/lib64/ld-linux-x86-64.so.2' (No such file or directory)
/usr/lib/ld-linux.so.2:          ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=bd8081d5f3b7185243443004f3eae5a13aa3645e, not stripped

Yun# file -L /usr/lib/ld-linux-x86-64.so.2 
/usr/lib/ld-linux-x86-64.so.2: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c50de0e139140a77a886d53046b76869279c7f71, not stripped

没有 /usr/lib64 这个目录,只有 /usr/lib 和 /usr/lib32

离线

#11 2015-01-18 16:39:06

atmouse
会员
注册时间: 2011-08-24
帖子: 701

Re: [Sovled] kernel panic not syncing: no working init found

重装下 filesystem

离线

#12 2015-01-18 16:45:22

jouyouyun
会员
注册时间: 2011-10-10
帖子: 268

Re: [Sovled] kernel panic not syncing: no working init found

atmouse 说:

重装下 filesystem

还是进不了...

离线

#13 2015-01-18 16:54:12

atmouse
会员
注册时间: 2011-08-24
帖子: 701

Re: [Sovled] kernel panic not syncing: no working init found

还有,不急

Only in in/usr/lib: ld-linux-x86-64.so.2
Only in in/usr/lib: libacl.so.1
Only in in/usr/lib: libattr.so.1
Only in in/usr/lib: libblkid.so.1
Only in in/usr/lib: libc.so.6
Only in in/usr/lib: libcap.so.2
Only in in/usr/lib: libkmod.so.2
Only in in/usr/lib: liblzma.so.5
Only in in/usr/lib: libmount.so.1
Only in in/usr/lib: libpthread.so.0
Only in in/usr/lib: librt.so.1
Only in in/usr/lib: libuuid.so.1
Only in in/usr/lib: libz.so.1

包含这些文件的包也要重装

最近编辑记录 atmouse (2015-01-18 16:54:55)

离线

#14 2015-01-18 16:55:24

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,953
个人网站

Re: [Sovled] kernel panic not syncing: no working init found

cd /usr && sudo ln -s lib lib64
sudo mkinitcpio -p linux

按说重新 filesystem 之后 /usr/lib64 就会有的呀。然后重新生成一下 initcpio 文件就可以了。

最近编辑记录 依云 (2015-01-18 16:57:43)

离线

#15 2015-01-18 16:59:44

atmouse
会员
注册时间: 2011-08-24
帖子: 701

Re: [Sovled] kernel panic not syncing: no working init found

可以看出,你需要在chroot下把所有 base包重装下,
至少这几个你已经坏了 "filesystem glibc acl attr libutil-linux libcap kmod xz"
/usr/lib/
/lib/
/lib64/
/usr/lib64/
都没有那几个库文件


重装好后 再mkinitcpio
注意下mkinitcpio 是不是有提示错误, 如果文件坏了的话,有可能就压不到img里面了

最近编辑记录 atmouse (2015-01-18 17:07:57)

离线

页脚