View previous topic :: View next topic |
Author |
Message |
irf4n n00b
Joined: 29 Aug 2006 Posts: 10
|
Posted: Wed Oct 25, 2006 11:26 am Post subject: initrd -> keine dev-nodes |
|
|
Hallo alle zusammen
Ich habe mich daran gewagt meine Root ( / ) - Partition zu verschlüsseln.
Die Partition lässt sich über die Gentoo-Live-CD prima entschlüsseln. Damit ich ich ich die Root-Partition
während des Bootes entschlüsseln kann muss ich ein angepasstes initrd image verwenden.
Nun steh ich vor einem Problem:
Nachdem das initrd image geladen ist, versucht luks die platten zu entschlüsseln, kann dieses jedoch nicht machen,
da keine device nodes im /dev ordner vorhanden sind. Danach werde ich in eine "minimal-shell" gedropt.
Also, habe ich mir gedacht, füg das device-node für die Partiton doch manuell zum initrd-image hinzu.
Gesagt , getan -> reboot -> wieder ein leerer /dev ordner (bis auf console, null und nen paar pty).
Ein Freund von mir meinte, du musst dem Kernel udev Parameter mitgeben (gentoo=nodevfs devfs=nomount oder udev).
Dies hat aber auch nicht geholfen.
Ich hoffe ich könnte mir weiterhelfen.
Vielen Dank schon mal.
===============
Hier ein paar Daten:
kernel = vanilla-source-2.6.17
initrd = busybox
Kernel Config und BusyBox config kann ich erst nachher posten, da ich noch auf der Arbeit bin.
Tutorial das ich benutzt habe zum Verschlüsseln -> http://gentoo-wiki.com/SECURITY_System_Encryption_DM-Crypt_with_LUKS
===============
Gruß irfan |
|
Back to top |
|
|
deejay l33t
Joined: 24 Aug 2004 Posts: 983 Location: Hannover, Germany
|
Posted: Thu Oct 26, 2006 5:43 am Post subject: |
|
|
Moin,
wenn das System gestartet ist, sind die Einträge in /dev aber da, oder?
In irgendeiner Datei kannst du glaube festlegen, dass die /dev Struktur beim
herunterfahren des Rechners gespeichert wird. Bin mir nicht sicher, aber ich glaube
in der /etc/conf.d/rc oder so ähnlich, kann ich grad nicht so genau sagen.
Dort sollte es glaube so eine Option geben. Kann mich aber auch
irren. Vielleicht liegt es daran, vielleicht aber auch nicht
Hoffe, es hilft dir vielleicht ein bißchen weiter.
Gruß
deejay _________________
|
|
Back to top |
|
|
irf4n n00b
Joined: 29 Aug 2006 Posts: 10
|
Posted: Thu Oct 26, 2006 5:49 am Post subject: |
|
|
deejay wrote: | Moin,
wenn das System gestartet ist, sind die Einträge in /dev aber da, oder?
In irgendeiner Datei kannst du glaube festlegen, dass die /dev Struktur beim
herunterfahren des Rechners gespeichert wird. Bin mir nicht sicher, aber ich glaube
in der /etc/conf.d/rc oder so ähnlich, kann ich grad nicht so genau sagen.
Dort sollte es glaube so eine Option geben. Kann mich aber auch
irren. Vielleicht liegt es daran, vielleicht aber auch nicht
Hoffe, es hilft dir vielleicht ein bißchen weiter.
Gruß
deejay |
Danke für deine Antwort. Leider komme ich erst garnicht in mein richtiges System da das initrd ja keine device-files aufweist und somit
die root Partition nicht entschlüsselt werden kann. |
|
Back to top |
|
|
Vortex375 Veteran
Joined: 03 Mar 2005 Posts: 1739 Location: Deutschland
|
Posted: Thu Oct 26, 2006 6:29 am Post subject: |
|
|
Dann musst du die Einstellungen halt von der LiveCD aus ändern. Da klappt es ja anscheinend. |
|
Back to top |
|
|
deejay l33t
Joined: 24 Aug 2004 Posts: 983 Location: Hannover, Germany
|
Posted: Thu Oct 26, 2006 7:51 am Post subject: |
|
|
Soweit ich das verstanden habe geht das wohl schon, aber die /dev Struktur ist ja dann nicht die vom richtigen System, oder? Von daher glaube ich, dass das nicht gehen wird. Bin mir aber nicht ganz sicher. Versuchen kann man es ja.
Gruß _________________
|
|
Back to top |
|
|
DarkSpir Tux's lil' helper
Joined: 04 Feb 2005 Posts: 117
|
Posted: Fri Oct 27, 2006 8:34 am Post subject: |
|
|
Ich habe irgendwann mit viel Gegoogel ein passables Howto zu dem Thema gefunden und mir genau das eingerichtet. Sorry, aber ich hab den Link nicht mehr, aber ich hab natürlich die passenden Scripts in meiner Initrd:
Ich habe mehrere Partitionen, die auch alle verschlüsselt sind (bis auf die boot-Partition natürlich). Hierbei ist nur eine Partition über Passwort verschlüsselt, für die anderen Partitionen habe ich eine Verschlüsselung mit Key-Dateien gemacht, die auf der Passwort-verschlüsselten Partition abgelegt sind.
Meine linuxrc:
Code: |
#!/bin/sh
export PATH=/bin:/sbin
# Get cmdline from proc
mount -t proc proc /proc
CMDLINE='cat /proc/cmdline'
# Create /dev/mapper/control nod for udev systems
sh devmap_mknod.sh
echo
echo
cryptsetup luksOpen /dev/hda8 daten
while test $? -ne 0; do
cryptsetup luksOpen /dev/hda8 daten;
done
mount -t xfs /dev/mapper/daten /crypt > /dev/null
echo
echo "Unlocked: /daten"
cryptsetup luksOpen --key-file /crypt/crypt/keyfile.root /dev/hda7 root > /dev/null
while test $? -ne 0; do
cryptsetup luksOpen --key-file /crypt/crypt/keyfile.root /dev/hda7 root;
done
echo "Unlocked: root"
cryptsetup luksOpen --key-file /crypt/crypt/keyfile.swap /dev/hda2 swap > /dev/null
while test $? -ne 0; do
cryptsetup luksOpen --key-file /crypt/crypt/keyfile.swap /dev/hda2 swap;
done
echo "Unlocked: swap"
cryptsetup luksOpen --key-file /crypt/crypt/keyfile.var_log /dev/hda5 varlog > /dev/null
while test $? -ne 0; do
cryptsetup luksOpen --key-file /crypt/crypt/keyfile.var_log /dev/hda5 varlog;
done
echo "Unlocked: /var/log"
cryptsetup luksOpen --key-file /crypt/crypt/keyfile.var_tmp /dev/hda6 vartmp > /dev/null
while test $? -ne 0; do
cryptsetup luksOpen --key-file /crypt/crypt/keyfile.var_tmp /dev/hda6 vartmp;
done
echo "Unlocked: /var/tmp"
echo
umount /crypt
umount /proc
# If you use JFS, check the filesystem before mounting to make sure it's clean.
# If it's not clean, mounting will fail.
# fsck.jfs /dev/mapper/root
mount -t xfs /dev/mapper/root /new
cd /new
mkdir initrd
pivot_root . initrd
# Start init and flush ram device
exec chroot . /bin/sh <<- EOF >/dev/console 2>&1
umount initrd
rm -rf initrd
blockdev --flushbufs /dev/ram0
exec /sbin/init ${CMDLINE}
EOF
|
Was dich jetzt speziell interessiert, weil's dein Problem löst:
Das devmap_mknod.sh:
Code: |
#!/bin/sh
# Startup script to create the device-mapper control device
# on non-devfs systems.
# Non-zero exit status indicates failure.
DM_DIR="mapper"
DM_NAME="device-mapper"
set -e
DIR="/dev/$DM_DIR"
CONTROL="$DIR/control"
# Check for devfs, procfs
if test -e /dev/.devfsd ; then
echo "devfs detected: devmap_mknod.sh script not required."
exit
fi
if test ! -e /proc/devices ; then
echo "procfs not found; please create $CONTROL manually."
exit 1
fi
# Get major, minor, and mknod
MAJOR=$(sed -n 's/^ *\([0-9]\+\) \+misc$/\1/p' /proc/devices)
MINOR=$(sed -n "s/^ *\([0-9]\+\) \+$DM_NAME\$/\1/p" /proc/misc)
if test -z "$MAJOR" -o -z "$MINOR" ; then
echo "$DM_NAME kernel module not loaded: can't create $CONTROL."
exit 1
fi
mkdir -p --mode=755 $DIR
test -e $CONTROL && rm -f $CONTROL
echo "Creating $CONTROL character device with major:$MAJOR minor:$MINOR."
mknod --mode=600 $CONTROL c $MAJOR $MINOR
|
Wie bereits gesagt, ich hab keine Ahnung von welchem Howto ich das mir geholt habe, ich habs nicht geschrieben (nur auf meine Bedürfnisse angepasst), aber es funktioniert bei mir. |
|
Back to top |
|
|
irf4n n00b
Joined: 29 Aug 2006 Posts: 10
|
Posted: Mon Oct 30, 2006 8:03 am Post subject: |
|
|
Vielen Dank, werde ich nachher gleich ausprobieren |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|