Archive for the 'linux' Category

Home Cockpit Baubericht (Teil 3)

Thursday, December 26th, 2013

Am 23.12. kamen endlich die Inkrementalgeber(rotary encoder). Seit dem weiß ich, wie groß ich die Löcher dafür bohren muss. Am gleichen Tag habe ich alle Taster und Schalter eingebaut und 2 von den insgesamt 6 Inkrementalgebern mit meinen C-Testprogramm auf den Atmega32 ausprobiert.

Am 24.12. habe ich mit der Tastaturmatrix angefangen. Zunächst nur 3×3 verkabelt und dann dafür ein Testprogramm geschrieben. 3 der Schalter hatte ich aus alten Walkera Sendern ausgeschlachtet – sie sehen schön aus – sind aber alle defekt. Ich musste alle wieder ausbauen. 🙁

Den 25.12. habe ich damit verbracht, den Rest der 8×7 Matrix und die LEDs zu verkabeln. Die Taster von Rafi haben eine rote 3mm LED in der Ecke – ich hätte aber lieber eine flächige Beleuchtung in grün. Kurz vor dem verkabeln der LEDs habe ich mich entschlossen die roten LEDs nicht zu verwenden und stattdessen superhelle grüne LEDs von hinten an die Taster zu kleben. Mit einem 460 Ohm Vorwiederstand sind es nur 6mA pro LED – Das schafft der 74HC595 ohne zusätzlichen Treiber.

Bis auf Kleinigkeiten (Deckel, Rückwand, ..) ist die Hardware nun fertig. In der Software folgt demnächst:

* Entprellen der Taster
* Abfrage aller Inkrementalgeber
* serielle USB Kommunikation mit dem PC, bidirektional
* “Treiber” Software auf dem PC

pic

p2

p3

74HC595

p5

Linux Workstations klonen, Test in KVM

Monday, November 25th, 2013

In meinem virtuellen Netzwerk aus virtuellen Linux PCs teste ich gerade verscheidene Programme zum klonen von Systemen/Festplatten.
Testsystem: Ubuntu 12.04

remastersys (neuer Fork: OS4 System Imager) funktioniert gut und ist einfach zu bedienen. Es erstellt eine “Custom Live/Install DVD” als iso Datei – ähnlich der normalen ubuntu Installations DVD. Davon werden dann die Ziel PCs installiert. Der verwendete ubuntu-installer stellt dabei ein paar Fragen: Sprache, Zeitzone. Username und Passwort muss man aber nicht festlegen – das wird im remastersys-Modus “backup” vom Quellen-PC übernommen.
Die Fragen des Installers kann man vermutlich durch eine Kickstart Datei vermeiden – das muss ich noch testen.
remastersys entfert die ssh-host keys so dass man sich am Ziel PC nicht per ssh anmelden kann 🙁

Fix:

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''

oder
dpkg-reconfigure openssh-server

In einem Klassenraum Scenario muss man also mit der DVD oder USB-Stick zu den PCs gehen um sie zu installieren. Es gibt eine Anleitung für die Installation von ubuntu via PXE & tftp, aber leider nur für die netboot Variante. mit einer Normalen ubuntu DVD oder einer remastersys-DVD ist mir das noch nicht gelungen. pxelinux + memdisk zum booten von iso-Images habe ich probiert, klappt aber nicht – ist auch unrealistisch weil der Ziel PC dafür sehr viel RAM benötigt.

Als zweites Programm habe ich Clonezilla probiert. Clonezilla gibt es als Live CD/Stick oder als Sever Edition(SE). Von der Server Edition gibt es auch eine (DRBL-)Live CD. Leider bootet Clonezilla nicht in meiner VirtualBox Umgebung – Eine gute Motivation um mich mal wieder mit kvm zu beschäftigen: Wenn man virt-manager als root startet, dann kann man sich dort auch bequem seine virtuellen Netze zusammen klicken.
Bestehende Images aus VirtualBox kann man über den Umweg eines raw Image
in das qcow Format konvertieren.

In KVM bootete clonezilla problemlos. Ob ich Clonezilla so weit vereinfachen kann, dass ein Lehrer damit klar kommt ist noch fraglich.

was ich noch nicht getestet habe:

* m23
* ubuntu MASS
* rear – Relax and Recover
* mkCDrec
* FAI
* Linbo

Linux, Xorg: intel und nvidia gleichzeitig nutzen

Friday, November 8th, 2013

