Anleitung: Debian mit Firefox auf Galaxy Tab

S

sven-ola

Ambitioniertes Mitglied
24
Hey,

zugegeben: der Browser auf meinem PC läuft schneller. Aber es geht. Und das ganz ohne Extra-Kernelmodul. Hier sind schon mal ein paar Shots, für die Anleitung mache ich ein zweites Posting.

// Sven-Ola
 

Anhänge

  • snap20110118_090924.png
    snap20110118_090924.png
    36,5 KB · Aufrufe: 692
  • snap20110118_091737.png
    snap20110118_091737.png
    42,2 KB · Aufrufe: 685
Debian-Lenny auf einem Samsung Galaxy Tab
=========================================

Diese Anleitung zeigt, wie man ein Debian-Linux auf einem SGT installiert. Dabei wird eine Festplatten-Datei mit 512-2000 MB angelegt (sog. Loop-Disk). Das Debian kann man dann bei Bedarf aufrufen. Das SGT bleibt dabei im Original-Zustand, d.h. es wird weder der Kernel ausgetauscht noch sind große oder kritische Systemänderungen notwendig. Ein Extra-Kernel-Modul ist auch nicht nötig. Ziel dieser Anleitung: einen typischen Linux-Desktop auf dem SGT aufrufen und mit dem Firefox-Browser eine Web-Seite anzeigen können.

Voraussetzungen:
----------------

* Es ist eine SD-Karte mit 512Mb freien Speicher vorhanden.
* Es ist eine Terminal-App installiert (ConnectBot)
* Es gibt einen Root-Zugriff (su-Befehl in ConnectBot läuft)
* Das SGT ist an einen Linux-PC (Ubuntu) angeschlossen
* Auf dem Linux-PC läuft die Android-Debugging-Bridge ("ADB")
* Auf dem SGT ist Einstellungen:Anwendung:Entwicklung:USB = Ja

Hinweis: die ADB ist schnell installiert, siehe Android SDK | Android Developers

******** BIG ******** FAT ******* WARNING ********
* *
* Wenn dir die Voraussetzungen nichts sagen oder *
* wenn du keine Kommandozeile-Erfahrung hast: *
* lass die Finger von dieser Anleitung. Das hier *
* ist nichts für Klicki-Buntis und du kannst dir *
* dein Galaxy-Tab damit richtig kaputt machen!!! *
* *
******** BIG ******** FAT ******* WARNING ********

Schritt 0: Voraussetzungen prüfen
---------------------------------

Auf dem SGT muss unter Einstellungen: Anwendungen: Entwicklung die Option USB-Debugging eingeschaltet sein. Nun das SGT mit dem USB-Kabel zum PC verbinden. Auf dem PC eine Kommandozeile starten. Den Befehl "sudo adb shell" eingeben. Das "sudo" für den ersten Aufruf von "adb" ist notwendig, damit adb den USB-Server mit Root-Rechten auf dem PC starten kann.

Du hast jetzt eine Kommandozeile auf dem SGT. Das Prompt ist ein Dollar-Zeichen. Rufe den Befehl "su" auf und bestätige die Superuser-Anfrage auf dem SGT mit "Erlauben". Das Prompt ändert sich in ein Hash-Zeichen. Gib den Befehl "cat /proc/version" ein. Es sollte "Linux version 2.6.32.9" angezeigt werden. Andernfalls hast du ein Custom-ROM eingespielt und ich weiß nicht, ob diese Anleitung bzw. die Skript-Dateien laufen werden.

Die adb-shell kann nun mit zwei "exit"-Befehlen verlassen werden.

Schritt 1: Debian-Image herstellen
----------------------------------

Auf dem PC wird zunächst eine Loop-Disk-Datei hergestellt. Diese Datei wird mit dem Dateisystem "ext2" formatiert. Anschließend installieren wir ein Debian-Grundsystem mit dem unter Ubuntu einfach zu installierendem Programm "debootstrap". Zu diesem Zweck enthält dieses Paket ein kleines Skript, das diesen Vorgang automatisiert. Dazu auf dem PC eine Kommandozeile öffnen und in das Verzeichnis wechseln, in du dieses Paket ausgepackt hast.

Für eine Minimal-Installation gib ein:
./mk-debian-image-on-pc-debian-or-ubuntu.sh 512

