Partitions

From PS4 Developer wiki
Revision as of 22:01, 11 September 2020 by CelesteBlue (talk | contribs) (Table)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Table[edit]

Hard drive is identified by the device id “da0”.

Device name Partition name Filesystem Encryption Type Permissions Notes
da0x0 preinst msdosfs SAMU HDD Key
da0x1 preinst2 msdosfs SAMU HDD Key
da0x2 eap_kern raw none Raw partition read then decrypted to eap_kern.elf in PS4.
da0x3 eap_vsh msdosfs EAP HDD Key
da0x4 system msdosfs/exfat SAMU HDD Key
da0x4b system(b) msdosfs/exfat SAMU HDD Key
da0x5 system_ex msdosfs/exfat SAMU HDD Key
da0x5b system_ex(b) msdosfs/exfat SAMU HDD Key
da0x6 old swap swapfs ?
da0x6x0 new swap swapfs ?
da0x6x1 kernel log ? ?
da0x6x2 user log ? ?
da0x7 hiber ? ?
da0x8 app_tmp tmpfs ?
da0x9 system_data ufs ?SAMU HDD Key?
da0x10 rec_game ? ?
da0x11 rec_share ? ?
da0x12 update msdosfs EAP HDD Key RW
da0x13 user ufs EAP HDD Key RW
da0x14 eap_user ufs EAP HDD Key RW
da0x15 app_reserved ufs ? ?dmem swap?
es0.crypt ext_hdd ? ? Only present since about FW 4.50. Used for external HDD content management.

HDD Partitions[edit]

Linux Disk Information[edit]

PS4 500GB HDD as seen with "GPT Protective Partition" in Windows XP/embedded/2003 32bit/x86

PS4 partitions as seen in Windows Vista/2008/7/8/10 and 64-bit version of Windows XP/2003
Part device file Z5K500
size
ST500LM012
size
in bytes type remarks
1 10 /dev/sdc17 1 GiB 1 GiB 1,073,741,824 80dd49e3-a985-4887-81de-1daca47aed90 app_tmp
2 15 /dev/sdc31 16 GiB 16 GiB 17,179,869,184 3ef7290a-de81-4887-a11f-46fba765c71c app_reserved
3 13 /dev/sdc27 420.12 GiB 420.120117188 GiB 451,100,540,928 c638477a-e002-4b57-a454-a27fb63a33a8 user
4 9 /dev/sdc13 8 GiB 8 GiB 8,589,934,592 76a9a5b4-44b0-472a-bde3-3107472adee2 old swap
5 5 /dev/sdc9 1 GiB 1 GiB 1,073,741,824 757a614b-6179-5361-6b61-6b6968617261 system
6 6 /dev/sdc10 1 GiB 1 GiB 1,073,741,824 757a614b-6179-5361-6b61-6b6968617261 system(b)
7 7 /dev/sdc11 1 GiB 1 GiB 1,073,741,824 dc85025f-a694-4109-be44-fa0c063e8b81 system_ex
8 8 /dev/sdc12 1 GiB 1 GiB 1,073,741,824 dc85025f-a694-4109-be44-fa0c063e8b81 system_ex(b)
9 11 /dev/sdc19 8 GiB 8 GiB 8,589,934,592 a71ff62d-1421-4dd9-935d-25dabd81bec5 system_data
A 1 /dev/sdc1 512 MiB 512 MiB 536,870,912 17800f17-b9e1-425d-b937-0119a0813172 preinst
B 2 /dev/sdc3 1 GiB 1 GiB 1,073,741,824 ccb52e94-ebef-48c4-a195-9e2da5b0292c preinst2
C 3 /dev/sdc5 16 MiB 16 MiB 16,777,216 145268bf-63ad-47c1-9378-9aacd9beed7c eap_kern
D 4 /dev/sdc7 128 MiB 128 MiB 134,217,728 6e0c5310-8445-4066-b571-9b65fdb75935 eap_vsh
E 14 /dev/sdc29 1 GiB 1 GiB 1,073,741,824 21e4dfb4-0040-4934-a037-ea9dc058eea6 eap_user
F 12 /dev/sdc25 6 GiB 6 GiB 6,442,450,944 fdb5ede1-73c3-4c43-8c5b-2d3dcfcddff8 update

Note: A raw dump of a HDD from a never booted PS4 would take 500,1 GiB (500,107,861,504 bytes), which would 7z compress nicely to around 1,2 GB (1,168,407,328 bytes)

Cygwin Disk Information[edit]

Device Size Remarks
/dev/sdb1 512MiB preinst
/dev/sdb2 1GiB preinst2
/dev/sdb3 16MiB eap_kern
/dev/sdb4 128MiB eap_vsh
/dev/sdb5 1GiB system
/dev/sdb6 1GiB system b
/dev/sdb7 1GiB system_ex
/dev/sdb8 1GiB system_ex b
/dev/sdb9 8 GiB old swap
/dev/sdb10 1 GiB app_tmp
/dev/sdb11 8 GiB system_data
/dev/sdb12 6 GiB update
/dev/sdb13 remaining GiB user
/dev/sdb14 1 GiB eap_user
/dev/sdb15 16 GiB app

