Próbuję podzielić emmc na 2 GB za pomocą sgdisk, aby mieć tabelę partycji GPT. Polecenia pokazują sukces, a także tabela partycji GPT wygląda na zaktualizowaną (nawet przy ponownym uruchomieniu), ale partycje w ogóle nie są tworzone. Oznacza to, że kiedy sprawdzam za pomocą ls / dev / mmcblk0, nie pokazuje on utworzonych partycji. i mój sgdisk zawsze próbuje utworzyć partycje na p1, ale nie pokazano p2, p3, ....
Poniżej znajdują się polecenia, których używam, a sgdisk -p pokazuje utworzone partycje, ale nie ma utworzonych partycji / dev / mmcblk0 (p1, p2, p3). Również w logach widać, że zawsze próbuje utworzyć p1, który miał być p2 i p3 dla późniejszych partycji. Czy możesz pomóc w użyciu sgdisk do tworzenia partycji w emmc ...
# sgdisk -og /dev/mmcblk0
mmcblk0: p1
The operation has completed successfully.
# sgdisk -p /dev/mmcblk0
Disk /dev/mmcblk0: 3751936 sectors, 1.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 27F5FD73-8C2A-4448-91F6-251B72C64843
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 3751902
Partitions will be aligned on 2048-sector boundaries
Total free space is 3751869 sectors (1.8 GiB)
Number Start (sector) End (sector) Size Code Name
# sgdisk -n 1:2048:264191 -c 1:"kernel" /dev/mmcblk0
Setting name!
partNum is 0
REALLY setting name!
mmcblk0: p1
The operation has completed successfully.
# sgdisk -n 2:264192:395263 -c 2:"rootfs" /dev/mmcblk0
Setting name!
partNum is 1
REALLY setting name!
mmcblk0: p1
The operation has completed successfully.
# sgdisk -n 3:395263:460799 -c 3:"data" /dev/mmcblk0
Information: Moved requested sector from 395263 to 395264 in
order to align on 2048-sector boundaries.
Setting name!
partNum is 2
REALLY setting name!
mmcblk0: p1
The operation has completed successfully.
# sgdisk -p /dev/mmcblk0
Disk /dev/mmcblk0: 3751936 sectors, 1.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 27F5FD73-8C2A-4448-91F6-251B72C64843
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 3751902
Partitions will be aligned on 2048-sector boundaries
Total free space is 3293117 sectors (1.6 GiB)
Number Start (sector) End (sector) Size Code Name
1 2048 264191 128.0 MiB 8300 kernel
2 264192 395263 64.0 MiB 8300 rootfs
3 395264 460799 32.0 MiB 8300 data
# ls /dev/mmcblk0
mmcblk0 mmcblk0boot0 mmcblk0boot1 mmcblk0p1
# cat /proc/partitions
major minor #blocks name
179 0 1875968 mmcblk0
179 1 1875967 mmcblk0p1
179 16 1024 mmcblk0boot1
179 8 1024 mmcblk0boot0
No logical partitions created.
Odpowiedzi:
Musisz włączyć CONFIG_EFI_PARTITION w konfiguracji jądra Linuksa.
Dzięki temu widzę, że utworzone partycje są zapisywane na dysku ...
Należy także sprawdzić inne ustawienie, jeśli planujesz utworzyć więcej niż 8 partycji.
│ Symbol: MMC_BLOCK_MINORS [= 8] │
│ Typ: liczba całkowita │
│ Zakres: [4 256] │
omp Monit: liczba nieletnich na urządzenie blokowe │
│ Zdefiniowany w sterownikach / mmc / karta / Kconfig: 17 │
│ Zależy od: MMC [= y] && MMC_BLOCK [= y] │
│ Lokalizacja: │
│ -> Sterowniki urządzeń │
│ -> Obsługa kart MMC / SD / SDIO (MMC [= y]) │
│ -> Sterownik urządzenia blokowego MMC (MMC_BLOCK [= y])
Zmiana wartości będzie obsługiwać do 256 partycji ...
źródło
sgdisk
pokazuje partycje jako istniejące - istnieją, mimo że jądro ich nie może odczytać. Konieczność obsługi jądra jest wspomniana w dokumentacji fdisk GPT, choć nie jest widoczna, na stronie Uruchamianie z GPT . (Wyszukaj „EFI GUID”, aby go znaleźć.)