benutzte seit kurzem systemd und wollte dann auch gleich die rc.local auflösen; der Eintrag der mir Schwierigkeiten bereitet ist der:
/sbin/losetup -f /mnt/newHome && /usr/sbin/cryptsetup create newHome /dev/loop0 && /bin/mount /home/user
folgendes hab ich ausprobiert, aber beim booten hab ich nie die Möglichkeit das Passwort einzugeben:
xinit.service
[Unit]
Description=Direct login to X
After=decryptHome.service
Requires=decryptHome.service
[Service]
ExecStart=/bin/su user -l -c "/bin/bash --login -c xinit"
[Install]
WantedBy=graphical.target
decryptHome.service
[Unit]
Description=Mounts the decrypted home
[Service]
Type=oneshot
ExecStartPre=/sbin/losetup -f /mnt/newHome
ExecStart=/usr/sbin/cryptsetup create newHome /dev/loop0
ExecStartPost=/bin/mount /home/user
[Install]
WantedBy=graphical.target
# systemctl status decryptHome.service
decryptHome.service - Mounts the decrypted home
Loaded: loaded (/etc/systemd/system/graphical.target.wants/decryptHome.service)
Active: failed (Result: exit-code) since Tue, 04 Sep 2012 12:38:43 +0200; 3s ago
Process: 1606 ExecStart=/usr/sbin/cryptsetup create newHome /dev/loop0 (code=exited, status=1/FAILURE)
Process: 1601 ExecStartPre=/sbin/losetup -f /mnt/newHome (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/decryptHome.service
edit:
hab nun eine bessere Idee, die leider auch (noch) nicht funktioniert:
$ cat /etc/crypttab
newHome /dev/loop0
$ cat /etc/systemd/system/cryptsetup.target.requires/decrypt.service
[Unit]
Description=Creats loop devices (used in /etc/crypttab)
[Service]
Type=oneshot
ExecStart=/sbin/losetup -f /mnt/newHome
[Install]
Before=cryptsetup.target
RequiredBy=cryptsetup.target
$ cat /etc/fstab
/dev/sda5 / ext4 defaults,relatime 0 1
tmpfs /tmp tmpfs nodev,nosuid,noexec 0 0
/dev/sda2 /boot ext2 nodev,nosuid,noexec,ro,relatime 0 1
/dev/sda1 /mnt/7 ntfs nodev,nosuid,noexec,noauto,rw 0 0
/dev/mapper/newHome /home/user ext4 nosuid,nodev,noexec,noauto 0 0
nun ist aber das Problem, dass nachdem die /tmp und die /boot Partition gemounted wird der Startvorgang "einfriert" (zu diesem Zeitpunkt hab ich noch kein Passwort eingegeben)