Aller au contenu


Photo

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


  • Please log in to reply
11 replies to this topic

Posté 14 March 2016 - 15:50

#1
tralala

tralala

    \0/ Postman \0/

  • Newser Expert
  • 13,867 Messages :
  • Sexe:Male
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

  • Retour en haut

Posté 14 March 2016 - 17:46

#2
alucard_xs

alucard_xs

    Sunriseur avancé

  • Members
  • PipPipPip
  • 692 Messages :
mouais ... faut une ps4 avec un firmware très bas donc bon ...
  • Retour en haut

Posté 14 March 2016 - 17:59

#3
Wingman

Wingman

    Sunriseur avancé

  • Members
  • PipPipPip
  • 605 Messages :
  • Sexe:Male
  • Lieu:Vers Moirans
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.
  • Retour en haut

Posté 14 March 2016 - 18:07

#4
nuinut

nuinut

    Sunriseur avancé

  • Members
  • PipPipPip
  • 774 Messages :
  • Sexe:Male
J'ai acheté un vieux pack en 1.52, je joue à killzone en attendant
  • Retour en haut

Posté 14 March 2016 - 18:17

#5
Wingman

Wingman

    Sunriseur avancé

  • Members
  • PipPipPip
  • 605 Messages :
  • Sexe:Male
  • Lieu:Vers Moirans
T'as eu de la chance ^^ Profites en bien :)
  • Retour en haut

Posté 14 March 2016 - 18:17

#6
thebigbass

thebigbass

    Sunriseur avancé

  • Members
  • PipPipPip
  • 400 Messages :
lol les brider de la ps4 nuinut & Wingman patience encore 1 ans ou 2 ;)
  • Retour en haut

Posté 14 March 2016 - 18:46

#7
chti77

chti77

    Sunriseur avancé

  • Members
  • PipPipPip
  • 437 Messages :
  • Sexe:Male
  • Passions:arcade , retrogaming
moi aussi pack 1.52 en attente
j en ai encore un a vendre si interesse mp
  • Retour en haut

Posté 14 March 2016 - 19:25

#8
crazycrazy

crazycrazy

    Sunriseur elite

  • Members
  • PipPipPipPip
  • 1,437 Messages :
  • Sexe:Male
pack 1.52 ici aussi!! mais bon, en attendant il prend la poussière...et c'est ma femme qui gueule!
  • Retour en haut

Posté 14 March 2016 - 19:34

#9
Gagny-Tech

Gagny-Tech

    Sunriseur PRIVILEGE

  • Technicien
  • 5,859 Messages :
  • Sexe:Male
  • Lieu:Paris (île de france)

Merci ;)


Installation Reset Glitch Hack, Xkey...sur l'île de France // Xbox slim NEUVE GLITCH en vente

Downgrade PS3 NOR/NAND, Cobra, 3K3Y!! // PS3 3.55, PS3 3K3Y,Cobra, SWAP DISC et autres en vente

ENVOI POSTAL POSSIBLE ! 

Mes annonces Technicien :  

Xbox PS3 Feedback

  • Retour en haut

Posté 14 March 2016 - 20:08

#10
nounours_59

nounours_59

    (╯°□°)╯︵ ┻━┻

  • Modérateur
  • 4,437 Messages :
  • Sexe:Male
  • Lieu:01101001011011010111000001101111011100110111001101101001011000100110110001100101
pareil j'ai un pack compatible de cotés ^^
  • Retour en haut

Posté 15 March 2016 - 04:22

#11
b&nder

b&nder

    Sunriseur avancé

  • Validating
  • PipPipPip
  • 350 Messages :
  • Sexe:Male
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?
  • Retour en haut

Posté 15 March 2016 - 11:10

#12
gwothen

gwothen

    Sunriseur PRIVILEGE

  • Members
  • PipPipPipPipPip
  • 2,304 Messages :
  • Sexe:Male
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 !
  • Retour en haut




1 utilisateur(s) sur ce sujet

0 invité(s) et 1 utilisateur(s) anonyme(s)