Difference between revisions of "Debootstrap to LiveCD"
(→proper method) |
(→'''ENTIRE SCRIPT''') |
||
Line 175: | Line 175: | ||
Outside of CHROOT | Outside of CHROOT | ||
KNOPPIX_PACKAGES=" | KNOPPIX_PACKAGES=" | ||
+ | ash-knoppix \ | ||
+ | aumix-gtk \ | ||
automount-knoppix \ | automount-knoppix \ | ||
+ | checkmem \ | ||
+ | ddcxinfo-knoppix \ | ||
+ | debhelper \ | ||
etcskel-knoppix \ | etcskel-knoppix \ | ||
+ | fuse-module-2.6.12 \ | ||
+ | genliloconf \ | ||
+ | gprsconnect-knoppix \ | ||
+ | hostap-modules-2.6.12 \ | ||
+ | hotplug \ | ||
hotplug-knoppix \ | hotplug-knoppix \ | ||
hwdata-knoppix \ | hwdata-knoppix \ | ||
+ | hwsetup \ | ||
+ | ipw2100-modules-2.6.12 \ | ||
+ | ipw2200-modules-2.6.12 \ | ||
+ | kbdconfig \ | ||
+ | kernel-image-2.6.12 \ | ||
knoppix-bookmarks \ | knoppix-bookmarks \ | ||
knoppix-certificates \ | knoppix-certificates \ | ||
Line 184: | Line 199: | ||
knoppix-dma \ | knoppix-dma \ | ||
knoppix-graphics \ | knoppix-graphics \ | ||
+ | knoppix-hdinstall \ | ||
knoppix-image \ | knoppix-image \ | ||
knoppix-installer \ | knoppix-installer \ | ||
Line 195: | Line 211: | ||
knoppix-swm \ | knoppix-swm \ | ||
knoppix-terminalserver \ | knoppix-terminalserver \ | ||
+ | knx-live-inst \ | ||
+ | kudzu-knoppix \ | ||
kudzu-knoppix-dev \ | kudzu-knoppix-dev \ | ||
kudzu-knoppix-vesa \ | kudzu-knoppix-vesa \ | ||
libntfs5-knoppix \ | libntfs5-knoppix \ | ||
+ | lilo module-init-tools \ | ||
linux-kernel-headers-knoppix \ | linux-kernel-headers-knoppix \ | ||
+ | loop-aes-module-2.6.12 \ | ||
+ | madwifi-modules-2.6.12 \ | ||
+ | mkdesktophdicons-knoppix \ | ||
+ | mkdosswapfile-knoppix \ | ||
+ | mkpersistenthome-knoppix \ | ||
+ | mouseconfig \ | ||
+ | ndiswrapper-modules-2.6.12 \ | ||
+ | netcardconfig-knoppix \ | ||
+ | netpipes \ | ||
networkconfig-knoppix \ | networkconfig-knoppix \ | ||
+ | ppp-scripts-knoppix \ | ||
rebuildfstab-knoppix \ | rebuildfstab-knoppix \ | ||
rootshell-knoppix \ | rootshell-knoppix \ | ||
+ | rt2400-modules-2.6.12 \ | ||
+ | rt2500-modules-2.6.12 \ | ||
+ | rt2570-modules-2.6.12 \ | ||
sambastart-knoppix \ | sambastart-knoppix \ | ||
saveconfig-knoppix \ | saveconfig-knoppix \ | ||
scanpartitions-knoppix \ | scanpartitions-knoppix \ | ||
+ | sitar \ | ||
+ | slocate \ | ||
+ | soundcardconfig-knoppix \ | ||
sshstart-knoppix \ | sshstart-knoppix \ | ||
sudoers-knoppix \ | sudoers-knoppix \ | ||
sysvinit-knoppix \ | sysvinit-knoppix \ | ||
+ | testdisk \ | ||
+ | unionfs-knoppix-modules-2.6.12 \ | ||
unionfs-knoppix-modules-2.6.12 \ | unionfs-knoppix-modules-2.6.12 \ | ||
user-profile-knoppix \ | user-profile-knoppix \ | ||
− | usleep-knoppix" | + | usleep-knoppix \ |
+ | wlcardconfig-knoppix \ | ||
+ | xf86config-knoppix \ | ||
+ | xsession-initscript-knoppix \ | ||
+ | xsession-knoppix \ | ||
+ | zr364xx-modules-2.6.12 \ | ||
+ | zydas-modules-2.6.12" | ||
for PACKAGE in ${KNOPPIX_PACKAGES}; { \ | for PACKAGE in ${KNOPPIX_PACKAGES}; { \ |
Revision as of 04:26, 19 June 2006
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.
Contents
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 ENVIRONMENT
Run base-config
base-config
Install some necessary packages:
apt-get install hotplug hotplug-utils gawk laptop-detect gnupg \ dhcp3-common dhcp3-server pump
KNOPPIX PACKAGES
Export the following variable:
KNOPPIX_PACKAGES=" automount-knoppix \ etcskel-knoppix \ hotplug-knoppix \ hwsetup \ hwdata-knoppix \ knoppix-bookmarks \ knoppix-certificates \ knoppix-customize \ knoppix-dma \ knoppix-graphics \ knoppix-image \ knoppix-installer \ knoppix-menu \ knoppix-ndiswrapper \ knoppix-remountrw \ knoppix-setrootpassword \ knoppix-sounds \ knoppix-splash \ knoppix-splash-utils \ knoppix-swm \ knoppix-terminalserver \ kudzu-knoppix-dev \ kudzu-knoppix-vesa \ libntfs5-knoppix \ linux-kernel-headers-knoppix \ networkconfig-knoppix \ rebuildfstab-knoppix \ rootshell-knoppix \ sambastart-knoppix \ saveconfig-knoppix \ scanpartitions-knoppix \ sshstart-knoppix \ sudoers-knoppix \ sysvinit-knoppix \ unionfs-knoppix-modules-2.6.12 \ user-profile-knoppix \ usleep-knoppix \ fuse-module-2.6.12 \ hostap-modules-2.6.12 \ ipw2100-modules-2.6.12 \ ipw2200-modules-2.6.12 \ kernel-image-2.6.12 \ loop-aes-module-2.6.12 \ madwifi-modules-2.6.12 \ ndiswrapper-modules-2.6.12 \ rt2400-modules-2.6.12 \ rt2500-modules-2.6.12 \ rt2570-modules-2.6.12 \ unionfs-knoppix-modules-2.6.12 \ zr364xx-modules-2.6.12 \ zydas-modules-2.6.12"
proper method
Modify the following file:
/etc/apt/sources.list
and insert:
deb http://developer.linuxtag.net/knoppix/ ./ deb-src http://developer.linuxtag.net/knoppix/ ./
is this a mirror?
deb-src http://debian-knoppix.alioth.debian.org ./ deb http://debian-knoppix.alioth.debian.org ./
and lastly install the knoppix packages.
apt-get install ${KNOPPIX_PACKAGES};
work-around method
Since The mirrors I have to obtain the knoppix scripts are not functional (I can't connect, mirror is down), I am using dpkg -l to see what is installed for each package that was installed on the cd. From that list of packages I use dpkg --listfiles to see what files and directories each package has.
To copy over the files from the knoppix packages on the cd to the bootstrap installation:
for PACKAGE in ${KNOPPIX_PACKAGES}; { \ for ITEM in `dpkg --listfiles ${PACKAGE} | grep -v "\.$"`; { if [ -d ${ITEM} ]; then mkdir -p ${SOURCEDIR}/KNOPPIX${ITEM}; else cp -ax ${ITEM} ${SOURCEDIR}/KNOPPIX${ITEM}; fi; }; };
Copy passwd files
cp -ax /etc/passwd* ${SOURCEDIR}/KNOPPIX/etc/. cp -ax /etc/group* ${SOURCEDIR}/KNOPPIX/etc/. cp -ax /etc/shadow* ${SOURCEDIR}/KNOPPIX/etc/.
Copy inittab
cp -ax /etc/inittab ${SOURCEDIR}/KNOPPIX/etc/.
Copy a few other initscripts (i'm not sure yet from which package these files come from)
cp -ax /etc/init.d/knoppix-autoconfig ${SOURCEDIR}/KNOPPIX/etc/init.d/. cp -ax /etc/init.d/knoppix-halt ${SOURCEDIR}/KNOPPIX/etc/init.d/. cp -ax /etc/init.d/knoppix-reboot ${SOURCEDIR}/KNOPPIX/etc/init.d/. cp -ax /etc/init.d/networking ${SOURCEDIR}/KNOPPIX/etc/init.d/.
cp -ax /etc/sysconfig ${SOURCEDIR}/KNOPPIX/etc/.
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 laptop-detect rm -rf /etc/rc{0,1,2,3,4,5,6,S}.d/*
Outside of CHROOT
KNOPPIX_PACKAGES=" ash-knoppix \ aumix-gtk \ automount-knoppix \ checkmem \ ddcxinfo-knoppix \ debhelper \ etcskel-knoppix \ fuse-module-2.6.12 \ genliloconf \ gprsconnect-knoppix \ hostap-modules-2.6.12 \ hotplug \ hotplug-knoppix \ hwdata-knoppix \ hwsetup \ ipw2100-modules-2.6.12 \ ipw2200-modules-2.6.12 \ kbdconfig \ kernel-image-2.6.12 \ knoppix-bookmarks \ knoppix-certificates \ knoppix-customize \ knoppix-dma \ knoppix-graphics \ knoppix-hdinstall \ knoppix-image \ knoppix-installer \ knoppix-menu \ knoppix-ndiswrapper \ knoppix-remountrw \ knoppix-setrootpassword \ knoppix-sounds \ knoppix-splash \ knoppix-splash-utils \ knoppix-swm \ knoppix-terminalserver \ knx-live-inst \ kudzu-knoppix \ kudzu-knoppix-dev \ kudzu-knoppix-vesa \ libntfs5-knoppix \ lilo module-init-tools \ linux-kernel-headers-knoppix \ loop-aes-module-2.6.12 \ madwifi-modules-2.6.12 \ mkdesktophdicons-knoppix \ mkdosswapfile-knoppix \ mkpersistenthome-knoppix \ mouseconfig \ ndiswrapper-modules-2.6.12 \ netcardconfig-knoppix \ netpipes \ networkconfig-knoppix \ ppp-scripts-knoppix \ rebuildfstab-knoppix \ rootshell-knoppix \ rt2400-modules-2.6.12 \ rt2500-modules-2.6.12 \ rt2570-modules-2.6.12 \ sambastart-knoppix \ saveconfig-knoppix \ scanpartitions-knoppix \ sitar \ slocate \ soundcardconfig-knoppix \ sshstart-knoppix \ sudoers-knoppix \ sysvinit-knoppix \ testdisk \ unionfs-knoppix-modules-2.6.12 \ unionfs-knoppix-modules-2.6.12 \ user-profile-knoppix \ usleep-knoppix \ wlcardconfig-knoppix \ xf86config-knoppix \ xsession-initscript-knoppix \ xsession-knoppix \ zr364xx-modules-2.6.12 \ zydas-modules-2.6.12"
for PACKAGE in ${KNOPPIX_PACKAGES}; { \ for ITEM in `dpkg --listfiles ${PACKAGE}`; { if [ -d ${ITEM} ]; then mkdir -p ${SOURCEDIR}/KNOPPIX${ITEM}; else cp -ax ${item} ${SOURCEDIR}/KNOPPIX${ITEM}; fi; }; };