life can be so easy ...
phaidros@daddl:~/workspace/openrd/openrd.git$ sudo aptitude install uboot-mkimage
The following NEW packages will be installed:
uboot-mkimage
0 packages upgraded, 1 newly installed, 0 to remove and 5 not upgraded.
Need to get 9,876B of archives. After unpacking 57.3kB will be used.
Get:1 http://de.archive.ubuntu.com/ubuntu/ lucid/main uboot-mkimage 0.4build1 [9,876B]
Fetched 9,876B in 0s (61.7kB/s)
Selecting previously deselected package uboot-mkimage.
(Reading database ... 52121 files and directories currently installed.)
Unpacking uboot-mkimage (from .../uboot-mkimage_0.4build1_i386.deb) ...
Setting up uboot-mkimage (0.4build1) ...
phaidros@daddl:~/workspace/openrd/openrd.git$ make ARCH=arm CROSS_COMPILE=/home/phaidros/workspace/openrd/arm-2010q1/bin/arm-none-linux-gnueabi- uImage
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
Kernel: arch/arm/boot/Image is ready
SHIPPED arch/arm/boot/compressed/lib1funcs.S
AS arch/arm/boot/compressed/lib1funcs.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
UIMAGE arch/arm/boot/uImage
Image Name: Linux-2.6.33-rc8-00099-gb4cb3f9
Created: Wed Aug 25 17:42:47 2010
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2561572 Bytes = 2501.54 kB = 2.44 MB
Load Address: 0x00008000
Entry Point: 0x00008000
Image arch/arm/boot/uImage is ready
yippieh, not longer complaining about missing mkimage .. thanks ubuntu (though possibly it came directly from Debian, so thanks to you uys as well !!! )
yay. finally I managed to mangle my OpenRD Client board .. sigh
I had troubles, that the marge of my dev board was never stating the correct
manufacturer ID for the NAND, which made flashing newer Uboot bootloader im-
possible.
This was the error popping up whatever I tried with Uboot/OpenOCD ...
unknown NAND device found, manufacturer id: 0x00 device id: 0x00
probing failed for NAND flash device
It drove me nuts until found a solution [1]. Yay!
Now with a newer Uboot (v3.4.19) I was suddenly able to install Debian on the
SD/MMC. For that I followed the great Howto under [2].
Heh, nice. So it finally boots Debian .. and having the D-I via serial console
in my screen (hint: screen tops minicom a million times: screen /dev/ttyUSB0 115200)
just feels very nice 
But then I got hot and wanted moar .. MUAHAHA !! .. I finally have put the Debian
install from the SD/MMC onto the internal flash, but not before converting that
flash to UBIFS, following this guide [3] ff.
Heh, so now I have an OpenRD Client, booting Debian on choice from SD/MMC or the
internal flash with either kernel 2.6.32-5-kirkwood from Debian or the Sheevakernel
from [4] with 2.6.35.3 ..
I love it!
Further down I have a list with more good-to-read-in-case-links.
[1] http://code.google.com/p/openrd/issues/detail?id=7
[2] http://www.cyrius.com/debian/kirkwood/openrd/install.html
[3] http://plugcomputer.org/plugwiki/index.php/Installing_Debian_To_Flash#Convert_internal_flash_root_partition_to_UBIFS
[4] http://sheeva.with-linux.com/sheeva
Create your own Debian image directly on SD/MMC:
http://plugcomputer.org/plugwiki/index.php/Creating_a_Debian_ImageThe complete docs for putting Debian onto flash (it is for Sheeva, so
refer to the OpenRD specifics to link no. [1] and [2])
http://plugcomputer.org/plugwiki/index.php/Installing_Debian_To_FlashIf things fail while flashing Uboot on OpenRD and such, get help with OpenOCD here:
http://www.plugcomputer.org/plugwiki/index.php/Setting_Up_OpenOCD_Under_LinuxI had some trouble booting from flash/UBIFS, this link here clearifies alot:
http://www.newit.co.uk/forum/index.php?topic=135.0Building a custom kernel:
http://computingplugs.com/index.php/Building_a_custom_kernel
hth 
Ever wondered why it currently seems so fashionable for hackers to bash on homeopathy ?
well, we got ... numberz ! and to be less boring, put them into some pictures that give a relation.
First of all, lets see for what kinds of people homeopathy actually works and for whom not:
average effectiveness

