mameau%CWD%:> █
OFFLINE
$ cat article_0x02.txt
PS2 Internal HDD Setup                                version 0x02 -- @sairukau

===============================================================================
Changelog
===============================================================================
v0x02
v0x01  Initial document


===============================================================================
Expected Use cases
===============================================================================
- Run a PS2 Internal HDD

===============================================================================
Hardware
===============================================================================
PS2
- FAT PS2 Model 

Drive
- 500GB IDE Drive

Networking
- LAN
- Static IP

Software
- OPL Latest with NBD Server

Optional
- PFSshell
- hdl_dump

===============================================================================
Primer
===============================================================================
New OPL build moved from HDL Server to NBD Server

NBD or Network Block Device is a means of forwanding a block device from one
machine1 to machine2 and have it present as local storage on machine2


===============================================================================
Assumptions
===============================================================================
it is  assumed you can already 
- exec unsigned code on your ps2 
- you have an internal hdd in your ps2
- opl is setup
- your ps2 is networked


===============================================================================
Config
===============================================================================
PS2
 Install a version of OPL that supports the new NBD server,
 enable write function in the OPL settings

Linux
 Install nbd-client and enable the module

 {{{ 

  # apt-get install nbd-client
  # modprobe nbd

 }}}

===============================================================================
Block Device
===============================================================================
PS2 
 Start the server in OPL

Linux
 Attach the block device with nbd-client

 {{{

  # nbd-client 192.168.0.114 /dev/nbd0
  Connected /dev/nbd0

 }}}

 Detach a block device with ndb-client

 {{{

  # nbd-client -d /dev/nbd0

 }}}

===============================================================================
hdl_dump
===============================================================================
Project
 https://github.com/AKuHAK/hdl-dump.git
 
Build
 git pull https://github.com/AKuHAK/hdl-dump.git
 cd hdl-dump
 make release=yes

Example with nbd0
 
 $ ./hdl_dump map /dev/nbd0
  0GB: MMMMMMMM MMMMMMMM MMMMMMss ssssssss ssssssss sssssMss ssssssss ssssssss 
  8GB: ssssssss sssssssM ssssssss sssssssM ssssssss ssssssss ssssssss ssssssss

 $ ./hdl_dump hdl_toc /dev/nbd0
 type     size flags           dma startup      name
 DVD 3084128KB               0     "SLUS_210.08 Katamari Darmacy


===============================================================================
pfsshell
===============================================================================
Project
 https://github.com/ps2homebrew/pfsshell.git 

Build (with pfsfuse)
 git clone https://github.com/ps2homebrew/pfsshell.git
 cd pfsshell
 mkdir build
 cd build
 meson -Denable_pfsfuse=true ..
 ninja

Examples
 TBA


===============================================================================
Troubleshooting
===============================================================================
Permission denied in hdl_dump or other apps trying to access the block device

 {{{

  # ls -la /dev/nbd0
  brw-rw---- 1 root disk 43, 0 Sep 18 23:26 /dev/nbd0

 }}}

 To fix this, either add the user trying to run hdl_dump to the disk group or
 add other perms to the block device node {{{ chmod o+rw /dev/nbd0 }}}

===============================================================================
References
===============================================================================
https://github.com/AKuHAK/hdl-dump.git
https://github.com/ps2homebrew/pfsshell
https://github.com/ps2homebrew/Open-PS2-Loader
https://web.archive.org/web/20150606103529/http://opl.sksapps.com/index.php