Walltop

From Wildsong
Jump to navigationJump to search

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 .