System Stuff

Sytem Stuff x

Light Candy

Even if we all had a quantum machine or two we'd still be tapping and waiting. While it is logical to desire a so-called lightweight system, the continued demand for candy is not. My personal definition of lightweight are 512 megabytes of RAM and 20 gigabytes of hard disk. I happen to type this on a novelty T400 running a full Debian LXDE with tons of custom binaries. Average non-optimised boot time are about 10 seconds and disk space occupied by binaries some 10 gigabytes. Light enough for me.

System Security

Since the majority of computers comes with a preinstalled copy of one or the other Windows thing, this information mainly addresses the users of that system. Finding drivers or applications may be easier but a weak core implies weak applications.

A brandnew machine may appear blazing fast for a while. However, the more programs you install, the more it will slow down. To keep track of any changes your first task should be to install a decent registry watchdog to store the current state of the registry and indicates any changes by new installations. If something turns out to be useless you can easily roll back. Schedule regular disk defragmention at boot time.

Testing lots of software on your default machine exposes you to unnecessary security dangers. Don't pay for something you neither know nor understand. There are many pseudo security applications out there, which are in fact really quite the opposite. Install and configure a decent firewall and close all unnecessary ports. Be cautious with dubious sites. In principal, the more tempting, the more danger. Be sensible with e-mails from unknown senders, in particular those with fancy attachments!

Malware is no fun, so grab a professional anti virus and enable read-write scanning for all file types, medium heuristic, active online protection and automatic updates. On low RAM systems you probably want to disable the real-time feature. Even with four gigabytes of RAM it'll be bogged down most of the time. Reboot and immediately run a full system scan. While this may take a while it usually pays a good dividend.

For maximum online security you should first of all forget everything about social nonsense. If you must, at least don't use your real name and data. Accept cookies from the originating site only. Globally turn off Java, Java Script and Flash and configure your browser to ask permission first. Forget all the hyperbole about anonymous browsing. Proxies, dark web, Tor, and so on. Nothing will make you invisible!

Last not least a word about the ominous root account. Think of a supervisor performing mission critical system commands. In principal it doesn't really differ whether or not you login as root. Most hacking typically happens on a services level long before you ever get to type your login. However, if you do, you are actively playing with fire. Ouch!

Systemd Versus Sysv

Frankly, this whole discussion going on about systemd is just a load of whining by folks either not willing or simply not qualified to advance their skills. Yes, systemd is different from sysv but so is Ferrari from Volkswagen. Dumb example but the dumber the example the more logical it should be to think again. Is systemd really all that bad?

No, it's not! It's different and that's good. It's called progress. If you are one of the never change a running system folks you probably also still run kernel 0.0.1; if ever there was such. But then how comes you are reading this in the first place? Most major distributions have long since switched to systemd, so what's the big surprise now?

And regarding those expert dummies claiming it was directly linked to the NSA? Good heavens! Gimme a break! We have stuff flying around in the universe with cameras perfectly capable of taking a snap of your current screen if you were hiding two floors underground. (Slight exaggeration to emphasise.) Honestly, that sort of crap is the least I'd expect from presumably intelligent Unixers.

If major players like Debian and others get aboard there must be a reason, don't you think? Usually that sort of reason is one providing more pro's than contra's. Unix gives you all the freedom to roll your own. Either dismiss systemd and get stuck with obsolete binaries or embrace the future and learn something new. Just give it a little time to mature and you won't ever look back.

Grub2 ISO Boot Settings

Are you tired of burning away one disk after another just to try out a different flavour or wear out that USB stick for the mere fun of it? How about booting directly off the ISO image using Grub2? Personally I keep pending ISO images in ~/iso/. However, some ISO images refuse to work unless placed in the filesystem's root.

Unfortunately there doesn't exist an official standard for booting directly off an ISO image. The below menu entries are rendered preformatted for better readability. Make sure to save the linux command on one single line in your /etc/grub.d/40_custom file!

