Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update NBD server usage documentation #1101

Merged
merged 3 commits into from
Mar 16, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 24 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,24 +123,30 @@ that contains the preferred partition name (for example `__common`).
<summary> <b> NBD Server </b> </summary>
<p>

A [NBD](https://en.wikipedia.org/wiki/Network_block_device) server replaced HDL server.
NBD is [formally documented](https://github.com/NetworkBlockDevice/nbd/blob/master/doc/proto.md)
and developed as a collaborative open standard.
The current implementation of the server is based on [lwNBD](https://github.com/bignaux/lwNBD),
go there to contribute.
The main advantage of using NBD is that the client will simulate a similar
interface to the OS as if the device was plugged directly into your machine.
All your favorite software that worked with the device directly connected to your
machine, will work with the device accessible through the network.

Currently, only export for HDD is supported by the server.
You can use hdl-dump, pfs-shell, or even directly edit disk in some hex editor.
Example, how to install HDL game to the HDD:
Connect with your choosen client, then `hdl_dump inject_dvd ps2/nbd "Test Game" ./TEST.ISO`
and when you're done, disconnect the client.

So you need a NBD client.
Here we list some known compatible clients and how to use them.
OPL now uses an [NBD](https://en.wikipedia.org/wiki/Network_block_device) server to share the internal hard drive, instead of HDL server.
NBD is [formally documented](https://github.com/NetworkBlockDevice/nbd/blob/master/doc/proto.md) and developed as a collaborative open standard.

The current implementation of the server is based on [lwNBD](https://github.com/bignaux/lwNBD), go there to contribute on the NBD code itself.

The main advantage of using NBD is that the client will expose the drive to your operating system in a similar way as a directly attached drive.
This means that any utility that worked with the drive when it was directly attached should work the same way with NBD.

OPL currently only supports exporting (sharing out) the PS2's drive.

You can use `hdl-dump`, `pfs-shell`, or even directly edit the disk in a hex editor.

For example, to use `hdl_dump` to install a game to the HDD:

* Connect with your choosen client (OS specific)
* Run `hdl_dump inject_dvd ps2/nbd "Test Game" ./TEST.ISO`
* Disconnect the client.

To use the NBD server in OPL:

* Grab the latest beta version (OPL 1.1.0 (current stable) has some bugs in the NBD server) - go to the [Releases](https://github.com/ps2homebrew/Open-PS2-Loader/releases) section and grab the one at the top.
* Ensure OPL is configured with an IP address (either static or DHCP).
* Open the menu and select "Start NBD server". Once it's ready, it should update the screen to say "NBD Server running..."
* Now you can connect with any of the following NBD clients.

### nbd-client

Expand Down
Loading