^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) ============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) SD and MMC Device Partitions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) ============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) Device partitions are additional logical block devices present on the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) SD/MMC device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) As of this writing, MMC boot partitions as supported and exposed as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) /dev/mmcblkXboot0 and /dev/mmcblkXboot1, where X is the index of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) parent /dev/mmcblkX.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) MMC Boot Partitions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) ===================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) Read and write access is provided to the two MMC boot partitions. Due to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) the sensitive nature of the boot partition contents, which often store
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) a bootloader or bootloader configuration tables crucial to booting the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) platform, write access is disabled by default to reduce the chance of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) accidental bricking.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) To enable write access to /dev/mmcblkXbootY, disable the forced read-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) access with::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) echo 0 > /sys/block/mmcblkXbootY/force_ro
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) To re-enable read-only access::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) echo 1 > /sys/block/mmcblkXbootY/force_ro
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) The boot partitions can also be locked read only until the next power on,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) with::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) echo 1 > /sys/block/mmcblkXbootY/ro_lock_until_next_power_on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) This is a feature of the card and not of the kernel. If the card does
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) not support boot partition locking, the file will not exist. If the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) feature has been disabled on the card, the file will be read-only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) The boot partitions can also be locked permanently, but this feature is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) not accessible through sysfs in order to avoid accidental or malicious
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) bricking.