HowTo

HowTos / Tutorials aus verschiedenen Bereichen der IT-Welt

Cross-Compiling Android Kernel – Samsung GalaxyS2

2

Das GalaxyS2 läuft ziemlich gut mit dem neuen nightly-builds von CM9 (Android 4.0.4) & den neusten Google-Apps & dem SiyahKernel.

Ich möchte hier kurz erklären, wie du einen Kernel für das Samsung S2 (CM9) auf Basis vom SiyahKernel kompilierst.  

 

1.) Installiere Linux + Cross-Compiler 

Als erstes solltest du Linux bereits installiert haben (z.B. Ubuntu, Debian ...) ggf. einfach auf einen virtuellen PC z.B. via VirtualBox. Für Ubuntu gibt es bereits ab Werk GCC für ARM, bei Debian habe ich bisher folgende Paket-Quellen ( /etc/apt/sources.list ) mit aufgenommen und anschließend gcc-4.6-arm installiert, jedoch bisher nur mit Debian *sid* getestet.

deb http://www.emdebian.org/debian/ unstable main

Install:

sudo apt-get install build-essential git gcc-4.5-arm-linux-gnueabi wget More >

C-Programm & Cflags

2

Ich habe vor einiger Zeit das Prinzip von Makefiles anhand eines kleines Beispiels gezeigt -> http://suckup.de/howto/c/c-programm-primzahlen-makefiles/ <- den selben Quelltext kompilieren wir heute mit verschiedenen C-Flags und 1000000 Schleifendurchläufen ...

 

1.)  ohne C-Flags

gcc -lm primzahlen.c -o primzahlen_slow

 

Output: time ./primzahlen_slow

[...] 999961 999979 999983 real 0m1.760s user 0m1.420s sys 0m0.164s

 

2.)  ohne C-Flags & ohne "math.h" (sqrt)

gcc primzahlen.c -o primzahlen_slow

 

Output: time ./primzahlen_slow

[...] 999961 999979 999983 real 0m1.407s user 0m0.988s sys 0m0.192s

 

3.)  -O2 & ohne "math.h" (sqrt)

gcc -O2 primzahlen.c -o primzahlen_2

 

Output: time ./primzahlen_slow

[...] 999961 999979 999983 real 0m1.405s user More >
PHP-Logo

PHP-Sicherheit erhöhen

9

 Jeder Server welcher PHP-Skripte verarbeitet, sollte zumindest zwei Sicherheitsschlösser eingebaut haben, so dass man nicht jedem Tür & Tor öffnet. 

 

1.) suPHP oder suexec + fcgid

Wir sollten PHP-Skript nicht alle mit dem selben User-Berechtigungen (z.B. apache) laufen lassen, daher empfiehlt es sich auf kleinen Webservern suPHP und auf Webseiten mit mehr Traffic "Fast CGI" zu installieren. Alternativ kann man PHP mit "PHP-FPM" (FastCGI Process Manager) auch jeweils als eigenständigen Prozess laufen lassen. 

2.) Suhosin

Da einige PHP-Projekte nicht wirklich für Ihre Sicherheit bekannt sind, empfiehlt es sich zudem die "Suhosin" Erweiterung für PHP zu installieren. "Es wurde entworfen, um den Server und die Benutzer vor bekannten und unbekannten Fehlern in PHP-Anwendungen und im More >

Monatsnamen / Wochentagsnamen in deutsch via PHP

2

"Gibt einen String zurück, der den angegebenen Formatierungs-Merkmalen entspricht. Dabei wird der gegebene Timestamp/ Zeitstempel oder - falls dieser fehlt - die momentane lokale Zeit benutzt. Der Monats- und Wochentagsname wird entsprechend des per setlocale() eingestellten Wertes gesetzt." - php.net/manual/de/function.strftime.php

 

setlocale(LC_TIME, "de_DE"); echo strftime("%A"); // Wochentagsname echo strftime("%B"); // Monatsname

perror – Explain Error Codes für MySQL in der Shell

1
for i in `seq 1 180`; do perror ${i}; done | less

Info: http://dev.mysql.com/doc/refman/5.0/en/perror.html

 

Ausgabe:

OS error code 1: Operation not permitted OS error code 2: No such file or directory OS error code 3: No such process OS error code 4: Interrupted system call OS error code 5: Input/output error OS error code 6: No such device or address OS error code 7: Argument list too long OS error code 8: Exec format error OS error code 9: Bad file descriptor OS error code 10: No child processes OS error code 11: Resource temporarily unavailable OS error code 12: Cannot allocate memory OS error code 13: Permission denied OS error code 14: Bad address OS error code 15: Block device required OS error code 16: Device or resource More >
Struktogramm via Structorizer