Für eine Normal-Installation (für Firefox etc. notwendig) gib ein:
./mk-debian-image-on-pc-debian-or-ubuntu.sh 2000

Hinweis: eine Datei mit 2048 MB führt bei mir zu einer Fehlermeldung, wenn ich die Datei auf das SGT kopiere. Da 2Gb sowieso das Dateigrößen-Limit für das FAT auf der SD-Karte ist bleiben wir besser bei "2000".

Das "mk-debian*.sh" Skript zeigt jeden "sudo"-Befehl an und fragt Schritt für Schritt, ob dieser ausgeführt werden darf. Der Download dauert eine Weile, denn es müssen ca. 60 MB heruntergeladen werden. Wenn alles geklappt hat und es keine Fehlermeldung gibt hast du nun eine neue "debian.img"-Datei mit der angegebenen Dateigröße. Außerdem wird der Datei-Inhalt von "debian.img" in einer Sicherungsdatei "debian-tmp.tar.lzma" gespeichert, damit der Download bei einem zweiten Versuch nicht erneut erfolgen muss.

Schritt 2: Image-Datei auf SGT laden
------------------------------------

Auch für diesen Schritt gibt es ein Skript in diesem Paket. Das Skript transferiert die Datei "debian.img" auf die externe SD-Karte (falls noch nicht vorhanden). Wahlweise kann auch die interne SD-Karte verwendet werden. Zusätzlich werden neue Verzeichnisse auf dem SGT angelegt: /data/local/mnt (zum mounten der Loop-Disk) und /data/local/bin (für Programme und Skripts). Am besten prüfst du zunächst, ob auf dem SGT die folgenden Dateien vorhanden sind. Das Skript wird sie nämlich gleich überschreiben:

$ ls -l /data/local/bin
-rwxrwxrwx shell shell 4567 2011-01-16 21:39 bootdeb
-rwxr-xr-x shell shell 976824 2011-01-16 20:50 busybox
-rwxr-xr-x shell shell 68 2011-01-16 20:50 deb
$ ls -l /system/bin/deb
lrwxrwxrwx root root 2011-01-16 16:39 deb -> /data/local/bin/deb

Die Datei "bootdeb" ist das Startskript für Debian. Falls gewünscht, kannst du hier auf die interne SD-Karte umschalten. Ändere dazu die Datei "bootdeb" auf dem PC und lösche das Hash-Zeichen vor der Zeile "IMG=$INTERNAL_STORAGE/debian.img". Die Datei "busybox" stellt ein paar wichtige Systemkommandos zur Verfügung, die auf dem SGT fehlen. Die Datei "deb" ist ein kurzes Shell-Skript zum bequemen Starten. Es wird zudem bei der Installation ein Symlink "/system/bin/deb -> /data/local/bin/deb" angelegt, damit es noch bequemer ist.

Hinweis: /system/bin/deb ist der einzige Zusatz zu den SGT-Systemdateien. Und das Verzeichnis /data/local sollte auf einem Standard-SGT leer sein - bis auf das Verzeichnis "tmp" (kommt vom "Superoneclick"-Rooten) und zwei Pipe-Dateien (tspreq, tsprsp, Ursprung unbekannt).

Um die Installation zu beginnen, rufe auf:

./install-debian-image-via-adb.sh

Wie schon bei dem ersten Skript musst du alle (kritischen) Befehle bestätigen. Das Skript schaut zunächst in die lokale Version des "bootdeb"-Skripts nach dem Installationsverzeichnissen. Prüfe, ob die angezeigten Verzeichnisse in Ordnung sind. Die Anzeige sollte wie folgt aussehen:

---
sven-ola@pc:~/debian-kit-0.3$ ./install-debian-image-via-adb.sh
About to install Debian:

Image file : $EXTERNAL_STORAGE/debian.img -> /mnt/sdcard/external_sd/debian.img
Mount point : $ANDROID_DATA/local/mnt -> /data/local/mnt
Binary files: $ANDROID_DATA/local/bin -> /data/local/bin

SD card is mounted on /mnt/sdcard/external_sd
---

Wenn bereits eine "debian.img"-Datei auf der SD-Karte vorhanden ist wird ein zusätzliches "I will not overwrite..." angezeigt. Falls die Anzeige bei dir abweicht: da stimmt etwas nicht und du solltest mit Ctrl-C abbrechen um z.B. den Fehler im Skript zu korrigieren.

