Its described in detail here:
http://www.linuxprinting.org/canon-faq.html#s_10
However, this worked successfully on mandrake 9.1 for me:
I downloaded bjfilterpixus850i-2.2-0.i386.rpm & bjfiltercups-2.2-0.i386.rpm from
ftp://download.canon.jp/pub/driver/bj/linux/ . Then from commandline:
bash-2.05b$ su
bash-2.05b$ ln -s /usr/lib/libpng.so.3 /usr/lib/libpng.so.2
bash-2.05b$ rpm -ivh --nodeps bjfilterpixus850i-2.2-0.i386.rpm bjfiltercups-2.2-0.i386.rpm
Then just selected the PIXSUS 850i ver.2.2 driver in the mandrake printer wizard.