For the sake of simplicty I'm using /path/to/iso.iso to indicate where the ISO image lives and set the first partition of the first hard disk (hd0,1) as the loop device. You'll probably want to change that and any occurances of sda1 to match your own environment.

4M Linux

menuentry "4M Linux ISO" {
  set iso="/path/to/iso.iso"
  loopback loop (hd0,1)$iso
  linux (loop)/boot/bzImage
    from=/dev/sda1$iso
    iso-scan/filename=$iso
    noprompt
    noeject
  initrd (loop)/boot/initrd.gz
}
          

Triggers kernel panic as of version 11!

Android

menuentry "Android ISO" {
  set iso="/path/to/iso.iso"
  loopback loop (hd0,1)$iso
  linux (loop)/kernel
    from=/dev/sda1$iso
    iso-scan/filename=$iso
    noprompt
    noeject
  initrd (loop)/initrd.img
}
          

Arch Linux

menuentry "Arch ISO" {
  set iso="/path/to/iso.iso"
  loopback loop (hd0,1)$iso
  linux (loop)/arch/boot/x86_64/vmlinuz
    archisolabel=ARCH_201602
    img_dev=/dev/sda1
    img_loop=$iso
    earlymodules=loop
  initrd (loop)/arch/boot/x86_64/archiso.img
}
          

Change label ARCH_201602 to match your release.

Backbox Linux

menuentry "Backbox ISO" {
  set iso="/path/to/iso.iso"
  set gfxpayload="keep"
  loopback loop (hd0,1)$iso
  linux (loop)/casper/vmlinuz
    from=/dev/sda1$iso
    file=/preseed/backbox.seed
    boot=casper
    iso-scan/filename=$iso
    noprompt
    noeject
    quiet
    splash --
  initrd (loop)/casper/initrd.gz
}
          

Bodhi Linux

menuentry "Bodhi ISO" {
  set root="(hd0,1)"
  set iso="/path/to/iso.iso"
  loopback loop (hd0,1)$iso
  linux (loop)/casper/vmlinuz
    file=/cdrom/preseed/custom.seed
    boot=casper
    iso-scan/filename=$iso
    nomodeset
  initrd (loop)/casper/initrd.gz
}
          

Budgie Linux

menuentry "Budgie ISO" {
  set iso="/path/to/iso.iso"
  set gfxpayload="keep"
  loopback loop (hd0,1)$iso
  linux (loop)/casper/vmlinuz
    from=/dev/sda1$iso
    boot=casper
    iso-scan/filename=$iso noprompt
    noeject
    quiet
    splash --
  initrd (loop)/casper/initrd.lz
}
          

Debian Dog

menuentry "Debian Dog ISO" {
  set iso="/path/to/iso.iso"
  loopback loop $iso
  linux (loop)/live/vmlinuz1
    boot=live
    config
    swapon
    noeject
    showmounts
    rw-basemount
    quickreboot
    iso-scan/filename=$iso
    quiet
    splash
    autologin
    init=/bin/systemd
  initrd (loop)/live/initrd.img
}
          

Elementary OS

menuentry "Elementary OS ISO" {
  set iso="/path/to/iso.iso"
  loopback loop (hd0,1)$iso
  linux (loop)/casper/vmlinuz
    boot=casper
    iso-scan/filename=$iso
    noprompt
    noeject
    quiet
    splash
  initrd (loop)/casper/initrd.lz
}
          

GParted

menuentry "Gparted ISO" {
  set iso="/path/to/iso.iso"
  loopback loop $iso
  linux (loop)/live/vmlinuz
    boot=live
    config
    union=aufs
    noswap
    noprompt
    vga=788
    ip=frommedia
    toram=filesystem.squashfs
    findiso=$iso
  initrd (loop)/live/initrd.img
}
          

Lubuntu

