[PS4] CTurt décrit la procédure pour lancer Linux

647 visiteurs sur le site | S'incrire

Accédez aux coordonnées de l’ensemble des techniciens professionnels recommandés par logic-sunrise 20 derniers dossiers et tutoriaux
Playstation 3 / 4
[PS4] CTurt décrit la procédure pour lancer Linux
Le développeur CTurt ne lâche pas le morceau. Alors qu'il avait annoncé l'arrêt de ses travaux sur la PlayStation 4, après les avoir dévoilés sur son site, il vient de mettre à jour la partie 3 de son dossier consacré à l'exploitation du kernel de la PS4.
 
 
 
Cette partie se nomme humblement "Booting Linux". CTurt y explique comment lancer le système d'exploitation grâce à PS4-kexec (publié par la team Fail0verflow).
 
Il indique tout d'abord que vous allez devoir créer votre propre distribution Linux compilée avec le kernel linux team Fail0verflow. Puis, vous devrez créer vos propres paramètres d'initialisation (propre à chaque console à priori).
 
Il faut copier les fichiers qui passent par la RAM vers une clé USB, relocaliser le Kexec pour le rentrer dans le noyau et encore le mettre en oeuvre dans la compilation. 
 

To create your own Linux distro, you'll need to compile fail0verflow's fork of the Linux kernel, and then create your own initramfs.
 
The easiest way to get these files into RAM is to copy them to a USB flash drive formatted as FAT32, which can then be read from once you've broken out of sandbox as explained earlier (/mnt/usb0/). You could also download them over the network if you prefer.
 
You'll also need to compile the ps4-kexec system call implementation as a relocatable binary and include it in your kernel exploit.
 
For your kernel payload you should copy the system call somewhere into kernel address space (like DT_HASH_SEGMENT), and run kexec_init to install it (which is guaranteed to be at offset 0 from the binary):
 
void *DT_HASH_SEGMENT = (void *)0xffffffff82200160;
memcpy(DT_HASH_SEGMENT, kexec, kexecSize);
 
void (*kexec_init)(void *, void *) = DT_HASH_SEGMENT;
kexec_init(NULL, NULL);
Once you return to userland, you can load the kernel and initramfs from USB, pass them to kexec, and finally reboot!
 
FILE *fkernel = fopen("/mnt/usb0/bzImage", "r");
...
 
FILE *finitramfs = fopen("/mnt/usb0/initramfs.cpio.gz", "r");
...
 
char *cmdLine = "panic=0 clocksource=tsc radeon.dpm=0 console=tty0 console=ttyS0,115200n8 "
"console=uart8250,mmio32,0xd0340000 video=HDMI-A-1:1920x1080-24@60 "
"consoleblank=0 net.ifnames=0 drm.debug=0";
 
syscall(153, kernel, kernelSize, initramfs, initramfsSize, cmdLine);
 
free(kernel);
free(initramfs);
 
// Reboot
int evf = syscall(540, "SceSysCoreReboot");
syscall(546, evf, 0x4000, 0);
syscall(541, evf);
syscall(37, 1, 30);
 
Des informations complémentaires sont disponibles à l'adresse suivante : http://cturt.github....s4-3.html#linux
Lundi 14 Mars 2016, 15:50 par tralala
Source : cturt.github.io
14 mars 2016, 17:46
Approuver ce commentaire (+1)
+1
mouais ... faut une ps4 avec un firmware très bas donc bon ...
Répondre à ce commentaire
14 mars 2016, 17:59
Approuver ce commentaire (+1)
Surtout que y'en a presque plus maintenant, donc bon...

La mienne était en 1.76 d'origine quand je l'ai eu mais bon je voulais en profiter.
Répondre à ce commentaire
14 mars 2016, 18:07
Approuver ce commentaire (+1)
+1
J'ai acheté un vieux pack en 1.52, je joue à killzone en attendant
Répondre à ce commentaire
14 mars 2016, 18:17
Approuver ce commentaire (+1)
T'as eu de la chance ^^ Profites en bien :)
Répondre à ce commentaire
14 mars 2016, 18:17
Approuver ce commentaire (+1)
lol les brider de la ps4 nuinut & Wingman patience encore 1 ans ou 2 ;)
Répondre à ce commentaire
14 mars 2016, 18:46
Approuver ce commentaire (+1)
moi aussi pack 1.52 en attente
j en ai encore un a vendre si interesse mp
Répondre à ce commentaire
14 mars 2016, 19:25
Approuver ce commentaire (+1)
+1
pack 1.52 ici aussi!! mais bon, en attendant il prend la poussière...et c'est ma femme qui gueule!
Répondre à ce commentaire
14 mars 2016, 19:34
Approuver ce commentaire (+1)

Merci ;)

Répondre à ce commentaire
14 mars 2016, 20:08
Approuver ce commentaire (+1)
pareil j'ai un pack compatible de cotés ^^
Répondre à ce commentaire
15 mars 2016, 04:22
Approuver ce commentaire (+1)
Puis, vous devrez créer vos propres paramètres d'initialisation (propre à chaque console à priori).

tu parles de initramfs là???

Il faut copier les fichiers qui passent par la RAM vers une clé USB, relocaliser le Kexec pour le rentrer dans le noyau et encore le mettre en oeuvre dans la compilation.

googletrad?
Répondre à ce commentaire
15 mars 2016, 11:10
Approuver ce commentaire (+1)
Il est vrai que plupart entre nous ont le pack 1.52 dont moi y compris. J'attends peu car nous savons qu'il existe d'autres developpeurs continuent leur taf pour ca.

Merci pour cette explication !
Répondre à ce commentaire
Cliquer ici pour continuer sur le forum
Envoyer