COMP 3000 2011 Report: ttylinux
Part 1
Background
The distribution I chose is ttylinux, named for its initial orientation towards TeleTYpewriter, or TTY serial interfaces. It caters itself to a target audience that includes both users, looking either to get older hardware up and running on the web or for a lightweight portable system they can boot off a USB stick, and developers who are either looking for an OS they can use on embedded systems or for one to base their own variant of Linux on. It was initially developed in 2001 by Pascal Schmidt, who focused on getting it running on serial interfaces over networks, but when Douglas Jerome took his place in 2008, the focus of the project moved away from connecting to serial interfaces and towards its intended purpose to be "one of the smallest up-to-date Linux systems that is similar to a larger distribution", as stated on its website.
You can download ttylinux on the [project website], or from one of a number of the mirrors it lists. Derived from scratch, ttylinux has a file system that can be as small as ~8 megabytes, making it as little as ~12 megabytes with the kernel; however, the full default install uses ~25 megabytes.
Installation/Startup
Installation
To test this distribution, I used Oracle VM VirtualBox Version 4.1.0r73009 and created a new VM using the Linux 2.6 presets and 2 gigabytes of storage, and configured it to have 16 megabytes of video memory, 64 megabytes ram and a bridged ethernet device to connect directly through my network's router. I then used the virtual media manager in VirtualBox to mount the ~35 megabyte ut-ttylinux-i686-12.6.iso, which is an image of the most recent version of the i686 compatible install, and booted the virtual machine.
The ttylinux installer initially greeted me with some boot options that allowed a number of settings and services available during the installation to be tweaked, and not needing any of these things to be changed, I pressed enter to begin the installation. It loaded into a version of ttylinux that appears to be about the same as it intends the finished install to look like, and you're presented with a shell prompt where I was able to login with the username 'root', and 'password' for the password. The currently out of date [ttylinux User Guide] explains a method of installation that seems to involve a somewhat manual install process, but in the root user's home directory, I discovered a file named 'install.conf' that explained a (relatively) more user friendly way, and I decided to leave the ttylinux User Guide behind in favour of following this.
To install ttylinux using 'install.conf', I needed to use fdisk to partition the VM's disk first, and I used a similar configuration to the one in the sample that the default 'install.conf' provides. I then used 'vi' to edit the 'fstab' section in 'install.conf' to reflect the the partitions I created, and to test ttylinux's claim of being up to date, I set the filesystems of everything (except for swap, of course) to ext4, resulting in the following configuration:
/ P /dev/sda1 512M Linux ext4 swap P /dev/sda2 128M Linux Swap swap /boot P /dev/sda3 24M *Bootable Linux ext4 /home E /dev/sda5 1128M Linux ext4 /tmp E /dev/sda6 128M Linux ext4 /var E /dev/sda7 111M Linux ext4
The rest of the configuration was taken care of entirely within 'install.conf', and it involved setting the desired hostname and host address to 'ttylinux' and 127.0.0.1 respectively, the local timezone to 'EST', some basic network configuration to connect to my network using the bridged network adapter I'd created, and some options for the boot loader including where it should be installed. At this point, I ran 'ttylinux-installer --config=install.conf /dev/hdc', meaning that 'ttylinux-installer' would use './install.conf' as the configuration file and that the install cd was /dev/hdc, and it quickly used the configuration I'd set to format the partitions to the filesystems I'd set for them, created a chroot environment using them and installing ttylinux to in the new environment with the settings I'd chosen.
Once the installation was complete, I used VirtualBox's virtual media manager to remove ut-ttylinux-i686-12.6.iso from the VM's virtual cdrom drive, and rebooted into the new system.
- I'd initially tried playing around with an optional section in 'install.conf' that lets you install specific packages rather than the entire system; however, 'ttylinux-installer' kept failing with errors about missing files when I'd attempt to run it this way, and after a few attempts at some more creative solutions to the problem, I realized that I'd needed to use a full install when I discovered that the files the installer was looking for were in the few packages I'd been comfortable setting it to skip.
Startup
Lilo loaded first after running the ttylinux added /etc/resolv.conf with router listed -> nameserver 192.168.0.1
Basic Operation
/etc/inetd.conf -> services to start at boot via INETD TCP/IP super server. /etc/modtab -> seems to be for loading modules on boot /etc/sysconfig -> seems to be system settings ala /etc/conf.d /sbin/init startup script setup -> uses /etc/inittab which uses /etc/rc.d/rc.sysinit
describe experience in a number of use cases, focusing on intended purpose + write about any problems + add screenshot of typical/interesting activities
Usage Evaluation
"This small system has an 8 MB file system and runs on i486 computers within 28 MB of RAM, but provides a complete command line environment and is ready for internet access" does the distro meet its intended goals? whats my impression? be candid and specific in critique or priase
References
"Ttylinux Homepage." Minimal Linux. Web. 19 Oct. 2011. <http://www.minimalinux.org/ttylinux/>