menuentry "Lubuntu ISO" {
  set iso="/path/to/iso.iso"
  set root="(hd0,1)"
  set gfxpayload="keep"
  loopback loop (hd0,1)$iso
  linux (loop)/casper/vmlinuz.efi
    from=/dev/sda1$iso
    file=/preseed/lubuntu.seed
    boot=casper
    iso-scan/filename=$iso
    quiet
    splash --
  initrd (loop)/casper/initrd.lz
}
          

Open Mandriva

menuentry "Open Mandriva ISO" {
  set iso="/path/to/iso.iso"
  loopback loop (hd0,1)$iso
  linux (loop)/isolinux/vmlinuz0
    root=live:CDLABEL=OpenMandrivaLx_2014.2
    iso-scan/filename=$iso rd.live.image
    toram --
  initrd (loop)/isolinux/initrd0.img
}
          

Minimum 2 GiB of RAM! Change label CDLABEL to match your release.

Porteus Portable Linux

menuentry "Porteus ISO" {
  set iso="/path/to/iso.iso"
  loopback loop (hd0,1)$iso
  linux (loop)/boot/syslinux/vmlinuz
    from=/dev/sda1$iso
    iso-scan/filename=$iso
    noprompt
    noeject
  initrd (loop)/boot/syslinux/initrd.xz
}
          

SliTaz

menuentry "SliTaz ISO" {
  set iso="/path/to/iso.iso"
  loopback loop (hd0,1)$iso
  linux (loop)/boot/vmlinuz-2.6.37-slitaz
    iso-scan/filename=$iso
    boot=live
    noprompt
    noeject
  initrd (loop)/boot/rootfs.gz
}
          

Applies to core ISO!

Tiny Core

menuentry "Tiny Core ISO" {
  set iso="/path/to/iso.iso"
  set root="(hd0,1)"
  loopback loop $iso
  linux (loop)/boot/vmlinuz
  tce=sda1
  initrd (loop)/boot/core.gz
}
          

Boots to command line!

Trisquel

menuentry "Trisquel ISO" {
  set iso="/path/to/iso.iso"
  set gfxpayload="keep"
  set root="(hd0,1)"
  loopback loop (hd0,1)$iso
  linux (loop)/casper/vmlinuz
    from=/dev/sda1$iso
    file=/preseed/trisquel.seed
    boot=casper
    iso-scan/filename=$iso
    noeject
    quiet
    splash --
  initrd (loop)/casper/initrd
}
          

Ubuntu Studio

menuentry "U Studio ISO" {
  set iso="/path/to/iso.iso"
  set gfxpayload="keep"
  loopback loop (hd0,1)$iso
  linux (loop)/casper/vmlinuz
    from=/dev/sda1$iso
    file=/preseed/ubuntustudio.seed
    boot=casper
    iso-scan/filename=$iso noprompt
    noeject
    quiet
    splash --
  initrd (loop)/casper/initrd.lz
}
          

USU

menuentry "USU ISO" {
  set iso="/path/to/iso.iso"
  set gfxpayload=keep
  loopback loop (hd0,1)$iso
  linux (loop)/casper/vmlinuz
    from=/dev/sda1$iso
    file=/preseed/custom.seed
    boot=casper
    iso-scan/filename=$iso
    noeject
    quiet
    splash --
  initrd (loop)/casper/initrd.gz
}
          

Vector Linux

menuentry "Vector Linux ISO" {
  set iso="/path/to/iso.iso"
  set root="(hd0,1)"
  loopback loop (hd0,1)$iso
  linux (loop)/isolinux/kernel/sata
  initrd (loop)/isolinux/init.lz
}
          

Boots to command line!

Zorin OS

menuentry "Zorin" {
  set iso="/path/to/iso.iso"
  loopback loop (hd0,1)$iso
  linux (loop)/casper/vmlinuz.efi
    boot=casper
    preseed=/preseed/ubuntu.seed
    from=/dev/sda1$iso
    iso-scan/filename=$iso
    noprompt
    noeject
  initrd (loop)/casper/initrd.lz
}