Hinweis: Falls du mal vergessen hast, einen der "su"-Befehle auf dem SGT zu bestätigen wird einer der Schritte nicht ausgeführt ("Permission denied"). In diesem Fall einfach das "install-debian-image-via-adb.sh" nochmal starten.

Schritt 3: Debian in Betrieb nehmen
-----------------------------------

In diesem Schritt wird auf dem SGT das Startskript "bootdeb" ausgeführt. Dieses wird ein paar notwendige Symlinks im System-Root setzen. Das System-Root ist eine RAM-Disk - nach dem nächsten Neustart sind diese Änderungen also nicht mehr vorhanden. Außerdem wird die Loop-Disk-Datei "debian.img" eingehängt. Nun werden alle Dateien und Verzeichnisse unter /system/etc, /lib und /sbin in die Debian-Verzeichnisse /etc, /lib, und /sbin mit Hilfe von Symlinks integriert. Anschließend wird (falls noch nicht erfolgt) die Debian-Installation auf dem SGT vervollständigt.

Starte dazu mit "adb shell" eine Kommandozeile auf dem SGT. Starte den Befehl "deb" und bestätige die Superuser-Abfrage mit "Erlauben". Das dauert jetzt eine Weile - es wird der Fortschritt der Debian-Installation Zeile für Zeile angezeigt. Nach Abschluss dieses Vorgangs wird eine "Bash"-Kommandozeile gestartet. Diese kann z.B. mit "exit" wieder verlassen werden. Der ganze Vorgang sollte etwa so aussehen (gekürzt):

$ deb
I: Installing core packages...
I: Unpacking required packages...
I: Unpacking libacl1...
I: Unpacking libattr1...
I: Unpacking base-files...
[...usw...]
I: Configuring apt-utils...
I: Configuring aptitude...
I: Configuring tasksel-data...
I: Configuring tasksel...
I: Base system installed successfully.
android_9774d56d682e549c:/#

Hinweis: während der Debian-Erstinstallation werden auch ein paar Debian-Systemdienste gestartet. Aus diesem Grund kann man das Debian-System mit "deb u" nicht mehr aushängen. Damit das Ein- bzw. Aushängen mit "deb" bzw. "deb u" funktioniert muss das SGT neu gestartet werden, am besten mit "deb r".

Schritt 4: Debian einrichten
----------------------------

Nach dem SGT-Neustart (siehe Hinweis ein paar Zeilen weiter oben) kann die erste Grundeinrichtung des Debian-Systems erfolgen. Dazu sollte das WLAN-Netzwerk eingeschaltet werden, denn es müssen noch viele Programme heruntergeladen werden. Nach dem Einschalten des WLAN dann erneut das "deb" Skript auf dem SGT starten.

Hinweis: Die Resolver-Konfiguation ist bei Android anders als bei Linux - das "deb" Skript holt daher den aktuellen DNS mit Hilfe von "/system/bin/getprop net.dns1" und schreibt bei jedem Start eine neue /etc/resolv.conf.

Mich hat als erstes der lange Hostname des SGT-Systems gestört (wurde mit "/system/bin/getprop net.hostname" ermittelt und bei der Erstinstallation in /etc/hostname geschrieben). Die folgenden Befehle stellen einen anderen Hostname ein:

echo "sgt" > /etc/hostname
hostname $(cat /etc/hostname)
exit
deb

Alsdann sollte eine Systemaktualisierung ausgeführt werden. Dazu die folgenden Befehle eingeben:

apt-get update
apt-get dist-upgrade
apt-get clean

Ein neuer Standardbenutzer kann auch nicht schaden. Da Android standardmäßig die UID-2000 / GID-2000 dafür verwendet, lege ich eine neue Gruppe und ein neues Benutzer-Account für mich mit diesen IDs an:

addgroup --gid 2000 android
adduser --uid 2000 --gid 2000 sven-ola

Selbst bei einer Minimalinstallation (Loop-Disk hat 512Mb) sollte ein ordentliches SSH-Programm nicht fehlen. Der OpenSSH-Server kann mit "deb s" gestartet und mit "deb S" beendet werden. Dazu dieses Programm installieren:

apt-get install openssh-client openssh-server

Hinweis: die Installation startet den SSH-Server. Mit "ip -4 a" die IP-Adresse des SGT ermitteln und probeweise einloggen. Anschließend den SSH-Server auf dem SGT stoppen und das Debian-System aushängen mit folgenden Befehlen: "deb S" "deb u".

Mein oben angelegtes Benutzerkonto soll den Befehl "sudo bash" ohne Passwort ausführen. Perl mosert wegen der fehlenden "locales". Wenigstens de_DE-Locales generieren mit System-Default-Lang=none. Noch die Timezone einstellen. Ein paar gewohnte Programme installieren. Die überflüssige GPL-Login-Meldung löschen. Schon ist das System benutzbar:

echo "sven-ola ALL=NOPASSWD: /bin/bash" >> /etc/sudoers
apt-get install locales
dpkg-reconfigure locales
dpkg-reconfigure tzdata
apt-get install less joe
rm /etc/motd /etc/motd.tail

Schritt 5: LXDE-via-RDP einrichten
----------------------------------

Die Installation einer GUI braucht freien Speicherplatz - mit 512Mb Loop-Disk geht es, aber es wird eng. Einen richtigen X-Server für Android gibt es jedenfalls auch (noch) nicht. Aber es gibt Apps für den entfernten Zugriff mit dem Protokoll RDP (das ist schneller als VNC). Das richte ich jetzt ein und damit kann ich Firefox (bzw. Iceweasel wie der Browser bei Debian heißt) ausführen:

apt-get install tightvncserver xrdp

Hinweise: der Standard vnc4server is buggy. Die Installation startet außerdem gleich den xrdp bzw. sesman-Dienst. Diese können später mit "deb x" gestartet bzw. mit "deb X" beendet werden.

Jetzt wird es wüst, denn das SGT stürzt im nächsten Installations-Schritt ab. Das muss irgend etwas mit den dabei gestarteten Diensten zu tun haben. Aus diesem Grund muss dieser Schritt unter adb erfolgen (ConnectBot läuft nicht mehr, die Java-GUI ist dann tot). Der folgende Befehl lädt etwa 90 MB herunter und installiert eine GUI:

apt-get install lxde

Nach dem Herunterladen fragen 2 Pakete mit einem Textfenster nach Installationsoptionen. Bestätige beide mit den Vorgaben - also Tab-Taste um [OK] auszuwählen und Leerzeichen-Taste um [OK] zu betätigen. Danach ist das Terminal, in dem adb läuft, etwas durcheinander: es aktualisiert nur noch die letzte Zeile. Es dauert ein bisschen, aber die Installation wird abgeschlossen. Mit "exit" kommt man wieder auf die normale Kommandozeile. Gib ein paar mal den Befehl "sync" ein ("su" geht jetzt nicht mehr da die Java-GUI tot ist). Schalte dann das SGT aus (mit dem Hardware-Knopf, schön lange drücken!). Danach wieder einschalten. Wiedereinsteigen mit "deb". Ein paar Dinge aufräumen:

apt-get remove gdm xserver-xorg;apt-get autoremove;apt-get clean

Jetzt haben wir noch das Problem, dass ein normales Benutzeraccount keinen Netzwerkzugriff hat. Der Android-Kernel ist mit "CONFIG_ANDROID_PARANOID_NETWORK" kompiliert und nur GID=3003 hat Netz. Damit kann auch der Xrdp-Dienst nicht starten, denn er darf kein Netz. Also:

addgroup --gid 3003 aid-inet
adduser sven-ola aid-inet
adduser xrdp aid-inet

