-
Notifications
You must be signed in to change notification settings - Fork 6
Creating a bootable DVD for PlayStation 2 Linux
One alternative to a DVD is to boot Linux from a USB device.
Using FreeDVDBoot and wLaunchELF+autostart a bootable DVD for the PlayStation 2 can be created that does not require further modification to the console (no FMCB or modchips, for example).
- This guide is expected to work with models SCPH-7xxxx and SCPH-900xx. Other models may need additional steps. Review PlayStation 2 Linux hardware model compatibility for more details.
- Download the compressed ISO image https://share.dmca.gripe/dl/9Zbm8Tdz4DvLXUGB.7Z (257,698,931 bytes)
- Verify that the downloaded 7z archive file has SHA256
2e4d34caea43247e79b9adce9ea263a0d83951200266d82974a9cdfca8426b73
- Extract and and mount the image
- Copy the data in the image to a directory you can write to
- Replace
./BOOT/INITRD.GZ
(the Black Rhino initial ramdisk) with your version ofinitrd.gz
- Replace
./BOOT/VMLINUZ.GZ
(the 2.4 kernel) with your version ofvmlinuz.gz
- Delete
./DISC.BIN
(this is used as a basis for the temporary rootfs by Black Rhino, it's not relevant to us) - If your kernel needs specific parameters modify
CONFIG.TXT
accordingly - Run
./BUILDISO.SH
- Rename
../BLACKRHINO.ISO
to whatever you want, this is your image - Use Brasero or some other tool to burn the image you've created to a DVD-R (do not use any other type of burnable disc)
- Throw it into your PlayStation 2 and enjoy Linux!
The image downloaded is the small version of Black Rhino Linux 3 for PAL consoles without modchips, with the VIDEO_TS/
directory replaced with the one from FreeDVDBoot which in turn has had the ELF it starts (VIDEO_TS/VTS_02_0.IFO
) replaced with wLaunchELF+autostart which is needed because some ELFs have trouble being executed directly by FreeDVDBoot, particularly KLOADER.ELF
, presumably because FreeDVDBoot does not prepare the sort of execution environment homebrew expects. LNCHELF.CNF
is then added to the DVD in order to point to the ELF we'd like to run.
The bundled KLOADER.ELF
may not work for all kernels, if you'd like to launch a different ELF add it to the directory and change the AUTOSTART_ELF
setting in LNCHELF.CNF
to point to the ELF you'd like to execute.
Linux 2.x kernels will run the Black Rhino distribution, but 4.x and 5.x kernels will not for the following reasons:
- Black Rhino has R5900 128-bit multimedia instructions (LQ, SQ, PEXTLB, PEXTLW and so on in for instance
/lib/ld.so
). MMIs are not yet supported with 4.x and 5.x, see issue #5. - Linux 2.x kernels are not IEEE 754 compatible, unlike 4.x and 5.x kernels, as explained in issue #3.
The current distribution for 4.x and 5.x kernels is Gentoo Linux for the PlayStation 2.
wLaunchELF+autostart will by default use the LNCHELF.CNF
on the DVD, however if a USB drive is plugged in it will instead use the LAUNCHELF.CNF
on that device. If a USB is inserted and left unconfigured wLaunchELF will appear to the user, however if a AUTOSTART_ELF
is set in the LAUNCHELF.CNF
on the USB it can be used to boot an ELF that is on the USB (or any other device for that matter). For example, the Linux distribution on your DVD may elect to install itself to a USB, during this installation process it could create this LAUNCHELF.CNF
file on the USB drive so that on next reboot the ELF that starts the Linux installation on the USB will be used instead of the DVD. This is important for two reasons: the CDVD drive on the Playstation 2 is prone to failure so it is best to avoid using it too much, additionally when booting from a DVD the filesystem is temporary as DVDs are read only.