Which M33 boot module loads the Recovery menu

Discuss the development of new homebrew software, tools and libraries.

Moderators: cheriff, TyRaNiD

Post Reply
vodkkaa
Posts: 10
Joined: Wed Aug 29, 2007 4:43 pm
Location: Adelaide, Australia

Which M33 boot module loads the Recovery menu

Post by vodkkaa »

iirc in the OE firmwares, recovery was loaded from the rtc.prx (systemctrl150). im pretty sure that this module applied the majority of the firmware patches before launching into the higher kernel. now that the ipl has been hacked and the firmware patches of m33 are applied from the custom ipl, does rtc.prx still load the m33 recovery, or is it loaded from the ipl.
Dariusc123456
Posts: 388
Joined: Tue Aug 12, 2008 12:46 am

Post by Dariusc123456 »

Its loaded from recovery.prx. The ipl is just cpu instuctions, so it wont just load from the ipl. The OE source code show's that its load from recovery.prx .
xero1
Posts: 3
Joined: Sat Dec 02, 2006 1:49 am

Post by xero1 »

Dariusc123456 wrote:Its loaded from recovery.prx. The ipl is just cpu instuctions, so it wont just load from the ipl. The OE source code show's that its load from recovery.prx .
Yes sir, just CPU instructions. :)

Image

vodkkaa, from the IPL.
J.F.
Posts: 2906
Joined: Sun Feb 22, 2004 11:41 am

Post by J.F. »

xero1 wrote:
Dariusc123456 wrote:Its loaded from recovery.prx. The ipl is just cpu instuctions, so it wont just load from the ipl. The OE source code show's that its load from recovery.prx .
Yes sir, just CPU instructions. :)

Image

vodkkaa, from the IPL.
Nah! Those really are opcodes!! It's just a coincidence that they seem like they form words related to PSP modules. ;) :D
User avatar
Wally
Posts: 663
Joined: Mon Sep 26, 2005 11:25 am

Post by Wally »

Dariusc123456 wrote:Its loaded from recovery.prx. The ipl is just cpu instuctions, so it wont just load from the ipl. The OE source code show's that its load from recovery.prx .
You're a CPU instuction.
vodkkaa
Posts: 10
Joined: Wed Aug 29, 2007 4:43 pm
Location: Adelaide, Australia

Post by vodkkaa »

so the recovery.prx is loaded and if RTrigger is not being held it continues on with the boot process. i want to knwo which module contains the instructions to launch recovery.prx when rtrigger is being held.

and how come the recovery.prx cannot be replaced with another prx. im guessing the recovery is launched using sctrlKernelLoadExec so if i put another prx in the place of recovery.prx, shouldnt it execute. i tested it with 5.02 GEN by taking the M33 recovery and copying to my flash0 in place of the GEN recovery and the M33 recovery successfully lauches when R is held, But if i take the GEN recovery and put it in place of the M33 recovery on an m33 install, the recovery doesnt boot. does DA sign his modules or something
User avatar
Wally
Posts: 663
Joined: Mon Sep 26, 2005 11:25 am

Post by Wally »

J.F. wrote:
xero1 wrote:
Dariusc123456 wrote:Its loaded from recovery.prx. The ipl is just cpu instuctions, so it wont just load from the ipl. The OE source code show's that its load from recovery.prx .
Yes sir, just CPU instructions. :)

Image

vodkkaa, from the IPL.
Nah! Those really are opcodes!! It's just a coincidence that they seem like they form words related to PSP modules. ;) :D
The answer is there! :P
xero1
Posts: 3
Joined: Sat Dec 02, 2006 1:49 am

Post by xero1 »

vodkkaa wrote:does DA sign his modules or something
No, but GEN does "something" ;). Try to decrypt the recovery.prx from GEN with PRXDecrypter, you'll see.

Dump The IPL from your NAND. The rest will become clear.
vodkkaa
Posts: 10
Joined: Wed Aug 29, 2007 4:43 pm
Location: Adelaide, Australia

Post by vodkkaa »

xero1 wrote:
vodkkaa wrote:does DA sign his modules or something
No, but GEN does "something" ;). Try to decrypt the recovery.prx from GEN with PRXDecrypter, you'll see.
but M33 recovery works on GEN, but GEN recovery doesnt work on M33. I want to know what module gives the recovery menu instructions to boot. One of the modules must contain

Code: Select all

		if (pad.Buttons & PSP_CTRL_RTRIGGER)
		{
			struct SceKernelLoadExecParam param;

			memset(&param, 0, sizeof(param));

			param.size = sizeof(param);
			param.key = "updater";

			sceKernelLoadExec(RECOVERY, &param);
		}
		else
		{
			sceKernelExitVSHVSH(NULL);
		}
which one is it. im going out to dinner now, but when i get back ill take a closer look into the gen modules.
Super Sheep
Posts: 31
Joined: Sun Mar 23, 2008 2:16 am
Contact:

Post by Super Sheep »