/etc/X11/xorg.conf


Section "ServerLayout"
    Identifier     "myLayout"
    Screen  0  "screen1" 0 0
    Screen  1   "screen2" RightOf "screen1"
EndSection

Section "Device"
    Identifier  "Nvidia"
    Driver      "nvidia"
    BusID       "PCI:1:0:0"
EndSection

Section "Device"
    Identifier  "Intel"
    Driver      "intel"
    BusID       "PCI:0:2:0"
EndSection

Section "Monitor"
   Identifier  "monitor1"
EndSection

Section "Monitor"
   Identifier  "monitor2"
EndSection

Section "Screen"
   Identifier  "screen1"
   Device      "Nvidia"
   Monitor     "monitor1"
   DefaultDepth    24
   SubSection "Display"
       Depth       24
       Modes       "1920x1080"
   EndSubSection
EndSection

Section "Screen"
   Identifier  "screen2"
   Device      "Intel"
   Monitor     "monitor2"
   DefaultDepth    24
   SubSection "Display"
       Depth       24
       Modes       "1024x768"
   EndSubSection
EndSection

Testing LTSP & Epoptes with VirtualBox

Wednesday, October 30th, 2013

Virtual Box
(Version 4.1.12)

virtueller LTSP Server:
Linux Mint 13
20GB Festplatte
128MB Grafikspeicher
4GB RAM, 4 Prozessoren
Netzwerk:
Adapter 1: NAT – Zugang zum Internet, dhcp-client, IP: 10.0.2.15
Adapter 2: Internes Netzwerk, ‘intnet’ – virtuelles LAN für die Terminals

virtuelle Terminals:
keine Festplatte
256MB RAM, 1 CPU
Bootreihenfolge: Netzwerk,
Netzwerk:
Adapter 1: Internes Netzwerk, ‘intnet’

(eins erzeugen, testen, dann klonen)

LTSP Server
apt-get install ltsp-server-standalone (5.3.7)
cp -R /usr/share/ltsp/plugins/ltsp-build-client/Ubuntu /usr/share/ltsp/plugins/ltsp-build-client/LinuxMint
ln -s /usr/share/debootstrap/scripts/gutsy /usr/share/debootstrap/scripts/maya
sed -i ‘s/DIST=${DIST:-“$(lsb_release -s -c)”}/DIST=${DIST:-“precise”}/’ “/usr/share/ltsp/plugins/ltsp-build-client/LinuxMint/000-basic-configuration”
ln -s /usr/share/ltsp/plugins/ltsp-build-client/Debian-functions /usr/share/ltsp/plugins/ltsp-build-client/LinuxMint-functions
ltsp-build-client –arch i386

/etc/ltsp/dhcpd.conf – unverändert

apt-get remove network-manager

/etc/network/interfaces:

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0

service networking restart
service isc-dhcp-server restart

/var/lib/tftpboot/ltsp/i386/lts.conf :

[Default]
LDM_GUESTLOGIN=True
#LDM_DIRECTX=True
LDM_PASSWORD=secret

#[ltsp20]

http://manpages.ubuntu.com/manpages/precise/man5/lts.conf.5.html

nützlich für LDM_AUTOLOGIN : ltsp-shutdown.desktop

LDM_GUESTLOGIN ähnlich ist wie LDM_AUTOLOGIN aber mit der zusätzlichen Möglichkeit sich mit seinem eingnem Namen anzumelden.
Default username ist der Name des Terminals (ltsp20,ltsp21, …)

/home/ltsp20 usw. werde nicht automatisch aufgeräumt.
Eine Lösung dafür:
[Ltsp-discuss] Guest sessions

Create /opt/ltsp/i386/usr/share/ldm/rc.d/S00-guest-sessions, with the
following contents:

case “$LDM_USERNAME” in
guest*)
ssh -S “$LDM_SOCKET” “$LDM_SERVER” ‘cd; rm -rf .* *; rsync -a /etc/skel/ .’
;;
esac

Save and run `sudo ltsp-update-image`, if you’re using NBD.

That’s it, now all user accounts where the username starts with
“guest*”, will have their documents and settings erased on login.

alkisg: Although that rm -rf should really be find . -delete

adduser ltsp20
adduser ltsp21
… (Passwort: secret)

epoptes
(Version 0.5.5)
www.epoptes.org

apt-get install epoptes
gpasswd -a lehrer epoptes