strange, heh ?
well, theres moar: as demonstrated, it is easy to understand that people only choose the data that is sufficient to prove their claims. in the current homeopathy bashing, most arguments go on about the theoretical possiblility of any effect based on the amount of thinning of a given substance.
as paracelsus stated that success alone will tell, this gives quite a different picture:
use only datasets that fit into your mindset

hm... so, really, if someone believes something is completely harmless, then why hit on it ? the winner is quite clear:
who has an advantage

100%
a clear winner at 100 per cent, not mentioning the small fry companies and users that are hurt by it.
To deviate a bit, an analysis of the hacker mindset in relation to alternative medicine seems in order.
As everyone is a computer expert these days, it should be mentioned that most computer people can maintain an overview over complex matter.
It should however also be mentioned that it mostly only applies to their own field of interest and proficiency and horribly fails at other systems.
hackers

Does that mean if they cannot maintain a feeling for a complex system outside of their domain it will equally be impossible to still take them seriously ?
It is about time for some lowkicks.
We shall take a look at their self image and how it deviates from reality.
Taking into account that they have access to a lot of information on the interwebs, this might suggest an onmisciencent belief system coupled with some more illusions:
omniscient beliefs

reality shows a different picture, one of delusion.
This leads us to the difference between life and its skewed image in the mirror of the web:
delusions

For people who are strictly to adhere to the dogma of duality expressed in ones and zeroes, anything fuzzy is an unlikely encounter:
a straight mindset

But what the heck anyway, would you rather get an operation by a computer-illiterate surgeon or a hacker believing he/she knows about medicine ? How often have hackers helped you medically ?
What if conventional medicine fails ? If alternative medicine were totally non-effective, how could it hurt trying an alternative ?
fact is that there is a significant amount of so-called hopeless cases that were solved by "ineffective and unscientific" means.
doh.

To be able to spot a hunch of an explanation, we need to leave the rational battlefield and enter martial arts. This view allows us to pinpoint a fundamental difference between hackers and medics from any field.
The Difference

This clearly gives an indication that a certain energy level needed to administer and receive alternative medical treatment is lacking at our aforementioned subjects.
Life is not a game where Experience Points can be gained by sitting in front of a screen and clicking at the things that pass by.
On the contrary, using computers for several times a day leads to a deprivation in energy that cannot adequately be quenched by pizza:
computers suck