PS4 HDD partitions check logs[edit]

From logs of a 5.05 PS4 testkit CUH-12xx when suspending, with stock 500GB HDD:

[SceShellCore][StorageStatsReport] HDD partition [WRITE] :
da0x4           (system      ): bytes:           0B, transfer:            0
da0x4b          (system(b)   ): bytes:      1.11GiB, transfer:         9068
da0x5           (system_ex   ): bytes:           0B, transfer:            0
da0x5b          (system_ex(b)): bytes:      1.04GiB, transfer:         8543
da0x6           (old swap    ): bytes:    705.43MiB, transfer:        17749
da0x8           (app_tmp     ): bytes:     35.26MiB, transfer:          880
da0x9           (system_data ): bytes:     41.48GiB, transfer:      1741368
da0x12          (update      ): bytes:      6.83GiB, transfer:        58112
da0x13          (user        ): bytes:     68.33GiB, transfer:      2180231
da0x14          (eap_user    ): bytes:      6.79MiB, transfer:         1403
da0x6x0         (new swap    ): bytes:    703.02MiB, transfer:        12979
da0x6x1         (kernel log  ): bytes:    654.00KiB, transfer:         1264
da0x6x2         (user log    ): bytes:      1.77MiB, transfer:         3506
es0.crypt       (ext_hdd     ): bytes:     50.37MiB, transfer:         1022

From logs of a 5.05 PS4 testkit CUH-12xx when suspending, after swapping HDD to a 512GB SSD, reinstalling firmware and reinitializing.

[SceShellCore][StorageStatsReport] HDD partition [WRITE] :
da0x4           (system      ): bytes:           0B, transfer:            0
da0x4b          (system(b)   ): bytes:           0B, transfer:            0
da0x5           (system_ex   ): bytes:           0B, transfer:            0
da0x5b          (system_ex(b)): bytes:           0B, transfer:            0
da0x6           (old swap    ): bytes:    182.00KiB, transfer:          352
da0x8           (app_tmp     ): bytes:           0B, transfer:            0
da0x9           (system_data ): bytes:      2.04GiB, transfer:        85198
da0x12          (update      ): bytes:           0B, transfer:            0
da0x13          (user        ): bytes:    233.85MiB, transfer:         8575
da0x14          (eap_user    ): bytes:    544.00KiB, transfer:          129
da0x6x0         (new swap    ): bytes:     16.00KiB, transfer:           32
da0x6x1         (kernel log  ): bytes:           0B, transfer:            0
da0x6x2         (user log    ): bytes:    166.00KiB, transfer:          320
  • These displayed sizes are the written sizes.
  • (b) stands for "backup" which is an inactive partition used when firmware update fails.

Mountpoints[edit]

Host devices
  • APP_HOME (DATA)
  • APP_HOME (HOST)

SceSysCore nmount / nmount_ufs[edit]

module type source destination
SceSysCore mini nmount /dev/da0x4.crypt /system
SceSysCore mini nmount /dev/da0x5.crypt /system_ex
SceSysCore mini nmount_ufs /dev/da0x9.crypt /system_data
SceSysCore mini nmount_ufs /dev/da0x13.crypt /user
SceSysCore mini nmount_ufs /dev/da0x14.crypt /eap_user
SceSysCore mini mount /dev/da0x12.crypt /update
SceSysCore mini nmount /dev/da0x0.crypt /preinst
SceSysCore mini nmount /dev/da0x1.crypt /preinst2
SceSysCore nmount /data /user/data
/dev/da1s1 /mnt/usb0

SceSysCore scheduler device[edit]

module scheduler source destination
SceSysCore GEOM I/O scheduler is da0 / da0.sched
SceSysCore BD scheduler bd_sched cd0 / cd0.sched (/mnt/disc0)

Partitions mounted on boot[edit]

From logs of a 5.05 PS4 testkit CUH-12xx when booting:

[SceSysCore mini] nmount /dev/da0x4.crypt to /system
[SceSysCore mini] nmount /dev/da0x5.crypt to /system_ex
[SceSysCore mini] nmount_ufs /dev/da0x9.crypt to /system_data
[SceSysCore mini] nmount_ufs /dev/da0x14.crypt to /eap_user
[SceSysCore mini] nmount /dev/da0x12.crypt to /update
[SceSysCore mini] nmount /dev/da0x0.crypt to /preinst
[SceSysCore mini] nmount /dev/da0x1.crypt to /preinst2
[SceSysCore] nmount /data to /user/data

Files on the PS4[edit]

Main article: Files on the PS4