Home / Linux 2.6 / Linux 2.6 Test Files Version 7
Name Modified Size InfoDownloads / Week
Parent folder
rolf-ps2-support-v1.patch 2013-06-25 6.6 kB
setcrtmode_v1.tgz 2012-02-17 7.4 kB
linux-2.6.35.4-mipsel-ps2-modules-v7.tar.bz2 2012-02-16 47.6 MB
initrd_rolf_v1.gz 2012-02-13 6.0 MB
readme_linux_2.6_test_v7.txt 2012-02-13 6.4 kB
xorg_v1.conf 2012-02-13 1.3 kB
vmlinux2.6_v7.gz 2012-02-13 2.2 MB
Totals: 7 Items   55.8 MB 0
Example files for testing Linux 2.6 on PS2
##########################################

vmlinux2.6_v7.gz is a Linux kernel for PS2.

This is a proof of concept.

Change history:
Version 7
- Added support for 128 bit registers
- Support for power button
- Added framebuffer driver (32 bit and 16 bit color, VESA, DTV, PAL and NTSC support)
Version 6
 - Added workarounds for CPU bugs
 - Flush data cache when loading executable code (Fix random errors).
Version 5
 - Fixed alignment of data in kernel (MIPS_CPU_SCACHE).
 - Use timer in CPU. Support for high resolution timers.
 - Use internal CPU timer as system time.
 - Many workarounds for R5900 CPU bugs (short loops, missing sync.l and sync.p).
 - Disable use of 64 bit register in kernel (for memcpy and memset).
 - Fixed handling of IRQ 7 (timer interrupt).
 - Added support for writing to RTC.
 - Added support for internal hard disc.
 - Added support for PS2 game pad.
 - Added code for CDVD (not working, not enabled).
Version 4
 - Support for time offsets smaller than 10ms.
 - Fixed handling of floating point registers in exception handler.
 - Fixed intruction cache invalidation.
 - Added support for reading of RTC.
 - Fixed alignment of GS packets (graphic is now working).
 - Fixed debug output on SBIOS console (ps2client).
 - Added network drivers for fat PS2 and slim PSTwo.
 - Added infrastructure for SIF locking and CDVD calls.
Version 3
 - Add USB support for slim PSTwo
Version 2
 - Add USB support for fat PS2

Kernelloader 2.4 is required. I have tested this
with the PS2 models:
- SCPH-50004/VGA
This is working with the default configuration
of kernelloader.
It has support for
- graphic, framebuffer, the X-Server is working
- network (slim and fat PS2)
- USB.
- USB storage devices and USB keyboards are working.
- PS2 game pad
- internal hard disc in fat PS2
- RTC
- NFS root
- EXT3
It doesn't have support for:
- Sound
- Memory cards
- CD/DVD drive

Advanced Linux developers should be able to use it.
You need files from a Linux distribution for mipsel.
ABI 32 will work. ABI n32 and 64 are untested. The
kernel doesn't include support for n32 or 64 syscalls.

You can run it with the initrd from:
http://http.us.debian.org/debian/dists/lenny/main/installer-mipsel/current/images/malta/netboot/initrd.gz

You can use it with Debian 5.0:
http://sourceforge.net/projects/kernelloader/files/Debian%205.0/debian-lenny-mipsel-v1.tgz

You need to extract it to the root of a
USB memory stick (EXT3), hard disc (EXT3) or NFS share.

Example for NFS root:
Kernel parameter:
root=/dev/nfs nfsroot=192.168.0.1:/ps2root,tcp ip=dhcp
File /etc/exports on NFS server:
/ps2root 192.168.0.0/255.255.255.0(rw,sync,no_root_squash)

Linux applications may run unstable.
- NFS root leads to a memory leak.
- If problems occur, you can stop it with:
  - CTRL + c
  - ALT + SysRQ + r
    ALT + SysRQ + e
    ALT + SysRQ + i
    ALT + SysRQ + s
    ALT + SysRQ + u
    ALT + SysRQ + b
  - SysRQ is the print screen key.

- initrd is faster than hard disc.
- hard disc is faster than NFS root.
- NFS root is faster than USB storage device.

It is recommended to run it from internal hard disc and enable swap memory.

The files are build on a Ubuntu 10.10 from CVS
with tag LINUX_2_6_V7.

The file initrd_rolf_v1.gz includes a build of ROLF. ROLF is a graphical
interface designed like RISC OS:
http://stoppers.drobe.co.uk/
ROLF can only be started when swap memory is activated, e.g.:
swapon /dev/hda1

ROLF needs 32 bit color, e.g.:
fbset -xres 800 -yres 600 -depth 32

ROLF is started with the commands:
cd /
./run_me_to_start_rolf

ps2fb framebuffer configuration
###############################
The following kernel parameters configure the graphic mode:
video=ps2fb:pal
video=ps2fb:pal,640x480
video=ps2fb:pal,640x240
video=ps2fb:ntsc
video=ps2fb:ntsc,640x224
video=ps2fb:ntsc,640x448
video=ps2fb:vesa
video=ps2fb:vesa,640x480
video=ps2fb:vesa,800x600
video=ps2fb:vesa,1024x768
video=ps2fb:vesa,1280x1024,videomemsize=4194304
video=ps2fb:dtv
video=ps2fb:dtv,720x480
video=ps2fb:dtv,1280x720,videomemsize=4194304
video=ps2fb:dtv,1920x1080,videomemsize=4194304

The resolutions 1280x1024 and 1920x1080 support 16 bit color.
Lower resolutions support 32 bit color.
32 bit and 16 bit color are working correctly.
The color format is BGR and not RGB (inverted order of colors
in memory). Some programs and libraries can't handle this
(e.g. vice in X11, ROLF in 16 bit format, directfb in 16 and
32 bit color).
The default video memory size is 2MiB. You can always set the
higher modes, but only use them in text mode. Mapping of full
framebuffer will not work (only 2MiB).
The video memory is not allocated until the first application
mmaps the memory. It can't be swapped so it can decrease the
system performance.

The resolution can be changed with the command:
fbset -xres 800 -yres 600 -depth 32
fbset -xres 800 -yres 600 -depth 16

xorg configuration
##################

The framebuffer needs to be enabled.
xorg need to be installed:
apt-get install xorg
apt-get install xfce4
apt-get install fluxbox

You need to add one of the following lines to the file
~/.xinitrc to choose the desktop type:
exec fluxbox
exec xfce4-session

Fluxbox runs faster.
The file xorg.conf need to be copied to /etc/X11/xorg.conf
This file is configured to 640x480 and 32 bit color.
The color depth need to be configured to 24 or 15 bit.
X11 will automatically switch the resolution and color format.
It can be started as root user with the command:
startx

This is currently only working slow with an VGA monitor.

mplayer configuration
#####################

The mplayer can directly use the framebuffer. You can
start it with the commands:

fbset -xres 800 -yres 600 -depth 32
mplayer -nosound -vo fbdev -vf rgb2bgr=swap -fs video.mpg

Where video.mpg is the video file which is played. If
the video is too large or uses a complex codec, the
playback will be too slow. The following configuration
leads to an acceptable speed:
MPEG1  320x240  (aspect 1)  29.970 fps  990.8 kbps (123.8 kbyte/s)

The color is correct when mode is 32 bit and the filter rgb2bgr
swaps the byte order.

Note: The mplayer crashs if the videomemsize is too small.
This can be avoided by a smaller resolution or by increasing
the videomemsize.

In X11 the mplayer doesn't work, because BGR is not supported
(inverted order of color bytes).
Source: readme_linux_2.6_test_v7.txt, updated 2012-02-13