LINUX.ORG.RU

Как узнать физический адрес раздела?

 , ,


0

1

Плата на базе Cortex-A9. Есть mmc, на ней раздел mmcblk0p3, как можно узнать его адрес на memory map что бы записанную поточно туда информацию можно было считывать в standalone-приложении с начала mmcblk0p3.

★★★★★

Ответ на: комментарий от Black_Roland

cat /proc/mtd катит если используются nand-накопители, у меня ж mmc. Соответственно в mtd ничего нет.

splinter ★★★★★
() автор топика

Скорее всего так-же как и для обычных жестких дисков:

# fdisk -u=sectors -l /dev/sda

Disk /dev/sda: 500.1 GB, 500107862016 bytes, 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *          63      128519       64228+  83  Linux
/dev/sda2          128520     8128889     4000185   82  Linux своп / Solaris
/dev/sda3         8128890   976768064   484319587+   5  Расширенный
/dev/sda5         8128953    66717944    29294496   83  Linux
/dev/sda6        66718008    86252984     9767488+  83  Linux
/dev/sda7        86253048    96020504     4883728+  83  Linux
/dev/sda8        96020568   154609559    29294496   83  Linux
/dev/sda9       154609623   174144599     9767488+  83  Linux
/dev/sda10      174144663   976768064   401311701   83  Linux
Берём значение «Units» (в данном примере равно размеру сектора, 512 байт) и умножаем на «Начало»:
Например, для мое диска, получается, что 63*512=32256 байт - это позиция начала первого раздела, а 8й раздел начинается на 512*96020568=49162530816 байте
А команда dd if=/dev/sda of=/tmp/swap-file bs=512 skip=206848 count=$[8128889-206848] скопирует swap-раздел в файл.

DiMoN ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.