installing ps2stuff

To run a program that depends on ps2stuff you'll need to install the device/kernel module and a patched kernel. To build you'll also need the library.

ps2stuff the kernel module

ps2stuff has a kernel module component that does a few useful things like allocating dma memory. Most programs that use ps2stuff will need this module/device installed.

Building the device from source is pretty trivial; you'll find it in the ps2stuff source tree. Alternatively you can download the prebuilt version from the project page.

Now to install it:

  1. copy ps2stuff.o to /lib/modules/2.2.1/misc/
  2. add the following line to /etc/modules.conf:
    alias char-major-60 ps2stuff
  3. depmod
  4. cd /dev
  5. mknod ps2stuff c 60 0
  6. chmod a+rw ps2stuff
Warning: This particular part of ps2stuff is of dubious quality and has been known to crash machines on occasion... :)

ps2stuff the kernel patch

The ps2stuff kernel module depends in turn on a kernel patched with a slightly modified version of the bigphysarea patch. In other words, to run a program that depends on ps2stuff, you'll need to either patch and build the kernel or install a prebuilt one as follows:
  1. su
  2. mnt /mnt/mc00
  3. cd /mnt/mc00
  4. cp vmlinux vmlinux.original (just to be really safe)
  5. cp /usr/src/linux/vmlinux vmlinux.ps2stuff_patched
Now you'll need to add entries to boot from the new kernel to p2lboot.cnf. Because you need to specify the amount of memory for ps2stuff at boot time, I like to make a bunch of menu selections with different amounts of RAM, like this (be sure to change "/dev/hda5" to whatever your root partition is).

ps2stuff the library

There isn't a shared library version of ps2stuff ATM, so you'll only need to install the library if you want to build something that uses it.

If you really do need the library, I'm afraid you'll have to build it from source. (Don't worry, it should be easy.)

ps2stuff uses the UberMakefile, a part of ps2stuff itself, so you'll use the UM options. If you're not working on ps2stuff then it's pretty simple:

build environment command to build
ps2 linux, standard compiler make linux DEFINES=NO_ASM
ps2 linux, patched compiler make linux
cross-compile, standard make cross_linux DEFINES=NO_ASM
cross-compile, patched make cross_linux
The library will be in objs_[build name]./.