olin000 / PS3-Debian

8 stars 0 forks source link

Help request #1

Open damiandudycz opened 1 year ago

damiandudycz commented 1 year ago

Hello. Sorry for reaching by using Issue request, but I don't know how else to reach you, and there is really not a ton on information over the internet, so I wanted to ask you for help. I wanted to do fresh installation of Gentoo Linux on the PS3 Slim with OtherOS++. I have problem with kernel, and while searching I have found your repository. The issue I have is that after compiling and using source from https://kernel.googlesource.com/pub/scm/linux/kernel/git/geoff/ps3-linux my gentoo doesn't recognize partitions /dev/ps3dd1 so it fails to boot. I am able to boot using Red Ribbon kernel (old) inside this Gentoo environment, so it should be possible to work. This problem with linux not detecting partitions on the PS3 HDD is hunting me for some time now. I know this is related to OtherOS++ working a bit differently than the original OtherOS, where otherOS was installed on /dev/ps3da1. OtherOS++ uses /dev/ps3dd and for some reason nothing except Red Ribbon kernel is able to detect it. Other kernels with OtherOS++ only see single /dev/ps3da device with no partitions. I see that you are actually using Slim too, so probably also OtherOS++ right? Please let me know if you can help me somehow or give some extra bit of information to make this work. Again, sorry for reaching so directly with GitHub, but it's really hard to find some information about this.

olin000 commented 1 year ago

Cześć @damiandudycz,

No problem with you contacting me like this. Though I am not sure if I will be able to help. As explained in the readme section my setup is somewhat different. From the start I chose not to mess with the internal PS3 drive and decided to go for an external USB instance with the Linux system. Possibly a slower solution, but isolated and working.

I can confirm that I am not getting access to the PS3 hard drive from the Linux kernel, though I get it (at least the drives listed in a proper manner when using for example fdisk -l) in the Red Ribbon kernel.

I just checked the loaded modules across the two systems. This would be under Red Ribbon:

Module                  Size  Used by
snd_usb_audio         124907  0
snd_usbmidi_lib        26100  1 snd_usb_audio
snd_hwdep              11756  1 snd_usb_audio
snd_rawmidi            26273  1 snd_usbmidi_lib
joydev                 15580  0
evdev                  17929  2
usbhid                 44063  0
bnep                   18040  2
ps3_jupiter_sta        27455  0
btusb                  20177  0
bluetooth             245505  17 bnep,btusb
ps3_jupiter            14193  1 ps3_jupiter_sta
snd_ps3                14463  0
snd_pcm                96754  2 snd_usb_audio,snd_ps3
ps3_disp_manager        5219  0
snd_timer              26732  1 snd_pcm
snd                    62434  7 snd_usb_audio,snd_hwdep,snd_timer,snd_pcm,snd_ps3,snd_rawmidi,snd_usbmidi_lib
soundcore               3204  1 snd
snd_page_alloc          7804  1 snd_pcm
ps3encdec               7435  0
sg                     35649  0
rt2800usb              21200  0
rt2800lib              85227  1 rt2800usb
crc_ccitt               2912  1 rt2800lib
rt2x00usb              13200  1 rt2800usb
rt2x00lib              49436  3 rt2x00usb,rt2800lib,rt2800usb
led_class               7204  1 rt2x00lib
mac80211              294241  3 rt2x00lib,rt2x00usb,rt2800lib
cfg80211              213921  2 mac80211,rt2x00lib
fuse                   94574  1
configfs               32985  1
dm_mod                107288  0
autofs4                34608  2
usb_storage            55257  2
ohci_hcd               27023  0
ehci_hcd               47665  0
usbcore               163896  11 btusb,snd_usb_audio,rt2x00usb,usb_storage,ps3_jupiter,ps3_jupiter_sta,ohci_hcd,rt2800usb,snd_usbmidi_lib,ehci_hcd,usbhid
usb_common              3989  1 usbcore
ps3_gelic              42368  0
ps3rom                  7616  0
ps3flash                9766  0
ps3nflash               8862  0
ps3vram                13620  1
rtc_ps3                 4225  0

and this under the ps3-linux kernel, which I built:

