[RFC PATCH v2 2/2] Documentation/admin-guide: blockdev/ramdisk: remove use of "rdev"

From: Randy Dunlap
Date: Thu Sep 17 2020 - 21:56:55 EST

Remove use of "rdev" from blockdev/ramdisk.rst and update

"rdev" is considered antiquated, ancient, archaic, obsolete, deprecated
{choose any or all}.

"rdev" was removed from util-linux in 2010:

Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Cc: Karel Zak <kzak@xxxxxxxxxx>
Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
Cc: Jens Axboe <axboe@xxxxxxxxx>
Cc: linux-block@xxxxxxxxxxxxxxx
Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
Cc: Martin Mares <mj@xxxxxx>
Cc: linux-video@xxxxxxxxxxxxxxxxxxxxxxxx
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>
Cc: linux-doc@xxxxxxxxxxxxxxx
v2: modify Changelog date format.

No email address for these:
nCc: Werner Almesberger
nCc: Stephen Tweedie
nCc: Peter MacDonald

Documentation/admin-guide/blockdev/ramdisk.rst | 70 ++++----------
Documentation/admin-guide/kernel-parameters.txt | 9 -
2 files changed, 27 insertions(+), 52 deletions(-)

--- lnx-59-rc5.orig/Documentation/admin-guide/blockdev/ramdisk.rst
+++ lnx-59-rc5/Documentation/admin-guide/blockdev/ramdisk.rst
@@ -6,7 +6,7 @@ Using the RAM disk block device with Lin

1) Overview
2) Kernel Command Line Parameters
- 3) Using "rdev -r"
+ 3) Using "rdev"
4) An Example of Creating a Compressed RAM Disk

@@ -59,51 +59,27 @@ default is 4096 (4 MB).
See ramdisk_size.

-3) Using "rdev -r"
+3) Using "rdev"

-The usage of the word (two bytes) that "rdev -r" sets in the kernel image is
-as follows. The low 11 bits (0 -> 10) specify an offset (in 1 k blocks) of up
-to 2 MB (2^11) of where to find the RAM disk (this used to be the size). Bit
-14 indicates that a RAM disk is to be loaded, and bit 15 indicates whether a
-prompt/wait sequence is to be given before trying to read the RAM disk. Since
-the RAM disk dynamically grows as data is being written into it, a size field
-is not required. Bits 11 to 13 are not currently used and may as well be zero.
-These numbers are no magical secrets, as seen below::
- ./arch/x86/kernel/setup.c:#define RAMDISK_IMAGE_START_MASK 0x07FF
- ./arch/x86/kernel/setup.c:#define RAMDISK_PROMPT_FLAG 0x8000
- ./arch/x86/kernel/setup.c:#define RAMDISK_LOAD_FLAG 0x4000
-Consider a typical two floppy disk setup, where you will have the
-kernel on disk one, and have already put a RAM disk image onto disk #2.
-Hence you want to set bits 0 to 13 as 0, meaning that your RAM disk
-starts at an offset of 0 kB from the beginning of the floppy.
-The command line equivalent is: "ramdisk_start=0"
-You want bit 14 as one, indicating that a RAM disk is to be loaded.
-The command line equivalent is: "load_ramdisk=1"
-You want bit 15 as one, indicating that you want a prompt/keypress
-sequence so that you have a chance to switch floppy disks.
-The command line equivalent is: "prompt_ramdisk=1"
-Putting that together gives 2^15 + 2^14 + 0 = 49152 for an rdev word.
-So to create disk one of the set, you would do::
- /usr/src/linux# cat arch/x86/boot/zImage > /dev/fd0
- /usr/src/linux# rdev /dev/fd0 /dev/fd0
- /usr/src/linux# rdev -r /dev/fd0 49152
+"rdev" is an obsolete, deprecated, antiquated utility that could be used
+to set the boot device in a Linux kernel image.

-If you make a boot disk that has LILO, then for the above, you would use::
+Instead of using rdev, just place the boot device information on the
+kernel command line and pass it to the kernel from the bootloader.
+You can also pass arguments to the kernel by setting FDARGS in
+arch/x86/boot/Makefile and specify in initrd image by setting FDINITRD in

- append = "ramdisk_start=0 load_ramdisk=1 prompt_ramdisk=1"
+Some of the kernel command line boot options that may apply here are::

-Since the default start = 0 and the default prompt = 1, you could use::
+ ramdisk_start=N
+ ramdisk_size=M

- append = "load_ramdisk=1"
+If you make a boot disk that has LILO, then for the above, you would use::

+ append = "ramdisk_start=N ramdisk_size=M"

4) An Example of Creating a Compressed RAM Disk
@@ -151,12 +127,9 @@ f) Put the RAM disk image onto the flopp

dd if=/tmp/ram_image.gz of=/dev/fd0 bs=1k seek=400

-g) Use "rdev" to set the boot device, RAM disk offset, prompt flag, etc.
- For prompt_ramdisk=1, load_ramdisk=1, ramdisk_start=400, one would
- have 2^15 + 2^14 + 400 = 49552::
- rdev /dev/fd0 /dev/fd0
- rdev -r /dev/fd0 49552
+g) Make sure that you have already specified the boot information in
+ FDARGS and FDINITRD or that you use a bootloader to pass kernel
+ command line boot options to the kernel.

That is it. You now have your boot/root compressed RAM disk floppy. Some
users may wish to combine steps (d) and (f) by using a pipe.
@@ -167,11 +140,14 @@ users may wish to combine steps (d) and

+SEPT-2020 :
+ Removed usage of "rdev"
10-22-04 :
Updated to reflect changes in command line options, remove
obsolete references, general cleanup.
James Nelson (james4765@xxxxxxxxx)

12-95 :
Original Document
--- lnx-59-rc5.orig/Documentation/admin-guide/kernel-parameters.txt
+++ lnx-59-rc5/Documentation/admin-guide/kernel-parameters.txt
@@ -2441,8 +2441,7 @@

memblock=debug [KNL] Enable memblock debug messages.

- load_ramdisk= [RAM] List of ramdisks to load from floppy
- See Documentation/admin-guide/blockdev/ramdisk.rst.
+ load_ramdisk= [RAM] [Deprecated]

lockd.nlm_grace_period=P [NFS] Assign grace period.
Format: <integer>
@@ -3921,9 +3920,7 @@
Param: <number> - step/bucket size as a power of 2 for
statistical time based profiling.

- prompt_ramdisk= [RAM] List of RAM disks to prompt for floppy disk
- before loading.
- See Documentation/admin-guide/blockdev/ramdisk.rst.
+ prompt_ramdisk= [RAM] [Deprecated]

prot_virt= [S390] enable hosting protected virtual machines
isolated from the hypervisor (if hardware supports
@@ -3981,6 +3978,8 @@
ramdisk_size= [RAM] Sizes of RAM disks in kilobytes
See Documentation/admin-guide/blockdev/ramdisk.rst.

+ ramdisk_start= [RAM] RAM disk image start address
[KNL] Enable or disable trusting the use of the
CPU's random number generator (if available) to