Open frno7 opened 3 years ago
I've created a basic tutorial that should work: https://github.com/frno7/linux/wiki/Creating-a-bootable-PS2-Slim-DVD
@faissaloo, perhaps we should make a note about what version of the Linux kernel the basic tutorial currently covers?
The tutorial should be version agnostic
Sure, but BOOT/VMLINUZ.GZ
from the ISO must have some version? Something like this:
./BOOT/VMLINUZ.GZ
(Linux kernel version 2.x.y) with your version of vmlinuz.gzAlso, the Black Rhino distribution won’t run properly with 4.x and 5.x kernels, because it uses R5900 128-bit multimedia instructions (LQ, SQ, PEXTLB, PEXTLW and so on in for instance /lib/ld.so
). MMIs aren’t currently supported, see issue #5. Linux 2.x kernels are not IEEE 754 compatible, unlike 5.x kernels, as explained in issue #3. So versions are quite important until we have sorted out the issues, at the very least.
The initial patch submission, as discussed with kernel maintainers regarding issue #1, will be limited to the o32 psABI. In this regard, the Black Rhino build is nonstandard.
Oh sure, this tutorial isn't supposed to produce a Black Rhino iso, I've written it such that you replace/delete all the BlackRhino specific files. I've added some more detail now, let me know what you think. As long as this kernel can be booted with KernelLoader there should be no issues.
Thanks! I added a section Notes about R5900 Linux distributions and kernel versions to the guide. Last time I tried the Kernel Loader program it crashed when attempting to boot Linux 4.x and 5.x, so I assume that this will be a problem as well? In that case the kernel ought to be launched from wLaunchELF directly (as is usually done when launching 5.x kernels from a USB drive).
Eventually the kernel ought to be able to bypass even wLaunchELF and boot directly regardless of hardware state, but as noted in #4 we have a couple of initialisation issues to sort out first, starting with #9.
When it comes to launching directly, how do you handle passing kernel parameters? That's the main thing KernelLoader is for. I've added some information about what to do if you the disk to start a different ELF.
When it comes to launching directly, how do you handle passing kernel parameters? That's the main thing KernelLoader is for.
Oh, that’s rather easy. Simply enable CMDLINE_BOOL
and set CMDLINE
to whatever parameters you need in your kernel config:
Additionally, as per https://github.com/frno7/linux/issues/33#issuecomment-529501922, one can pass parameters to kernel modules in the initialisation scripts, like this:
modprobe ps2fb mode_option=1920x1080p@50 mode_margin=+13+0
The line above would load the Graphics Synthesizer frame buffer device driver and set the default video resolution to progressive 1920×1080 at 50 Hz, and then do some minor pixel adjustments as explained in:
Video modelines are very flexible with 5.x kernels, unlike 2.x kernels that don’t handle 1920×1080.
Some more: I think the guide should be renamed by omitting the word slim so that we have a general DVD guide (incidentally, slim has unfortunate connotations that would best to avoid).
Then a step 0 ought to be to review the PlayStation 2 Linux hardware model compatibility, and make sure that one has SCPH-7xxxx or possibly SCPH-900xx. I know that 2.x kernels are fiddly getting to work with various models. 5.x kernels should be much better at this, in the sense that they shouldn’t be possible to misconfigure for any particular model (that is, if it boots on one, it should boot on all).
I put the USB alternative in the header. Eventually we should to link to a USB guide there (and vice versa, have the USB guide link to the DVD dito).
Ah, regarding spelling: all other wiki pages spell out PlayStation 2 in the titles, with no abbreviation like PS2. The DVD guide ought to follow suit.
I didn't even realise you could hardcode the kernel config. Thanks to your suggestion regarding verifying downloads I realised the download link I was using previous had truncated the file lol, so I've switched it to another site and added the SHA. I've also linked to the hardware compatibility for this kernel and fixed the abbreviations.
Thanks, @faissaloo! I did a few minor adjustments to the guide:
A couple of questions:
9Zbm8Tdz4DvLXUGB.7Z
be improved to something more intelligible? Also having a version number, for instance?9Zbm8Tdz4DvLXUGB.7Z
relate to the variants at PS2 Live Linux DVD v3? Does it come from there? Is it somehow repackaged?The filename was set by the site I uploaded to, the ISO in it is based on ps2linux_live_v3_pal_small_no_modchip.7z
. I don't know that PAL vs NTSC refers to anything that we aren't replacing. The changes made are as follows:
I replaced its VIDEO_TS/
with the the FreeDVDBoot payload whose ELF in turn has been replaced with wLaunchELF+autostart and LNCHELF.CNF
is added to configure it.
Great! Would you like to update the guide with a (small) note on these particular changes compared with ps2linux_live_v3_pal_small_no_modchip.7z
, and add a link to the original site?
Done, how's that?
@faissaloo, nice, thank you very much!
9Zbm8Tdz4DvLXUGB.7Z link no longer works. Would you be able to renew or update?
@deba5er, see also https://github.com/frno7/linux/issues/4#issuecomment-898962340. I think download issues with these Linux 2.x images ought to be a separate issue, as they’re tangential to the the topic of this one. @deba5er, could you create a new issue and ping @faissaloo about it, please?
Explain on the wiki how to install Linux on a DVD, similar to https://github.com/frno7/linux/issues/4#issuecomment-752571259 but with a 5.x kernel. A guide has now been written for creating a bootable DVD for PlayStation 2 Linux. Plan: