DSL Tips and Tricks :: DSL Implementation Notes

Damn Small Linux Implementation Notes

: # Introduction

Here are a few notes concerning my experience with Damn Small Linux v4.4.10. It has been alot of work, but I have become nothing but more enthusiastic about this wondrous creation. I am an experienced & dedicated computer user with a background reaching back to COBOL, WordPerfect 5.1, gopher & Lynx, all of which (except for the first) I still use. Starting 2009jan01 I was able to implement DSL in 30 days, completely replicating the functionality of my WinXP system. I am undertaking this largely because the XP era is drawing to a close & the microsloth product line has now become pointless.

I am now using DSL almost exclusively on all three of my devices. My primary unit, a 1.8Ghz celeron I am booting from a 2G Sony flashdrive leaving my 40G XP install intact. My trailing edge unit is an ancient Pavilion with WinME on its 2G drive which is able to boot from the LiveCD & then bring up my production Linux from a mirrored flashdrive. Finally, I have a dualdrive Dell which has a mirror of my production XP on its 30G IBM & has a 20G Maxtor which has been properly partitioned & GRUB-enabled for dualbooting. I keep my production Linux on hda6 with a frugal DSL install on hda7. I have been quite successful in effecting all these bootmodes via DSL & am quite pleased with the results.

Because of the "winmodems" in the 3 units I was effectively offline the first two weeks of the project while awaiting the delivery of a USrobotics 5637 USB modem. During that time I worked extensively with the QEMU DSL session & used its DHCP support to get it online with XP managing the dialup. Afterwards getting online & becoming Linux savvy via the net was a tremendous experience, which is largely reflected in this site:


Although its location may change, it should remain findable via a pointer on my primary site http://kevipow.vze.com or its mirrors which are easy to locate. Let me jump right in & write about what Ive discovered.

: # Things that already work

The bundling of DSL is exceptional. The EmelFM filemanager, Beaver editor, AxYftp, xMMs player, Firefox, mtPaint application, & Xpdf viewer mean that a user like me is immediately up & working with the system with no mysteries or missing pieces. The ready availablity of Lynx, Opera (with its M2 mail client) NirvanaEdit, IceWM, Java 1.5, Audacity & XNview mean the system is almost immediately configured as a high capability workstation. The underlying Linux architecture is completely viable & implements the standard command set even via BusyBox which is quite convenient as all its documentation is contained in a single HTML deck. The few irreplaceable functions of my favourite MSDOS editor & WP51 are completely supported via the DOSbox program. Ordinary pcf.tar.gz Chinese fonts are installable, & with the acquisition of the simple TTFtoBDF program from NMSU any TrueType font can be put in easily, including the wide range of "-misc-fixed" glyphs & even MSarial which (although ugly) implements most of UTF-8 Unicode.

The ACM support available in the 2.4.31 kernel is all that is needed to get a standard Hayes USB modem to work on ttyACM0. I also had a stunning success with a soundcard I had moved from the Pavilion to the Dell, for which I had downloaded numerous XP drivers although I could never get it to work. As soon as the Dell was booted into Linux the soundcard was suddenly working. Although Ive got the GCC compiler & kernel source downloaded Ill admit performing a "build" on distributed applications is something Im not very good at yet. Instead Ive discovered numerous boilerplate apps are being implemented in Java (!). Already Ive found a planetarium program & a hexadecimal editor which are not only exceptionally useful but which execute under Java on the XP platform as well.

: # Things that do not work

This is of course another story, & I dont want to sound complaining, as I consider myself a solution person rather than a problem person. & Ive had some serious solutions with DSL. Fundamentally, Mr Shingledeckers LUAs have a tendency to be somewhat poorly written. A good example is his /usr/bin/pppdial.lua frontend for pppconfig & pon / poff. I find pppconfig works best executed as superuser with Xwindow not running; also the coding in the hangup section is completely spurious & thus has clearly never been tested. A far worse example is his /usr/local/bin/switcher.lua which (along with some coding in the .xinitrc) somewhat hastily attempts to allow JWM / DFM to coexist with the legacy XTdesktop / Fluxbox. Believe me, I liked DFM (which is able to mount a QEMU "harddisk") & learned about the DSL architecture thru the JWM menus which are well done & comprehensive. But once I got XTdesktop working properly after the delivered desktop was crippled by switcher.lua I realised something was amiss. Of course during my installation of IceWM I managed to clean up the scripting & bring the interface back from the brink.