C-Programm – einfacher Taschenrechner

3

Hier mal wieder ein einfaches Beispiel in C mit "Struktogramm" & "Programmablaufplan" & "Pseudocode" ...

#gallery-1 { margin: auto; } #gallery-1 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 25%; } #gallery-1 img { border: 2px solid #cfcfcf; } #gallery-1 .gallery-caption { margin-left: 0; }

 

Pseudocode:

<strong>begin</strong> Eine 'einfache' Rechenaufgabe (z.B. 5+5) eingeben. Aufteilung der Eingabe in (drei) Variablen [ein1, ein2, ein3] <strong>case</strong> ein2 <strong>is</strong> <strong>+:</strong> Addition: "ein1" & "ein3" More >
250x400

Crashkurs: jQuery-Selektoren

4
Was ist jQuery?

Es ist eine Vereinfachung von JavaScript durch ein sogenanntes Framework, welches uns lästige Routinearbeit beim Programmieren abnimmt und einen einfachen Zugang zu schwer nutzbaren JavaScript-Methoden bietet.

 

JavaScript mit & ohne jQuery!

Für den Einstieg in das Thema möchte ich ein Beispiel mit JavaScript und den selben Effekt via jQuery zeigen.

JavaScript: (JavaScript_test1.html)

<html> <head> <title>JavaScript</title> <style type="text/css"> .green { color: #009933; } </style> <script tyle="text/javascript"> window.onload = function() { var elements = document.getElementById("box").getElementsByTagName("p"); for (var i = 0; i < elements.length; i++) { if (elements[i].firstChild.data == "Zweiter Absatz") { elements[i].className = More >

Optimierungen von Android unter Linux nutzen

6

Vor einiger Zeit habe ich ein kleines Shell-Script (SSSwitch - auto-switch settings) geschrieben, welches mein Android Handy beim Start optimiert und die Kernel-Einstellungen anpasst, wenn der Bildschirm an bzw. aus ist. Einige der Einstellungen kann man auch unter Linux verwenden. Als Beispiel beschreibe ich hier kurz, wie man die I/O Leistung verbessern kann und wer allgemein etwas zum optimieren von Linux / Ubuntu lesen möchte, dem hilft ggf. folgender Blog-Post weiter -> SpeedUp-Ubuntu

 

Ein Ausschnitt aus dem besagtem Skript ...

# ========= # One-time tweaks to apply on every boot; # ========= STL=`ls -d /sys/block/stl*`; BML=`ls -d /sys/block/bml*`; MMC=`ls -d /sys/block/mmc*`;

... hier wurde der externe / interne Speicher von Android angegeben unter meinem Linux-System More >

Screenshots von Android via shell

4

Wenn man auf seinem Android beispielsweise einen Kernel mit 24bpp Unterstützung installiert, kann man auch wenn man root-Rechte hat, keine Screenshot via App machen. Um dies zu umgehen kann man die "Android Debug Bridge (adb)" verwenden.

sudo apt-get install ffmpeg /opt/android-sdk-linux_x86/platform-tools/adb pull /dev/graphics/fb0 fb0 ffmpeg -vframes 1 -vcodec rawvideo -f rawvideo -pix_fmt rgb32 -s 320x480 -i fb0 -f image2 -vcodec png image.png

 

Das gleich Verfahren kann man auch unter Windows anwenden und wer lieber mit einer GUI arbeitet, sollte sich einmal QtADB anschauen.

Bildschirmfoto

Ubuntu 11.04 Tweak-Skript

14

In diesem Blog-Post stelle ich kurz mein kleines Shell-Skript vor, mit dem man sein Ubuntu 11.04 einrichten bzw. optimieren kann. Wenn jemandem noch ein Feature fehlt, kann dies angepasst werden. Zudem habe ich im Quelltext an den meisten Stellen Kommentare hinterlassen, sodass man gleich noch etwas über die shell lernen kann ...

Über konstruktive Kritik und / oder Verbesserungen würde ich mich freuen. Download

 

wget http://suckup.de/ubuntu-11.04-tweak.txt mv ubuntu-11.04-tweak.txt ubuntu-11.04-tweak chmod +x ubuntu-11.04-tweak sudo ./ubuntu-11.04-tweak

 

Funktionen:

- neue Repositories (Quellen) eintragen /  Programme installieren (Java, Flash, Chromium, ...)

- Ubuntu / Gnome / Unity anpassen

Go to Top