没有 systemd 但有 initramfs 的 Debian Jessie 在启动时挂起

没有 systemd 但有 initramfs 的 Debian Jessie 在启动时挂起

我需要在不使用systemd和使用 Jessie 的情况下使用initramfs.

但似乎存在一些不兼容的地方。在启动过程中,我得到:

Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... /scripts/init-premount/devpts: line 21: mountpoint: not found

看来用途 /usr/share/initramfs-tools/scripts/init-top/udevsystemd我从系统中卸载并替换为sysvinit):

#Content of udev
/lib/systemd/systemd-udevd --daemon --resolve-names=never
#Content of udev (to be continued)

因此,它无法正确安装系统并为devpts下一个脚本做好准备。因此启动时会出现错误。

重新使用initramfs以前的 Debian 版本(wheezy)中的脚本(从 init-top 到 init-bottom)可以吗?

或者是否有另一种(更简单的方法)使我当前的 initramfs 工作(仅修改某些文件)?

编辑: 我使用名为 Armbian 的 Debian 风格。我没有任何桌面环境,仅将其用作无头服务器

答案1

首先你需要安装Sysvinit包:

apt-get install sysvinit-core sysvinit-utils
cp /usr/share/sysvinit/inittab /etc/inittab

配置grub:

编辑/etc/default/grub文件并将其更改GRUB_CMDLINE_LINUX_DEFAULT为:

GRUB_CMDLINE_LINUX_DEFAULT="init=/lib/sysvinit/init console=hvc0 console=ttyS0"

更新grub

update-grub

重新启动,然后删除所有 systemd 软件包:

apt-get remove --purge --auto-remove systemd

要防止apt将来安装 systemd 软件包,请运行:

echo -e 'Package: systemd\nPin: release *\nPin-Priority: -1' > /etc/apt/preferences.d/systemd
echo -e '\n\nPackage: *systemd*\nPin: release *\nPin-Priority: -1' >> /etc/apt/preferences.d/systemd

将重要包固定到 wheezy:

echo deb http://ftp.debian.org/debian/ wheezy main contrib non-free >/etc/apt/sources.list.d/wheezy.list
echo -e '\n\nPackage: policykit-1\nPin: origin "wheezy"\nPin-Priority: -1' >> /etc/apt/preferences.d/systemd
echo -e '\n\nPackage: libpolkit-*\nPin: origin "wheezy"\nPin-Priority: -1' >> /etc/apt/preferences.d/systemd
echo -e '\n\nPackage: upower\nPin: origin "wheezy"\nPin-Priority: -1' >> /etc/apt/preferences.d/systemd

安装 polkit:

apt-get install polkit-1 libpolkit-agent-1-0 libpolkit-backend-1-0 libpolkit-gobject-1-0 upower udisks

重启

来源

相关内容