Similar issues surround the implementation of the "MyDSL" facility which works irregularly among the various flavours of installs. I found a very simple way to get it to work, however. Programs which are to be loaded at boottime must simply be referenced by explicit "mydsl-load" commands in the bootlocal.sh. If a "MyDSL" button is added to EmelFM to do a mydsl-load, then loading extensions during the session is best done by navigating to them explicitly & clicking it. Finally, one should maintain a menu option to keep the "ucitool.lua" handy. This & the "mount.lua" are a pair of Bobs scripts which I still keep around.

The ultimate smoking gun is of course the timezone handling in the /KNOPPIX/etc/init.d/knoppix-autoconfig. The coding calculates the Linux notion of UTC & the "system time" from a "localised" default & only *then* interrogates the user-specified TimeZone to calculate local time. Its not worth discussing the effects this produces. The user has only one option which is to specify the UTC flag & the /Europe/London timezone. This has the benefit of making file timestamps in agreement with the BIOS clock instead of a "calculated" UTC, but unfortunately makes outgoing SMTP timestamps look a bit odd. This would be worth cleaning up.

: # Things that can be made to work

Like many DSL users I found myself grappling with the trainwreck which is APM vs ACPI. This is a hardware-specific issue so my observations are limited in scope. Ultimately I discovered how to turn syslogd logging *on* in the .xserverrc to keep the ugly messages off the screen when Xvesa starts, then turn it back off immediately in the .xinitrc. Other means of disabling ACPI are apparently unavailable on my primary unit. Turning it off in the BIOS causes XP to stop booting, whereas specifying both NOACPI & ACPI=OFF on the DSL commandline causes xMMs & Audacity to cease playing MP3s.

I certainly understand the reason for the AltGr key on the Linux keyboard, but I still want 2 Alt keys at least for the time being, which can be accomplished via a simple patch to a copy of us.kmap.gz which must then be loaded prior to the .xinitrc (ie in the .xserverrc). Numeric pad navigation keys are a distinguishing feature of Lynx & their implementation is also straightforward once one has looked closely at xmodmap.

My most serious issue with the dialup Im sure also proves not to be DSL-specific. If pppconfig is used to create an /opt/ppp/options file then by default it will contain two "lcp-echo" lines which will corrupt the link after 120sec of inactivity. The crashes I experienced with the hung pppd were somewhat spectacular & vanished completely once I tracked down the root of the problem.

Finally, it is clear that the situation with FlashPlayer technology is particularly dire, & Im not surprised the sparse environment of DSL doesnt cater well to Adobes current version 10 (as of this writing). Of course if Gnash is an alternative it would be convenient to find it in the repository. Yet after a nearly 40M download of the entire archived v7 product I had no problems getting Flash v7r73 to execute under DSL 4.4.10 as a plugin to both the "BonEcho" Firefox & the Opera 9.00 UCI. I have rezipped the standalone tar.gz of this release & parked it on my website.

: # Conclusion

Damn Small Linux is an exceptionally fine creation. Kudos go not only to the core authors & maintainers but also to the crew of capable & determined experts who have populated the DSL extensions repository. As the smallest of the Linux distros there is no doubt it deserves its reputation as one of the most useable & properly bundled. It lives up to its aspiration of being a tidy yet powerful implementation which can allow noocomers to the Unix world to become (re)acquainted with this OS even without bandwidth or diskspace to spare.

Above all, DSL *is* Linux. Once the quirks of its configuration are understood & adjusted it proves to be that same open Linux which is so superior to the proprietary systems. It provides a tool, & a hope, & an entrance into that vast worldwide community where at every turn there is yet another solution, rather than another problem.

....+....1.. Kevin A Powell .3....+....4
(!) kevipow@tifosi.net
(!) http://kevipow.vze.com

message removed
penguium3: you've made a challenging analysis of certain issues there - perhaps you should email John Andrews and have a dialog about the fixable ones?   Many of the great ideas in dsl were Robert's btw, or were implemented by Robert.

BTW I am old enough to know what COBOL was.

Quote (WDef @ Feb. 03 2009,23:03)
penguium3: you've made a challenging analysis of certain issues there - perhaps you should email John Andrews and have a dialog about the fixable ones?   Many of the great ideas in dsl were Robert's btw, or were implemented by Robert.

BTW I am old enough to know what COBOL was.

He's still at it, of course, over at TinyCore, which is developing by leaps and strides...

BTW I wonder what it takes to get a submitted extension out of Testing......maybe it should be renamed Purgatory...

original here.