<xmp><!-- <body> --></xmp>

 _______  _______  _______  _______ 
|     __||    |  ||       ||     __|
|__     ||       ||   -   ||    |  |
|_______||__|____||_______||_______| Linux

SNOG is Not Overwhelmingly GNUlike
[>] fnni snoglinux.zrad.vze.com


welcome to snog linux.


Linux is a vast territory, always in need of another approach. The days of LFS or source-based installations have arguably passed for most, yet any GNU/Linux user still finds it necessary to master a number of unexpected skills even when administering binary distros with their various package managers. The reality is that every existing distro has significant failings & it is thus useful to have a number of them installed simultaneously in a multiboot configuration. While this obviously enhances functionality, it also provides invaluable perspective into the distro ecosystem as a whole, & necessary experience in disk partitioning & bootloader management which are the inescapable precursors to a working Linux install.

history: gnu/linux

GNU/Linux became the Unixlike OS which runs on consumer grade Intel motherboards & by extension much of the server hardware which constitutes the internet, as well as most of the worlds supercomputers. Linux itself is merely the kernel, the result of a development process different from that of the "GNU userland" which comprises: system level runtimes (glibc / ncurses / gtk+), the Unix command set, various apps (including bootloaders & DEs), & the compiler toolchains which make it all possible. When bundled with the venerable X11, a traditional GNU/Linux system has networkable addressability to GUIs as well as terminal sessions. Over time various attempts have been made to systematise or replace parts of GNU/X11. Busybox is an implementation of the Unix commands including a version of vi, Android did away with glibc while retaining the Linux kernel, Canonical are preparing to build on that work & get past the X window system. & of course theres no end to alternatives to Bash, the GNU command shell. Yet for the ordinary Slack / Debian / CentOS / Fedora / openSUSE user Linux remains as GNUlike as ever.

understanding todays livecd

Now we are ready to get started with SNOG Linux. The first thing one should do is get a spindle of 50 recordable CDs, & be prepared to go thru it completely & with great speed, an acceptable prospect considering how inexpensive they are. Distros are downloaded from the net in the form of CD images called ISOs which are binary data intended to be burned directly to standard 700M data CDs (or their DVD equivalents). For the voluminous distros this comprises dozens of disks which are essentially data & arguably better distributed shrinkwrapped in the post. But most distros also have engineered a "LiveCD" image which is bootable & brings up a functioning Linux session which can begin managing the install from physical media / online resources, or alternatively serve as a selfcontained RAMresident GNU/Linux implementation on its own.

Projects which release LiveCDs have created something more than a distributable image of properly compiled & functional software. The bootable nature of the LiveCD means it also has a working bootloader install (generally isolinux) which makes the image constitute a "known good point" in these days of wikis & rolling releases. Beyond that distros vary wildly with respect to philosophy, package selection, dependency tracking, configuration, & core functionalities such as the installer. Selfcontained live distros are of particular interest however because the bootable CD image can be transferred in toto to a bootable partition on flashdrive or harddisk, a process called a "frugal install" which although simple is still best done entirely by hand.

It is true that these days a downloaded ISO image can be mounted & opened by Linux, & the assets necessary for a frugal install copied to other media without the necessity of physically burning the CD. Nonetheless it should be noted that "universal" tools such as unetbootin & the windows-based pendrive installer cant always perform this process successfully, & the advent of "hybrid" ISOs which can be DDed to bootable media isnt necessarily helpful. Best practice remains to physically burn the CD, not just to observe & validate the intricacies of its intended init, but also to have full control over the partitioning of the ultimate destination media & the careful transfer of the bootstanzas, kernel, initrd, & the rest of the boottime system to an existing bootloader install.

waaaaaaa leave the harddisk alone

Prior to the USB flashdrive a wintel machine was only bootable from a HD you dont want to change or from a CD you cant change. This is the prospect for many Linux newbies who often have only one machine which they dont want to repartition just to experience Linux. The flashdrive & the various LiveCD-derived "persistence architectures" change all that. By transferring LiveCD systems to frugal installs on flashdrive partitions it becomes possible to boot any hardware without need to modify or even be aware of its local harddisk. A bootable USB stick created along the guidelines of SNOG Linux is in fact the ideal selfcontained standalone system administration / rescue tool when dealing with any aspects of todays GNU/Linux environments. & by deploying numerous distros in a multiboot configuration it genuinely becomes a swiss army knife of Linux capability.

Dealing with individual distros & their installers is always a process of discovery, & before Linux even comes up it is often necessary to participate in a LiveCDs notion of how target media should be partitioned & primed with a bootloader. Performing this work on inexpensive easily replicable flashdrives is far superior to turning your HD over to some illtested install scripts. Ultimately once partitioning & bootloader skills are cultivated the HD can be partitioned to mirror the flashdrive frugal installs, add swap space, & if desired leave alone the original MBR & merely shrink the first primary partition (hee hee).

partitioning for snog linux

Traditional GNU/Linux tools for partitioning are fdisk (console), cfdisk (ncurses), sfdisk (scriptable), gnuparted, & gparted (gnome/X11). I recommend studying them independently & becoming facile with cfdisk, recognising that if X11 is up gparted is arguably superior because it can resize / move existing partitions with no data loss. Gparted (available on its own LiveCD) is also fully installed in the Gentoo-derived SystemRescueCD & in Porteus 3.0, although the SliTaz version doesnt work well with M$ partitions.

