Editing Mounting HDD in Linux

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
Unlike PS3, where every part of per-console security (including the HDD) is dictated by the eid_root_key, PS4 has two per-console keys for the HDD, one handled by SAMU (we cannot obtain this key at this moment) and the other handled by the [[Southbridge]] which can be obtained.
Unlike PS3, where every part of per-console security (including the HDD) is dictated by the eid_root_key, PS4 has two per-console keys for the HDD, one handled by SAMU (we cannot obtain this key atm) and the other handled by the South Bridge (Aeolia / Belize) which can be obtained.


Here are described the steps to mount a PS4 HDD on PC using the cryptmount utility on Linux.
Here are described the steps to mount a PS4 HDD on PC using the cryptmount utility on Linux.
Line 7: Line 7:
* preinst, preinst2, system, system(b), system_ex, system_ex(b) cannot be mounted as they use a key hidden in SAMU not eap_hdd_key. Cryptmount returns error device-mapper ioctl when trying with fstype=tmpfs.
* preinst, preinst2, system, system(b), system_ex, system_ex(b) cannot be mounted as they use a key hidden in SAMU not eap_hdd_key. Cryptmount returns error device-mapper ioctl when trying with fstype=tmpfs.
* eap_vsh, update, user and eap_user can be mounted using cryptmount and eap_hdd_key.
* eap_vsh, update, user and eap_user can be mounted using cryptmount and eap_hdd_key.
* eap_kern can be read directly without mounting but anyway it remains an encrypted file that is decrypted by PS4 OS.
* eap_kern can be read directly wihtout mounting but anyway it remains an encrypted file that is decrypted by PS4 OS.
* sda13 cannot be mounted for now. Investigation neeeded. It might be system_data partition and so would behave as system and system_ex. It might also be swap partition.
* sda13 cannot be mounted for now. Investigation neeeded. It might be system_data partition and so would behave as system and system_ex. It might also be swap partition.
* sda17 and sda19 can be mounted with fstype=tmpfs but they are void. Investigation neeeded.
* sda17 and sda19 can be mounted with fstype=tmpfs but they are void. Investigation neeeded.
Line 16: Line 16:
== Prerequisites ==
== Prerequisites ==


* Per-console PS4 EAP HDD Key (check in your kernel dump and in https://github.com/Ps3itaTeam/ps4-kexec/blob/master/magic.h kern_off_eap_hdd_key offset)
* Per-console PS4 EAP HDD Key (check in your kernel dump and in hxxps://github.com/Ps3itaTeam/ps4-kexec/blob/master/magic.h kern_off_eap_hdd_key offset)
* A PC running a Linux Distribution (ex: ubuntu, xubuntu live) that supports cryptmount
* A PC running a Linux Distribution (ex: ubuntu, xubuntu live) that supports cryptmount


Line 35: Line 35:
40 00 30 50 DE DB 76 EC 5A D3 D2 8B B3 86 60 D2
40 00 30 50 DE DB 76 EC 5A D3 D2 8B B3 86 60 D2
6B FA DD 0A 1F 3C 03 4B 59 A8 3D 44 04 AE D6 15
6B FA DD 0A 1F 3C 03 4B 59 A8 3D 44 04 AE D6 15
</pre>
==== Linux command ====
<pre>
objcopy -I binary -O binary --reverse-bytes=16 dump.bin keys.bin
</pre>
</pre>


Line 57: Line 51:
* Add write permission on cmtab file:
* Add write permission on cmtab file:
<pre>
<pre>
sudo chmod 777 /etc/cryptmount/cmtab
sudo chmod 777 /dev/cryptmount/cmtab
</pre>
</pre>


Line 109: Line 103:
* Remove write permission on cmtab file:
* Remove write permission on cmtab file:
<pre>
<pre>
sudo chmod 644 /etc/cryptmount/cmtab
sudo chmod 775 /dev/cryptmount/cmtab
</pre>
</pre>
* Mount PS4 "user" partition:
* Mount PS4 "user" partition:
Line 199: Line 193:
}
}
</pre>
</pre>
= Files management =
== Read-only ==
UFS filesystem only allows to be mounted as read-only on Debian and Ubuntu. To enable read-write mounting, it is needed to either compile Linux kernel with ufs write flag enabled or to share the raw partition from Debian/Ubuntu to FreeBSD/equivalent running in a virtual machine (ex: VirtualBox).
This is not easy to setup, so better use a PS4 kernel exploit to get write access on PS4, and for example use FTP to conveniently write to the desired partition.
== root owner ==
When partitions are mounted to folders using cryptmount, these folders and files are owned by root. This can be annoying because it is required to use sudo to be able to open or copy most files and to open some folders.
To remove this annoyance, it is possible to change owner of folders and files to your user.
<pre>
sudo chown -R username mount_folder
</pre>
But it is not possible to apply this on the cryptmount folder directly. It is firstly needed to make a copy of the mount folder to a folder on the PC HDD.
<pre>
sudo cp -R /home/username/Desktop/mount_folder /home/username/mount_folder
sudo chown -R username /home/username/mount_folder
</pre>


{{Linux}}
{{Linux}}
<noinclude>[[Category:Main]]</noinclude>
<noinclude>[[Category:Main]]</noinclude>
Please note that all contributions to PS4 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS4 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)