Category Archives: Daily life

Everything non scientific ;-)

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)

Gentoo: Emerging with RAMFS

Hi

bash_vi asked me to write a short resume about how to emerge programs by using the ramfs for speedup.
Here’s how to do so:

mount -t ramfs -o size=2g ramfs /var/tmp/portage/

  • The “-t ramfs” is obviously self explainatory.
  • The “-o size” tells the ramfs driver how much space of the RAM should be reserved for this specific mount point.
  • “/var/tmp/portage/” is the place where portage usually unpacks the source boundles and begins to compile them.

You can also put it into your /etc/fstab in order to keep it for each reboot with
echo -e "ramfs\t/var/tmp/portage/\tramfs\tsize=2g\t0\t0" >> /etc/fstab

Now you can compile your stuff within RAMFS

Links:

  • http://de.gentoo-wiki.com/wiki/Emerge_beschleunigen
  • http://www.thegeekstuff.com/2008/11/overview-of-ramfs-and-tmpfs-on-linux/

notion ink adam – tegra devices

I’m really pissed.
It’s again the same shit as with my HTC dream (or should I say nightmare?)
Ages outdated kernel, branches with drivers which are that badly written that they can never be merged into Torvalds master again.
Dudes! Can’t you have a look over to Texas Instruments?!
The OMAP is well documented, there are free drivers available and there is always support in main.
WTF? What use is a kernel where no peripherial drivers are available within the official, recent kernel?!

Bánh bao

Howdy
Yesterday I’ve made me some “Bánh bao”.
Basically its steamed bread with meat within.
Of six only one survived until now, and I’ll eat this one, just after I’ve written this entry.
It’s really delicious and I can only suggest you to try it as well.
As you can see, I left out the eggs, because eggs don’t agree with my stomach.

The dough

Ingredients

  • A pack dry yeast
    (Read on the back, for how much flour it’s supposed to be used!)
  • 1/2 tablespoon salt
  • 1 tablespoon tapioca flour
  • 250g flour
  • 20g sugar
  • 125ml warm water
    (“hot” mode of the water-tap is sufficient)
  • Add 1 tablespoon distilled vinegar into the water

Processing

  • Put the dry ingredients into a bowl and mix it well.
  • Put the vinegar and the warm water into a cup and mix it.
  • Put it into the bowl with the dry ingredients and mix it, then knead it.
  • Let it go up for 3hours.

Stuffing

Ingredients

  • Some ground meat  (anything does it)
  • Vietnamese sausage alias Lap Suong (lạp xưởng)
    http://en.wikipedia.org/wiki/Chinese_sausage
    Very important, because it gives the characteristic taste to the whole stuff!
  • Mushrooms (Shitake)
  • 1/2 Onion
  • 1 tablespoon sugar (Yes! That much!)
  • 1 tablespoon salt (Yes! As well 😉 )
  • 1/2 tbsp fish sauce
    http://en.wikipedia.org/wiki/Fish_sauce
  • 1/2 tbsp distilled vinegar
  • A bit of Garlic, Pepper, Paprika
  • Maybe some glass noodles, if you like

Processing

Peel the lạp xưởng and cut it into pieces.
Cut the onion into small pieces, as well as the mushrooms.
Then take some of the pieces of the lạp xưởng and cut it into smaller pieces and mix it with the fish sauce, the union pieces, the mushroom pieces, the sugar, the salt.
Now spice it up with garlic, paprika, pepper, etc. until the sauce gets a very intensive sweet-salty taste.
Put two hands of ground meat into the stuff mix it well.

The filling procedure is similar to the one for Manjū (https://blog.the-leviathan.ch/?p=204), only “upside down”.
Which means, that you close the package on the top, not on the ground.
You take the dough, make a similar plate, like with the Manjū dough, and then put a fist of the filling into the middle.
Then you put some of the lạp xưởng pieces on the side of the raw meat ball and close it, like described for the Manjū.

Also steaming is similar to Manjū, only a bit longer, because it’s meat within:
Steam it for 30-40 min!