Disk /dev/sdb: 4022 MB, 4022337024 bytes
255 heads, 63 sectors/track, 489 cylinders, total 7856127 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00026d0c

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              63     3935924     1967931    b  W95 FAT32
/dev/sdb2         3935925     4674914      369495   83      Linux
/dev/sdb3         4674915     4690979        8032+  83      Linux
/dev/sdb4         4690980     7807589     1558305    5   Extended
/dev/sdb5   *     4691043     4964084      136521   83      Linux
/dev/sdb6         4964148     5333579      184716   83      Linux
/dev/sdb7         5333643     5751269      208813+  83      Linux
/dev/sdb8         5751333     6408191      328429+  83      Linux
/dev/sdb9         6409998     7791524      690763+  83      Linux

Above is a 4G SanDisk with the first half devoted to a crosssystem data partition visible to Linux, Android, & Windows. /sdb5 is a 132M boot partition with an extlinux install (hence the boot flag) & kernels / initrds for each distro. /sdb2, /sdb6, /sdb7, & /sdb8 are the residence partitions for the 4 frugal installs: Porteus , DSL , SliTaz , & Android-x86 respectively. /sdb9 holds a readily burnable image of the currently genned ISO (see below), & the common case where a distro benefits from a 2nd partition is illustrated by /sdb3, an 8M /home partition for the SliTaz initramfs gen.

directory structure of boot partition

the bootloaders

In my view a bootloader is most easily installed via a highlevel interactive dialogue; in the case of GRUB 0.97 the most foolproof are the tools shipped with the Puppies & in the case of extlinux theres nothing wrong with the SliTaz routine, although walking thru native commandline bootloader installs can be useful experience. On HDs where I replace the MBR I tend to run GRUB because of the ease with which it deals with multiple partitions on multiple devices. With the flashdrives being the first stop for testing inbound distros however, extlinux facilitates transferring isolinux bootstanzas virtually verbatim from the LiveCDs. In many cases the only chainloading necessary is to plop, a closed but free bootloader with its own quite presentable splash graphic.


Duplicating GRUB 0.97 functionality via GRUB2 is straightforward, although users may need to code the insmods for the gfxterm background image themselves. The most GNUlike aspect of GRUB2 is of course the hopelessly spurious extended configuration cycle including the celebrated grub-probe binary which fails on any nontrivially configured linux system, often causing grub-mkconfig to abend leaving the installation unbootable. Considering its ability to boot a linux install from a diskresident ISO theres no reason not to migrate to GRUB2 eventually. In the mean time, the essence of a frugal install is simply to bring the kernel, initrd, & the particulars of the bootstanzas into any preexisting, functional bootloader framework along with the distro-specific system images.

the distros

LiveCDs transfer to frugal installs so readily because after the bootloader init theres generally just one large physical resource which will at that point be detectable on virtually any medium by its magical name. Depending on the distro this can be anything from a mountable cloop to a squashfs filesystem to an ordinary directory tree on an ext partition. To complete the frugal install of each individual distro it is necessary to check their sites, examine their docs, consider their communities, & continue forward with the principles embodied in SNOG Linux.

Thru creative administration & scripting frugal installs can prove as customisable as fullsize harddisk installs, but with the added benefit that tweaks based on the specific persistence architectures can be applied progressively & often deactivated with a reboot. Live distros which install apps with each boot & only when invoked are particularly bulletproof to incremental changes & are unlikely to remain broken in the wake of an untoward event. Whereas frugal systems are also easier to set up in a readonly mode, minimising physical I/O to the flashdrive, SNOG Linux can obviously be applied to conventional installs of larger systems on any media.

the livecd

Only the most essential of the software needs to be remastered into a rescue style ISO, which comes in at just over 400M, & presents an isolinux menu which can boot plop, SliTaz, or Porteus. Both distros run vfu 4.10, xchat 2.8.8, gFTP 2.0.19, lynx 2.8.7, Opera 9.64, & FlashPlayer 7.73, meaning they can keep imap up & play flash games while waiting for intel based android netbooks at a price point firmly under $100. SliTaz runs the webkit based Midori 0.4.4 & Ive installed Java, wine/dosbox, & celestia; the Slack 14.1 based Porteus makes it trivial to add Xfce 4.10 & Opera 12.16 to the base LXDE (& install binaries such as Beaver from 3rd party repos), making this one CD which can boot any computer & edit a wrapped ASCII file on any device.

              SliTaz 4.0   Porteus 3.0
------------- ------------ ------------
linux kernel  2.6.37       3.13.6
glibc         2.13         2.17
gcc           4.5.2        4.8.2
mc            4.7.0        4.8.10
xorg          1.9.5        1.14.5
desktop       IceWM 1.3.7  LXDE 0.6.1


SNOG started as a simple bash script written in reaction to the unmanageable complexity of the GNU "make" technology. SNOG Linux follows in its footsteps as a guide to those who wish to exercise their freedom to choose acceptably licensed alternatives to certain GNU functionalities. SNOG Linux is not a distro nor a recipe, but a current among the Unix savvy which asserts that if Linux circles tend to be somewhat GNUlike, it is up to us to make them not overwhelmingly so.


Last update: 2014mar19pm1519gmt-0700 @ 2014 SNOG is Not Overwhelmingly GNUlike
<noscript> <!-- ooo