Skip to content
This repository has been archived by the owner on Oct 13, 2019. It is now read-only.

Commit

Permalink
Linux loader
Browse files Browse the repository at this point in the history
Added Linux loader
  • Loading branch information
kr105 committed Apr 1, 2016
1 parent 289be0e commit 35b6588
Show file tree
Hide file tree
Showing 3 changed files with 4,413 additions and 158 deletions.
9 changes: 9 additions & 0 deletions README.md
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -28,6 +28,15 @@ If you're on Linux, the easiest way is probably to use `netcat`:


After you have sent the binary, it will be executed automatically. After you have sent the binary, it will be executed automatically.


### Linux loader
You need a FAT32 formatted USB drive plugged in on any PS4's USB port with the following files on the root directory:

`bzImage` : Kernel image that will be loaded. Recommended to use [this sources](https://github.com/fail0verflow/ps4-linux/tree/ps4-xhci-wip) to compile it.

`initramfs.cpio.gz` : The initial file system that gets loaded into memory during the Linux startup process. [This one](https://github.com/slashbeast/better-initramfs) is recommended.

The file names must match with the above and you can have more files on the same USB drive. From there you can setup the environment to run from an NFS share or from an external drive via USB (recommended) and boot a complete distro!

### Syscalls ### Syscalls
`Get PID` - Get process ID `Get PID` - Get process ID


Expand Down
33 changes: 29 additions & 4 deletions index.html
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -120,9 +120,11 @@
//setU32to(writeAddress + 1 * 4, 0x4801e883); //setU32to(writeAddress + 1 * 4, 0x4801e883);
//setU32to(writeAddress + 2 * 4, 0xf775c085); //setU32to(writeAddress + 2 * 4, 0xf775c085);
//setU32to(writeAddress + 3 * 4, 0x000000c3); //setU32to(writeAddress + 3 * 4, 0x000000c3);


// WiFi-Loader if(sessionStorage.loadlinux == 1)
writeLoader(writeAddress); writeLinux(writeAddress) // Linux-loader
else
writeLoader(writeAddress); // WiFi-Loader


chain.start(executeAddress); chain.start(executeAddress);
chain.write_rax_ToVariable(0); chain.write_rax_ToVariable(0);
Expand Down Expand Up @@ -519,13 +521,21 @@
logAdd("\"" + socketMessage + "\" sent to " + hostAddr + ":" + hostPort); logAdd("\"" + socketMessage + "\" sent to " + hostAddr + ":" + hostPort);
}); });
} }

function launchLinux() {
cleanSessionVars();
sessionStorage.loadlinux = 1;
allocateSharedMemory();

setTimeout(function() { document.cookie = "codeExecutionStage=1.1"; location.reload(); }, 10);
}
</script> </script>
</head> </head>


<body onload="load()"> <body onload="load()">
<div class="header"> <div class="header">
<h1>PS4 WebKit Playground</h1> <h1>PS4 WebKit Playground</h1>
<h2>CTurt, flatz, SKFU, droogie, Xerpi, Hunger, Takezo, nas, Proxima</h2> <h2>CTurt, kR105, flatz, SKFU, droogie, Xerpi, Hunger, Takezo, nas, Proxima</h2>


<div id="environment"></div> <div id="environment"></div>
</div> </div>
Expand Down Expand Up @@ -667,6 +677,21 @@ <h2>Modules</h2>
<button onclick="loadNamedModule()">Load Module</button> <button onclick="loadNamedModule()">Load Module</button>
</div> </div>
</div> </div>

<div class="box">
<h2>Linux loader</h2>

<div>
Make sure to have files <b>initramfs.cpio.gz</b> and <b>bzImage</b> <br/>
on a USB drive connected to the PS4 before loading this.
</div>

<br>

<div>
<button onclick="launchLinux()">Load!</button>
</div>
</div>


<div class="box"> <div class="box">
<h2>Misc</h2> <h2>Misc</h2>
Expand Down
Loading

0 comments on commit 35b6588

Please sign in to comment.