From: "Jens Scheidtmann" Subject: mini HOWTO: Installing Debian on 4 MB RAM Dear list readers, recently I reactivated an old B/W notebook with 4 MB Ram lying around at my home: I bootstrapped Debian on it. The bootstrapping process was a bit more complicated as a normal install of Debian. This miniHOWTO outlines how I have done it. As this bootstrapping has happened some time ago and I am recalling it from memory there is as usual no guarantee that it will work. If you find any errors (be it typos, grammar or wrong facts) please tell me. I am currently subscribed neither to debian-user nor to debian-devel, so please cc your replies to JensScheidtmann@web.de (It would overwelm my one and only mail account -- I am currently waiting for a mail account with more space). This document is copyright (C) 2001 Jens Scheidtmann. You may freely distribute and alter this document under the GNU Public License 2 or above. Version 0.1 Prerequisites: ------------- * A normal computer with some free disk space. Not only free space in a partition, but an area of your hard disk without a partition. It should run Debian of course. * A notebook or computer with >= 4 MB RAM (and < 8 MB) with an HD of >= 300 MB, a parallel port and a floppy drive. * a LapLink cable (at least this howto assumes it, but you sure can use other means to connect the two computers). * An Internet connection or a Debian Install CD Set. * A version of the smalllinux boot/root disks (search freshmeat.net). Outline of the Process: ---------------------- 1) First you will use your normal computer and prepare a tarball of the Debian base system. 2) Then you will boot the notebook with boot/root disks, partition its hard disks and transfer the prepared tarball to it. 3) Make it bootable from the notebooks HD. 4) Start using Debian on your notebook. Note: Before following the process described here, you can try to install Debian from the installation disk set. Make sure that you replace the kernel on the boot disk with a kernel which does not consume so much memory. I don't know exactly where I ran into problems (because I did this install described in here a while ago), but I tried hard and fell back on the approach described in this howto, so good look and please tell me if you get it working. Phase I: ------- Prepare the Tarball. 0) Boot into smalllinux on your Notebook. 1) Look at your notebook and find out how big the HD is using fdisk. Decide how many space you will reserve for swapping and how many space is left for the linux partition. Use plenty of swap space! Mine is 35 MB. You should make it at least 20 MB big, because this partition will first contain a copy of the tarball we prepared on the normal computer. So partition the disk according to your choices. Format BOTH partitions as ext2. 2) Create a partition with a comparable size as the final linux partition on your normal computer. The exact size does not matter. 3) Install the Debian base system into this partion using the install floppies, a CD of your installation CD set or use whatever is your preferred way to install Debian. 4) Boot into your normal Linux System and mount the partition. Make a nice tarball out of it (as root), while preserving permissions: # cd /mnt/point; tar cvpzf /tmp/ball.tar . Phase II: -------- Once you got the tarball, you can proceed by making a network connection between the two computers. 0) Take a break. 1) Connect the two computers with your LapLink Cable. 2) Make sure the kernel of your normal computer has got the "plip" module available or compiled in. 3) Edit /etc/hosts and add two lines for your normal computer and your notebook: --//-- 192.168.0.1 father 192.169.0.2 baby --//-- 4) Fire the connection up on your normal computer: # ifconfig plip0 father pointopoint baby up If you are still using a 2.0.X kernel use plip1 instead. You will then have to add a route, too: "route add baby dev plip1". 5) Similarly fire the connection up using smalllinux from the notebook. Here you will have to use "plip1", raw IP adresses and add a route. You should now be able to send pings between the two computers. 6) mount the supposed swap partition as ext2 and open an ftp connection to your normal computer. Download ball.tar into the swap partition. 7) mount the final linux partition and extract the tarball into it: # cd /mnt/point/final; tar xvzpf /where/ever/it/is/ball.tar 8) umount the swap partition and do a mkswap with it. Phase III: --------- Now the Debian base system is installed on the laptop, you now have to make it bootable. 0) Prepare a bootfloppy for you notebook by dd-ing the smalllinux kernel onto a floppy disk. Set the correct boot device (the final partition) with rdev: # dd if=smalllinux.kernel of=/dev/fd0 # rdev /dev/fd0 /dev/correct.partition 1) Start the notebook with it and keep your fingers crossed that everything went alright and you don't get a kernel panic. 2) Copy the kernel to your harddisk, edit lilo.conf and run lilo. 3) Check wether the notebook starts without problems. Phase IV: -------- Use the notebook. Here are some tips: * Compile a lightweight 2.0.x kernel on your normal computer using kernel-tools. If it takes more than 500 k it is not lightweight. "dpkg -i" it on the notebook. (fdisk -l will not work, but hey, who cares.) * ftp /etc/apt/sources.list and /var/state/apt/lists/* from your normal computer. Read /usr/share/doc/apt/offline.txt.gz and use the wget method, but ftp the packages directly to /var/cache/apt/archives. Try to avoid installing, because apt-get install swaps to death. * zgv is a svgalib picture viewer, and bmv is a svgalib ghostscript frontend. * emacs20 works but takes ages to start. * I even installed tetex. * There is a "tiny X" out somewhere, but I haven't tried it yet and I don't know when I will.