Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop isofs module requirement for getting SYSTEM.CNF from ISO images #74

Merged
merged 3 commits into from
Feb 5, 2025

Conversation

pcm720
Copy link
Contributor

@pcm720 pcm720 commented Feb 5, 2025

This PR introduces EE-side code for retrieving SYSTEM.CNF contents from ISO files instead of using isofs.irx module.
This reduces the number of load environment dependencies and enables third-party launchers to use quick boot flag without non-PS2SDK modules, shortening overall load times

This leaves only one outstanding issue preventing quick boot from working: fileXioInit() needs to be called by Neutrino even when qb flag is set, otherwise lseek64 calls fail. Not sure how to correctly implement this since qb can be set without fileXio being loaded.

@israpps
Copy link
Contributor

israpps commented Feb 5, 2025

Not sure how to correctly implement this since qb can be set without fileXio being loaded.

I made a PR that fixes the issue if RPC binding hanging eternally, but it never was approved nor merged

That would avoid freezing if you unit FILEXIO while it's not there

Copy link
Owner

@rickgaiser rickgaiser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This leaves only one outstanding issue preventing quick boot from working: fileXioInit() needs to be called by Neutrino even when qb flag is set, otherwise lseek64 calls fail. Not sure how to correctly implement this since qb can be set without fileXio being loaded.

With the -qb flag neutrino requires certain modules to be present. It's perfectly fine for neutrino to fail if -qb is set, but iomanX or fileXio are not loaded. The requirements will have to be documented in the readme (or a wiki page that I intend to add to github in the future).

Can you add the fileXioInit(); in the apropriate place? I think this will be at:

if (sys.bQuickBoot == false) {

Followed by something like:

} else {
  // Quickboot requires certain IOP modules to be loaded before starting neutrino
  // Initialize EE side connection to them
  fileXioInit(); // TODO: exit on error
}

Makefile Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
ee/loader/Makefile Outdated Show resolved Hide resolved
@pcm720
Copy link
Contributor Author

pcm720 commented Feb 5, 2025

Done

@rickgaiser
Copy link
Owner

Thanks! Merging.

@rickgaiser rickgaiser merged commit 6e8c1de into rickgaiser:master Feb 5, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants