Walltop: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
Brian Wilson (talk | contribs)
Line 9: Line 9:
See  
See  
http://www.debuntu.org/how-to-customize-your-ubuntu-live-cd
http://www.debuntu.org/how-to-customize-your-ubuntu-live-cd
===Set up - mount cd and copy files===
mkdir /tmp/livecd
mount -o loop /export/bellman/home/bwilson/Dell/xubuntu-9.04-desktop-i386.iso /tmp/livecd
mkdir /home/bwilson/livecd
mkdir cd
rsync --exclude=/casper/filesystem.squashfs -av /tmp/livecd/ cd
mkdir squashfs custom
modprobe squashfs
mount -t squashfs -o loop /tmp/livecd/casper/filesystem.squashfs squashfs/
cp -a squashfs/* custom
umount squashfs
umount /tmp/livecd
rmdir /tmp/livecd
===Access the image===
cp /etc/resolv.conf /etc/hosts custom/etc/
chroot /home/bwilson/livecd/custom
mount -t proc none /proc/
mount -t sysfs none /sys/
export HOME=/root
===Customize the image===


Packages to remove from the stock image.
Packages to remove from the stock image.


  apt-get remove --purge gnome-games
  apt-get remove --purge gnome-games
  # all language packs
  # non-english language packs
  apt-get remove --purge `dpkg-query -W --showformat='${Package}\n' | grep language-pack
  for i in `dpkg-query -W --showformat='${Package}\n' | grep language-pack | grep -v en`; do apt-get remove --purge $i; done
apt-get remove --purge `dpkg-query -W --showformat='${Package}\n' | grep openoffice`
 
for i in `dpkg-query -W --showformat='${Package}\n' | grep gimp`; do apt-get remove --purge $i; done
 
apt-get remove --purge abiword gnumeric aspell aspell-en
apt-get remove --purge cdparanoia cdrdao dvd+rw-tools brasero genisoimage
apt-get remove --purge pidgin pidgin-data thunderbird
 
apt-get remove thunar xsane-common imagemagick imagemagick-doc
 
  # EVERYTHING Gnome related - don't want a desktop
  # EVERYTHING Gnome related - don't want a desktop
  apt-get remove --purge `dpkg-query -W --showformat='${Package}\n' | grep gnome`
  apt-get remove --purge `dpkg-query -W --showformat='${Package}\n' | grep gnome`
# Support for burning cd's and dvd's
 
apt-get remove --purge cdparanoia cdrdao dvd+rw-tools
# Sundry apps I don't want
apt-get remove --purge firefox firefox-3.0 ftp ghostscript gimp ispell aspell evolution-common evolution-data-server-common gimp-data gimp-help-common gimp-help-en libgimp2.0
# Build tools -- won't be doing any builds on this machine!
apt-get remove --purge gcc make nano gcc-4.2 gcc-4.2-base gdb
  # Windows friendly things
  # Windows friendly things
  apt-get remove --purge  ntfs-3g ntfsprogs  
  apt-get remove --purge  ntfs-3g ntfsprogs  
  # System utilities
  # System utilities
  apt-get remove --purge logrotate apparmor ppp cupsys cupsys-client cupsys-common cupsys-bsd python-cups cupsddk cupsddk-drivers aptitude synaptic finger localechooser-data
  apt-get remove --purge logrotate cups cups-bsd cups-common reiserfsprogs


  # Documentation
  # Documentation
  apt-get remove --purge diveintopython docbook-xml manpages
  apt-get remove --purge docbook-xml manpages
  example-content human-theme
 
Remove the desktop
 
 
Update the /etc/apt/sources.list file to activate other repositories.
Then get updates
 
apt-get update
 
Add the things I really want
 
apt-get install emacs21-nox libcurl3 openssh-server
realplayer
flash
 
adduser bwilson
Give root a password
Copy in .ssh directories for root and bwilson
 
Do the update at the end, there will be less to do
 
apt-get upgrade
 
Good enough for now
 
apt-get clean
umount /proc/
umount /sys/
exit
rm custom/etc/resolv.conf custom/etc/hosts
rm -rf custom/tmp/*
 
===Creating a new ISO image===
 
chmod +w cd/casper/filesystem.manifest
chroot custom dpkg-query -W --showformat='${Package} ${Version}\n' > cd/casper/filesystem.manifest
cp cd/casper/filesystem.manifest cd/casper/filesystem.manifest-desktop
mksquashfs custom cd/casper/filesystem.squashfs
rm cd/md5sum.txt
(cd cd && find . -type f -print0 | xargs -0 md5sum > md5sum.txt)
 
cd cd
mkisofs -r -V "Ubuntu-Live-Custom" -b isolinux/isolinux.bin -c isolinux/boot.cat -cache-inodes -J -l -no-emul-boot -boot-load-size 4 -boot-info-table -o ../Ubuntu-Live-custom.iso .

Revision as of 06:42, 24 June 2009

WallTop computers... recycle an old laptop by removing all the extraneous parts such as the cdrom drive, floppy drive, (dead) battery and then hanging it on the wall.

I am building one from an old Dell Inspiron 3700.

Operating system

I looked at using Debian, Damn Small Linux, Puppy Linux (which immediately panics on boot), and Movix. I decided I might as well stick with Ubuntu so I am building a custom Live CD. I will then transfer it to a Compact Flash card, which will be plugged into an adapter and replace the incredibly noisy stock 4200 rpm hard drive.

See http://www.debuntu.org/how-to-customize-your-ubuntu-live-cd

Set up - mount cd and copy files

mkdir /tmp/livecd
mount -o loop /export/bellman/home/bwilson/Dell/xubuntu-9.04-desktop-i386.iso /tmp/livecd
mkdir /home/bwilson/livecd
mkdir cd
rsync --exclude=/casper/filesystem.squashfs -av /tmp/livecd/ cd 

mkdir squashfs custom
modprobe squashfs
mount -t squashfs -o loop /tmp/livecd/casper/filesystem.squashfs squashfs/
cp -a squashfs/* custom 

umount squashfs
umount /tmp/livecd
rmdir /tmp/livecd

Access the image

cp /etc/resolv.conf /etc/hosts custom/etc/
chroot /home/bwilson/livecd/custom
mount -t proc none /proc/
mount -t sysfs none /sys/
export HOME=/root 

Customize the image

Packages to remove from the stock image.

apt-get remove --purge gnome-games
# non-english language packs
for i in `dpkg-query -W --showformat='${Package}\n' | grep language-pack | grep -v en`; do apt-get remove --purge $i; done
for i in `dpkg-query -W --showformat='${Package}\n' | grep gimp`; do apt-get remove --purge $i; done
apt-get remove --purge abiword gnumeric aspell aspell-en
apt-get remove --purge cdparanoia cdrdao dvd+rw-tools brasero genisoimage
apt-get remove --purge pidgin pidgin-data thunderbird
apt-get remove thunar xsane-common imagemagick imagemagick-doc
# EVERYTHING Gnome related - don't want a desktop
apt-get remove --purge `dpkg-query -W --showformat='${Package}\n' | grep gnome`
# Windows friendly things
apt-get remove --purge  ntfs-3g ntfsprogs 
# System utilities
apt-get remove --purge logrotate cups cups-bsd cups-common reiserfsprogs 
# Documentation
apt-get remove --purge docbook-xml manpages

Remove the desktop


Update the /etc/apt/sources.list file to activate other repositories. Then get updates

apt-get update

Add the things I really want

apt-get install emacs21-nox libcurl3 openssh-server
realplayer
flash
adduser bwilson
Give root a password 
Copy in .ssh directories for root and bwilson

Do the update at the end, there will be less to do

apt-get upgrade

Good enough for now

apt-get clean
umount /proc/
umount /sys/
exit

rm custom/etc/resolv.conf custom/etc/hosts
rm -rf custom/tmp/*

Creating a new ISO image

chmod +w cd/casper/filesystem.manifest
chroot custom dpkg-query -W --showformat='${Package} ${Version}\n' > cd/casper/filesystem.manifest
cp cd/casper/filesystem.manifest cd/casper/filesystem.manifest-desktop 
mksquashfs custom cd/casper/filesystem.squashfs

rm cd/md5sum.txt
(cd cd && find . -type f -print0 | xargs -0 md5sum > md5sum.txt) 
cd cd
mkisofs -r -V "Ubuntu-Live-Custom" -b isolinux/isolinux.bin -c isolinux/boot.cat -cache-inodes -J -l -no-emul-boot -boot-load-size 4 -boot-info-table -o ../Ubuntu-Live-custom.iso .