Difference between revisions of "COMP 3000 2011 Report: Damn Small Linux - Not"

From Soma-notes
Jump to navigation Jump to search
Line 17: Line 17:


===[http://www.damnsmalllinux.org/dsl-n/f/viewtopic/3.html Major package versions]===
===[http://www.damnsmalllinux.org/dsl-n/f/viewtopic/3.html Major package versions]===
 
class="wikitable"
{| class="wikitable"
{| | border="3" style="margin-left: 3em;"
| border="1"
|
|-
|-
! Software
! Software

Revision as of 14:42, 20 December 2011

Part II

Background

DSL-N is a split from the DSL distro which was aimed at maintaining a linux distro at under 50mb. The main difference between DSL-N and DSL is that DSL runs the 2.4.x linux kernel and gtk1 which DSL-N runs the 2.6.x kernel and gtk2 and hence the N indicates it is much bigger in size (roughly double).


This distro is aimed at super low power computers, with an image weighing in at 100mb and containing a very minimalistic amount of software and features. It is based on Knoppix and the latest release was Tue Apr 18, 2006.

Software Packaging

Although I would have expected this distribution to use dpkg/apt because it is knoppix based, it seems in the interest of saving space they switched to the rpm package system (as revealed by rpm -i), the functionality is provided by busybox which provides a number of normal system functions at a reduced size.

As with DSL, DSL-N has an incredibly minimalistic guy for the custom package manager and provides repositories of apps ready to install. To access the list of programs you simply right click on the desktop and go to net and choose 'mydsl extension browser'. Then you select a section as shown in my screen shot. You're then presented with a simple list of applications and you can download and install them or remove them with one click. It also has the option to

The software catalog is not very extensive but it contains everything you would expect to find (although a little out of date) like firefox, openoffice, thunderbird, etc. There generally seems to be a focus on smaller less known educational apps as I would see this distribution having a large percentage of its presence in the educational market on low budget computers.

If you don't have access to the gui you can install packages using rpm by dong rpm -i package.rpm. There doesn't appear to be any easy straightforward way of removing packages from the command line.

Major package versions

class="wikitable"

Software Information
Linux Kernel: Version Present: 2.6.12

Source: uname -r

Build Release Date: 17-Jun-2005

Current Version: 2.6.39

Current Release date: 19-May-2011

Blurb: The linux kernel 2.6.x offers a wide range of features over the 2.4.x line that it took over from. That being said, it also became a lot more bloated in size and it dropped support for older legacy hardware. This is the main reason there was a split between DSL and DSL-N.


libc: Source: ls /lib/libc*

Version Present: 2.3.2:

Current Version: 2.14

source: http://www.gnu.org/s/libc/

Blurb: likely the latest version that was around when it was released, libc is a necessary component of any linux distribution. LibC contains functions that are required by C applications, it is required by many applications to run and by nearly all C applications to compile.

gtk+ 2: Current Version GTK+ 2.24.8

Current release date 10-Nov-2011

Blurb: GTK+ does a lot of the work of getting a GUI up and running, managing windows, providing an interface for applications to create graphics. The base GTK is very small and makes perfect sense to include with this distro along with a super lightweight window manager.

Bash: Source: bash --help

Version Present:2.05b

Build release date: 17 July 2002

Current Version 4.2

Current Release Date: 13 February 2011

Blurb: bash is a necessary part of all linux distros and is not in need of new features and is therefore not updated very often, this was likely the latest version available when it was released.

busybox: Source: rpm -i

Version Present: v1.0.0.0

Build Release date:2006.01.20

Current Version: BusyBox 1.19.3

Current Release Date: 29 October 2011


Blurb: busybox is designed with the exact same main goal as dsl/dsl-n, size. It integrates a number of system functions and takes up a fraction of the space of having them all separate, making it an ideal application to include with DSL-N.

Seamonkey Email + Web Browser: Web Browser Version Present: 2.0.2

Email Version Present: seamonkey 1.0.2

Build release date: 2006/05/16

Current Version: 2.4.1

Current Release date: Sept. 29 2011

Blurb: Seamonkey integrates email and browser together and shares an engine between the two of them. It maintains a familiar mozilla feel to it and shaves off space when compared to competitors.


abiword Version Present: 2.2.7

Build release date: 18 December 2003

Current Version: 2.8.6

Current release date: Oct 27 2009

Blurb: Abiword is extremely lightweight, small and it has all the features that the average user would use from a more advances text editor. It won't do the trick for really complicated documents but overall it's compatible with a wide range of formats and has extremely low space and resource requirements. It is an ideal application to include because of how little space it uses, while still allowing necessary options like opening Microsoft Word documents. In general other text editor either come very small and lacking many of the features that Abiword includes or they come bloated with more features than an average user ever needs (ex. Open/Libre office), Abiword is a perfect balance for this distro.

Gftp: Version Present: 2.0.18

Build release date: 05 Feb 2005

Current Version: 2.0.19

Current release date 11/30/2008

Blurb: gftp is a simplistic ftp client for file transfers, it fits with dsl-n overall with its simplistic feel and low resource use. This application does seem a little unfitting to me given that it depends on many gnome libraries that would otherwise be unnecessary for this distro.

gaim Version Present: 0.7.7

Current Version: pidgin 2.10

Current release date: 08/20/2011

Blurb: Gaim is a multi-protocol IM client, at the time it was the gold standard for linux distros to include as the default IM client. It is also small, relies on gtk libraries and has low resource usage so it fits with DSL-N.


None of the packages I reviewed here appear to be modified by the developer, they are simply packaged together.

Initialization

I discovered the boot scripts in /etc/rcS.d, there are 2 boot scripts:


S00knoppix--autoconfig runs first and does the following:


1.reinit usb devices that could not be started from linuxrc, probe necessary modules

2. mount filesystem readonly, with or without encryption

3. load alas sound daemon

4. load localization

5. set time

6. if running from HD, check file systems

7. mounts in read-write before continuing

8. if running from hard drive, regenerate module dependencies (klconfig ; depmod -a 2>/dev/null)

9. Set resolution and load /etc/init.d/splash.sh

10. delete links to hardware that doesn't exist ie. /dev/sdrom /dev/mouse, etc

11. write knoppix config files for other scripts to parse

12. Activate modules for acpi (power management)

13. usb mouse check/seup. try both usb mouse modules in case someone has 2 different controllers usb-uhci and usb-ohci

14. load firewire modules, search and configure hardware, setup carom that hasn't been setup by hwsetup

15. automatic xf86 setup using /usr/sbin/mkvf86config

16: create /etc/fstab and scan for partitions/hard drives to add

17.auto mount all devices; floppies, cds, etc

18. overwrite old /etc/fstab

19. run /etc/init.d/autofs start to start the automounter


S01dsl-config runs next and does the following:

1. loads special modules for different devices

2. makes a list of installed applications

3. makes menus

4. /etc/sysconfig/mydsl

5. ensures networking modules are loaded

6. deletes temporary folders created during boot /tmp/firstboot /miniroot /var/tmp and sets up a sym link from /var/tmp to /tmp and sets permissions on it.

7. checks for validity of user account and forces you to set a new password if you must

8. sets boot device

9. starts the appropriate user defined services in this order: ssh, lp, nfs, monkey web server, syslog, ftp, /etc/init.d/mkwriteable, touch /etc/sysconfig/unionfs touch/etc/sysconfig/writeable, load rest of modules

10. mount directories

11. iconcheck, orphancheck, mkmydslmenu