based heavily on ps2nohdd,Thanks Patryk!
(Sorry my instructions arn't that detailed, If you get lost just post a message in the forums or try out one of the pre-made images)
If you just want to try out one of our pre-made images:
There are two images available at this moment, they are:
uclibgz_4096.img
- 400k image (4 megs of working space) image file. It has most commands that you're used to with bash. but that's about it..
To make this work, copy it onto your memory card, then add the following line to p2lboot.cnf:
"NoHdd 4meg" vmlinux uclibgz_4096.img 203 /dev/ram "ramdisk_size=4096" Bootstrapping InitRD
uclibgz_6144.img
- 1meg (6 megs of working space) image file. It has everything that the 400k
version has plus virtually all of the drivers on the ps2linux kit included with
it. From this image, you can mount the memory cards, cd, hard disk, even usb
cameras,etc are detected and loaded ;) Oh, and the network works, but not with
dhcp yet.. so you have to just manually give yourself an ip address in the
startup scripts.. Good luck, and lets build cool things onto this type of image,
the possibilities are endless eh..
Note: This image requires that you have the xrhino kernel installed on your memory card. Sorry,
but this image loads modules that require this kernel. However the 4meg image should work with any kernel so it might be a better and cleaner starting point.
To make this work, copy it onto your memory card, then add the following line to p2lboot.cnf:
"NoHdd 6meg" vmlinux uclibgz_6144.img 203 /dev/ram "ramdisk_size=6144" Bootstrapping InitRD
If you would like to Make your own image for yourself, here is how you can do it:
Download uClibc-0.9.14.tar.gz,
busybox-0.60.3.tar.gz
and busybox-0.60.0.tar.gz
from here
uClibc:
untarball it
in the uClibc dir,
cp extra/Configs/Config.mipsel Config
edit the Config file,
comment out the CC=$(CROSS)gcc line and the CC line right below it
Uncomment the first STRIPTOOL line and Comment the 2nd one
change the KERNEL_SOURCE to your kernel source directory (if needed)
make
make install
Now you will have a uClibc wrapper and stuff installed in:
/usr/mipsel-linux-uclibc/usr/bin
Busybox:
untarball it
in the Busybox dir,
edit the Makefile,
Make it cross compile using the uClibc wrapper "CROSS = /usr/mipsel-linux-uclibc/usr/bin/"
edit the Config.h file:
enable whatever you would like here, it's well documented.
* Note: I had problems with the init.c (not letting me
boot later on). So I copied the init.c from busybox v0.60.0 here before I ran
"make" and everything was fixed
make
cd /root
mkdir /root/nohdd
dd if=/dev/zero of=nohdd.img bs=1k count=6144
mke2fs -i 6144 -b 1024 -m 5 -F -v nohdd.img
mount nohdd.img /root/nohdd -t ext2 -o loop
go back to your busybox directory:
./install.sh /root/nohdd
cd /root/nohdd
mkdir dev
cp /dev/MAKEDEV .
./MAKEDEV std
./MAKEDEV console
cd ..
mkdir lib
cp -a (where ever you put it)/uClibc-0.9.14/lib/* lib (If
you don't need everything just pick what you need) (I personally copied
everything except the *.a stuff)
cd ..
mkdir proc
mkdir etc
cd etc
create an inittab file that looks like
::sysinit:/etc/init.d/rcS
::askfirst:-/bin/sh
mkdir init.d
cd init.d
create an rcS that looks like
#!/bin/sh
export PATH=/sbin:/usr/sbin:/bin:/usr/bin
chmod 0755 rcS
cd /root
gzip -c -9 nohdd.img > initrdgz.img
mount /mnt/mc00
cp initrdgz.img /mnt/mc00
cd /mnt/mc00
Edit p2lboot.cnf to add this line:
"NoHdd ps2 Linux" vmlinux initrdgz.img 203
/dev/ram "ramdisk_size=6144" Bootstrapping InitRD
Owari! Finito!
Hope it works!
PS: To run things on uClibc you first have to compile it using uClibc's GCC
wrapper..
If you want to help or if you have any questions just post a question in the
help forum