Die kurze Antwort lautet / sys / power / resume
Antwort viel länger, denn das allein wird nicht viel bewirken. Die meisten Distros empfehlen die Initiierung eines Lebenslaufs vom init / PID 1-Prozess (Early User Space). In den Anweisungen werden Sie jedoch fast immer dazu aufgefordert, Ihrem Bootloader mit dem Resume-Ziel ein Kernel-Cmd-Zeilenargument hinzuzufügen. Der Grund dafür ist in fast allen Fällen, dass das initramfs-Buildwerkzeug (dracut / mkinitcpio / initramfs-tools) durch dieses Argument in der Konfiguration selbst ausgelöst wird.
Basierend auf Ihrem Beispiel und Ihrer Distribution gehe ich davon aus, dass Sie die Low-Level-Kernel-Schnittstelle für Suspend (swsusp) verwenden. Es gibt eine Reihe anderer Dienstprogramme, die zum Starten des Suspendierungsvorgangs verwendet werden können. Alle sind im Wesentlichen das erste Element swusp.
- swusp - Low-Level-Kernel-Schnittstelle; Benutzerraum-Schnittstelle erfolgt über sysfs
- uswswp - Suspend Wrapper für Low-Level- Userpace- Software - stellt Dienstprogramme für s2disk und s2ram bereit (wird nicht aktiv verwaltet)
- pm-utils - High-Level-Skripts zur Konfiguration des Prozesses
- systemd-suspend - Auf systemd-Systemen ist ein Suspend-Target verfügbar, das den Suspend-Vorgang über die Kernel-Schnittstelle initiiert.
Konfiguration fortsetzen
Eine vereinfachte Übersicht über die Startsequenz in Linux unter Verwendung eines initramfs-Images lautet:
[BIOS] ==> [Boot Loader] ==> [Kernel auf temporärem rootfs - initramfs] ==> [Kernel auf rootfs - Laufwerken]
Am Ende der initramfs-Phase befindet sich ein kleines Fenster, in dem die Wiederaufnahme stattfinden kann. Nachdem der Kernel PID 1 (systemd oder init) gestartet hat, werden die Treiber für den Raid geladen, aber bevor die eigentlichen Laufwerke gemountet werden.
Ich habe ein Beispiel für eine typische Lebenslaufkonfiguration bereitgestellt. Dies setzt voraus, dass der von Ihnen angegebene Wiederherstellungspfad eine Swap-Partition ist. und keine "normale" Partition, die eine Auslagerungsdatei enthält. Eine Auslagerungsdatei erfordert zusätzliche Konfiguration. Die systemd-Methode unterscheidet sich - sie verwendet eine udev-Regel auf der Grundlage von resume.target, die den Resume-Prozess auslöst. Es lohnt sich zu prüfen, ob der traditionellere Ansatz des Bootloader / initramfs-Images nicht funktioniert. Dies ist eine direkte Ergänzung der Art und Weise, wie ein init-basiertes System dies tun würde. Es ist jedoch etwas komplizierter, das eigene Skript manuell einzufügen und die Abhängigkeiten / relativen Zeitvorgaben zu korrigieren.
Die Quintessenz ist, dass der Zeitpunkt, zu dem die Wiederaufnahme ausgelöst wird, unmittelbar vor dem Zeitpunkt liegt, zu dem der Kernel die "echten" Festplattenlaufwerke einfügt. Wenn der Kernel also die gesamten fs mounten kann, hat er auch alle Fähigkeiten und Informationen, die zum Mounten nur der Swap-Partition erforderlich sind.
Stellen Sie sicher, dass Ihre Swap-Partition über fstab eingehängt ist. Das Dracut-Tool initramfs sucht spezifisch danach und schließt das Resume-Modul nicht ein, wenn die Swap-Partition nicht vorhanden ist.
Bootloader konfigurieren
Wenn Sie grub2 verwenden, müssen Sie resume=/dev/mapper/isw_qfyzrvbsusf_Volume0p9
an das GRUB_CMDLINE_LINUX_DEFAULT
Feld in /etc/default/grub
Update your grub image anhängen, normalerweise mit dem Befehl:sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Initramfs neu aufbauen
Sie müssen das initramfs-Image mit der Resume-Funktion (sowie den bereits durchgeführten Raid-Änderungen) neu erstellen. Debian bietet sowohl Dracut- als auch Initramfs-Tools zum Generieren von Initramfs an. Es muss mit dem Resume-Modul regeneriert werden. Fügen Sie mit dracut das Befehlszeilenargument hinzu --add resume
. Mit update-initramfs
, fügen Sie den Eintrag resume=/dev/mapper/isw_qfyzrvbsusf_Volume0p9
in die Konfigurationsdatei/etc/initramfs-tools/conf.d/resume
Das sollte es sein; Angenommen, ich habe einige korrekte Annahmen bezüglich Ihrer Konfiguration getroffen.
Bearbeiten; Vorausgesetzt, Sie können es zeitlich richtig einstellen, können Sie die Major- / Minor-Gerätenummer der Swap-Partition in / sys / power / resume von einem Init-Skript aus wiederholen, um den Resume auszulösen. Ihr initramfs-Image (oder initd-Image) muss Unterstützung für den Lebenslauf enthalten. Andernfalls ist das sysfs-Element und die darin enthaltene Funktion nicht vorhanden. Siehe https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/983805