С помощью sysvinit у вас есть три сценария начальной загрузки :«sysinit», «bootwait» и «boot» (через /etc/inittab ). Они монтируют устройства, загружают модули и т. д. ДО запуска уровней выполнения.
Корень уже смонтирован, /proc нужен первым. /sys, наверное, тоже.
Попробуйте подключить устройства UUID немного ПОЗЖЕ. Это означает, что вам нужно немного разделить ваш mount -a
и по-разному распределить (нет )опций auto в /etc/fstab. /proc и внешнее хранилище на самом деле не относятся к одному и тому же шагу монтирования.
Подумайте о systemd и всех этих "зависимостях".
Должен быть какой-то модуль (драйвер ), который необходим до того, как UUID -USB-устройство может быть смонтировано.
(Если вы используете initrd, это становится немного сложнее. Я знаю, как это может зависнуть в ожидании устройства "по -метке")
Чтобы изменить, вам нужно посмотреть на /etc/inittab
. Вот несколько строк из моего:
...
# Simple "old Linux" inittab from manpage:
# one (default) runlevel, 4 gettys, one bootwait rc-script
id:2:initdefault:
# sysinit/boot-scripts, they run first
#si::sysinit:/etc/sysinit.init
bw::bootwait:/etc/boot.init
# b::boot:/etc/rc
...
А это /etc/boot.init (скрипт "bootwait"):
#! /bin/bash
# Boot script, as defined in sysv inittab
echo "$0: starting...."
mountpoint /proc || mount -v -t proc Proc /proc
mountpoint /sys || mount -v -t sysfs Sys /sys
# root ro -> rw ?
# fed is ro, arch rw...
mount -o remount /
# Modules: for keyboard
modprobe -a xhci-pci usbhid hid-generic # i2c-hid
echo 0 > /sys/devices/virtual/graphics/fbcon/cursor_blink
echo "...$0 done"
Это все, что мне нужно, когда я загружаюсь с sysvinit. Неотъемлемой частью был модуль клавиатуры! Ничто не может работать, если ваша клавиатура мертва! Монтирование proc и sys немного роскошно -, просто обратите внимание, как я монтирую эти два виртуальных устройства вручную. Я пытался использовать /etc/fstab, но это не имело особого смысла. Минимальная команда простоmount -t proc none /proc
Команда mountpoint... || mount
мне понадобилась, потому что systemd initrd уже поставляется с смонтированными proc, sys и run (tmpfs ).И я не хотел видеть ошибку «уже смонтировано», а правильный вывод. Это не systemd, но с помощью простого скрипта вы можете сделать основы.
libicui18n.so.69 является частью пакета icu , который должен был быть установлен как зависимость при установке postgresql. Если у вас не установлена правильная версия (69.1 -1, проверьте pacman -Qi icu
для текущей установленной версии ), вы, вероятно, сделали частичное обновление (, возможно, для установки postgresql? )и вам необходимо обновить всю систему с помощью pacman -Syu
. Частичное обновление на Archlinux не поддерживается .