Revision [4743]
This is an old revision of Debianization made by tgp1994 on 2009-12-21 01:13:54.
Introduction
"Debianization" is my coined term for debianizing, or installing lots of debian packages, onto puppy. I don't have any specific reason for doing this, other than research and trying to build puppy up to a debian distro. I have encountered many problems along the way, so if you find one that is not addressed in here, please visit this topic and post about it.Steps
From ISO to hard drive
Starting at the very beginning here, I'm assuming that you have just downloaded the puppy ISO from this link. I myself will be installing it into VMWare Workstation 7, but the general procedure, once inside, will be the same.NOTE: I know that installing puppy to the hard drive defeats the general purpose of puppy, but as far as my knowledge of how puppy works goes, it will be the only way for this to work.
1. Install/Boot puppy
1a. Open VMWare, make a new Virtual Machine, select the puppy image as the CDROM drive, and boot.
1b. Get an ISO burning program, find a blank CD, and burn puppy to it. Reboot, boot from cd.
2. Go to Menu> Setup> Puppy universal installer, and select Internal (IDE or SATA) hard drive.
a. Continue through the steps for partitioning your hard drive and installing puppy to it.
3. Reboot, this time booting from the hard drive. It is not necessary to save the current session.4. Go to Menu> Setup> Wizard Wizard, then click Connect to Internet or Intranet...
a. For most of you, you should click Internet by network or wireless LAN...
b. The rest of the network setup should be self explanitory.
5. Navigate to this link and download dpkg from the mirror closest to you. Save it to the root hd.6. Right click> file *> open with> Pupzip. Then extract all files to the root of your hd.
7. Open rxvt, and type dpkg.
a. You should now see it begin with "dpkg: need an action option". If you see this, you may pat yourself on the back. Otherwise, take a few steps back and repeat.
8. Now we can get to work. Navigate to this link, and save the package to the root again.9. Repeat step 6 on this package.
10. Open rxvt again in case you closed and, and type apt-get. If you get something other than "command not found", you can pat yourself on the back again.
11. Now for something simple. Make a blank file in the path /var/lib/dpkg/, and name that file "status". (So it should be /var/lib/dpkg/status).
a. Also, create another blank file in /var/lib/dpkg/ titled "available".
12. Create another file, this time in the path /etc/apt/, and name it sources.list. Add the following to it:deb http://ftp.us.debian.org/lenny lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free
14. Now for a dependency. Navigate to this link and download libc6, save to the root. Do the usual, like you've always done with the previous .deb packages.
15. To begin with, apt and dpkg have no idea they are installed. They rely on their databases, rather than the file system its self. So to resolve any outstanding dependencies, type apt-get install dpkg.
[to be finished]
1. Navigate to Lenny's APT package page. Download it for your processor.
2. Open it with the designated compressed file opener. (DO NOT open it by "running" this file, open it with Pupzip.) Move the contents looking similar to yours (I.E /etc, /sbin) to the root of your HD.
3. Open up a terminal and type apt-get update. If it does not contact any sites, or you get an error, see the notes/help below.
4. You are now free to download w/e you want!
Notes
- You have to manually fill the sources.list file in (/etc/apt/sources.list). Google "Debian sources.list" (I will post it directly some other time.)
- DO NOT use puppy's .deb extractor; instead open each .deb file you manually download with pupzip and extract them to the root of your hard drive. (Subnote: Not to the /root folder, but to the (/) root of your hard drive.)
Possible problems and solutions
!!NEW!! Problem: When attempting to do any command (update, install, remove, etc.) with apt-get, you get an error saying "Cannot open file /var/lib/dpkg/status - open ... basicall saying that it cannot find the file named "status".Cause: We simply have not install DPKG all of the way.
Solution: No worries, this is an easy solution. Simply navigate to /var/lib/dpkg, and create a blank file named "status".
Problem: When booting, it says Starting up..., then init: applet not found. The kernel panicks.
Cause: Your busybox binary file has been overwritten, with what seems like a debian version.
Solution:
1. Boot up puppy in LiveCD mode.
2. Access /bin, (and not in your broken hard drive, but the ramdrive.)
3. Find busybox, and copy it to the /bin folder in your broken hard drive.
4a. If there are differences in file sizes, you are on the right track. Overwrite it, reboot, enjoy.
4b. If there is no difference in file size, then there is something else wrong. Sorry, but I wouldn't know what else.
Problem: While installing a package, you get a console error reading; "tempfile: command not found."
Cause: Generally occurs while configuring base-passwd.
Solution: None found yet. May have something to do with python or perl.
Problem: While installing a package, you get an error saying; "/usr/lib/libxml2.so.2: undefined symbol: gzopen64"
Cause: I've seen it only occur in one package. (Can't think of it right now.) Happens because of an outdated zlib installation.
Solution:
1. Download the zlib1g package from Debian.
2. Extract it's contents, retaining the file/folder structure, to your root.
3. Try installing the package again.
NOTE: Some people have reported that it is necessary to run the command "ldconfig" after doing this. If your package gives the same error after trying steps 1-3, then run the command.
NOTE2: zlib is necessary for all programs to function on puppy. If it gets removed or corrupted, no programs will work, so make sure you have a backup and/or the updated package already extracted.
Problem: When booting, an error repeatedly comes up saying something about an /etc/tty0 directory missing.
Cause: This is linked to installing a certain debian package.
Solution: I'm sorry my friend, you're out of luck.
Categories
CategoryDevelopmentCategoryHowTo