vuxu.org: Tinkerbell

As of July 2010, Tinkerbell runs Arch Linux now. No special configuration was required.

Tinkerbell runs as a small home server now. I use

stat_busy "Adjusting fans"
echo 1 >/sys/class/hwmon/hwmon1/pwm1_enable
echo 58 >/sys/class/hwmon/hwmon1/pwm1
stat_done

in /etc/rc.local to silence the fan to half-speed which makes it inaudible.


Tinkerbell is an Asus EEE PC running grml-medium.

The naming

Though sometimes ill-behaved and vindictive, at other times she is helpful and kind to Peter (for whom she apparently has romantic feelings). The extremes in her personality are explained in-story by the fact that a fairy’s size prevents her from holding more than one feeling at a time.

Benchmarks

  • Power Usage (without battery)
    • Idle: ~13 W, Peak: 15 W

Preparing grml

  • Since grml was made as a Live CD, we need to create a bootable USB version first. Unfortunately, I only run OS X, so I had to jump through some hooks to do this. But read yourself.

  • Preliminaries: You need Parallels (5582 works) and a USB stick with 256 MB or more.

  • Download grml-medium. I used 0.1-rc1.

  • Plug in the USB stick.

  • If you wish to keep the data on the stick, now is the time to do an image with help of Disk Utility. All data will be erased soon.

  • Setup a new Parallels instance to run Debian Linux, don’t add a hard disk but boot from the ISO.

  • Unmount the USB stick in OS X.

  • Boot grml giving this to the loader: linux26 irqpoll

  • Activate the USB stick in Parallels when you got into a shell.

  • (I assume the stick is /dev/sda1, PLEASE DOUBLECHECK with dmesg.)

  • Make a FAT16 filesystem: mkfs.vfat -F 16 -v /dev/sda1

  • Mount the stick: mount /dev/sda1 /mnt/external1

  • Copy the image: cp -a /live/image/* /mnt/external1

  • Place the bootloader: mv /mnt/external1/boot/isolinux/* /mnt/external1

  • umount /mnt/external1

  • Install the bootloader: syslinux /dev/sda1

  • Install the mbr: dd if=/usr/lib/syslinux/mbr.bin of=/dev/sda (NOT sda1!)

  • Make the partition bootable: fdisk /dev/sda, a, 1, w.

  • Shut down grml: halt

  • Close Parallels.

  • Grab the atl2 package at http://deb.grml.org/pool/main/a/atl2/ and put it somewhere on the stick.

  • Unmount the USB stick in OS X again.

Installing grml on the EEE PC

  • Warning: Your current EEE installation will be erased.

  • Plug in the USB stick, press ESC while booting the EEE PC and select it.

  • Get into a shell and run cfdisk /dev/hdc. Partition your disk, I just made one big Linux partition.

  • Run grml2hd, select /dev/hdc1 as target disk.

  • Install the bootloader to /dev/hdc.

  • Format as ext3 (or ext2 if you are paranoid about your SSD. However, I don’t buy it).

  • Configure the boot parameters to include hdc=noprobe hdc=none. The SSD will be very slow else!

  • Use grub.

  • Reboot into your fresh grml.

Configuring grml for the EEE PC

  • Run grml-x -force fluxbox as root once to auto-configure X11.

  • Edit /etc/X11/xorg.conf, uncomment the keyboard section and adjust your keyboard layout.

  • Ethernet

    • Enable Ethernet by installing the atl2 package downloaded above with dpkg -i. Run modprobe atl2 && dhclient.
  • Wifi

  • Upgrade the system: apt-get update && apt-get upgrade

  • Set the timezone: dpkg-reconfigure tzdata

  • Adjust /etc/grml/autoconfig.

  • Webcam

    • Run:

      apt-get install module-assistant luvcview
      m-a update
      RELAX_CC_CHECK=1 m-a a-i linux-uvc
      modprobe uvcvideo
      
  • Sound

    • Create a file with contents options snd-hda-indel model=3stack-dig in /etc/modprobe.d.
  • ACPI

    • TBD
  • General tricks