fix for Mate Desktop logout
cd /home/lehrer/Downloads/~epoptes/epoptes/trunk/epoptes-client/
cp endsession /usr/share/epoptes-client
cp endsession /opt/ltsp/i386/usr/share/epoptes-client

cp /etc/resolv.conf /opt/ltsp/i386/etc/
ltsp-chroot passwd
ltsp-chroot apt-get install openssh-server epoptes-client
ltsp-update-image -a i386
service nbd-server restart

PXELINUX Boot Menu

cd /var/lib/tftpboot/ltsp/i386/
cp /usr/lib/syslinux/menu.c32 .
cd pxelinux.cfg
vi default

#default ltsp
default menu.c32

MENU TITLE Titel
timeout 300

label ltsp
menu default
menu label Linux Terminal
kernel vmlinuz
append ro initrd=initrd.img root=/dev/nbd0 init=/sbin/init-ltsp quiet splash plymouth:force-splash vt.handoff=7 nbdroot=:ltsp_i386

label xp
menu label Windows XP (ohne Internet)
localboot 0

http://www.syslinux.org/wiki/index.php/Menu.c32

Flightgear

Sunday, June 30th, 2013

After one touch & go and one go-around I made a very nice manual(VFR) landing at EDDF as you can see in this video @40m00s. Later that day I finally found out how to use the 777 autopilot for autolandings (LOC, APP) and even did one auto-takeoff (TO/GA) Ctrl-t.

I also made flightgear more convenient for me with some changes in
/usr/share/games/flightgear/preferences.xml. I added userarchive=”y” for the comm & nav frequencies and radials. Now my valuese are saved when I quit flightgear.

And I added some values to ~/.fgfs/autosave.xml so that the map starts always transparent and with traffic enabled.


  
    
      true
      true
    


Android .apk verändern und signieren

Wednesday, April 17th, 2013

einmalig: Einen keystore erzeugen:
mkdir keys
keytool -genkey -alias anddev.keystore -keyalg RSA -validity 20000 -keystore keys/anddev.keystore

Wenn man z.B. test.apk verändern möchte:
apk-Datei auspacken (unzip) , verändern und wieder einpacken(zip)
Danach:

jarsigner -verbose -keystore keys/anddev.keystore -signedjar test_singed.apk test.apk anddev.keystore
zipalign 4 test_singed.apk test_signed_and_aligned.apk

Quelle

pycallgraph und PosteRazor

Saturday, April 13th, 2013

Um ein python Programm zu dokumentieren habe ich längere Zeit nach “python cross reference” oder “python xref” gesucht und nicht passendes gefunden. Ich hätte nach “python call graph” suchen sollen.
pycallgraph liefert schon recht hilfreiche Ergebnisse als png-Bild. PosteRazor hilft dabei es auf mehrere A4 Seiten zu verteilen, damit man es ausdrucken kann.

easy_install pycallgraph
apt-get install posterazor

pycallgraph –include=my1.* –include=my2.* –include=my3.* ./my1.py
PosteRazor pycallgraph.png

http://pycallgraph.slowchop.com/pycallgraph/wiki/documentation/0.5.1
http://ejrh.wordpress.com/2011/12/23/call-graphs-in-python/
http://everflux.de/posterdruck-verteilung-auf-a4-blatter-ubuntu-linux-windows-661/

ArchLinux auf dem Raspberry Pi

Thursday, March 28th, 2013

Hatte hier noch ein paar 2GB SD-Karten ‘rumliegen, genauer gesagt micro-SD mit einem Adapter.
Das Image von Arch Linux ARM ist 1,9GB – passt! 😉
Ausgepackt und auf die Karte kopiert genau wie bei Raspbian:


unzip archlinux-hf-2013-02-11.zip
dd bs=1M if=archlinux-hf-2013-02-11.img of=/dev/mmcblk0

ArchLinux ARM (alarmpi) startet ungefähr doppelt so schnell wie Raspbian, alerdings ohne grafischen Desktop. Bildschirm, Tastatur, Maus werden nicht benötigt – man kann sich sofort übers Netzwerk per ssh anmelden. Benutzer: root Passwort: root.
Nach der Installation sind auf der 2GB Karte noch 1,2GB frei
In diesen 2 Dateien stellt man das System auf deutsche Tastatur um:

/etc/locale.conf
/etc/vconsole.conf

oder so:

localectl set-keymap de
localectl set-x11-keymap de

WLAN aktivieren
ip link set wlan0 up
wifi-menu wlan0

