From nobody Thu Oct 2 19:01:33 2025 Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0FFAB136672 for ; Sat, 13 Sep 2025 01:01:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757725315; cv=none; b=dwScL36s4Mp3NDATS2J9mjdu4QIjc2ZT+j01VCsNqO/EACmRilHVbMfprfTYYdYy/rhizrFCNP5KEZf52IldV69IKuTN0YBuE3vmiGDaDJQ5zLeKm2OPer8Nhm17KYanheom+DcCY0LuHlugLvUUsCHNWTbHnQIP4TSFy7RRrDY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757725315; c=relaxed/simple; bh=ZZkhjwhbE6/y3ircTGqTXeD3vHrC5P1n1IkbBCMXiHo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cZfVyiGY2UOQm45fDo8ACXRlkXTQDw4b/IkdjwjqH4iFBDlvmgSZy9JX2nmTWiacRGsaDzPmOZqqm95P+g/XMlLM3ORlcIh0EJDyVCCxxiDYtdtdTpQBrfBit5TWeLKTmYj84ynxgct1OgSHXp3SHmG4HX3RkwGYDw5nVE6UJEI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Q8rWdZ3v; arc=none smtp.client-ip=209.85.218.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Q8rWdZ3v" Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-b0415e03e25so324647066b.0 for ; Fri, 12 Sep 2025 18:01:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757725311; x=1758330111; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XZEc0E3RkrtT53PvUmeExPdZ+yV/ZVWq9ufU5BOWTEg=; b=Q8rWdZ3vPQO1IDpapVGlhe3nSOw6j7XOwKTltsOQUoqihFACKG7eINVSNY+6Egf1rz 90lgEMndfc+LJNqp6Bw9t8ThVQ9YcGTLnXt4oOQQjnIiW539pIwvpIKLF2/M1970rnmG pF64Klv2fcCQ12ZentyM3dPxge5HtBxxT1o0lSI5zeEIQ6oEBFm+nmc0OIU8DRXsa8AF PHG5ixPgYhjikb9K0Kk7wBIAta4uu/bmCq+LgT6KPw9CuIbMv9L+7pWh69ssFc/sVlxg 2+UB7ZZgZABxPVpf6CdhmNDZ+v4yJor6u01ZLFjrHuprYzxjaWXtkZ0Xqy+GHquIIOw7 6Lfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757725311; x=1758330111; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XZEc0E3RkrtT53PvUmeExPdZ+yV/ZVWq9ufU5BOWTEg=; b=oHR/f/JaTEyg6KuZqILAT8pPtQLpAO5LWCiLQmjRiS+z4vTBKf2qfTs1o705xVhmtY J56D603HA24PB454MfT6GhbdYkXog6VvWUxfOIR3Jiwlt7Lzs7pCr9+Dn47FS/PHMmbj OGKIXnge9LWnyNBSKYHlksxPdsmJGVrHd0yk1g3NEtwF7JOVw0MTtnpk0SJt3hvXkq/m 4+tdbVsiRQwjzGeWI8jyTtarMk7aXeMDVlgA2Ng6ELmTBimJ8R23n7U+N5rboeF4hqyk 9tH/RpGGMa+xNLpBUwr7YbS3Rar2a/X90+pTDhVhmMiiFJU4tMgRSPYqBSKs7B7/pDn9 36DQ== X-Forwarded-Encrypted: i=1; AJvYcCULWJKrXjNK26aNCa3URAb7Hl8iPr8Y0HHt1/dEWM7m0aOGPTckzh8m9GzBawXn9SqsFobICz/CbMLqsEc=@vger.kernel.org X-Gm-Message-State: AOJu0Ywohi1OsK++JlfH3vIBGIkFSIqYyZu/9ydGmGpO4A4de7FNra7b upf04mXdcuk6kOA90X+YTWxcdE1enONwxX9/ZgPp1Ixnyq2BrVsU9XD0 X-Gm-Gg: ASbGncv95+OR8M5w7u7Z2AJJgmJAAm27kHPka8MKsOXkwsdlJAVPF9nlSqBVN4KH1dM Y3UwGUjbjeWPWO2qkjSRvQVgzE/hHAIrP4k5ctYpKM4jc3bxMgt24DOwYrLZ5S7pEy2ow4swbRY 4rzPN+juz8GBKT3OElegP0DfPocJez2fQrjrNvFn2PkM6WvgcfOMr3mlKHyBkArkFsYEuaEgfkA vXs/QfLLKCE0dXPhCfTQcazJRamROsCd/twP7H6oNMw5R8EwloCGxeEKWT0bOE9QopwbAB1yQjv Kym0u3U39RgVatlZUaMMBDmbswYj+8HfLY/ACFVv/INr0S1jZl+UsYoswGmZIXSgTi2g52VWTfK 9ooDHH3NWdkFJj4fLdMcRP2QiejP6zA== X-Google-Smtp-Source: AGHT+IEAi4xtonmhCaT33K2Hzh7yyRfMcFV0HvMSUAxXUtkPqhwfRFML0tJIQIoV7OGJ/h1kr7fV7w== X-Received: by 2002:a17:907:3d0c:b0:b04:7880:3e8c with SMTP id a640c23a62f3a-b07c3820252mr475574166b.38.1757725311044; Fri, 12 Sep 2025 18:01:51 -0700 (PDT) Received: from localhost ([212.73.77.104]) by smtp.gmail.com with UTF8SMTPSA id a640c23a62f3a-b07b317124esm476784166b.46.2025.09.12.18.01.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 12 Sep 2025 18:01:50 -0700 (PDT) From: Askar Safin To: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Linus Torvalds , Greg Kroah-Hartman , Christian Brauner , Al Viro , Jan Kara , Christoph Hellwig , Jens Axboe , Andy Shevchenko , Aleksa Sarai , =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= , Julian Stecklina , Gao Xiang , Art Nikpal , Andrew Morton , Eric Curtin , Alexander Graf , Rob Landley , Lennart Poettering , linux-arch@vger.kernel.org, linux-alpha@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org, loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-openrisc@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-um@lists.infradead.org, x86@kernel.org, Ingo Molnar , linux-block@vger.kernel.org, initramfs@vger.kernel.org, linux-api@vger.kernel.org, linux-doc@vger.kernel.org, linux-efi@vger.kernel.org, linux-ext4@vger.kernel.org, "Theodore Y . Ts'o" , linux-acpi@vger.kernel.org, Michal Simek , devicetree@vger.kernel.org, Luis Chamberlain , Kees Cook , Thorsten Blum , Heiko Carstens , patches@lists.linux.dev Subject: [PATCH RESEND 20/62] doc: remove Documentation/power/swsusp-dmcrypt.rst Date: Sat, 13 Sep 2025 00:37:59 +0000 Message-ID: <20250913003842.41944-21-safinaskar@gmail.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250913003842.41944-1-safinaskar@gmail.com> References: <20250913003842.41944-1-safinaskar@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" It contains obsolete initrd and lilo based instructions Signed-off-by: Askar Safin --- Documentation/power/index.rst | 1 - Documentation/power/swsusp-dmcrypt.rst | 140 ------------------ .../translations/zh_CN/power/index.rst | 1 - 3 files changed, 142 deletions(-) delete mode 100644 Documentation/power/swsusp-dmcrypt.rst diff --git a/Documentation/power/index.rst b/Documentation/power/index.rst index a0f5244fb427..9f1758c92e48 100644 --- a/Documentation/power/index.rst +++ b/Documentation/power/index.rst @@ -22,7 +22,6 @@ Power Management suspend-and-cpuhotplug suspend-and-interrupts swsusp-and-swap-files - swsusp-dmcrypt swsusp video tricks diff --git a/Documentation/power/swsusp-dmcrypt.rst b/Documentation/power/s= wsusp-dmcrypt.rst deleted file mode 100644 index afb29a58fdf8..000000000000 --- a/Documentation/power/swsusp-dmcrypt.rst +++ /dev/null @@ -1,140 +0,0 @@ -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -How to use dm-crypt and swsusp together -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - -Author: Andreas Steinmetz - - - -Some prerequisites: -You know how dm-crypt works. If not, visit the following web page: -http://www.saout.de/misc/dm-crypt/ -You have read Documentation/power/swsusp.rst and understand it. -You did read Documentation/filesystems/ramfs-rootfs-initramfs.rst and know= how an initrd works. -You know how to create or how to modify an initrd. - -Now your system is properly set up, your disk is encrypted except for -the swap device(s) and the boot partition which may contain a mini -system for crypto setup and/or rescue purposes. You may even have -an initrd that does your current crypto setup already. - -At this point you want to encrypt your swap, too. Still you want to -be able to suspend using swsusp. This, however, means that you -have to be able to either enter a passphrase or that you read -the key(s) from an external device like a pcmcia flash disk -or an usb stick prior to resume. So you need an initrd, that sets -up dm-crypt and then asks swsusp to resume from the encrypted -swap device. - -The most important thing is that you set up dm-crypt in such -a way that the swap device you suspend to/resume from has -always the same major/minor within the initrd as well as -within your running system. The easiest way to achieve this is -to always set up this swap device first with dmsetup, so that -it will always look like the following:: - - brw------- 1 root root 254, 0 Jul 28 13:37 /dev/mapper/swap0 - -Now set up your kernel to use /dev/mapper/swap0 as the default -resume partition, so your kernel .config contains:: - - CONFIG_PM_STD_PARTITION=3D"/dev/mapper/swap0" - -Prepare your boot loader to use the initrd you will create or -modify. For lilo the simplest setup looks like the following -lines:: - - image=3D/boot/vmlinuz - initrd=3D/boot/initrd.gz - label=3Dlinux - append=3D"root=3D/dev/ram0 init=3D/linuxrc rw" - -Finally you need to create or modify your initrd. Lets assume -you create an initrd that reads the required dm-crypt setup -from a pcmcia flash disk card. The card is formatted with an ext2 -fs which resides on /dev/hde1 when the card is inserted. The -card contains at least the encrypted swap setup in a file -named "swapkey". /etc/fstab of your initrd contains something -like the following:: - - /dev/hda1 /mnt ext3 ro 0 0 - none /proc proc defaults,noatime,nodiratime 0 0 - none /sys sysfs defaults,noatime,nodiratime 0 0 - -/dev/hda1 contains an unencrypted mini system that sets up all -of your crypto devices, again by reading the setup from the -pcmcia flash disk. What follows now is a /linuxrc for your -initrd that allows you to resume from encrypted swap and that -continues boot with your mini system on /dev/hda1 if resume -does not happen:: - - #!/bin/sh - PATH=3D/sbin:/bin:/usr/sbin:/usr/bin - mount /proc - mount /sys - mapped=3D0 - noresume=3D`grep -c noresume /proc/cmdline` - if [ "$*" !=3D "" ] - then - noresume=3D1 - fi - dmesg -n 1 - /sbin/cardmgr -q - for i in 1 2 3 4 5 6 7 8 9 0 - do - if [ -f /proc/ide/hde/media ] - then - usleep 500000 - mount -t ext2 -o ro /dev/hde1 /mnt - if [ -f /mnt/swapkey ] - then - dmsetup create swap0 /mnt/swapkey > /dev/null 2>&1 && mapped=3D1 - fi - umount /mnt - break - fi - usleep 500000 - done - killproc /sbin/cardmgr - dmesg -n 6 - if [ $mapped =3D 1 ] - then - if [ $noresume !=3D 0 ] - then - mkswap /dev/mapper/swap0 > /dev/null 2>&1 - fi - echo 254:0 > /sys/power/resume - dmsetup remove swap0 - fi - umount /sys - mount /mnt - umount /proc - cd /mnt - pivot_root . mnt - mount /proc - umount -l /mnt - umount /proc - exec chroot . /sbin/init $* < dev/console > dev/console 2>&1 - -Please don't mind the weird loop above, busybox's msh doesn't know -the let statement. Now, what is happening in the script? -First we have to decide if we want to try to resume, or not. -We will not resume if booting with "noresume" or any parameters -for init like "single" or "emergency" as boot parameters. - -Then we need to set up dmcrypt with the setup data from the -pcmcia flash disk. If this succeeds we need to reset the swap -device if we don't want to resume. The line "echo 254:0 > /sys/power/resum= e" -then attempts to resume from the first device mapper device. -Note that it is important to set the device in /sys/power/resume, -regardless if resuming or not, otherwise later suspend will fail. -If resume starts, script execution terminates here. - -Otherwise we just remove the encrypted swap device and leave it to the -mini system on /dev/hda1 to set the whole crypto up (it is up to -you to modify this to your taste). - -What then follows is the well known process to change the root -file system and continue booting from there. I prefer to unmount -the initrd prior to continue booting but it is up to you to modify -this. diff --git a/Documentation/translations/zh_CN/power/index.rst b/Documentati= on/translations/zh_CN/power/index.rst index bc54983ba515..4ee880e65107 100644 --- a/Documentation/translations/zh_CN/power/index.rst +++ b/Documentation/translations/zh_CN/power/index.rst @@ -32,7 +32,6 @@ TODOList: * suspend-and-cpuhotplug * suspend-and-interrupts * swsusp-and-swap-files - * swsusp-dmcrypt * swsusp * video * tricks --=20 2.47.2