"probono's poor man's install (PPMI)"

In this thread, I will describe my "probono's poor man's install" installation. Please note that while I found this is the ideal way to use Linux for me personally, it might not be for anyone else.

This is a "philosophical" discussion of how I use my system rather than a newbie-proof step-by-step instruction. In this thread, I simply want to share with you my way of using Knoppix, which is quite unconcventional and has been working exceptionally well as my main (and now only) setup since over six months now.

I am really interested to hear your opinions.

GOALS:
* I want make Linux 2004 as easy as Mac OS 1984. All further goals come from this one.
* I want to have a manageable, deterministic system. While virtually all Linux distributions today consist of tens of thousands of files (and just as many possibilities for failures), I like the idea of booting one single file that is read-only. That way it can't become broken.
* I want every application to be just one file that can be run from, copied and stored just everywhere. That way, I can move applications easily from one machine to another without the need to "install" them. Similar reasoning as above.
* I want to work as root. Yes, there is lots of discussion about this and before you call me crazy, please hear my arguments: First, I do not want to type "sudo" and/or "su" all over the place. In fact, I want to type as little as possible. Second, running as root does not decrease the security of your files in $HOME, because these are deletable anyway. Third, I am using a "Personal Computer" which is not a multiuser machine. Fourth, I want to have access to everything at any time.
* I want a slick graphical interface. To me, that means a boot process without text messages and a carefully themed KDE with well-integrated KDE applications.
* I want to be able to install new versions of the operating system in five minutes max, and without repartitioning or the danger of destroying the current installation.
* I want to leave no "traces" of my usage on the computer. Many systems tend to leave mess on the system from using, making the system bigger and slower over time, and unpredictable. In my system, all traces of my usage are wiped out at reboot and the system is "factory fresh" at each start of the computer. This also means that the system behaves completely predictable.

Sounds like Linux 2014? Well, no, I am coming close to this already today, 2004, with a method I will call "probono's poor man's install (PPMI)".

IMPLEMENTATION:
* STEP 1: Format the drive with reiserfs. This file system has proven to be resistant to unplanned shutdowns in my personal experience because it is a journalling file system. I will call the resulting partition /mnt/hda1 or "bootvolume" throughout the rest of this text.
* STEP 2: Copy the contents of the directory /KNOPPIX from a Knoppix CD/DVD to /mnt/hda1/knoppix.
* STEP 3: Install the GRUB boot loader on /mnt/hda:
Code:
mount /dev/hda1 /mnt/hda1 && grub-install --root-directory=/mnt/hda1 --no-floppy --recheck /dev/hda
* STEP 4: Copy vmlinuz and initrd to /mnt/hda1/knoppix (even better, to a subdirectory that has the name of the Knoppix version).
* STEP 5: Edit /mnt/hda2/boot/grub/menu.lst
* STEP 6: I use my scripts "splash.sh" and "knoppix.sh" in order to customize the boot process and the appearance of KDE. They do the following:
- make the boot process quiet, no text messages and no sounds at booting
- make shutdown instantly fast, no text messages and no waiting at shutdown
- run KDE as root
- override default configuration by applying my settings to /etc and /root
- make the bootvolume writeable
Settings are handled by "folderconfig", which is essentially an "override" folder to the / filesystem. If I want to customize, say, /etc/resolv.conf, the I simply put the customized file in /mnt/hda1/knoppix/foldervonfig/etc/resolv.conf. My folderconfig script then automatically applies the overriding settings to the system.
My settings include:
- KDE background
- No more asking about cookies, security on the Internet, passwords
- antialiased fonts
- terminal emulator at the bottom of Konqueror windows
among others.
* STEP 7: Use klik to install additional software, and convert the resulting AppDirs to single compressed images (which I call .cmg in recognition of Apple's .dmg). When I want to use an application, I click on its image, which gets mounted read-only automatically, and the application is run. Afterwards, the compressed image is unmounted automatically. This way, each application is precisely one file.
* STEP 8: I do _not_ use persistent home, but instead save my documents wherever I want, especially on the boot volume.
* STEP 9: When I want to install an additional/newer version of Knoppix (or Knoppix-like system such as Kanotix etc.), then I just copy three files to my boot volume (the cloop file, the kernel and the initrd) and edit menu.lst. No problem to have many (limited only by the size of the hard disk) concurrent systems (using the knoppix_name= cheatcode).

CHALLENGES:
Not everything is perfect yet. Here are some topics I would find worth considering:
* Knoppix calls the volume on which the compressed 700 MB files resides always "/cdrom". This is irritating. It should get a more appropriate name like "/bootvolume"
* Knoppix should have a boot option "user=root" that would boot into KDE with $USER=root and $HOME=/root
* Knoppix should get a number of kernel patches, including bootsplash (I just love how beautiful Mac OS X boots), submount (no more mounting), and swsusp2 (suspend to disk also for desktops, no more boot wait).
* Boot time should be brought down to 30 secs max by completely rewriting the order and style of the boot process (and making hardware recognition optional).