Sony PCG-C1VN PictureBook Red Hat 2.4.* Kernel

Disclaimer: Use at own risk!


PictureBook | PB Links
Prep | Steps | Sound | Memorystick Patch

Corrections, simplifications, etc. welcomed. Tell me.
Note: in the instructions, replace 2.4.* with the current version (2.4.3, 2.4.4, etc.).
During/after every step, check the output to make sure nothing has gone wrong!

Prep

IBM has instructions for compiling the kernel which are a lot more detailed than mine. If that URL doesn't work, try finding it from here: http://www.ibm.com/developerworks/linux/.
Download linux-2.4.*.tar.gz from a Kernel.org mirror http://www.kernel.org/mirrors/ .

cd /usr/src, if there is a linux subdirectory, move it to another name. Ex: mv linux linux_2_2_16

Extract the source into /usr/src (in /usr/src, type tar xzvf linux-2.4.*.tar.gz)
This should create a linux directory in /usr/src with the 2.4.* kernel source.

Move the source to linux-2.4.* and add a symbolic link to it:
mv /usr/src/linux /usr/src/linux-2.4.*
ln -s /usr/src/linux-2.4.* /usr/src/linux

Patching
Check here to find out what the latest patch level is and to find a link to a description of what's in the patch. You can download the patch from here.
Copy the patchfile into /usr/src/linux
While in /usr/src/linux, for a gzipped patch, do: gzip -cd patchfilename.gz | patch -p1
If Netscape has gunzipped the patch for you, do: cat patchfilename | patch -p1
Note: always apply the patch before your final reading of the documentation, as the patch may change the documentation!

Read at least the Readme and Documentation/Changes and make sure all the programs needed are the correct versions. RPMFIND is a good way to find specific versions of RPMs. Failure to update your programs will doom your attempt.

Steps


In an xterminal...

Change directory into the /usr/src/linux subdirectory

This step is even more Red Hat-centric than the rest of this document: edit /usr/src/linux/Makefile:
1) Uncomment the export INSTALL_PATH line and set it to /boot if it's not already and you use /boot :-)
2) Change each instance of gcc to kgcc
3) Save your changes :-)

make mrproper

make xconfig

Load Configuration from file; here's mine for 2.4.*.
Make any changes you need/want. Save the updated configuration to a file. Watch the terminal from which you launched xconfig. If you see error messages, go back and check the kernel configuration relating to them, then save to a file again, and save and exit xconfig when finished.

make dep; make clean

make bzImage

make modules; make modules_install

cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.*-acn
cp /usr/src/linux/System.map /boot/System.map-2.4.*-acn

Edit /etc/lilo.conf and copy the existing linux entry so you have two entries
Edit the second one to image=/boot/vmlinuz-2.4.*-acn, label=newlinux
Example:

image=/boot/vmlinuz-2.2.16-22    
    label=old
	read-only
	root=/dev/hda5

image=/boot/vmlinuz-2.4.*-acn
	label=newlinux
	read-only
	root=/dev/hda5


/sbin/lilo

cd /boot
rm System.map
ln -s System.map-2.4.*-acn System.map

(From Andy Nguyen, see Sound for complete details)
edit /etc/modules.conf and add the following three lines:
alias char-major-116 snd
alias snd-card-0 ymfpci
alias sound-slot-0 snd-card-0

Reboot system, select "newlinux"

In theory, you should be all set. :-)

Sound

Thanks to Andy Nguyen for these instructions:
- Distr: Redhat 7.0, but this should be generic for all other dist
- C1VM, which is the Australian version of the C1VN.
- Kernel 2.4.1-ac10
- When configuring the kernel (I use "make menuconfig"), enable Sound card support, OSS sound modules (Also Verbose and Persistent DMA buffer), and Yamaha YMF7xx PCI audio.

CONFIG_SOUND=y
CONFIG_SOUND_OSS=m
CONFIG_SOUND_TRACEINIT=y
CONFIG_SOUND_DMAP=y
CONFIG_SOUND_YMFPCI=m
CONFIG_SOUND_YMFPCI_LEGACY=y

- Include YMFCPI in /etc/modules.conf
alias char-major-116 snd
alias snd-card-0 ymfpci
alias sound-slot-0 snd-card-0

Note: If you experience a buzzing noise after doing this, follow Andy's further advice:
"I had the buzz sometimes when changing config, but never on a clean boot. When that happens I just turn down the volume in text mode with "aumix" and run sound either in text mode or in X. Another quick fix is to run mpg123 in text mode and play a MP3 file."

I've included Andy's change in my kernel configuration file above. You should be able to just add the three lines to /etc/modules.conf before restarting with the new kernel.

Memorystick Patch

Thanks to Marc Boucher for e-mailing me the latest version of his patch!

--- linux-2.4.0-ac10-mb/drivers/usb/storage/unusual_devs.h      2001/01/21 19:05:34     1.1
+++ linux-2.4.0-ac10-mb/drivers/usb/storage/unusual_devs.h      2001/01/21 19:08:37
@@ -132,6 +132,12 @@
                US_SC_UFI, US_PR_CB, NULL,
                US_FL_SINGLE_LUN | US_FL_START_STOP ),
 
+UNUSUAL_DEV(  0x054c, 0x0032, 0x0131, 0x0131, 
+               "Sony",
+               "Memorystick MSC-U01",
+               US_SC_UFI, US_PR_CB, NULL,
+               US_FL_SINGLE_LUN | US_FL_START_STOP ),
+
 UNUSUAL_DEV(  0x057b, 0x0000, 0x0000, 0x0299, 
                "Y-E Data",
                "Flashbuster-U",
Copyright