System Software: Difference between revisions

From PS4 Developer wiki
Jump to navigation Jump to search
(./)
 
(17 intermediate revisions by 6 users not shown)
Line 1: Line 1:
See also [https://www.psdevwiki.com/ps5/System_Software PS5 System Software].
<div style="float:right">[[File:System Software Update Installing.png|200px|thumb|left|System Software Update Installing]]</div>
<div style="float:right">[[File:System Software Update Installing.png|200px|thumb|left|System Software Update Installing]]</div>


== PlayStation 4's Operating System ==
= PlayStation 4 Operating System =


Name: ORBIS OS<br>
Name: ORBIS OS<br>
Line 7: Line 9:
Platform: 64 bits (x86_64)<br><br>
Platform: 64 bits (x86_64)<br><br>


== Disc vs Download ==
There are several means to get and/or install a system sofware update:
PUP files on PS4 discs are 1GB, regardless of version, as they are zerofilled at the end of the file, just like PS3 PUP were zerofilled to 256MB. Hence, their hash will differ.
* if automatic updating is enabled, the [[Southbridge]] will automatically download it and notify the user after finishing
* user can do manual update check in user interface
* user can enter [[Safe Mode]] and from there select updating
* [[PARAM.SFO]] of a [[Game Titles|Software Title]] can demand minimal version
* BD-ROM can (to compliment the afformentioned [[PARAM.SFO]]) also serve a <code>/PS4/UPDATE/PS4UPDATE.PUP</code> file<ref>PUP files on PS4 discs are 1GB (1073741824, 0x40000000 bytes), regardless of version, as they are zerofilled at the end of the file, just like PS3 PUP were zerofilled to 256MB. Hence, their hash will differ from the sys PS4UPDATE.PUP file they are based on.</ref>
 
= System Software Update =
 
== Files ==
 
PS4 '''P'''layStation '''U'''pdate '''P'''ackage download links mostly use the same structure as the PS3, PS5 and PS Vita: an updatelist.xml file is hosted on SIE servers and downloaded to get information about latest System Software version.
 
* Go to https://www.playstation.com/en-us/support/hardware/ps4/system-software/ to download PS4 system and recovery PUP files.
 
=== updatelist.xml ===
 
See [[Ps4-updatelist.xml]].
 
=== PS4UPDATE.PUP ===
 
<nowiki>http://</nowiki><span style="color: red;">&lt;EXTLD&gt;</span>.ps4.update.playstation.net/update/ps4/image/<span style="color: green;">&lt;YYYY_MMDD&gt;</span>/<span style="color: brown;">&lt;TYPE&gt;</span>_<span style="color: blue;">&lt;DIGEST&gt;</span>/PS4UPDATE.PUP?dest=<span style="color: red;">&lt;TLD&gt;</span>
* <span style="color: red;">&lt;EXTLD&gt;</span> is the Region abbreviation ('''pc''', '''djp01''', '''dus01''', '''deu01''', ...)
* <span style="color: green;">&lt;YYYY_MMDD&gt;</span> is the Build Date
* <span style="color: brown;">&lt;TYPE&gt;</span> is the 3 letter Package Type abbreviation ('''sys'''tem, '''rec'''overy, '''sys'''tem'''_ex'''...)
* <span style="color: blue;">&lt;DIGEST&gt;</span> is the ?shortened SHA1? Hash of the Package
* <span style="color: red;">&lt;TLD&gt;</span> is the 2-letter Region abbreviation ('''jp''', '''us''', '''eu''', ...)
 
== Versions ==
 
=== Version Format ===
 
==== Long ====
 
System Software Version format as displayed in TestKit/DevKit and internal PS4 System Settings is long and can be read as:
 
<pre>MM.mmn.nnn</pre>
 
Where:
* MM is the major version
* mm is the minor version
* n.nnn is the extended minor version
 
==== Short ====
 
System Software Version format as displayed on the [https://www.playstation.com/en-us/support/hardware/ps4/system-software/ playstation.com website] is short and can be read as:
 
<pre>MM.mm</pre>
 
Where:
* MM is the major version
* mm is the minor version
 
=== PS4UPDATE.PUP Versions ===


== Regioning ==
==== Retail ====


<ul>
{| class="wikitable"
<li>Japan, jp : [http://fjp01.ps4.update.playstation.net/update/ps4/list/jp/ps4-updatelist.xml ps4-updatelist.xml] / [http://hjp01.ps4.update.playstation.net/update/ps4/html/jp/jp/ps4-updatefeature.html ps4-updatefeature.html]</li>
|-
<li>USA, us : [http://fus01.ps4.update.playstation.net/update/ps4/list/us/ps4-updatelist.xml ps4-updatelist.xml] / [http://hus01.ps4.update.playstation.net/update/ps4/html/us/us/ps4-updatefeature.html ps4-updatefeature.html]</li>
! Version (Long) !! Version (Short) !! Build Date !! Type_Digest !! Size !! Notes !! Manufacture/Release Date
<li>Europe, eu :
|-
[http://feu01.ps4.update.playstation.net/update/ps4/list/eu/ps4-updatelist.xml ps4-updatelist.xml] / [http://heu01.ps4.update.playstation.net/update/ps4/html/eu/eu/ps4-updatefeature.html ps4-updatefeature.html]</li>
| 1.010.??? || 1.01 || ? || || || || Built on ?
<li>Korea, kr :
|-
[http://fkr01.ps4.update.playstation.net/update/ps4/list/kr/ps4-updatelist.xml ps4-updatelist.xml] / [http://hkr01.ps4.update.playstation.net/update/ps4/html/kr/kr/ps4-updatefeature.html ps4-updatefeature.html]</li>
| ? || ? || 2014_0528 || sys_ce90f2e9274e4614ffde6934e08e4b6e<br />rec_7f84e2f63d1f6a5b4348bb528b35f2d7 ||  ||  || Released on ?
<li>United Kingdom, uk :
|-
[http://fuk01.ps4.update.playstation.net/update/ps4/list/uk/ps4-updatelist.xml ps4-updatelist.xml] / [http://huk01.ps4.update.playstation.net/update/ps4/html/uk/uk/ps4-updatefeature.html ps4-updatefeature.html]</li>
| 12.500.011 || 12.50 || 2025_0123 || sys_a11b05ff455d2ec577fea25c63d25ef0<br />rec_0671734da8fb342270330549ea4d418e ||  ||  || Released on 2025 March 25th
<li>Mexico, mx :
|}
[http://fmx01.ps4.update.playstation.net/update/ps4/list/mx/ps4-updatelist.xml ps4-updatelist.xml] / [http://hmx01.ps4.update.playstation.net/update/ps4/html/mx/mx/ps4-updatefeature.html ps4-updatefeature.html]</li>
<li>Australia/New Zealand, au :
[http://fau01.ps4.update.playstation.net/update/ps4/list/au/ps4-updatelist.xml ps4-updatelist.xml] / [http://hau01.ps4.update.playstation.net/update/ps4/html/au/au/ps4-updatefeature.html ps4-updatefeature.html]</li>
<li> South Asia, sa (Asia except China, Japan, Korea and Taiwan) :
[http://fsa01.ps4.update.playstation.net/update/ps4/list/sa/ps4-updatelist.xml ps4-updatelist.xml] / [http://hsa01.ps4.update.playstation.net/update/ps4/html/sa/sa/ps4-updatefeature.html ps4-updatefeature.html]</li>
<li>Taiwan, tw :
[http://ftw01.ps4.update.playstation.net/update/ps4/list/tw/ps4-updatelist.xml ps4-updatelist.xml] / [http://htw01.ps4.update.playstation.net/update/ps4/html/tw/tw/ps4-updatefeature.html ps4-updatefeature.html]</li>
<li>Russia, ru :
[http://fru01.ps4.update.playstation.net/update/ps4/list/ru/ps4-updatelist.xml ps4-updatelist.xml] / [http://hru01.ps4.update.playstation.net/update/ps4/html/ru/ru/ps4-updatefeature.html ps4-updatefeature.html]</li>
<li>China, cn] (offline, probably no Chinese PS4 software) :
[http://fcn01.ps4.update.playstation.net/update/ps4/list/cn/ps4-updatelist.xml ps4-updatelist.xml] / [http://hcn01.ps4.update.playstation.net/update/ps4/html/cn/cn/ps4-updatefeature.html ps4-updatefeature.html]</li>
</ul>


Shop server is offline (wrong url?) : http://fshop01.ps4.update.playstation.net/update/ps4/list/shop/ps4-updatelist.txt / [http://fshop01.ps4.update.playstation.net/update/ps4/list/shop/ps4-updatelist.xml ps4-updatelist.xml] / [http://hshop01.ps4.update.playstation.net/update/ps4/html/shop/shop/ps4-updatefeature.html ps4-updatefeature.html]
==== TestKit ====


== PS4 Update list ==
To be documented.


<?xml version="1.0" ?>
==== DevKit ====
<update_data_list>
  <region id="jp" >
    <force_update>
      <system level0_system_version="00.000.000" level1_system_version="00.000.000" />
    </force_update>
    <system_pup version="00.000.000" label="0.000" >
      <update_data update_type="full" >
        <image size="1" >http://djp01.ps4.update.playstation.net/update/ps4/image/xxxx/PS4UPDATE.PUP?dest=jp</image>
      </update_data>
    </system_pup>
    <recovery_pup type="default" >
      <preinst_pup  version="00.000.000" />
      <system_pup version="00.000.000" label="0.000" />
      <system_ex_pup id="0" version="00.000.000.000" label="0.000.000.000" />
      <image size="1">http://djp01.ps4.update.playstation.net/update/ps4/image/xxxx/PS4UPDATE.PUP?dest=jp</image>
    </recovery_pup>
  </region>
</update_data_list>


PS4 Playstation Update Packages links use the same structure as the PS Vita and PS3:
To be documented.
<pre>
http://d<TLD>01.ps4.update.playstation.net/update/ps4/image/YYYY_MMDD>/pre_<md5>/PS4UPDATE.PUP?dest=<TLD>
(TLD=2 region letter abbreviation (jp,us,..), YYYY_MMDD is release date, md5 is 22-digits long HASH)
</pre>


== SLB2 structure ==
== PUP Mirror Repositories ==
[[File:PS4 SLB PUP container format - SKFU.png|thumb|PS4 SLB PUP container format - SKFU]]


/* file structure of SLB goes as following, if unpacking make sure you use 64 bits little endian on windows os */
* Most PS4 update packages ever released can be downloaded from:
typedef unsigned char u8;
** Midnight Archive (https://archive.midnightchannel.net/SonyPS/Firmware/index.php?cat=PS4REC)
typedef unsigned long int u32;
** Internet Archive's Wayback Machine, by choosing a region as in the official URL
typedef unsigned long long int u64;
** Softpedia (https://drivers.softpedia.com/get/gaming-consoles/Sony/)
typedef struct{
u32 offset; //1 block is headersize (512 padded)
u32 cryptSize;
u64 reserved; //probably file alignment
u8 fileName[32];
} fileEntry;
typedef struct{
u32 magic; //SLB2
u64 version; //1
u32 fileCount;
u32 blockCount;
u8 reserved[12];
fileEntry files[10];
} ps4pup;


=== SLB2 files to play with ===
= Notes =
[[1.500.000]]:
* http://www.mirrorcreator.com/files/056CKD7J/PS4UPDATE.PUP.rar_links
* https://mega.co.nz/#!WE8zUAyb!ZuZy5Vxrd4eCc4bTvFW_ZC7lu7Ub0tcdyE08xbJtrok (Main)
* https://mega.co.nz/#!GEdQkRRR!KSCLLQEGlWfQwsA3yBo3pkZqqqE6w-Jwk-5CvLd4GR0 (Recovery)


[[1.501.000]] :
{{reflist}}
* http://dus01.ps4.update.playstation.net/update/ps4/image/2013_1112/sys_df008b5601f4a214a3cc65030a02ac4a/PS4UPDATE.PUP?dest=us (Main)
* http://dus01.ps4.update.playstation.net/update/ps4/image/2013_1112/rec_cedada625478db608d5878c019454380/PS4UPDATE.PUP?dest=us (Recovery)


=== Unpacking ===
*  http://pastie.org/private/4wgojewhp2pq7declhkhw (flatz)
* [http://www.eurasia.nu/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=10234&ttitle=PS4_PUP_Extractor_v2 PS4 PUP Extractor v2] (xerpi)
* [http://www.skfu.xxx/2013/11/release-ps4-fw-tool-100.html PS4 FW Tool v1.0.0] (skfu)


{{Software}}
{{Software}}
<noinclude>[[Category:Main]]</noinclude>
<noinclude>[[Category:Main]]</noinclude>

Latest revision as of 23:25, 25 March 2025

See also PS5 System Software.

System Software Update Installing

PlayStation 4 Operating System[edit | edit source]

Name: ORBIS OS
Based on: FreeBSD 9.0
Platform: 64 bits (x86_64)

There are several means to get and/or install a system sofware update:

  • if automatic updating is enabled, the Southbridge will automatically download it and notify the user after finishing
  • user can do manual update check in user interface
  • user can enter Safe Mode and from there select updating
  • PARAM.SFO of a Software Title can demand minimal version
  • BD-ROM can (to compliment the afformentioned PARAM.SFO) also serve a /PS4/UPDATE/PS4UPDATE.PUP file[1]

System Software Update[edit | edit source]

Files[edit | edit source]

PS4 PlayStation Update Package download links mostly use the same structure as the PS3, PS5 and PS Vita: an updatelist.xml file is hosted on SIE servers and downloaded to get information about latest System Software version.

updatelist.xml[edit | edit source]

See Ps4-updatelist.xml.

PS4UPDATE.PUP[edit | edit source]

http://<EXTLD>.ps4.update.playstation.net/update/ps4/image/<YYYY_MMDD>/<TYPE>_<DIGEST>/PS4UPDATE.PUP?dest=<TLD>

  • <EXTLD> is the Region abbreviation (pc, djp01, dus01, deu01, ...)
  • <YYYY_MMDD> is the Build Date
  • <TYPE> is the 3 letter Package Type abbreviation (system, recovery, system_ex...)
  • <DIGEST> is the ?shortened SHA1? Hash of the Package
  • <TLD> is the 2-letter Region abbreviation (jp, us, eu, ...)

Versions[edit | edit source]

Version Format[edit | edit source]

Long[edit | edit source]

System Software Version format as displayed in TestKit/DevKit and internal PS4 System Settings is long and can be read as:

MM.mmn.nnn

Where:

  • MM is the major version
  • mm is the minor version
  • n.nnn is the extended minor version

Short[edit | edit source]

System Software Version format as displayed on the playstation.com website is short and can be read as:

MM.mm

Where:

  • MM is the major version
  • mm is the minor version

PS4UPDATE.PUP Versions[edit | edit source]

Retail[edit | edit source]

Version (Long) Version (Short) Build Date Type_Digest Size Notes Manufacture/Release Date
1.010.??? 1.01 ? Built on ?
? ? 2014_0528 sys_ce90f2e9274e4614ffde6934e08e4b6e
rec_7f84e2f63d1f6a5b4348bb528b35f2d7
Released on ?
12.500.011 12.50 2025_0123 sys_a11b05ff455d2ec577fea25c63d25ef0
rec_0671734da8fb342270330549ea4d418e
Released on 2025 March 25th

TestKit[edit | edit source]

To be documented.

DevKit[edit | edit source]

To be documented.

PUP Mirror Repositories[edit | edit source]

Notes[edit | edit source]

  1. PUP files on PS4 discs are 1GB (1073741824, 0x40000000 bytes), regardless of version, as they are zerofilled at the end of the file, just like PS3 PUP were zerofilled to 256MB. Hence, their hash will differ from the sys PS4UPDATE.PUP file they are based on.