forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
430 lines
15 KiB
430 lines
15 KiB
# SPDX-License-Identifier: GPL-2.0 |
|
# |
|
# Block device driver configuration |
|
# |
|
|
|
menuconfig BLK_DEV |
|
bool "Block devices" |
|
depends on BLOCK |
|
default y |
|
help |
|
Say Y here to get to see options for various different block device |
|
drivers. This option alone does not add any kernel code. |
|
|
|
If you say N, all options in this submenu will be skipped and disabled; |
|
only do this if you know what you are doing. |
|
|
|
if BLK_DEV |
|
|
|
source "drivers/block/null_blk/Kconfig" |
|
|
|
config BLK_DEV_FD |
|
tristate "Normal floppy disk support" |
|
depends on ARCH_MAY_HAVE_PC_FDC |
|
help |
|
If you want to use the floppy disk drive(s) of your PC under Linux, |
|
say Y. Information about this driver, especially important for IBM |
|
Thinkpad users, is contained in |
|
<file:Documentation/admin-guide/blockdev/floppy.rst>. |
|
That file also contains the location of the Floppy driver FAQ as |
|
well as location of the fdutils package used to configure additional |
|
parameters of the driver at run time. |
|
|
|
To compile this driver as a module, choose M here: the |
|
module will be called floppy. |
|
|
|
config AMIGA_FLOPPY |
|
tristate "Amiga floppy support" |
|
depends on AMIGA |
|
|
|
config ATARI_FLOPPY |
|
tristate "Atari floppy support" |
|
depends on ATARI |
|
|
|
config MAC_FLOPPY |
|
tristate "Support for PowerMac floppy" |
|
depends on PPC_PMAC && !PPC_PMAC64 |
|
help |
|
If you have a SWIM-3 (Super Woz Integrated Machine 3; from Apple) |
|
floppy controller, say Y here. Most commonly found in PowerMacs. |
|
|
|
config BLK_DEV_SWIM |
|
tristate "Support for SWIM Macintosh floppy" |
|
depends on M68K && MAC && !HIGHMEM |
|
help |
|
You should select this option if you want floppy support |
|
and you don't have a II, IIfx, Q900, Q950 or AV series. |
|
|
|
config AMIGA_Z2RAM |
|
tristate "Amiga Zorro II ramdisk support" |
|
depends on ZORRO |
|
help |
|
This enables support for using Chip RAM and Zorro II RAM as a |
|
ramdisk or as a swap partition. Say Y if you want to include this |
|
driver in the kernel. |
|
|
|
To compile this driver as a module, choose M here: the |
|
module will be called z2ram. |
|
|
|
config N64CART |
|
bool "N64 cart support" |
|
depends on MACH_NINTENDO64 |
|
help |
|
Support for the N64 cart. |
|
|
|
config CDROM |
|
tristate |
|
|
|
config GDROM |
|
tristate "SEGA Dreamcast GD-ROM drive" |
|
depends on SH_DREAMCAST |
|
select CDROM |
|
help |
|
A standard SEGA Dreamcast comes with a modified CD ROM drive called a |
|
"GD-ROM" by SEGA to signify it is capable of reading special disks |
|
with up to 1 GB of data. This drive will also read standard CD ROM |
|
disks. Select this option to access any disks in your GD ROM drive. |
|
Most users will want to say "Y" here. |
|
You can also build this as a module which will be called gdrom. |
|
|
|
config PARIDE |
|
tristate "Parallel port IDE device support" |
|
depends on PARPORT_PC |
|
help |
|
There are many external CD-ROM and disk devices that connect through |
|
your computer's parallel port. Most of them are actually IDE devices |
|
using a parallel port IDE adapter. This option enables the PARIDE |
|
subsystem which contains drivers for many of these external drives. |
|
Read <file:Documentation/admin-guide/blockdev/paride.rst> for more information. |
|
|
|
If you have said Y to the "Parallel-port support" configuration |
|
option, you may share a single port between your printer and other |
|
parallel port devices. Answer Y to build PARIDE support into your |
|
kernel, or M if you would like to build it as a loadable module. If |
|
your parallel port support is in a loadable module, you must build |
|
PARIDE as a module. If you built PARIDE support into your kernel, |
|
you may still build the individual protocol modules and high-level |
|
drivers as loadable modules. If you build this support as a module, |
|
it will be called paride. |
|
|
|
To use the PARIDE support, you must say Y or M here and also to at |
|
least one high-level driver (e.g. "Parallel port IDE disks", |
|
"Parallel port ATAPI CD-ROMs", "Parallel port ATAPI disks" etc.) and |
|
to at least one protocol driver (e.g. "ATEN EH-100 protocol", |
|
"MicroSolutions backpack protocol", "DataStor Commuter protocol" |
|
etc.). |
|
|
|
source "drivers/block/paride/Kconfig" |
|
|
|
source "drivers/block/mtip32xx/Kconfig" |
|
|
|
source "drivers/block/zram/Kconfig" |
|
|
|
config BLK_DEV_UBD |
|
bool "Virtual block device" |
|
depends on UML |
|
help |
|
The User-Mode Linux port includes a driver called UBD which will let |
|
you access arbitrary files on the host computer as block devices. |
|
Unless you know that you do not need such virtual block devices say |
|
Y here. |
|
|
|
config BLK_DEV_UBD_SYNC |
|
bool "Always do synchronous disk IO for UBD" |
|
depends on BLK_DEV_UBD |
|
help |
|
Writes to the virtual block device are not immediately written to the |
|
host's disk; this may cause problems if, for example, the User-Mode |
|
Linux 'Virtual Machine' uses a journalling filesystem and the host |
|
computer crashes. |
|
|
|
Synchronous operation (i.e. always writing data to the host's disk |
|
immediately) is configurable on a per-UBD basis by using a special |
|
kernel command line option. Alternatively, you can say Y here to |
|
turn on synchronous operation by default for all block devices. |
|
|
|
If you're running a journalling file system (like reiserfs, for |
|
example) in your virtual machine, you will want to say Y here. If |
|
you care for the safety of the data in your virtual machine, Y is a |
|
wise choice too. In all other cases (for example, if you're just |
|
playing around with User-Mode Linux) you can choose N. |
|
|
|
config BLK_DEV_COW_COMMON |
|
bool |
|
default BLK_DEV_UBD |
|
|
|
config BLK_DEV_LOOP |
|
tristate "Loopback device support" |
|
help |
|
Saying Y here will allow you to use a regular file as a block |
|
device; you can then create a file system on that block device and |
|
mount it just as you would mount other block devices such as hard |
|
drive partitions, CD-ROM drives or floppy drives. The loop devices |
|
are block special device files with major number 7 and typically |
|
called /dev/loop0, /dev/loop1 etc. |
|
|
|
This is useful if you want to check an ISO 9660 file system before |
|
burning the CD, or if you want to use floppy images without first |
|
writing them to floppy. Furthermore, some Linux distributions avoid |
|
the need for a dedicated Linux partition by keeping their complete |
|
root file system inside a DOS FAT file using this loop device |
|
driver. |
|
|
|
To use the loop device, you need the losetup utility, found in the |
|
util-linux package, see |
|
<https://www.kernel.org/pub/linux/utils/util-linux/>. |
|
|
|
The loop device driver can also be used to "hide" a file system in |
|
a disk partition, floppy, or regular file, either using encryption |
|
(scrambling the data) or steganography (hiding the data in the low |
|
bits of, say, a sound file). This is also safe if the file resides |
|
on a remote file server. |
|
|
|
There are several ways of encrypting disks. Some of these require |
|
kernel patches. The vanilla kernel offers the cryptoloop option |
|
and a Device Mapper target (which is superior, as it supports all |
|
file systems). If you want to use the cryptoloop, say Y to both |
|
LOOP and CRYPTOLOOP, and make sure you have a recent (version 2.12 |
|
or later) version of util-linux. Additionally, be aware that |
|
the cryptoloop is not safe for storing journaled filesystems. |
|
|
|
Note that this loop device has nothing to do with the loopback |
|
device used for network connections from the machine to itself. |
|
|
|
To compile this driver as a module, choose M here: the |
|
module will be called loop. |
|
|
|
Most users will answer N here. |
|
|
|
config BLK_DEV_LOOP_MIN_COUNT |
|
int "Number of loop devices to pre-create at init time" |
|
depends on BLK_DEV_LOOP |
|
default 8 |
|
help |
|
Static number of loop devices to be unconditionally pre-created |
|
at init time. |
|
|
|
This default value can be overwritten on the kernel command |
|
line or with module-parameter loop.max_loop. |
|
|
|
The historic default is 8. If a late 2011 version of losetup(8) |
|
is used, it can be set to 0, since needed loop devices can be |
|
dynamically allocated with the /dev/loop-control interface. |
|
|
|
config BLK_DEV_CRYPTOLOOP |
|
tristate "Cryptoloop Support (DEPRECATED)" |
|
select CRYPTO |
|
select CRYPTO_CBC |
|
depends on BLK_DEV_LOOP |
|
help |
|
Say Y here if you want to be able to use the ciphers that are |
|
provided by the CryptoAPI as loop transformation. This might be |
|
used as hard disk encryption. |
|
|
|
WARNING: This device is not safe for journaled file systems like |
|
ext3 or Reiserfs. Please use the Device Mapper crypto module |
|
instead, which can be configured to be on-disk compatible with the |
|
cryptoloop device. cryptoloop support will be removed in Linux 5.16. |
|
|
|
source "drivers/block/drbd/Kconfig" |
|
|
|
config BLK_DEV_NBD |
|
tristate "Network block device support" |
|
depends on NET |
|
help |
|
Saying Y here will allow your computer to be a client for network |
|
block devices, i.e. it will be able to use block devices exported by |
|
servers (mount file systems on them etc.). Communication between |
|
client and server works over TCP/IP networking, but to the client |
|
program this is hidden: it looks like a regular local file access to |
|
a block device special file such as /dev/nd0. |
|
|
|
Network block devices also allows you to run a block-device in |
|
userland (making server and client physically the same computer, |
|
communicating using the loopback network device). |
|
|
|
Read <file:Documentation/admin-guide/blockdev/nbd.rst> for more information, |
|
especially about where to find the server code, which runs in user |
|
space and does not need special kernel support. |
|
|
|
Note that this has nothing to do with the network file systems NFS |
|
or Coda; you can say N here even if you intend to use NFS or Coda. |
|
|
|
To compile this driver as a module, choose M here: the |
|
module will be called nbd. |
|
|
|
If unsure, say N. |
|
|
|
config BLK_DEV_SX8 |
|
tristate "Promise SATA SX8 support" |
|
depends on PCI |
|
help |
|
Saying Y or M here will enable support for the |
|
Promise SATA SX8 controllers. |
|
|
|
Use devices /dev/sx8/$N and /dev/sx8/$Np$M. |
|
|
|
config BLK_DEV_RAM |
|
tristate "RAM block device support" |
|
help |
|
Saying Y here will allow you to use a portion of your RAM memory as |
|
a block device, so that you can make file systems on it, read and |
|
write to it and do all the other things that you can do with normal |
|
block devices (such as hard drives). It is usually used to load and |
|
store a copy of a minimal root file system off of a floppy into RAM |
|
during the initial install of Linux. |
|
|
|
Note that the kernel command line option "ramdisk=XX" is now obsolete. |
|
For details, read <file:Documentation/admin-guide/blockdev/ramdisk.rst>. |
|
|
|
To compile this driver as a module, choose M here: the |
|
module will be called brd. An alias "rd" has been defined |
|
for historical reasons. |
|
|
|
Most normal users won't need the RAM disk functionality, and can |
|
thus say N here. |
|
|
|
config BLK_DEV_RAM_COUNT |
|
int "Default number of RAM disks" |
|
default "16" |
|
depends on BLK_DEV_RAM |
|
help |
|
The default value is 16 RAM disks. Change this if you know what you |
|
are doing. If you boot from a filesystem that needs to be extracted |
|
in memory, you will need at least one RAM disk (e.g. root on cramfs). |
|
|
|
config BLK_DEV_RAM_SIZE |
|
int "Default RAM disk size (kbytes)" |
|
depends on BLK_DEV_RAM |
|
default "4096" |
|
help |
|
The default value is 4096 kilobytes. Only change this if you know |
|
what you are doing. |
|
|
|
config CDROM_PKTCDVD |
|
tristate "Packet writing on CD/DVD media (DEPRECATED)" |
|
depends on !UML |
|
select CDROM |
|
select SCSI_COMMON |
|
help |
|
Note: This driver is deprecated and will be removed from the |
|
kernel in the near future! |
|
|
|
If you have a CDROM/DVD drive that supports packet writing, say |
|
Y to include support. It should work with any MMC/Mt Fuji |
|
compliant ATAPI or SCSI drive, which is just about any newer |
|
DVD/CD writer. |
|
|
|
Currently only writing to CD-RW, DVD-RW, DVD+RW and DVDRAM discs |
|
is possible. |
|
DVD-RW disks must be in restricted overwrite mode. |
|
|
|
See the file <file:Documentation/cdrom/packet-writing.rst> |
|
for further information on the use of this driver. |
|
|
|
To compile this driver as a module, choose M here: the |
|
module will be called pktcdvd. |
|
|
|
config CDROM_PKTCDVD_BUFFERS |
|
int "Free buffers for data gathering" |
|
depends on CDROM_PKTCDVD |
|
default "8" |
|
help |
|
This controls the maximum number of active concurrent packets. More |
|
concurrent packets can increase write performance, but also require |
|
more memory. Each concurrent packet will require approximately 64Kb |
|
of non-swappable kernel memory, memory which will be allocated when |
|
a disc is opened for writing. |
|
|
|
config CDROM_PKTCDVD_WCACHE |
|
bool "Enable write caching" |
|
depends on CDROM_PKTCDVD |
|
help |
|
If enabled, write caching will be set for the CD-R/W device. For now |
|
this option is dangerous unless the CD-RW media is known good, as we |
|
don't do deferred write error handling yet. |
|
|
|
config ATA_OVER_ETH |
|
tristate "ATA over Ethernet support" |
|
depends on NET |
|
help |
|
This driver provides Support for ATA over Ethernet block |
|
devices like the Coraid EtherDrive (R) Storage Blade. |
|
|
|
config SUNVDC |
|
tristate "Sun Virtual Disk Client support" |
|
depends on SUN_LDOMS |
|
help |
|
Support for virtual disk devices as a client under Sun |
|
Logical Domains. |
|
|
|
source "drivers/s390/block/Kconfig" |
|
|
|
config XEN_BLKDEV_FRONTEND |
|
tristate "Xen virtual block device support" |
|
depends on XEN |
|
default y |
|
select XEN_XENBUS_FRONTEND |
|
help |
|
This driver implements the front-end of the Xen virtual |
|
block device driver. It communicates with a back-end driver |
|
in another domain which drives the actual block device. |
|
|
|
config XEN_BLKDEV_BACKEND |
|
tristate "Xen block-device backend driver" |
|
depends on XEN_BACKEND |
|
help |
|
The block-device backend driver allows the kernel to export its |
|
block devices to other guests via a high-performance shared-memory |
|
interface. |
|
|
|
The corresponding Linux frontend driver is enabled by the |
|
CONFIG_XEN_BLKDEV_FRONTEND configuration option. |
|
|
|
The backend driver attaches itself to a any block device specified |
|
in the XenBus configuration. There are no limits to what the block |
|
device as long as it has a major and minor. |
|
|
|
If you are compiling a kernel to run in a Xen block backend driver |
|
domain (often this is domain 0) you should say Y here. To |
|
compile this driver as a module, chose M here: the module |
|
will be called xen-blkback. |
|
|
|
|
|
config VIRTIO_BLK |
|
tristate "Virtio block driver" |
|
depends on VIRTIO |
|
help |
|
This is the virtual block driver for virtio. It can be used with |
|
QEMU based VMMs (like KVM or Xen). Say Y or M. |
|
|
|
config BLK_DEV_RBD |
|
tristate "Rados block device (RBD)" |
|
depends on INET && BLOCK |
|
select CEPH_LIB |
|
select LIBCRC32C |
|
select CRYPTO_AES |
|
select CRYPTO |
|
help |
|
Say Y here if you want include the Rados block device, which stripes |
|
a block device over objects stored in the Ceph distributed object |
|
store. |
|
|
|
More information at http://ceph.newdream.net/. |
|
|
|
If unsure, say N. |
|
|
|
config BLK_DEV_RSXX |
|
tristate "IBM Flash Adapter 900GB Full Height PCIe Device Driver" |
|
depends on PCI |
|
select CRC32 |
|
help |
|
Device driver for IBM's high speed PCIe SSD |
|
storage device: Flash Adapter 900GB Full Height. |
|
|
|
To compile this driver as a module, choose M here: the |
|
module will be called rsxx. |
|
|
|
source "drivers/block/rnbd/Kconfig" |
|
|
|
endif # BLK_DEV
|
|
|