compiling unofficial LaunchELF
What's needed for compiling uLaunchELF
Note: All this assumes that a working PS2 toolchain has already been setup.
Packages utilized:
uLaunchELF source package
libcdvd (ver 1.15 located here at ps2dev.org)
gskit
libjpg
ps2ftpd
ps2sdk
SMS
usbhdfsd
Step 1: Get an older ps2sdk revision for uLaunchELF from the ps2dev SVN repository. (Note: Do to changes to usbhdfsd one now needs to have an updated version of usbd)
Code:
svn checkout svn://svn.ps2dev.org/ps2/trunk/ps2sdk --revision 1420
svn checkout svn://svn.ps2dev.org/ps2/trunk/ps2sdk/iop/usb/usbd --revision 1494 ps2sdk/iop/usb/usbd
Step 2: Get an older SMS revision for uLaunchELF from the ps2dev SVN repository.
Code:
svn checkout svn://svn.ps2dev.org/ps2ware/trunk/SMS --revision 588
Step 3: Get an older gsKit revision for uLaunchELF from the ps2dev SVN repository.
Code:
svn checkout svn://svn.ps2dev.org/ps2/trunk/gsKit --revision 1470
Step 4: Get current versions of ps2ftpd and usbhdfsd from the ps2dev SVN repository in the ps2ware and ps2 sections respectively.
Step 5: Get current version of libjpg from ps2dev SVN repository under myPS2/lib/libjpg.
Step 6: Download the libcdvd library from ps2dev and extract it to "libcdvd" under the ps2dev path.
Step 7: Extract uLaunchELF source files, rename directory to "LaunchELF", and place them under the ps2dev path.
Step 8: Overwrite the preexisting source files by copying/moving the directory contents of the "Changed source for external projects" folder over the older ones in the ps2dev path.
Step 9: Make all projects by first starting with the ps2sdk. First rename the ps2sdk to ps2sdksrc, then do a 'make clean', and finally a 'make release' to build all the required SDK libraries. Now proceed to compile all other required projects then be sure to leave uLE to be compiled last.
The directory listing should look similar to the following: where '-' designates the expanded directories under "/usr/local/ps2dev/"
Code:
- ps2dev
+ bin
+ dvp
+ ee
+ iop
+ gsKit
- LaunchELF
chkesr
hdl_info
loader
ps2host
vmcfs
+ libcdvd
+ libjpg
+ ps2ftpd
+ ps2sdk
+ ps2sdksrc
- SMS
drv
SMSMAP
SMSTCPIP
SMSUTILS
+ usbhdfsd
This is by no means a complete step-by-step guide to building uLE. It was made for those that need some point of reference. If you want something more, a script is usually much more handy. Ubergeek42 has a pretty good one here for v4.12, which automates most of what has been somewhat briefly described above. Also a slightly different variation of that script, setup.sh, has also been created and is included in newer uLE versions. Keep in mind dlanor and I tend do our updates slightly different from the included script, but at least it can be used as a working example for the less patient.
WARNING Running the setup.sh script will impact your current ps2sdksrc version and other outside source projects to some extent. You have been warned.:) Sometimes it's important to backup the existing files before the script removes the original files with the uLE changed source files.
The main goal was to get a source release together that could be compiled without much of a hassle. Since the ps2sdk has issues, I made a script, setup.sh, based on ubergeek42's earlier ulecompile.sh script. This shows how to workaround the issues with compiling unofficial LaunchELF with a standard PS2 environment. Of course, the script is only part of it. The script is mainly just for the initial setup of getting the required outside projects in order. Once the script is done, uLaunchELF is to be compiled separately. The script setup.sh can be found in the "Source" directory under "Changed source for external projects" along with the "dlanor notes.txt" file.