Raspberry Pi_Eng_14.1.3 Block Device


Published Book on Amazon


All of IOT Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 1
All of IOT Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 2


출판된 한글판 도서


최신 라즈베리파이(Raspberry Pi)로 시작하는 사물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (상)
최신 라즈베리파이(Raspberry Pi)로 시작하는 사물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (하)


Original Book Contents


14.1.3  Block Device

 

14.1.3.1    Block Device Characteristics

 

The block device inputs and outputs data in unit of block when processing data in the device, and increases the processing performance by placing a intermediate buffer.

 

The "/dev" file is created with "mknod" command. Once created, it is maintained regardless of the existence of the actual device. Therefore, even if the device does not actually exist, the "/dev" file may be created. Linux can open, read, and write these block devices using standard system functions as if it were a single file in other programs.

 


 

14.1.3.2    Block Device Type

 

A typical device of a block device is a hard disk. At present, there are IDE (Integrated Disk Electronics) type and SCSI (Small Computer System Interface) type for disks that are widely used in Linux.

 

USB flash memory is also a disk of block device type, usually a disk of SCSI type.

 


 

14.1.3.3    Naming Rules for Disk Device

 

In Linux, when the disk device is installed, it has a name with a certain rule as follows.

    Disk                      -- Disk type  + disk number

    Partition      -- Disk type  + disk number + partition number

 

All disks installed on the system are connected to the "/dev" directory as one file.

 

 

   Disk type

 

The following code is given according to the disk type:

    IDE type disk                      -- hd

    SCSI type disk         -- sd

    Virtual type disk       -- vd

    SD card                 -- mmcblk

 

 

   Disk number

 

The disk numbers are assigned according to the installation order by the same disk type. A disk with the disk number only and without the partition number refers to the specific entire disk unit. This name should be used to refer to the entire disk device:

    Hard disk    -- Name is given in the order of a, b, c ..

    SD card      -- Name is given in the order of 0, 1, 2 ...

 

The following is an example of a device:

sda                 -- SCSI type       - disk a - whole

sda                 -- SCSI type       - disk a            - whole

mmcblk0           -- SD card type   - disk 0            - whole

 

 

   Partition number

 

When a partition is divided from a specific disk number, a name is given to each device in order. You must use this name when specifying a particular partition:

    Hard disk    -- Name is given in the order of 1, 2, 3 ..

    SD card      -- Name is given in the order of p1, p2, p3 ...

 

The following is an example of partitioning by device:

/dev/hda1                    -- IDE type        - disk a - partitioning 1

/dev/sdb2                    -- SCSI type       - disk b - partitioning 2

/dev/ mmcblk0p1 -- SD card type   - disk 0 - partitioning 1

 

 

   /dev registeration file

 

In "/dev" directory, the disk itself is also registered as a file, and the partition is also registered as a single file. The disk without a partition number means the disk itself.

 

The following is an example of a device file name registered to "/dev" directory for disk:

 

/dev/hdb                     -- IDE type        - disk b - whole

/dev/hdb1                    -- IDE type        - disk b - partition 1

/dev/hdb2                    -- IDE type        - disk b - partition 2

 

/dev/sda                                 -- SCSI type       - disk a - whole

/dev/sda1                    -- SCSI type       - disk a - partition 1

/dev/sda2                    -- SCSI type       - disk a - partition 2

 

/dev/mmcblk0               -- SD card type   - disk 0 - whole

/dev/mmcblk0p1           -- SD card type   - disk 0 partition 1

/dev/mmcblk0p2           -- SD card type   - disk 0 partition 2

/dev/mmcblk0p3           -- SD card type   - disk 0 partition 3

 


 

14.1.3.4    "blkid" Command - Check Block Device Data

 

The command to use to check information about the block device in the system is the "blkid".

 

[Command Format]

blkid  [ options ]   device

 

[Command Overview]

   This shows various informations about the block devices in the system.

   User privilege          -- Super user.

                                    

[Detail Description]

   This command can search block devices in the system or check the attributes of block devices. This command displays the filesystem information, such as type, LABEL, and UUID for the block device

   This command shows only the block devices actually installed. Therefore, even if it is defined in "/dev" directory, it is not displayed if it does not actually exist.

 

[Main Option]

-h

Display a usage message and exit.

-l

Look up only one device that matches the search parameter specified with -t.

-t NAME=value

 

Search for block devices with tokens named NAME that have the value, and display any devices which are found. Common values for NAME include TYPE, LABEL, and UUID.  If there are no devices specified on the Shell, all block devices will be searched; otherwise only the specified devices are searched.

-L label

 

Look up the device that uses this label (equal to: -l -o device -t LABEL= <label>). This lookup method is able to reliably use /dev/disk/by-label udev symlinks (dependent on a setting in /etc/blkid.conf). Avoid using the symlinks directly; it isnot reliable to use the symlinks without verification. The -L option works on systems with and without udev.

 

[Used Example]

The following is an example of executing the command with SD card and USB flash memory installed.

 

pi@raspberrypi ~ $ sudo blkid

/dev/mmcblk0p1: LABEL="RECOVERY" UUID="5019-0CBC" TYPE="vfat"

/dev/mmcblk0p3: LABEL="SETTINGS" UUID="fbc9f2d1-837b-4b3b-8efc-62e04052534a" TYPE="ext4"

/dev/mmcblk0p5: LABEL="boot0" UUID="0501-A21E" TYPE="vfat"

/dev/mmcblk0p6: LABEL="root" UUID="6f5f8ed3-8603-4468-969b-964be078e131" TYPE="ext4"

/dev/mmcblk0p7: LABEL="boot" UUID="5E6B-94DB" TYPE="vfat"

/dev/mmcblk0p8: LABEL="root0" UUID="6af8520e-9e0b-4197-a848-b5fec5d09136" TYPE="ext4"

/dev/sda1: LABEL="REAL USB" UUID="FEF225C2F2257FCF" TYPE="ntfs"