# eventuell nicht nötig:
systemctl enable dhcpcd@wlan0.service
systemctl enable net-auto-wireless.service

zusätzliche Software intallieren
z.B. tmux

pacman -S tmux

Weitere Tipps für ArchLinux-Anfänger:
https://wiki.archlinux.org/index.php/Beginners’_Guide

Raspberry Pi

Thursday, March 28th, 2013

Mein (erster) Raspberry Pi ist heute angekommen.

Gehäuse
Teko-Gehäuse passt, allerdings muss man bohren und sägen um an den GPIO Stecker zu kommen.

Netzteil

Glücklicherweise habe ich bereits von meinem HTC Mobiltelefon ein USB-Ladegerät/Netzteil mit 1A

SD-Karte
Kingston SD10V 8GB Class10

WLAN

Edimax EW-7811Un

Betriebssystem
Raspbian

unzip 2013-02-09-wheezy-raspbian.zip
dd bs=1M if=2013-02-09-wheezy-raspbian.img of=/dev/mmcblk0

(direkt auf die Karte kopieren, nicht auf die Partition!)

Boot to LXDE Desktop: 40 Sekunden. Boot-Meldungen und Desktop erscheinen sowohl über HDMI als auch via Composite Video Out – keine manuelle Konfiguration nötig.
Bildschirm, Tastatur, Maus werden nicht benötigt – man kann sich sofort übers Netzwerk per ssh anmelden.
Benutzer: pi Passwort: raspberry

Erstaunliches Ergebnis von hdparm im Vergleich zum Kartenleser im Laptop:

Laptop:
/dev/mmcblk0:
Timing cached reads: 1624 MB in 2.00 seconds = 811.98 MB/sec
Timing buffered disk reads: 32 MB in 3.09 seconds = 10.35 MB/sec

Raspberry Pi:
/dev/mmcblk0:
Timing cached reads: 312 MB in 2.00 seconds = 155.81 MB/sec
Timing buffered disk reads: 56 MB in 3.07 seconds = 18.25 MB/sec

Linux Mint als LTSP Server für Diskless Workstation

Saturday, February 16th, 2013

Heute habe ich auf einem Linux Mint(Maya) PC einen LTSP Server für “Fat” Clients installiert.
Dabei gab es diese keine Hürde:

/usr/share/ltsp/plugins/ltsp-build-client/common/010-etc-hosts: line 3: /opt/ltsp/i386/etc/hosts: No such file or directory
error: LTSP client installation ended abnormally

und hier die Lösung dafür:
http://www.linuxmint-fr.org/forum/serveurs/108084-probleme-linux-mint-13-qmayaq-avec-ltsp-53.html

weiter ging es nach dieser Anleitung:
http://www.thefanclub.co.za/how-to/configure-update-auto-login-ubuntu-12-04-ltsp-fat-clients

apt-get install  ltsp-server-standalone
cd /etc/ltsp/
vi dhcpd.conf 
cd /etc/network/
vi interfaces 

cp -R /usr/share/ltsp/plugins/ltsp-build-client/Ubuntu /usr/share/ltsp/plugins/ltsp-build-client/LinuxMint
ln -s /usr/share/debootstrap/scripts/gutsy /usr/share/debootstrap/scripts/maya
sed -i 's/DIST=${DIST:-"$(lsb_release -s -c)"}/DIST=${DIST:-"precise"}/' "/usr/share/ltsp/plugins/ltsp-build-client/LinuxMint/000-basic-configuration"
ln -s /usr/share/ltsp/plugins/ltsp-build-client/Debian-functions /usr/share/ltsp/plugins/ltsp-build-client/LinuxMint-functions

ltsp-build-client --arch i386
  
service nbd-server restart
/etc/init.d/isc-dhcp-server start

Ein NFS Server wird nicht mehr benötigt. Das root-FS ist via nbd & squashfs gemounted und das $HOME des Benutzers wird per fuse.sshfs eingebunden.
Beim LDM Anmeldebildschirm unten links: Einstellungen->Sitzungsart wählen->Ubuntu 2D damit man nach dem Login auch die Icons an der linken Seite von Unitiy sieht.

TODO:
* flashplugin: es erscheint in about:plugins, wird aber nicht benutzt ?!
* auto-login
* KDM & NFS statt LDM für mehr Geschwindigkeit
* auch mal mit kubuntu und lubuntu ausprobieren
* nvidia-Trieber