Category Archives: Daily life

Everything non scientific ;-)

Business processes and FOSS

Can someone please silence these managers ordering the engineers to upload a zip file instead of configuring a git repo? And why the hell don’t they just include the .git folder? And why are there people reimporting tar files into git?

At the end it’s just pissing me off and it’s kinda assholish upon the engineers whose commit logs you’ve just deleted…

At least now the new Samsung Galaxy S2 (GT-I9100G) has an OMAP4 inside.
The only usable SoC on the market.
Yes! The only!

Android…

Samsung Galaxy S2 and Asus Transformer Prime, both with Android market…
I don’t pay for software, I’m FOSS user…

WTF? Money for installing packages?
My solution for such an issue is easy.

If it costs, don’t use it 🙂

Tegra arratum 657451

And again, increasing recursive Googling…

(3) ...however, if you have a stock eglibc
and a kernel with the erratum workaround disabled/removed,
then things seem in practice to work OK.
Speculation is that perhaps the erratum is only
a problem in marginal situations (eg if the core is very hot).

Ok, wtf. “marginal situations”?
Does that mean, the hardware has the freedom to not execute the code in cases where it hates the user, like in my case? >_>

Seriously, the core hasn’t reached high temperatures yet, but still shows sign of this bug.
Ok, cancel sign: a system where already /sbin/init segfaults is not a sign, it’s more like “no discussion”

https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/739374

Anyway. I’ve now made a portage overlay for eglibc and am cross-compiling eglibc-2.15 in this very moment.
Let’s see if switching Gentoo to eglibc solves my problems…

BTW: The overlay can be found under:
https://gitorious.org/o2s-gentoo/eglibc-overlay/trees/master

Automatic kernel configuration

Didn’t everyone already dream of that?
Ok… Not everyone, just the hardcore nerds and hackers like me, who aren’t only using bleeding edge software but more or less blood dropping flesh wound software (yes, sometimes even -9999- ebuilds in Gentoo >_< )

I guess BenBee asked me some time ago, if this would be possible…

Yes it is
./kdetect.sh
and
./autokernconf.sh

Should do the trick.
Go to the following source: http://cateee.net/autokernconf/

TEGRA2 and GLIBC

Not only, that the list of hazards within a tegra2 grows and grows and the errata option list within menuconfig now already is longer then the list of boards containing this SoC…
Obviously the hazards make it impossible to use any GLIBC newer then 2.12.1 …
Folks! WTF!?

GNU/Linux on “galaxy S2 i9100”

Howdy
A friend of mine owns a “Samsung Galaxy S2”
CPU-info tells us there is a SMDKV310 SoC in it:

# cat /proc/cpuinfo
Processor       : ARMv7 Processor rev 1 (v7l)
processor       : 0
BogoMIPS: 1592.52

Features: swp half thumb fastmult vfp edsp neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x2
CPU part: 0xc09
CPU revision    : 1

Hardware: SMDKV310
 Revision: 000e
 Serial  : 304d19f743777c9e

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=arch/arm/mach-exynos/mach-smdkv310.c;h=83b91fa777c1aeb4ca5ee95ff81f244a1641e904;hb=HEAD

Looks as there would be support for it in upstream.
Let’s see if it boots as well. ( e.g. upstream support for tegra2 is just formalism, the code in master doesn’t do anything useful)

Accessing/manipulating networkdevices in C

Howdy how

BenBE asked me to give him some advice how to open and manipulate network devices from user space.
Although it’s not really a kernel hacking issue, as his way of asking proposed I’ll post the respective link after all, because I’ve promised.

Usually you use APIs for such a purpose.

In this case its the library called Libdnet and the project page can be found under the following URL:
http://libdnet.sourceforge.net/

I just have taken a look into Debian’s package viewer and somehow the relevant header ( /usr/include/dnet/tun.h )
is missing ( packages broken/outdated? O.o)

Anyway, the header file would only tell us that much (Thx to benny for the tip with the highlighter! 😉 ):

/*
 * tun.h
 *
 * Network tunnel device.
 *
 * Copyright (c) 2001 Dug Song 
 *
 * $Id: tun.h,v 1.2 2005/01/25 21:29:12 dugsong Exp $
 */

#ifndef DNET_TUN_H
#define DNET_TUN_H

typedef struct tun      tun_t;

__BEGIN_DECLS
tun_t      *tun_open(struct addr *src, struct addr *dst, int mtu);
int         tun_fileno(tun_t *tun);
const char *tun_name(tun_t *tun);
ssize_t     tun_send(tun_t *tun, const void *buf, size_t size);
ssize_t     tun_recv(tun_t *tun, void *buf, size_t size);
tun_t      *tun_close(tun_t *tun);
__END_DECLS

#endif /* DNET_TUN_H */

An example can be found a little more deeper on the following site:
http://csfacwiki.cslabs.ewu.edu/wiki/securitylab/index.php/Libdnet

By using libudev for dynamic file checking and path allocation
you could also make it a little more dynamic and flexible.
(Using hardcoded strings in order to allocate files is usually a very bad idea)