{"id":11375,"date":"2025-08-25T06:06:09","date_gmt":"2025-08-25T10:06:09","guid":{"rendered":"https:\/\/www.both.org\/?p=11375"},"modified":"2025-08-25T06:06:09","modified_gmt":"2025-08-25T10:06:09","slug":"my-first-linux-system","status":"publish","type":"post","link":"https:\/\/www.both.org\/?p=11375","title":{"rendered":"My first Linux system"},"content":{"rendered":"<div class=\"pld-like-dislike-wrap pld-template-1\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"\" data-post-id=\"11375\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                        <i class=\"fas fa-thumbs-up\"><\/i>\r\n                <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">    <\/span>\r\n<\/div><\/div>\n<p>When I went to university in the early 1990s, I discovered our Unix computer lab. I immediately fell in love with the Unix command line, which was both somewhat <em>familiar<\/em> (due to my DOS experience) and <em>powerful<\/em> (because of all the commands that did things that DOS never imagined, especially with processing and manipulating text files.<\/p>\n\n\n\n<p>It was with that context that I was so excited in 1993 to learn about this new thing called <em>Linux<\/em>, a free version of Unix that I could run on my &#8216;386 computer at home. I immediately wanted to try it out.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"softlanding-linux-system-sls\">Softlanding Linux System (SLS)<\/h2>\n\n\n\n<p>My first Linux distribution was <a href=\"https:\/\/en.wikipedia.org\/wiki\/Softlanding_Linux_System\">Softlanding Linux System<\/a> (SLS) 1.03, with Linux kernel 0.99 alpha patch level 11. My &#8216;386 had just enough horsepower that I could install and run Linux.<\/p>\n\n\n\n<p>A year later, I upgraded to SLS 1.05, with the brand-new Linux kernel version 1.0, which introduced this new idea called <em>kernel modules<\/em>. With modules, you no longer needed to completely recompile your kernel to support new hardware; instead you just loaded a kernel module (there were 63 of them at the time). SLS 1.05 included this note about modules in the distribution&#8217;s README file:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Modularization of the kernel is aimed squarely at reducing, and eventually eliminating, the requirements for recompiling the kernel, either for changing\/modifying device drivers or for dynamic access to infrequently required drivers. More importantly, perhaps, the efforts of individual working groups need no longer affect the development of the kernel proper. In fact, a binary release of the official kernel should now be possible.<\/p>\n<\/blockquote>\n\n\n\n<p>On August 25, Linux turns 34 years old. To celebrate, I reinstalled SLS 1.05 to remind myself what it was like to run Linux for the first time, all those years ago.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"installing-sls\">Installing SLS<\/h2>\n\n\n\n<p>SLS was the first Linux distribution that you could call a <em>distribution<\/em>. Before then, if you wanted to install Linux on a new PC, you basically had to make an image of a working Linux system and copy that to the new computer. SLS provided an install program. To be fair, it was a very basic installer, but it did the job. To start, you boot the install floppy, then login as the <strong>install<\/strong> user.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/08\/sls-install1.png\" alt=\"Installing in SLS Linux\" class=\"wp-image-11380\"\/><figcaption class=\"wp-element-caption\">Starting the installer from floppy disk<\/figcaption><\/figure>\n\n\n\n<p>A neat feature introduced in SLS 1.05 was the color-enabled text-mode installer. When I selected color mode, the installer switched to a light blue background with black text. This didn&#8217;t really offer much of an experience, but I guess it was better than the plain white-on-black text used in previous versions.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/08\/sls-install2.png\" alt=\"Installing in SLS Linux\" class=\"wp-image-11381\"\/><figcaption class=\"wp-element-caption\">Starting the installer in color mode<\/figcaption><\/figure>\n\n\n\n<p>SLS was released in the 1990s, when distributions were provided on floppy disk. That&#8217;s how I installed SLS this time, from a stack of virtual floppy images. This was a bit of a pain to install in a virtual machine, because I had to swap out each of the floppy images in the virtual machine every time the installer asks for a different floppy, but eventually I got there.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/08\/sls-install3.png\" alt=\"Installing in SLS Linux\" class=\"wp-image-11382\"\/><figcaption class=\"wp-element-caption\">Finishing the installation<\/figcaption><\/figure>\n\n\n\n<p>By responding to a few simple prompts, I was able to create a partition for Linux, put a filesystem on it, and install SLS. When I finished the install and booted into the SLS login prompt for the first time in so many years, I felt transported back in time.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/08\/sls-firstboot.png\" alt=\"First boot in SLS Linux\" class=\"wp-image-11379\"\/><figcaption class=\"wp-element-caption\">Booting SLS 1.05 for the first time<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"trying-it-out\">Trying it out<\/h2>\n\n\n\n<p>Let&#8217;s highlight a few things about this early Linux distribution. Linux 1.0 didn&#8217;t need a lot of overhead, requiring just 2 MB of RAM to boot, or 4 MB if you want to compile programs, or 8 MB to run the X Window System. And the distribution didn&#8217;t take much room, either. SLS 1.05, including the X Window System and development tools, used about 85 MB of disk space. That may not sound like much space by today&#8217;s standards, but when Linux 1.0 came out, 120 MB hard drives were still common.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/08\/sls-uname.png\" alt=\"DF and uname in SLS Linux\" class=\"wp-image-11392\"\/><figcaption class=\"wp-element-caption\">df shows only about 85 MB disk space used<\/figcaption><\/figure>\n\n\n\n<p>The familiar <strong>\/proc<\/strong> meta filesystem exists in Linux 1.0, although it doesn&#8217;t provide much information compared to what you see in modern systems. In Linux 1.0, <strong>\/proc<\/strong> includes interfaces to probe basic system statistics like <em>meminfo<\/em> and <em>stat<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/08\/sls-proc.png\" alt=\"PROC filesystem in SLS Linux\" class=\"wp-image-11388\"\/><figcaption class=\"wp-element-caption\">Using the \/proc filesystem<\/figcaption><\/figure>\n\n\n\n<p>The <strong>\/etc<\/strong> directory on this system is pretty bare. Notably, SLS 1.05 borrowed the <em>rc<\/em> concept where the system loads everything from <em>rc<\/em> scripts, with local system changes defined in the <em>rc.local<\/em> file. It was a simpler time when you could easily modify what got loaded just by editing a few files.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/08\/sls-etc.png\" alt=\"ETC in SLS Linux\" class=\"wp-image-11378\"\/><figcaption class=\"wp-element-caption\">There&#8217;s not much in \/etc<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"back-to-work\">Back to work<\/h2>\n\n\n\n<p>With my system up and running, it was time to see what I could do with it. In the 1990s, SLS was pretty cutting edge. While my DOS system had many more &#8220;mature&#8221; applications like Lotus 1-2-3 and As-Easy-As for spreadsheets, WordPerfect and Galaxy Write for word processing, ProComm and Telix for dial-up access, and a host of other applications and games, Linux didn&#8217;t have a lot to offer at the time. But it had enough to show <em>promise<\/em>.<\/p>\n\n\n\n<p>Let&#8217;s start with basic file management. SLS included Softlanding <strong>me<\/strong>nu <strong>sh<\/strong>ell (MESH), a file-management program similar to Midnight Commander. Users in the 1990s might have compared MESH more closely to Norton Commander, a popular file manager available on MS-DOS.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/08\/sls-mesh.png\" alt=\"MESH file manager in SLS Linux\" class=\"wp-image-11384\"\/><figcaption class=\"wp-element-caption\">MESH file manager<\/figcaption><\/figure>\n\n\n\n<p>Aside from MESH, SLS included a few other full-screen applications, including ELM to read email, GNU Emacs, and the venerable Vim editor.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/08\/sls-emacs.png\" alt=\"GNU Emacs in SLS Linux\" class=\"wp-image-11377\"\/><figcaption class=\"wp-element-caption\">GNU Emacs 19<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/08\/sls-mail.png\" alt=\"ELM in SLS Linux\" class=\"wp-image-11383\"\/><figcaption class=\"wp-element-caption\">ELM 2.4 for email<\/figcaption><\/figure>\n\n\n\n<p>SLS also offered a few games, including a terminal-based version of Tetris. If you were alive in the 1990s, you didn&#8217;t have to go far to see a version of Tetris running <em>somewhere<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/08\/sls-tetris.png\" alt=\"Tetris for terminals in SLS Linux\" class=\"wp-image-11390\"\/><figcaption class=\"wp-element-caption\">Tetris for terminals<\/figcaption><\/figure>\n\n\n\n<p>In the 1990s, home users were more likely to talk to the outside world over a modem. SLS 1.05 included the Minicom terminal application, which gave a direct connection to the modem, such as the AT commands to dial a number or hang up the line. Minicom also supported macros and other neat features to make it easier to connect to your local modem pool. As an undergraduate student in the 1990s, I used Minicom <em>all the time<\/em> to dial into the campus computer network.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/08\/sls-minicom.png\" alt=\"Minicom in SLS Linux\" class=\"wp-image-11385\"\/><figcaption class=\"wp-element-caption\">Minicom 1.5 beta for dial-up<\/figcaption><\/figure>\n\n\n\n<p>Unix systems didn&#8217;t have desktop word processors at the time. It would be years before StarOffice (the proprietary predecessor to OpenOffice, later LibreOffice) would be available for Linux systems. Instead, if you wanted to write a document, you used a <em>document preparation system<\/em> like LaTeX, nroff, or troff.<\/p>\n\n\n\n<p>Actually, troff was for <em>phototypesetters<\/em>, but GNU provided the groff workalike since the late 1980s, which produced Postscript output. At the time, the typical way to print nice-looking groff output was to use GNU Ghostscript to convert and print it on my Epson dot matrix printer. But this was very slow and required a lot of printer ribbon to cover the several passes required for high resolution output on my 9-pin printer. Most of the time, I used the nroff processor instead, which used plain text that I could print anywhere very quickly.<\/p>\n\n\n\n<p>As an undergraduate physics student, I also used LaTeX to write lab reports that required formatting equations; I would print LaTeX documents on my printer in the same way, with Ghostscript, although I would sometimes spend a few bucks to print it on the laser printer in the campus computer lab instead.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/08\/sls-paper.png\" alt=\"Editing a paper in nroff in SLS Linux\" class=\"wp-image-11387\"\/><figcaption class=\"wp-element-caption\">Writing a paper in nroff -me<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/08\/sls-nroff.png\" alt=\"Viewing nroff output in SLS Linux\" class=\"wp-image-11386\"\/><figcaption class=\"wp-element-caption\">Viewing the formatted output<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"running-x-windows\">Running the X Window System<\/h2>\n\n\n\n<p>Configuring the X Window System by hand really can be a sobering experience. The X Window System could support a variety of video cards and monitors, and setting up the X Window System for the first time required a lot of experimenting with sync rates and resolutions until you settled on something that worked. SLS 1.05 made this a little less painless by providing a &#8220;helper&#8221; program to identify and define various system settings for you. After a few prompts, and some tweaking, I was finally able to launch the X Window System.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/08\/sls-xsetup.png\" alt=\"Setting up X in SLS Linux\" class=\"wp-image-11393\"\/><figcaption class=\"wp-element-caption\">Setting up the X Window System<\/figcaption><\/figure>\n\n\n\n<p>But this is from 1994, and the concept of a <em>desktop<\/em> didn&#8217;t exist yet; KDE wouldn&#8217;t arrive until 1996, and GNOME until 1999. In 1994, I used TWM until I was able to upgrade my home system, then I switched to FVWM. TWM is a simple, no-frills, functional, graphical environment\u2014but it was also much easier to set up, so that&#8217;s what I used here.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"540\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/08\/sls-twm.png\" alt=\"TWM in SLS Linux\" class=\"wp-image-11391\"\/><figcaption class=\"wp-element-caption\">TWM with default colors<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"a-blast-from-the-past\">A blast from the past<\/h2>\n\n\n\n<p>As much as I enjoyed exploring my Linux roots, eventually it was time to return to my modern desktop. I originally ran Linux on a 32-bit &#8216;386 computer with just 8 MB of memory and a 120 MB hard drive. That wasn&#8217;t bad for the era, but it&#8217;s very pokey compared to today. I should note that SLS runs <em>much faster<\/em> in a modern virtual machine, especially one that&#8217;s hosted on my dual-core, 64-bit Intel Core i5 CPU with 4 GB of memory and a 128 GB solid-state drive. You don&#8217;t really get to experience the delay of typing a big command before you see the output, or starting a build with <strong>make<\/strong> and watching the compiler slowly grind through all of the source files.<\/p>\n\n\n\n<p>But running this original version of SLS served as a great reminder for how far we&#8217;ve come with Linux. Back in the 1990s, Linux was a great step forward for folks who ran Big Unix systems\u2014but not much of a step up from more mainstream &#8220;desktop&#8221; operating systems like DOS or Mac. Today, Linux is more than a Unix replacement, it&#8217;s a modern desktop environment that&#8217;s easy to use and filled with apps. So while I enjoyed this look back at Linux from 1994, I was also glad to return to Linux in 2025.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"400\" src=\"http:\/\/www.both.org\/wp-content\/uploads\/2025\/08\/sls-shutdown.png\" alt=\"Shutdown in SLS Linux\" class=\"wp-image-11389\"\/><figcaption class=\"wp-element-caption\">Shutting down the system<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Explore this blast from the past with SLS Linux.<\/p>\n","protected":false},"author":33,"featured_media":4464,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[106,5],"tags":[316,91],"class_list":["post-11375","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-history","category-linux","tag-history","tag-linux"],"modified_by":"David Both","_links":{"self":[{"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts\/11375","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/users\/33"}],"replies":[{"embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11375"}],"version-history":[{"count":3,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts\/11375\/revisions"}],"predecessor-version":[{"id":11433,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts\/11375\/revisions\/11433"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/media\/4464"}],"wp:attachment":[{"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11375"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}