Nun kann ausprobiert werden. In der ConnectBot-App, Verbindung "Local" eingeben: "deb x" (startet xrdp). Dann in der RDP-Remote-App (von Walter Yongtao Wang) eine neue Verbindung zu sven-ola@127.0.0.1 ("Legacy RDP" Option einschalten). Um es perfekt zu machen: RDP-App/Settings/Margin=0 und eine Bluetooth-Maus kann auch nicht schaden (ich hab' eine "Speedlink" aus dem Media-Markt).

// Sven-Ola im Januar 2011
 

Anhänge

  • debian-kit-0.4.zip
    534,7 KB · Aufrufe: 183
uij, lieb ...
meinst, i dürft das auf meine seite übernehmen?
oder magst du selber?
 
Ratman schrieb:
uij, lieb ...
meinst, i dürft das auf meine seite übernehmen?
oder magst du selber?

Wenn du meinst - Permission granted. Ich glaub' aber die Funktion sollte erst noch von anderen bestätigt werden. Auf meinem Tab läuft es - aber Fehlerchen gibts halt immer. Einer ist mir schon aufgefallen: in der /etc/apt/sources.list fehlen die Security-Updates und evnt. "Non-Free". Sollte besser so aussehen:

Code:
# Debian Lenny
deb http://ftp.de.debian.org/debian lenny main non-free contrib 
deb-src http://ftp.de.debian.org/debian lenny main non-free contrib  

# Debian Lenny Security
deb http://security.debian.org/ lenny/updates main contrib non-free
 
gut, dann wart i no *g*
hab selber ja kan schimmer von. denke nur, das würde meine seite schmücken
 
Ratman schrieb:
hab selber ja kan schimmer von. denke nur, das würde meine seite schmücken

Seitenschmuck hast du doch schon ganz viel :confused:. Da steht aus gutem Grund "DICKE FETTE WARNUNG" oben drin. Richtig sinnvoll ist so etwas eh' nur für Leute, die eine "richtige" Kommandozeile auf dem Tab vermissen...

// Sven-Ola
 
Wollte schon fragen ob das ganze überhaupt sinnvoll ist ...

Ist das Debian schneller?
Ist das per Touchscreen leicht zu bedienen?
Wie ist die generelle usability im Vergleich zu Android?
 
tjo, i hab a kan dunst vom flashen - drum hab ich mir ja latti ans forum gekettet (bei wasser und brot)

sprich: ich würd durchaus gerne ne art "plattform für verspielte tabbianer" sein ... ich kann ja alles zur verfügung stellen *wink mit dem zaunpfahl*
 
Nukular schrieb:
Ist das Debian schneller?
Ist das per Touchscreen leicht zu bedienen?
Wie ist die generelle usability im Vergleich zu Android?

Nein - die Standard-Apps sind viel besser für so ein Mobiltelefon angepasst. Und schneller sind sie in der Regel auch. Es geht eher um Dinge, die im Market nicht käuflich sind. Einen Kompiler. Ein Versionskontrollsystem. Ein OpenVPN-Server. Und meinetwegen OpenOffice.

Um es nochmal deutlich zu schreiben: das SGT bleibt in seiner Gesamtfunktion erhalten. Das Debian läuft sozusagen "nebenbei" mit.

// Sven-Ola
 
sven-ola schrieb:
Um es nochmal deutlich zu schreiben: das SGT bleibt in seiner Gesamtfunktion erhalten. Das Debian läuft sozusagen "nebenbei" mit.

Das ist gut zu wissen :)
 
Hi,

noch ein kleines Schmankerl zum Thema "was soll'n das". Im Anhang sind 2 Shots mit XMame, dass direkt auf dem SGT läuft. Sogar halbwegs spielbar - kennt jemand einen guten Bluetooth-Joystick?

Leider kann man das nicht einfach installieren - das Debian-Repo hat keine Version von Xmame für Armel-mit-LSB. Also hab' ich es (auf dem SGT) selber kompiliert. Angenehm überrascht war ich von der Komplierzeit. XMame ist ein ziemliches Monster, auf meinen nicht-zu-alten PC dauert das 35 Minuten. Auf dem SGT waren es 3 Stunden. Hier die Anleitung (wirklich nix mehr für Klick-und-Zack Weicheier).

Code:
adduser sven-ola src # Damit ich in /usr/src schreiben darf

apt-get install build-essential fakeroot ccache dpkg-dev libaa1-dev libartsc0-dev libasound2-dev libaudio-dev libaudiofile-dev libc6-dev libcaca-dev libcucul-dev libdirectfb-dev libesd0-dev libexpat1-dev libfreetype6-dev libgl1-mesa-dev libglib2.0-dev libglu1-mesa-dev libice-dev libjpeg62-dev liblircclient-dev libmpeg3-dev libncurses5-dev libpng12-dev libpthread-stubs0-dev libsdl1.2-dev libslang2-dev libsm-dev libstdc++6-4.3-dev libsysfs-dev libx11-dev libxau-dev libxcb-xlib0-dev libxcb1-dev libxdmcp-dev libxext-dev libxt-dev libxv-dev libxxf86dga-dev libxxf86vm-dev linux-libc-dev mesa-common-dev x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-video-dev x11proto-xext-dev x11proto-xf86dga-dev x11proto-xf86vidmode-dev xtrans-dev zlib1g-dev

