Двойная загрузка Ubuntu и Manjaro :Manjaro загружается только в резервном ядре initramfs

Поскольку кажется, что raspbian использует timesyncd , я бы отрегулировал ваш файл модуля, чтобы он зависел от этой цели:

[Unit]
Description=desc
Requires=mysql.service
After=syslog.target mysql.service  systemd-timesyncd
#                                 ^^^ the addition ^^^

[Service]
Type=simple
...

Если вы отключили timesyncd в пользу ntp, замените имя службы NTP.

Похоже , что более новые (239+ )версии systemd поддерживают службу синхронизации времени -, которая кажется более полезной, поскольку она ожидает, пока часы не будут синхронизированы, а не только начало процесса синхронизации.

Если короткое время запуска не критично, и вы обнаружите, что ваша служба все еще запускается до того, как время было синхронизировано,вам может показаться достаточным добавить короткую задержку запуска вашей службы с помощьюExecStartPre:

...
ExecStartPre=sleep 30
...

Скорректируйте время сна на основе экспериментов со временем, которое надежно требуется вашему пи для синхронизации времени.

0
01.10.2020, 23:29
1 ответ

У меня такая же проблема. Суть в том, что update -grub создает пункт меню для Manjaro, но ему нужны 2 файла в строке initrd:

  • /boot/amd-ucode.img
  • /boot/initramfs-5.8-x86_64.img

, но генерирует только первое.

Это известная ошибка , и вы можете решить ее, следуя ответу, найденному здесь

Вот :нужно изменить два файла; Я тестировал его на своем Lubuntu 16.04.1 и Manjaro Linux.

В Ubuntu:

  1. В файле /usr/lib/linux-boot-probes/mounted/40grub2есть функция parse_grub_menu(), которая обрабатывает не все параметры initrd. Вам нужно изменить 'case "$1" в... initrd )':

    a )удалить назначение

    initrd="$(echo "$2"...)"
    

    b )добавить две строки вместо удаленной:

    shift 1
    initrd="$(echo "$@" | sed 's/(.*)//')"
    
  2. Файл /etc/grub.d/30_os-proberвнутри цикла forфиксирует назначениеLINITRD:

    for LINUX in ${LINUXPROBED}; do
    ...
    LINITRD="`echo ${LINUX} | cut -d ':' -f 5 | tr '^' ' '`"
    

Первое исправление учитывает всю доступную информацию initrd для Manjaro. Второе исправление очищает сгенерированную строку initrd , заменяя некоторые символы ^пробелами.

0
18.03.2021, 23:00

Теги

Похожие вопросы