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
adduser kiosk
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

Customize /etc/gdm/gdm.conf to support timed login as user "kiosk"

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

The extra 'rm' commands are just in case we've been here before.

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 
rm -f cd/casper/filesystem.squashfs
mksquashfs custom cd/casper/filesystem.squashfs

rm cd/md5sum.txt
(cd cd && find . -type f -print0 | xargs -0 md5sum > md5sum.txt) 
rm -f Ubuntu-Live-custom.iso
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 .