Debootstrap to LiveCD


From Knoppix Documentation Wiki
Revision as of 06:06, 16 June 2006 by SNIa (Talk | contribs)

Jump to: navigation, search


This HOW-TO is to create a Live CD using the Debian debootstrap utility to install your base, and then to further work towards a complete LiveCD of your preference.

Pretense

It is assumed that you have the understanding:

  • Vi or a similar editor
  • BASH Programming howto
  • You have a Knoppix 4.1 ISO
  • 512MB Memory, possibly more or less
  • 5 gigs of hard drive space (maybe less)

The goal of this remastering method is to create a custom live-cd that involves only the applications you desire.

  • If you do not require X why have it take space?

Other goals of this project is to stem a new set of live-cd's to perform a specific function

  • Instant SAN: iSCSI, ATAoE, HyperSCSI, start the live-cd and share the devices at the block level.
  • Instant NAS: NFS, FTP, HTTP, SAMBA, Appletalk (netatalk)
  • Instant VM: Instant Virtual Machine, Rapid administration for system provisioning.
  • much much more.

Begin

First create a working directory, in this examle we will use /mnt/hda1/source/KNOPPIX

  • choose a mirror of your choice: http://www.debian.org/mirror/list
  • Also choose a release of your choice, either stable, testing, or unstable.
  • Choose the binary type, i386 or x86-64, power pc, etc.

In this example I have chosen my mirror to be ftp://ftp.egr.msu.edu/debian and I have chosen my release to be stable to run debootstrap

debootstrap --arch i386 sarge /mnt/hda1/source/KNOPPIX ftp://ftp.egr.msu.edu/debian

next you will want to mount your proc directory

Mount Proc

Mount the proc directory as follows:

mount proc -t proc /mnt/hda1/source/KNOPPIX/proc

Setup Networking

cp /etc/resolv.conf /mnt/hda1/source/KNOPPIX/etc/resolv.conf
cp /etc/hosts /mnt/hda1/source/KNOPPIX/etc/hosts
cp /etc/hostname /mnt/hda1/source/KNOPPIX/etc/hostname

CHROOT

chroot /mnt/hda1/source/KNOPPIX/ /usr/bin/env -i HOME=/root TERM=$TERM PS1='\u:\w\$ ' PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash --login

reconfigure console

dpkg-reconfigure console-data

MAKEDEV

run makedev cd /dev

./MAKEDEV generic

BASE CONFIG

base-config

stay tuned

SNIa 03:07, 5 Jun 2006 (GMT)


work in progress, not yet refined

apt-get install hotplug hotplug-utils gawk

from the knoppix disc method

There is also a number of rc scripts

proper method

Since The mirrors I have to obtain the knoppix scripts are incorrect, i'm using dpkg --listfiles to see which files are a part of the knoppix scripts, and importing them by hand. :( Hopefully by weeks end I will have a beta knoppix from debootstrap complete. SNIa 04:19, 5 Jun 2006 (GMT)


Install knoppix scripts

apt-get install hotplug-knoppix knoppix-customize \
 linux-kernel-headers-knoppix networkconfig-knoppix \
 rebuildfstab-knoppix saveconfig-knoppix \
 scanpartitions-knoppix sysvinit-knoppix user-profile-knoppix

ENTIRE SCRIPT

#!/bin/bash
SOURCEDIR=/mnt/hda1/source
MASTERDIR=/mnt/hda1/master

mkdir ${SOURCEDIR}/KNOPPIX
debootstrap --arch i386 sarge /mnt/hda1/source/KNOPPIX ftp://ftp.egr.msu.edu/debian
mount proc -t proc ${SOURCEDIR}/KNOPPIX/proc

chroot ${SOURCEDIR}/KNOPPIX/ /usr/bin/env -i HOME=/root TERM=$TERM PS1='\u:\w\$ ' PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash --login

Once Loged into chroot

dpkg-reconfigure console-data
cd /dev
./MAKEDEV generic
base-config
apt-get install hotplug hotplug-utils gawk

And exit rrom chroot:

knoppixfiles="sysvinit-knoppix rebuildfstab-knoppix knoppix-setrootpassword \
hotplug-knoppix unionfs-knoppix-modules-2.6.12 automount-knoppix \
etcskel-knoppix hwdata-knoppix knoppix-remountrw knoppix-splash \
knoppix-splash-utils kudzu-knoppix-dev kudzu-knoppix-vesa libntfs5-knoppix \
linux-kernel-headers-knoppix rebuildfstab-knoppix rootshell-knoppix \
saveconfig-knoppix sambastart-knoppix scanpartitions-knoppix \
sshstart-knoppix sudoers-knoppix user-profile-knoppix usleep-knoppix"
for package in ${knoppixfiles}; { \
  for item in `dpkg --listfiles ${package}`;
  {
    if [ -d ${item} ];
    then
      mkdir -p ${SOURCEDIR}/KNOPPIX${item};
    else
      cp -ax ${item} ${SOURCEDIR}/KNOPPIX${item};
    fi;
  };
};