Module                  Size  Used by
rfcomm                 57344  4
bnep                   28672  2
btusb                  49152  0
btbcm                  20480  1 btusb
btintel                36864  1 btusb
btrtl                  20480  1 btusb
bluetooth             540672  27 btrtl,btintel,btbcm,bnep,btusb,rfcomm
snd_ps3                24576  1
ecdh_generic           16384  1 bluetooth
ecc                    28672  1 ecdh_generic
snd_pcm               135168  1 snd_ps3
snd_timer              45056  1 snd_pcm
snd                    81920  5 snd_ps3,snd_timer,snd_pcm
soundcore              16384  1 snd
sg                     40960  0
rt2800usb              28672  0
rt2800lib             118784  1 rt2800usb
rt2x00usb              24576  1 rt2800usb
rt2x00lib              57344  3 rt2800usb,rt2x00usb,rt2800lib
led_class              20480  1 rt2x00lib
crc_ccitt              16384  1 rt2800lib
fuse                  135168  1
dm_mod                143360  0
configfs               45056  1
autofs4                49152  2
raid10                 65536  0
raid456               139264  0
async_memcpy           16384  1 raid456
async_raid6_recov      16384  1 raid456
async_pq               16384  1 raid456
async_xor              16384  2 async_pq,raid456
async_tx               16384  5 async_pq,async_memcpy,async_xor,raid456,async_raid6_recov
xor                    20480  1 async_xor
raid6_pq              102400  3 async_pq,raid456,async_raid6_recov
libcrc32c              16384  1 raid456
raid1                  49152  0
usb_storage            65536  2
raid0                  20480  0
linear                 16384  0
md_mod                159744  5 raid1,raid10,raid0,linear,raid456
ohci_hcd               45056  0
ehci_hcd               61440  0
usbcore               217088  6 rt2800usb,ohci_hcd,usb_storage,ehci_hcd,btusb,rt2x00usb
usb_common             16384  2 ohci_hcd,usbcore
ps3_gelic              49152  0
ps3rom                 16384  0
ps3vram                24576  2
rtc_ps3                16384  0

I also compared the two results. image image and it looks to me like the module ps3enddec is missing.

Maybe you should ask your question in those threads: https://www.psx-place.com/threads/tutorial-read-warning-installing-red-ribbon-linux-on-rebug-4-81-2-4-84-2-d-rex.16419 https://www.psx-place.com/threads/eflash-decryption.29510/ or look for an answer here: https://www.psdevwiki.com/ps3/Mounting_HDD_on_PC This might be helpful as well: https://github.com/Sorvigolova/ps3encdec

damiandudycz commented 1 year ago

Thank you so much for the response :) Btw. "Cześć" - are you Polish too, or just happened to know this word? :)

I tried your kernel directly copied to my current setup just to see what happens, but as expected it didn't recognized the ps3dd and booted to initramfs console instead. Im currently using Red Ribbon 6.2 kernel as a temporary solution as well, just to be able to boot, and it works. It's version 3.12.6-red-ribbon-powerpc64-ps3.

I noticed that I have a lot less modules loaded tough, at least when using lsmod. I don't have ps3enddec module loaded at all. So either I don't need it, or it was compiled directly to the kernel, but from one of the links you provided, it looks like it's actually a module used to decrypt flash storage and not HDD. Please correct me if I got this wrong though.

But from another link you provided, I found this: Implemented PS3 partition support in Linux kernel. See patch 0035-ps3-partition.patch here http://gitorious.ps3dev.net/ps3linux/kernel-patches-35 So perhaps this is the patch that I need to add to kernel to be able to read the partition table. I don't know. Links are down unfortunately, but still this is a new information, so small steps forward, and maybe I will get somewhere :).

One more thing I noticed, when using red ribbon kernel - I called: udevadm info -a -n /dev/ps3dd And it shows the device: looking at parent device /devices/ps3_system/sb_04: KERNELS=="sb_04" SUBSYSTEMS="ps3_system_bus" DRIVERS="ps3disk" So apparently if Im reading this correctly, red ribbon kernel is using driver named ps3disk, which is build directly into kernel, as I don't see it listed as module. Not sure tough if Im interpreting this right, this is the first time Im doing something like this on Linux.

Thank you so much for your help!

olin000 commented 1 year ago

I am Polish too :)

... one more link that could possibly help you (from as it looks like another Polish guy): https://www.psx-place.com/resources/ps3-hdd-decryption-helper.1293/

There seem to be some drivers provided. I haven't tried it though. Maybe I will. But as mentioned before my use case was somewhat different. I have had no use of accessing PS3 HDD drive. I just needed a more or less up-to-date running system with connection to the Internet, for which the USB solution works just perfect.

Pozdrawiam :)