Listen to what the people are saying. There is a small check in the IPL for R Trigger and it launches recovery if found.
moonlight
Posts: 567
Joined: Wed Oct 26, 2005 7:46 pm

Post by moonlight »

vodkkaa wrote:
xero1 wrote:
vodkkaa wrote:does DA sign his modules or something
No, but GEN does "something" ;). Try to decrypt the recovery.prx from GEN with PRXDecrypter, you'll see.
but M33 recovery works on GEN, but GEN recovery doesnt work on M33. I want to know what module gives the recovery menu instructions to boot. One of the modules must contain

Code: Select all

		if (pad.Buttons & PSP_CTRL_RTRIGGER)
		{
			struct SceKernelLoadExecParam param;

			memset(&param, 0, sizeof(param));

			param.size = sizeof(param);
			param.key = "updater";

			sceKernelLoadExec(RECOVERY, &param);
		}
		else
		{
			sceKernelExitVSHVSH(NULL);
		}
which one is it. im going out to dinner now, but when i get back ill take a closer look into the gen modules.
recovery is loaded by ipl, there is no loadexec. custom Ipl detects key by using the sony syscon driver embedded in main.bin, and if R is found, it changes the load of the pspbt file by one contained in the custom ipl. This special pspbtcnf file has vsh module and some other unneeded module removed, and recovery and usb modules added.
vodkkaa
Posts: 10
Joined: Wed Aug 29, 2007 4:43 pm
Location: Adelaide, Australia

Post by vodkkaa »

moonlight wrote:
vodkkaa wrote:
xero1 wrote: No, but GEN does "something" ;). Try to decrypt the recovery.prx from GEN with PRXDecrypter, you'll see.
but M33 recovery works on GEN, but GEN recovery doesnt work on M33. I want to know what module gives the recovery menu instructions to boot. One of the modules must contain

Code: Select all

		if (pad.Buttons & PSP_CTRL_RTRIGGER)
		{
			struct SceKernelLoadExecParam param;

			memset(&param, 0, sizeof(param));

			param.size = sizeof(param);
			param.key = "updater";

			sceKernelLoadExec(RECOVERY, &param);
		}
		else
		{
			sceKernelExitVSHVSH(NULL);
		}
which one is it. im going out to dinner now, but when i get back ill take a closer look into the gen modules.
recovery is loaded by ipl, there is no loadexec. custom Ipl detects key by using the sony syscon driver embedded in main.bin, and if R is found, it changes the load of the pspbt file by one contained in the custom ipl. This special pspbtcnf file has vsh module and some other unneeded module removed, and recovery and usb modules added.
thanks. that is what i asked in the op. but how come i can switch the GEN recovery with the m33 recovery, but no the m33 recovery with the gen recovery.
moonlight
Posts: 567
Joined: Wed Oct 26, 2005 7:46 pm

Post by moonlight »

vodkkaa wrote:
moonlight wrote:
vodkkaa wrote: but M33 recovery works on GEN, but GEN recovery doesnt work on M33. I want to know what module gives the recovery menu instructions to boot. One of the modules must contain

Code: Select all

		if (pad.Buttons & PSP_CTRL_RTRIGGER)
		{
			struct SceKernelLoadExecParam param;

			memset(&param, 0, sizeof(param));

			param.size = sizeof(param);
			param.key = "updater";

			sceKernelLoadExec(RECOVERY, &param);
		}
		else
		{
			sceKernelExitVSHVSH(NULL);
		}
which one is it. im going out to dinner now, but when i get back ill take a closer look into the gen modules.
recovery is loaded by ipl, there is no loadexec. custom Ipl detects key by using the sony syscon driver embedded in main.bin, and if R is found, it changes the load of the pspbt file by one contained in the custom ipl. This special pspbtcnf file has vsh module and some other unneeded module removed, and recovery and usb modules added.
thanks. that is what i asked in the op. but how come i can switch the GEN recovery with the m33 recovery, but no the m33 recovery with the gen recovery.
he probably encrypts it so that it doesn't work.
Of course once I have realized this, don't expect nothing from me (including vlf, popstation) to work on gen from now on:) Let this thread to be a prove of who started incompatibilities.
User avatar
Torch
Posts: 825
Joined: Wed May 28, 2008 2:50 am

Post by Torch »

@vodkkaa
recovery.prx can be replaced with with another user mode module. You will also have a big lump of free space (almost 45MiB) on the Slim for your module when booted in recovery mode.

From this you can further load kernel modules. Even VLF works in recovery mode.
vodkkaa
Posts: 10
Joined: Wed Aug 29, 2007 4:43 pm
Location: Adelaide, Australia

Post by vodkkaa »

moonlight wrote: he probably encrypts it so that it doesn't work.
Of course once I have realized this, don't expect nothing from me (including vlf, popstation) to work on gen from now on:) Let this thread to be a prove of who started incompatibilities.
now it all makes sense to me. i thought you were checking the modules loaded but really it is gen who has encrypted their modules. thanks
Post Reply