Pantek Library
Hosting Provided By
CybrHost
High Speed Hosting
Index: debian/control
===================================================================
--- debian/control	(revision 48544)
+++ debian/control	(working copy)
@@ -18,5 +18,5 @@
 Priority: optional
 XC-Package-Type: udeb
 XB-Installer-Menu-Item: 3900
-Depends: rescue-check, cdebconf-udeb (>= 0.73), harddrive-detection, ext2-modules, ext3-modules, fat-modules, jfs-modules, md-modules, reiserfs-modules, xfs-modules, lvm2-udeb, mdadm-udeb (>= 2.5.2), di-utils (>= 1.15)
+Depends: rescue-check, cdebconf-udeb (>= 0.73), harddrive-detection, ext2-modules, ext3-modules, fat-modules, jfs-modules, md-modules, reiserfs-modules, xfs-modules, lvm2-udeb, mdadm-udeb (>= 2.5.2), di-utils (>= 1.15), crypto-modules, cryptsetup-udeb
 Description: mount requested partition and start a rescue shell
Index: debian/rescue-mode.templates
===================================================================
--- debian/rescue-mode.templates	(revision 48544)
+++ debian/rescue-mode.templates	(working copy)
@@ -81,3 +81,11 @@
  environment. If you want to make it your root file system temporarily, run
  "chroot /target". If you need any other file systems (such as a separate
  "/usr"), you will have to mount those yourself.
+
+Template: rescue/passphrase
+Type: password
+_Description: Passphrase for ${DEVICE}:
+ Please enter the passphrase for the encrypted volume ${DEVICE}.
+ .
+ If you don't enter anything, the volume will not be available during
+ rescue operations.
Index: debian/rescue-mode.postinst
===================================================================
--- debian/rescue-mode.postinst	(revision 48544)
+++ debian/rescue-mode.postinst	(working copy)
@@ -14,6 +14,55 @@
 	log-output -t rescue modprobe "$1" || true
 }
 
+rescan_lvm () {
+	log-output -t rescue pvscan || true
Do you need help?X
+ log-output -t rescue vgscan || true +} + +get_passphrase () { + db_set rescue/passphrase "" + db_fset rescue/passphrase seen false + db_subst rescue/passphrase DEVICE "$dev" + db_input critical rescue/passphrase + + db_go || return 1 + + db_get rescue/passphrase || RET='' + echo -n "$RET" +} + +do_cryptsetup () { + local pass_ok pass dev cryptdev + + dev="$1" + pass_ok=0 + cryptdev="${dev##*/}_crypt" + while [ $pass_ok -eq 0 ]; do + pass="$(get_passphrase)" || return 1 + if [ -z "$pass" ]; then + return 1 + fi + echo -n "$pass" | log-output -t rescue \ + cryptsetup -d - luksOpen "$dev" "$cryptdev" && pass_ok=1 + done +} + +open_encrypted_partitions () { + local found pass_ok + + found=0 + for dev in $(list-devices partition); do + if cryptsetup isLuks "$dev" 2> /dev/null; then + do_cryptsetup "$dev" && found=1 + fi + done + + if [ $found -eq 0 ]; then + return 1 + fi + try_load_module aes +} + try_load_module ext2 try_load_module ext3 try_load_module jfs @@ -39,9 +88,13 @@ # LVM support try_load_module dm-mod try_load_module lvm-mod -log-output -t rescue pvscan || true -log-output -t rescue vgscan || true +rescan_lvm +# Crypto support +open_encrypted_partitions && + # Scan for LVM partitions again as we just added encrypted volumes + rescan_lvm + db_capb backup MOUNTED=

Contact Us  Legal Notices  Order Services Online 
Pantek Home  Privacy Policy  IT news  Site Map  Pantek Library