Puppy
From Wsms
Puppy linux is a bootable CD linux distribution designed for older systems with slower processors and limited memory. One attractive feature is that Puppy loads itself into RAM and you can eject the CD. If your computer has a DVD player, you can even play DVDs using Puppy.
I have used version 2.13 on systems with as little at 96MB RAM and processors as slow as a 233MHz Pentium II. Once Puppy loads into memory it is very responsive. I have also installed Puppy on several different computers and virtual machines.--Ggeller 07:43, 28 March 2007 (PDT)
Contents |
download
tips
xwin
If you install Puppy to your hard disk and Ctrl-Alt-Backspace to kill X or otherwise leave X abnormally, you will be in text mode when you reboot. In this case you need to run xwin:
# xwin
e3em
Puppy doen't have emacs, but it has a console-based editor called e3 that has emacs key bindings. Invoked it with e3em. There is also an e3vi if you taste runs in that direction.
20070226
Adapted the instructions from: http://www.puppyos.com/hard-puppy.htm
sh-3.00# losetup /dev/loop2 devx_214.sfs sh-3.00# mkdir mntpt sh-3.00# mount -t squashfs /dev/loop2 mntpt sh-3.00# cp -a --remove-destination mntpt/* / sh-3.00# sync sh-3.00# umount mntpt sh-3.00# rmdir mntpt sh-3.00# which cpp /usr/bin/cpp
Note: this sort of thing doesn't work if you are running from a CD, you have to actually install puppy to a hard disk.
The source rpm for vnc is http://download.fedora.redhat.com/pub/fedora/linux/core/updates/5/SRPMS/vnc-4.1.1-39.fc5.src.rpm
I copied the source for vnc from arthur:/usr/src/redhat/BUILD to puppy. Then I did ./configure and make in the /vnc-4_1_1-unixsrc/common directory. The build fails with:
make[1]: Entering directory `/root/build/vnc/BUILD/vnc-4_1_1-unixsrc/common/zlib' gcc -O3 -DHAVE_UNISTD_H -DUSE_MMAP -o example example.o -L. -lz example.o(.text+0x28): In function `test_compress': example.c: undefined reference to `compress' example.o(.text+0xf5): In function `test_gzio': example.c: undefined reference to `gzopen' example.o(.text+0x10d):example.c: undefined reference to `gzputc' ...
I think that means the puppy needs zlib-devel. But, I wonder why it found a .h file that it liked and was able to get to the linking step. The source rpm for zlib-devel is http://download.fedora.redhat.com/pub/fedora/linux/core/5/source/SRPMS/zlib-1.2.3-1.2.1.src.rpm
Now it see that puppy has /usr/lib/libz.a. I think that means it has some sort of zlib, maybe not a good enough one. Or maybe compress and stuff come from another library? Fedora has:
libz.a libz.so libz.so.1 libz.so.1.2.3
Puppy has only:
/usr/lib/libz.a
Do I need to run ranlib or something to generate the .so files?
I think i fixed it. The problem was /usr/lib/libz.a. I deleted it, then built a new one in /root/build/vnc/BUILD/vnc-4_1_1-unixsrc/common/zlib, then copied the new one to /usr/lib/libz.a. Then I did make clean and make for the whole /root/build/vnc/BUILD/vnc-4_1_1-unixsrc/common. The problem is one of the FAQs in vnc-4_1_1-unixsrc/common/zlib/FAQ.
Success! I built vncviewer on Puppy 2.14. The trick is to change the link instruction to: EXTRA_LIBS = $(COMMON)/zlib/libz.a /usr/X11R7/lib/libXext.a /usr/X11R7/lib/libX11.a /usr/X11R7/lib/libXau.a /usr/X11R7/lib/libXdmcp.a -ldl in /root/build/vnc/BUILD/vnc-4_1_1-unixsrc/unix/vncviewer/Makefile.
VNC and puppy
To run puppy as a VNC server, install tightvncserver-repacked_by_EdB.pup. Then set the desktop to 1026x768x16. Start tight vnc server with:
sh-3.00# vncserver -geomery=1024x768 :96
Run the VNC client on another machine:
[ggeller@arthur ~]$ vncviewer -geometry 1024x768 192.168.2.96:5996
20070223
Installed puppy 2.14 under VMWare on arthur.
Format with fdisk:
sh-3.00# fdisk -l /dev/hda Disk /dev/hda: 8589 MB, 8589934592 bytes 15 heads, 63 sectors/track, 17753 cylinders Units = cylinders of 945 * 512 = 483840 bytes Device Boot Start End Blocks Id System /dev/hda1 1 14577 6887601 83 Linux /dev/hda2 14578 15636 500377+ 83 Linux /dev/hda3 15637 17753 1000282+ 83 Linux
# mke2fs -j /dev/hda1 # mkswap /dev/hda2 # mke2fs -j /dev/hda3
20070201
Puppy initscripts according to Gus Wirth: rc.sysinit -> load some modules + PCMCIA
rc.modules -> load modules + listed rc.local0 -> keyboard, mouse rc.network - allows only 2 extra modules rc.alsa
20070128
Set up puppy linux 2.13 under VMWare Server on arthur.
Formatted hard disk with fdisk.
I think you can install with the universal install from the main menu.
See also
Knoppix
The #puppylinux channel on IRC at Freenode.net