su sven-ola
mkdir /usr/src/xmame
cd /usr/src/xmame
wget http://ftp.de.debian.org/debian/pool/non-free/x/xmame/xmame_0.106-2.1.dsc
wget http://ftp.de.debian.org/debian/pool/non-free/x/xmame/xmame_0.106.orig.tar.gz
wget http://ftp.de.debian.org/debian/pool/non-free/x/xmame/xmame_0.106-2.1.diff.gz
tar xvzf xmame_0.106.orig.tar.gz
mv xmame-0.106.orig xmame-0.106
zcat xmame_0.106-2.1.diff.gz | patch -p1 -d xmame-0.106
chmod +x xmame-0.106/debian/rules
cat>my.patch<<EOF
--- xmame-0.106/src/unix/unix.mak~      2011-01-18 17:34:58.000000000 +0100
+++ xmame-0.106/src/unix/unix.mak       2011-01-18 17:34:58.000000000 +0100
@@ -14,6 +14,8 @@
 CFLAGS.em64t      = -DLSB_FIRST -DALIGN_INTS -DALIGN_SHORTS -D__LP64__
 CFLAGS.alpha      = -DLSB_FIRST -DALIGN_INTS -DALIGN_SHORTS -D__LP64__
 CFLAGS.m68k       = 
+CFLAGS.arm        = -DALIGN_INTS -DALIGN_SHORTS -DLSB_FIRST
+CFLAGS.armel      = -DALIGN_INTS -DALIGN_SHORTS -DLSB_FIRST
 CFLAGS.risc       = -DALIGN_INTS -DALIGN_SHORTS 
 CFLAGS.risc_lsb   = -DALIGN_INTS -DALIGN_SHORTS -DLSB_FIRST
 CFLAGS.mips       = -DALIGN_INTS -DALIGN_SHORTS -DSGI_FIX_MWA_NOP
EOF
patch -p1 -d xmame-0.106 < my.patch
# Das repariert das Paket für die armel-Architektur
cd xmame-0.106
dpkg-buildpackage -uc -us
# Läuft erstaunlich schnell auf dem SGT, ca. 200 Minuten

exit # bin wieder root
dpkg -i /usr/src/xmame/xmame-x_0.106-2.1_armel.deb
# Mosert ein bisschen
apt-get install xmame-common
Fertig. Jetzt noch ein paar ROMS in /usr/share/games/xmame/roms/ plazieren (paar ganz schöne gibts z.B. hier Arcade video game roms download page for the MAME emulator ). Wir nehmen PacMan (das ist der Default). RDP-Remote starten, Terminal aufmachen, "/usr/games/xmame -ef 5" und siehe da...

// Sven-Ola
 

Anhänge

  • galaxian.png
    galaxian.png
    17,3 KB · Aufrufe: 396
  • asteroid.png
    asteroid.png
    13,9 KB · Aufrufe: 349
Sehr gute Idee. Das klappt auch soweit gut bis zum Start von deb. Da bekomme ich die lapidare Meldung "$ deb
/data/local/bin/bootdeb: exec: line 178: /bin/bash: not found"

allerdings sehe ich auch kein:

I: Installing core packages...
I: Unpacking required packages...
I: Unpacking libacl1...
I: Unpacking libattr1...

und so weiter. Ich habe mir die Scripts angesehen, bin aber nicht dahinter gekommen, wo was schief läuft.

Irgend eine Idee?

Thanks

Thomas
 
Hi

Ich habs mittlerweile weiterentwickelt -aber noch nicht irgendwo veroeffentlicht. Guck mal hier http://sven-ola.dyndns.org/repo/ (readme lesen, das ist in dem *.shar mit drin)

Sven-Ola
 
Ah, version 0.9 hat sich bestimmt einiges getan unterdessen. Soch leider leider sehe ich bei unshar nur "This shell does not echo the 0x00 character."

Was immer das bedeuten mag. Shar hatte ich bisher nicht verwendet. Wäre es möglich, die Dateien in ein tar oder sowas zu stecken und online zu stellen?

Vielen Dank

Thomas
 

Ähnliche Themen

T
  • TravelTottiToday
Antworten
1
Aufrufe
954
hagex
hagex
N
  • nexxxus
Antworten
5
Aufrufe
1.765
nexxxus
N
H
Antworten
1
Aufrufe
4.579
hagex
hagex
Zurück
Oben Unten