To increase the amount of MediPacks (ie. Health), it makes sense to turn the box off once in a while and stop bitching about stuff one does not have a clue about.
Hugh.
for ages, i had my ssh-agent settings in my .bashrc. with lucid this setup stopped working.
i had to
- tell gconftool to not intermingle:
gconftool-2 --set -t bool /apps/gnome-keyring/daemon-components/ssh false
which did not do much. as an ugly hack, i additionally just disabled my own ssh-agent handling if it runs on lucid:
# ssh-agent stuff
# broken with ubuntu lucid
distro=lsb_release -c | sed -e 's/Codename://g' | grep lucid
if [ ! -z "$distro" ] ; then
#echo "$distro detected, aborting ssh-agent logic"
echo $- | grep i > /dev/null
noninteractive=$?
if [ "$noninteractive" == 0 ] ; then
ssh-add -l >& /dev/null
if test $? = 2; then
if test -f ~/.agent; then
. ~/.agent
fi
ssh-add -l >& /dev/null
if test $? = 2; then
ssh-agent > ~/.agent
. ~/.agent > /dev/null
fi
fi
fi
fi
links: live.gnome about ssh and ssh-agent not forgetting passphrase
linked the aptitude docs ..
.. as I regularly tend to forget, I linked the aptitude docs on http://subsignal.org/aptitude.
the enhanced search option you can find directly here:
The aptitude Search Term Quick Guide !!eleven!
now, use it.
then, fun 
what is the station url format in shell-fm?
using the nice and fantastic shell-fm player, the last-fm player in your beloved terminal,
you might wanna know which channels you can listen to and preferably in which
format you have to enter them.
All I found over the interwebz are here:
lastfm://user/${user}
lastfm://user/$USER/recommended
lastfm://user/$USER/playlist
lastfm://user/${user}/loved
lastfm://user/${user}/personal
lastfm://usertags/${user}/${usertag}
lastfm://artist/${artist}/similarartists
lastfm://artist/${artist}/fans
lastfm://globaltags/${globaltag}
Hehe, meanwhile crawling through the omniscient dump, I just found another friendly
cli player lastbash (homepage) and
wikipedia article. neat.
can haz this channels e.g.:
lastbash "lastfm://globaltags/jungle"
lastbash "lastfm://globaltags/glitch"
lastbash "lastfm://user/phaidros7/neighbours"
lastbash "lastfm://artist/Salmonella Dub/similarartists"
now: fun!
squeeze still has no jack support in libportaudio an amd64, ..
.. which is needed to use mixxx with jack
# apt-get source portaudio19
# apt-get build-dep portaudio19
# cd /portaudio19-19+svn20071207/debian
remove ENABLE_JACK = no from line 48
ENABLE_JACK must be explicitely set to "yes"
# nano debian/rules
# dpkg-buildpackage -rfakeroot -b
# cd ../
# dpkg -i *.deb
mixxx still doesn't detect jack for me, stay tuned.
Does work now!
(no) fun! (yet)
10 commands for installing latest nvidia on squeeze
# echo <<EOF >> /etc/apt/sources.list \
deb http://ftp.tu-chemnitz.de/pub/linux/debian/debian/ unstable main non-free contrib \
deb-src http://ftp.tu-chemnitz.de/pub/linux/debian/debian/ unstable main non-free contrib \
EOF
# echo 'APT::Default-Release "testing";' >/etc/apt/apt.conf.d/00defaultrelease
# aptitude update
# aptitude install module-assistant nvidia-kernel-common build-essential
# m-a clean nvidia-kernel-source
# m-a purge nvidia-kernel-source
# m-a prepare
# aptitude install nvidia-kernel-source/unstable
# m-a a-i nvidia-kernel-source
# aptitude -t unstable install nvidia-glx nvidia-libvdpau1 nvidia-settings nvidia-libvdpau1-ia32 nvidia-glx-ia32
fun!
install debian from usb stick
# wget http://http.us.debian.org/debian/dists/stable/main/installer-amd64/current/images/hd-media/boot.img.gz
# sudo umount /dev/sdb1
# zcat boot.img.gz > /dev/sdb1
plug stick out / in.
# wget http://ftp.de.debian.org/debian-cd/current/amd64/iso-cd/debian-504-amd64-netinst.iso
# mount
see where stick is mounted.
# cp debian-504-amd64-netinst.iso /media/Debian\ Inst/
happy installing!
OpenWRT on Xen patched, up and running
Thanx to jow and thomas h., we have now working support for Xen in OpenWRT!
see the following changesets for what is done:
- Changeset 19608 - [package] base-files: add /dev/hvcX to hotplug common rules
- Changeset 19610 - [x86] add Xen DomU subtarget
- Changeset 19611 - [package] kernel: add xen kmods
- Changeset 19612 - [x86] make console port editable through menuconfig, gzip ext2 images, add suitable defaults for Xen
So you now can choose x86 as target with Xen as subtarget.
nice. we give back to the connected funk-haeusers!
locale: Cannot set LC_ALL to default locale: No such file or directory
now and then this happenes to me on a new machine. usually I just set
LC_ALL, LC_LANG & LANGUAGE like this
root@gargamel:~# cat /etc/profile.d/locale
export LANGUAGE = "en_US.UTF-8"
export LC_ALL = "en_US.UTF-8"
export LANG = "en_US.UTF-8"
still it complains about missing default locale. so we hafta do this:
localedef -v -c -i en_US -f UTF-8 en_US.UTF-8
because usually en_US is probably defined.
we r done. we give back to the connected funk-haeusers!
mkcd - mkdir & cd directly into it
phaidros@42:~/ #$ echo 'mkcd() { mkdir -p "$@" && cd $_; }' >> ~/.bashrc
phaidros@42:~/ #$ . ~/.bashrc
phaidros@42:~/ #$ mkcd /path/to/a/new/folder/
phaidros@42:/path/to/a/new/folder/#$ echo "Well done :) !"
Little, easy, damn useful.
We give back to the connected funk-haeusers!
finding obsolete conffiles
when updating from lenny to squeeze, one will face two major upgrades of the system:
- grub becomes grub-legacy and is superceeded by grub2
for people not wanting to convert yet as not everything is supported yet, this can be postponed if desired.
- sys-rc is being accompanied by innserv
a new, faster system for booting (it looks even faster than upstart to me). its upgrade might fail for some packages on the system not being --purged but just --removed.
getting a list of obsolete conffiles is as simple as
dpkg-query -W -f='${Conffiles}\n' | grep obsolete
if you're absolutely sure you dont need any of the old stuff (possibly including your own customisations) you might also do
dpkg --purge $(dpkg -l|awk '/^rc/ {print $2}')
which will simply purge all removed but not purged packages.
List all packages containing the words route or routing in their description:
aptitude search '~drout(e|ing)'
List installed packages that are not official Debian packages:
aptitude search '~S~i!~Odebian'
List packages installed from experimental:
aptitude search ~S~i~Aexperimental
List packages with 'ruby' and 'gtk' in their names:
aptitude search 'ruby gtk'
aptitude search ~nruby~ngtk
List installed packages that depend on bash:
aptitude search ~S~i~Dbash
Purge all packages that have been removed except for their config files:
aptitude purge ~c
xm console not working (blank)
on some xen domUs I recently figured that the xm console didn't come
up. so investigating the issue I found out that you gotta set the
tty in the machine's config like this:
extra = 'xencons=tty1'
but still I get a blank screen instead of the login. solution is simple,
for systems still having an inittab (eg. debian) look for the following
line:
nano /etc/inittab
1:2345:respawn:/sbin/getty 38400 tty1
for systems which utilize upstart already (ubuntu) look for another file:
nano /etc/event.d/tty1
start on stopped rc2
start on stopped rc3
start on stopped rc4
start on stopped rc5
stop on runlevel 0
stop on runlevel 1
stop on runlevel 6
respawn
exec /sbin/getty 38400 tty1
makes the xm console work on all my machines again.
if you are using virtualbox and seeing this:
This kernel requires the following features not present on the CPU:
0:6
Unable to boot - please use a kernel appropriate for your CPU
or the like, it could be you are trying to run an *buntu server kernel.
just enable PAE/NX for the vm guest. this should solve the issue.
freebsd bootloader repairs et al
to repair ie grub on freebsd (or to overwrite the disk the box is running on, etc..), the system will complain about doing so.
sysctl kern.geom.debugflags=16
will let you shoot yourself in the foot nevertheless (make the mbr writable).
make deb from cpan
simple:
dh-make-perl --build --cpan $module
dpkg -i $module.deb
preparing the guest system
you need to put following
/etc/preinit
- add "mknod /dev/hvc0 c 229 0"
- before "exec /sbin/init"
/etc/inittab
- add "hvc0::askfirst:/bin/ash --login"
in the domU.conf, aside the usual settings:
- disk = ['tap:aio:/path/to/openwrt-x86-ext2.fs,xvda1,w']
- root = '/dev/xvda1 rw'
- extra = "console=hvc0 init=/etc/preinit"
building debs from source
make sure to have deb-src entries in your sources.list[.d]
among the installed packages should be at least
build-essential debhelper fakeroot autoconf automake
add more if necessary (like dh-make, quilt and so on)
get the dependencies right:
sudo apt-get build-dep $package
get the sources and build them:
sudo apt-get -b source $package
for manual adjustments, leave out the -b and in the package source dir, do
fakeroot debian/rules binary
after changing whatever you wanted different.
ikiwiki setup notes
heres a cklist should i create another iki instance. just assuming the vcs would be svn this time.
deciding for
- one or more webroots: as one repository is rendered into html by ikiwiki --setup ikiwiki-setup it can also be rendered somewhere else with a different setupfile, ie one is a wiki (some ppl call it backend) and another one will be rendered into plain html just to look at. (some ppl call it "cms" but this is way nicer to use than a cms. also, its lightyears faster)
/$webroot/$instance(wiki)
/$webroot/$instance(dumb)
and then
- place for one or more Makefiles and ikiwiki-setup.$instance (no, i won't rename this file anymore)
~/wikis/$instance
- place for a checkout that can also be edited without the webif
~/wikis/$instance/src
- $vcs repository location
/wotevr/svn/repo/$instance
- webserver config
- urls for all components
http[s]://f.q.dn/iki/$instance
http[s]://f.q.dn/svn/$instance
$vcs repo webserver config or not
component and setup for the history button (->ie viewvc)
http[s]://f.q.dn/iki/$instance/history
ScriptAlias /viewvc /usr/local/viewvc/bin/cgi
finally,
ikiwiki --setup ikiwiki.setup-$instance
ikiwiki-makerepo svn ~/wikis/$instance/src /wotevr/svn/repos/$instance
done.
as I did, you might also wonder if mailman is capable of running on multiple domain names with a single instance.
yes it is, easy. configure mailman for your default host and for the next ones, just add the following line to /etc/mailman/mm_cfg.py
add_virtualhost('lists.yourdomain.org','lists.yourdomain.org')
add a vhost for your webserver to point http://lists.yourdomain.org to the mailman. nicely you can add now (with the sooperdooper password) new lists via webif.
now the wondering point: your new list will still be listed on the webif of the default mailman host. I tried to patch mailman, as I remembered it was not a feature offered upstream. by reading the code, I just wondered, that there is a comparison alread done if the list belongs to the web url. well, all you need to do is changing the web_page_url variable of your new list of the virtual domain, because by default all new lists belong to - who guessed - default host. easy thing:
bin/withlist -l -r fix_url listname -u lists.yourdomain.org
well, now it just shows up onlt on the webif of the vhost it belongs to, ez, eh?
ubuntu stable sucked, so I just went alpha!
grep -r jaunty /etc/apt/sources.list* | grep -v "^#" | gawk {'print $1'} | sed 's/:.*$//' | xargs sed -i 's/jaunty/karmic/g
set all used apt sources from jaunty to karmic.
sudo aptitude update
sudo aptitude dist-upgrade
for a t41p (or other harware using Rxxx ATI card) follow the instructions here: https://launchpad.net/~xorg-edgers/+archive/ppa
get your card running. nice, latest DRI, and works. (don't forget to:
aptitude install xserver-xorg-video-ati
)
I then again got troubles with supend/hibernation. so tetzlav pointed me once moar to uswsusp.
sudo aptitude install uswsusp
s2ram -f -p -m
for suspend to ram.
s2disk
for suspend to disk. roxx!
and, well, still splash was buggy. kick it. now I got radeonfb used for 1440x1050 on console
nano /boot/grub/menu.list
add the following to the line with #defoptions (do not remove the '#', remove all other vga= or video= settings)
vga=835 video=radeonfb
so, that to work, you must edit /etc/initramfs/modules. just add
i2c_algo_bit
fb_ddc
radeonfb
fbcon
fb_ddc is used to detect the screen resolution, i2c is needed by it. radeon, of course ..
now get your changes into place
sudo update-grub
sudo update-initramfs -u -k all
reboot, see, suspend, wake up .. \o/ ..
about
this blog features tech tips, sometimes done in the spirit of technical thugging. its name was inspired by stuff that can be done with a FLT.
hoping to be of any practical use, this blog contains info about things someone did to get some stuff done.
if any of the things here inspire you to shoot yourself in the foot, you are welcome to do so but don't come complaining except when trying to help.
you get what you pay for, and it's free.


