Freitag, 11. März 2011

Samba Multi-Domain Authentifizierung mit Windows-ADS und RHEL 5.4

Die Herausforderung in diesem HowTo ist die Anbindung eines Linux-Servers an eine bestehende MS ADS-Domaene.

Der Knackpunkt hierbei ist dass eine Anmeldung am Linux-Server fuer zwei Domaenen funktionieren muss. Es handelt sich um die Domaene "Bremen.local" und "Hamburg.local". Die Authentifizierung soll außerdem fuer Samba via dem Hoellenhund "Kerberos" moeglich sein und auch eine SSH-Verbindung muss mit Domain-Authentifizierung funktionieren.

Nun nicht lange schnaggen, Kopp in' Nacken! ;=)


1. System- und Paketinformationen
Linux: Red Hat Enterprise Linux 5.4
IP = 10.14.8.138
Name = client01

Kerberos: rpm -qa | grep "krb"
krb5-auth-dialog-0.7-1
krb5-workstation-1.6.1-36.el5
pam_krb5-2.2.14-10
krb5-devel-1.6.1-36.el5
krb5-libs-1.6.1-36.el5
pam_krb5-2.2.14-10
krb5-libs-1.6.1-36.el5_5.6

Samba: rpm -qa | grep "samba"
samba3-client-3.5.8-43.el5
samba3-utils-3.5.8-43.el5
samba3-cifsmount-3.5.8-43.el5
samba3-3.5.8-43.el5
samba3-winbind-3.5.8-43.el5
samba3-debuginfo-3.5.8-43.el5

Active Directory:
Windows 2008 Domaene = Hamburg.local
Windows 2000 Domaene = Bremen.local


2. Installation - Pakete / Dienste
Zunaechst muessen wir uns die aktuellen Pakete von Sernet herunterladen:
http://ftp.sernet.de/pub/samba/3.5/rhel/5/x86_64
Wir benoetigen ALLE Pakete die dort aufgelistet sind.

Dann deinstallieren wir alle vorhandenen Pakete (Samba v. 3.4.9):
rpm -e --allmatches --nodeps samba3-cifsmount-3.4.9-42.el5
rpm -e --allmatches --nodeps samba3-utils-3.4.9-42.el5
rpm -e --allmatches --nodeps samba3-winbind-3.4.9-42.el5
rpm -e --allmatches --nodeps samba3-3.4.9-42.el5
rpm -e --allmatches --nodeps libsmbclient0-3.4.9-42.el5

Nun installieren wir alle neuen Samba-Pakete (Samba v. 3.5.8):
rpm -Fvh ldb-tools-3.5.8-43.el5.x86_64.rpm
rpm -Fvh libwbclient0-3.5.8-43.el5.x86_64.rpm
rpm -Fvh libwbclient-devel-3.5.8-43.el5.x86_64.rpm
rpm -Fvh libsmbclient0-3.5.8-43.el5.x86_64.rpm
rpm -Fvh libsmbclient-devel-3.5.8-43.el5.x86_64.rpm
rpm -Uvh samba3-3.5.8-43.el5.x86_64.rpm
rpm -Uvh samba3-client-3.5.8-43.el5.x86_64.rpm
rpm -Uvh samba3-3.5.8-43.el5.x86_64.rpm
rpm -Uvh samba3-cifsmount-3.5.8-43.el5.x86_64.rpm
rpm -Uvh samba3-debuginfo-3.5.8-43.el5.x86_64.rpm
rpm -Uvh samba3-doc-3.5.8-43.el5.x86_64.rpm
rpm -Uvh samba3-utils-3.5.8-43.el5.x86_64.rpm
rpm -Uvh samba3-winbind-3.5.8-43.el5.x86_64.rpm

Bei der Installation des Paketes "samba3-doc-3.5.8-43.el5.x86_64.rpm"
werden einige Perl-Fehler geworfen, da Abhaengigkeiten zu aktuelleren Paketen
"nicht" hergestellt werden koennen. -> Dies kann ignoriert werden!


3. Konfiguation - Kerberos
Um die Aufloesung der einzelnen Hosts im Netzwerk gewaehrleisten zu koennen,
sollte zwingend ein DNS-Server konfiguriert sein. Ist dies nicht der Fall, so
muessen alle DC's und der Linux-Server entsprechend in der /etc/hosts hinterlegt
werden.

Inhalt der /etc/hosts:
10.14.8.138 client01.hamburg.local client01
10.14.8.1 dchh01.hamburg.local dchh01
10.14.3.4 bremen-rootdc1.bremen.local bremen-rootdc1

- client01.hamburg.local ist hierbei unser Linux-Server
- dchh01.hamburg.local ist der Domaincontroller der Domaene "hamburg.local"
- bremen-rootdc1.bremen.local ist der Domaincontroller der Domaene "bremen.local"

Via dem PING-Tool koennen wir nun die Aufloesung von "Name" in "IP" ueberpruefen.

Um Kerberos nutzen zu koennen muessen wir die Konfigurationsdatei des Dienstes unterhalb von /etc/ anpassen:

Inhalt der /etc/krb5.conf:
[logging]
default = FILE:/var/log/kerberos/krb5libs.log
kdc = FILE:/var/log/kerberos/krb5kdc.log
admin_server = FILE:/var/log/kerberos/kadmind.log

[libdefaults]
default_realm = HAMBURG.LOCAL
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 600
forwardable = true
proxiable = true
default_keytab_name = FILE:/etc/krb5.keytab

[realms]
HAMBURG.LOCAL = {
kdc = dchh01.hamburg.local
master_kdc = dchh01.hamburg.local
admin_server = dchh01.hamburg.local
#default_domain = HAMBURG.LOCAL
}
BREMEN.LOCAL = {
kdc = bremen-rootdc1.bremen.local
}

[domain_realm]
.hamburg.local = HAMBURG.LOCAL
hamburg.local = HAMBURG.LOCAL
.bremen.local = BREMEN.LOCAL
bremen.local = BREMEN.LOCAL

[login]
krb4_convert = true
krb4_get_tickets = true

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = true
}


4. TEST - Kerberos-Authentifizierung
kinit administrator@HAMBURG.LOCAL
Password for administrator@HAMBURG.LOCAL: !wbc01 {ENTER}
-> "Administrator-Password" wird abgefragt, an dieser Stelle bitte das Passwort
eingeben und mit ENTER bestaetigen -> hier duerfen keine Fehler auftreten!

Ueberpruefen ob wir ein gueltiges Kerberos TGT Ticket erhalten haben:
klist
-> der Inhalt sollte so aussehen:
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@HAMBURG.LOCAL
Valid starting Expires Service principal
01/20/11 17:36:17 01/21/11 03:39:06 krbtgt/HAMBURG.LOCAL@HAMBURG.LOCAL
renew until 01/21/11 17:36:17
Kerberos 4 ticket cache: /tmp/tkt0
klist: You have no tickets cached


5. Konfiguration - Samba / Winbind
Nachdem der Kerberos-Dienst konfiguriert und erfolgreich getestet wurde,
muessen wir unseren Samba-Dienst entsprechend konfigurieren. Samba wird hierbei mit Hilfe von Winbind die Daten aus dem ADS von Microsoft beziehen (SID/RID, Gruppennamen, Benutzernamen) und diese dann auf die bekannten Linux UID's / GID's mappen.

Inhalt der /etc/samba/smb.conf:
# GLOBAL PARAMETERS
[global]
#netbios name = HAMBURG1
workgroup = HAMBURG
realm = HAMBURG.LOCAL
password server = *
preferred master = no
server string = Linux Test Server
security = ads
encrypt passwords = yes
local master = no
log level = 1
log file = /var/log/samba/%m
max log size = 50
#printcap name = cups
#printcap = cups
winbind enum users = Yes
winbind enum groups = Yes
winbind use default domain = Yes
winbind nested groups = Yes
winbind separator = \\
winbind refresh tickets = yes
winbind offline logon = true
winbind trusted domains only = no
map untrusted to domain = Yes
allow trusted domains = yes
obey pam restrictions = no
idmap backend = tdb
idmap uid = 10000-600000
idmap gid = 10000-600000
passdb backend = tdbsam
;template primary group = "domain users"
template shell = /bin/bash
winbind nss info = rfc2307
client use spnego = yes
client ntlmv2 auth = yes
restrict anonymous = 2

[homes]
comment = Heimatverzeichnisse
valid users = %S
path = /home/HAMBURG/
read only = no
browseable = no
create mask = 0700
directory mask = 0700

[testsh01]
comment = Rechtevergabe testen
valid users = root,@"domain users",@"BREMEN\domänen-benutzer"
path = /srv/smb/testsh
readonly = no
read list = @"domain admins",@"domain users"
write list = @"domain admins",@"domain users"
browseable = yes
force create mode = 0770
force directory mode = 0770
level2 oplocks = No
wide links = No
follow symlinks = No

Nachdem wir die Samba-Konfiguration ueberarbeitet haben, koennen wir mit "testparm" unsere smb.conf ueberpruefen.

Als naechstes legen wir die benoetigen Verzeichnisse an:
mkdir -p /home/HAMBURG
mkdir -p /home/DFD
mkdir -p /srv/smb/testsh

Da es unter 64-Bit Systemen (allgemein im Linux-Umfeld) immer mal wieder Probleme mit den Libaries / Bibliotheken gibt, kopieren wir diese noch an die richtigen Stellen im Dateisystem:
ln -s /lib/libnss_winbind.so.2 /lib/libnss_winbind.so
cp /lib/libnss_winbind.so* /usr/lib/
cp /lib/libnss_winbind.so* /usr/lib/security/
cp /lib/libnss_winbind.so* /lib64/
cp /lib/libnss_winbind.so* /usr/lib64/
cp /lib/libnss_winbind.so* /usr/lib64/security/
cp /lib/libnss_winbind.so* /usr/lib/nss/
cp /lib/libnss_winbind.so* /usr/lib64/nss/

Danach tragen wir den Samba-Dienst und Winbind-Dienst noch via "chkconfig" im Systemstart ein:
chkconfig smb on && chkconfig winbind on
Jetzt starten wir samba und winbind:
service smb start && service winbind start

Beide Dienste sollten nun gestartet sein, ein "ps ax | grep smb" bzw. "ps ax | grep winbind" sollte die jeweiligen Prozesse anzeigen.


6. Domain-Join (ADS)
Nachdem Samba, Winbind und Kerberos konfiguriert wurden, muessen wir unsere Linux-Maschine zum ADS hinzufuegen (sog. Domain-Join).

net ads join -U Administrator
-> "Administrator-Password" wird abgefragt, an dieser Stelle bitte das Passwort
eingeben und mit ENTER bestaetigen -> hier duerfen keine Fehler auftreten!

Auch hier duerfen "KEINE" Fehler auftreten. Nachdem der Join durchgefuehrt wurde muss eine Kerberos-Keytab Datei angelegt werden. Samba automatisiert diesen Prozess mit folgendem Befehl:
net ads keytab create
-> an dieser Stelle bitte das Passwort eingeben und mit ENTER bestaetigen
-> hier duerfen keine Fehler auftreten!

Info:
-> um einem ADS-Beitritt zu negieren, folgenden Befehl absetzen
-> net ads leave -U administrator


7. TEST - Winbind
Nun muessen wir Sicherstellen, dass winbind die Benutzerdaten und Gruppendaten aus dem ADS beziehen kann:
wbinfo -u
-> "wbinfo -u" listet die Benutzer aus dem AD auf
wbinfo -g
-> "wbinfo -g" listet die Gruppen aus dem AD auf
wbinfo -t
-> ueberprueft den "secret trust" fuer die Domaene "Hamburg.local"
wbinfo -m
-> listet alle bekannten "Interdomain-Vertrauensstellungen" zw. den Domains / Forests auf


8. Name Service Switch (NSS) konfigurieren
folgende Zeilen in der /etc/nsswitch.conf aendern:
ALT =>
passwd: db files nisplus nis
shadow: db files nisplus nis
group: db files nisplus nis

NEU =>
passwd: files winbind
shadow: files winbind
group: files winbind


9. Plugable Authentication Modules (PAM) konfigurieren
Achtung: Aenderungen an den PAM-Einstellungen koennen das System beschaedigen...
Bitte vorher ein Backup der /etc/pam.d/system-auth erstellen!
Wir "inkluden" nun die Module pam_winbind, pam_mkhomedir und pam_krb5:
vi(m) /etc/pam.d/system-auth
-> der Inhalt sollte so aussehen:
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth sufficient pam_unix.so likeauth nullok
auth sufficient pam_krb5.so use_first_pass
auth sufficient pam_smb_auth.so use_first_pass nolocal
auth sufficient pam_winbind.so use_first_pass
auth required pam_deny.so

account required pam_unix.so broken_shadow
account sufficient pam_succeed_if.so uid < 500 quiet account sufficient pam_krb5.so account sufficient pam_winbind.so account required pam_permit.so

password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password sufficient pam_krb5.so use_authtok
password sufficient pam_winbind.so use_authtok
password required pam_deny.so

session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_krb5.so
session required pam_mkhomedir.so skel=/etc/skel umask=0077


10. SSH-Dienst "kerberisieren"
folgende Zeilen zur /etc/ssh/sshd_config hinzufuegen:
KerberosAuthentication yes
KerberosOrLocalPasswd yes
KerberosTicketCleanup yes

SSH-Dienst neustarten:
service sshd restart


11. TEST - Authentifizierung (am prompt / an der Kommandozeile)
via STRG+ALT+F2 wechseln wir auf das zweite Konsolenfenster.

client01 login: schlegels
Password: hamburg01
-> Ausgabe:
Warning: Your password will expire in 2 days.
Creating directory '/home/EOS/schlegels'.
Creating directory '/home/EOS/schlegels/.mozilla'.
Creating directory '/home/EOS/schlegels/.mozilla/plugins'.
Creating directory '/home/EOS/schlegels/.mozilla/extensions'.
Last login: Thu Mar 10 18:22:12 2011 from 10.14.3.240

Nach dem Login via SSH solltet ihr außerdem ein Kerberos-Ticket erhalten haben, dies kann via "klist" ueberprueft werden:
Ticket cache: FILE:/tmp/krb5cc_10269_Vr7ojc
Default principal: schlegels@HAMBURG.LOCAL

Valid starting Expires Service principal
03/11/11 14:00:28 03/12/11 00:00:28 krbtgt/HAMBURG.LOCAL@HAMBURG.LOCAL
renew until 03/12/11 00:00:28


Kerberos 4 ticket cache: /tmp/tkt10269
klist: You have no tickets cached

Soweit zur Authentifizierung an der HAMBURG.LOCAL - Domaene.
Der Parameter "winbind use default domain" sorgt dafuer das wir kein "HAMBURG" vor dem Benutzernamen eingeben muessen. Sonst wuerde die Anmeldung wie die eines Benutzers aus der "BREMEN"-Domaene aussehen.

Authentifizierung an der BREMEN-Domaene testen:
via STRG+ALT+F3 wechseln wir auf das dritte Konsolenfenster.

client01 login: dfd\schlegels
Password: Bremen01
-> Ausgabe:
Your password will expire in 13 days.

Creating directory '/home/DFD/schlegels'.
Creating directory '/home/DFD/schlegels/.mozilla'.
Creating directory '/home/DFD/schlegels/.mozilla/plugins'.
Creating directory '/home/DFD/schlegels/.mozilla/extensions'.
Last login: Fri Mar 11 12:45:03 2011 from 10.14.3.240

Nach dem Login via SSH solltet ihr außerdem ein Kerberos-Ticket erhalten haben, dies kann via "klist" ueberprueft werden:
Ticket cache: FILE:/tmp/krb5cc_11696
Default principal: schlegels@BREMEN.LOCAL

Valid starting Expires Service principal
03/11/11 14:07:18 03/11/11 14:17:18 krbtgt/BREMEN.LOCAL@BREMEN.LOCAL
renew until 03/18/11 14:07:18
03/11/11 14:07:19 03/11/11 14:17:18 krbtgt/HAMBURG.LOCAL@BREMEN.LOCAL
renew until 03/18/11 14:07:18
03/11/11 14:07:19 03/11/11 14:17:18 CLIENT01$@HAMBURG.LOCAL
renew until 03/18/11 14:07:18
03/11/11 14:07:19 03/11/11 14:17:18 CLIENT01$@HAMBURG.LOCAL
renew until 03/18/11 14:07:18


Kerberos 4 ticket cache: /tmp/tkt11696
klist: You have no tickets cached

Wenn die Authentifizierung am Systemprompt funktioniert hat, kann die Verbindung via SSH getestet werden.

Als letzten Schmankerl testen wir nach der Anmeldung noch die Verbindung auf eine Samba-Freigabe (testsh01) -> siehe smb.conf.

HAMBURG-User: schlegels
smbclient //client01/testsh01 -k
-> Ausgabe:
[schlegels@client01 ~]$ smbclient //client01/testsh01 -k
Domain=[HAMBURG] OS=[Unix] Server=[Samba 3.5.8]
smb: \>

-> TOP! Die Watte quillt! ;=)

BREMEN-User: BREMEN\schlegels
smbclient //client01/testsh01 -k
-> Ausgabe:
[BREMEN\schlegels@client01 ~]$ smbclient //client01/testsh01 -k
Domain=[HAMBURG] OS=[Unix] Server=[Samba 3.5.8]
smb: \>


Soooo.... Das wars auch schon. Wenn alles soweit geklappt hat, dann seid ihr im Besitz einen kerberisierten Samba- und SSH-Diensts welcher oben drein am Microsoft Active Directory angebunden ist. Somit wird die komplette System- und Samba-Authentifizerung mit Hilfe des ADS vorgenommen.

Sollten Fragen / Schwierigkeiten / Probleme bei der Konfiguration auftreten oder allgemein Kritik bestehen, dann bitte einfach eine Nachricht an mich schicken oder
einen Kommentar hinterlassen! ;-)

Schoene Grueße aus CuBa!
~Steven

Montag, 10. Januar 2011

Jablocom - GSM Security Camera EYE-02

Das letzte WE habe ich mit der Konfiguration und Verkabelung einer Security Camera der Firma Jablocom verbracht. Die Cam funktioniert via GSM und ist somit in der Lage SMS-, Email- und MMS-Benachrichtigungen zu verschicken. Ausserdem kann mit Hilfe einer integrierten SIM-Karte auch eine Anrufwarnung ausgeloest werden.

Web:
Jablocom - Eye-02 Security-Camera

Die Softwareinstallation und der Anschluss der Cam via USB ist kinderleicht. Windows XP und Windows 7 erkennen das Geraet nach der Programminstallation (JabloTool) ohne Probleme. Das JabloTool dient zur "lokalen" Konfiguration der Cam und ist sehr einfach zu bedienen. Noch einfacher ist die Konfiguration via Jablo-Web, somit kann eine oder auch mehrere Cam's via Internet von ueberall aus konfiguriert werden. Ueber das Web werden ebenfalls das jeweils aktuelle Bild der Cam uebertragen und auch die Web-Software steht dem JabloTool (Desktop-Anwendung) in nichts nach.

Die Einrichtung des Jablo-Web Zugangs ist allerdings ein wenig tricky :D
Man muss darauf achten das die Cam "GSM" zur Verfuegung hat und auch ueber die Jablocom-Website zu erreichen ist. Im Erdgeschoss eines Hamburger-Wohnblocks war es mir nicht moeglich eine Webverbindung herzustellen, in meiner Wohnung (3. OG) klappte die Verbindung ohne Probleme (nach ca. 2-3 Minuten stand die Verbindung zur Cam).

Testen konnte ich bisher nur die Benachrichtigung via Email und SMS. Beide Varianten funktionieren bei mir tadellos und vor allem "parallel". Allerdings ist der SMS-Versand um ca. 30-60 Sekunden schneller als der Email-Versand. Man muss allerdings gestehen, dass via Email auch aktuelle Bildaufnahmen bzw. Videoaufnahmen verschickt werden.

Die Cam hat einen relativ guenstigen Preis (ca. 500 €), die Einrichtung dauert keine 30 min. und das System arbeitet zuverlaessig. Ob sich die Cam auch als Ueberwachungsinstrument fuer Shop's, Cafe's, Tankstellen und Aehnliches eignet bleibt allerdings noch abzuwarten.
Zukunft hat diese Technik bzw. dieses Produkt auf jeden Fall.

Noch zu testen: MMS-Versand
Ich werde in den naechsten Tagen noch den MMS-Versand testen und versuchen diesen ebenfalls als Benachrichtigungsmethode einzusetzen. Der Versand an zwei Emailadressen funktioniert ebenfalls tadellos. Ausserdem sollte noch die Konfiguration der Benachrichtigungsstufen feiner abgestimmt werden.

Zum Abschluss noch ein Hinweis:
Die GSM-Verbindungen und die verschiedenen Benachrichtigungsmethoden koennen erhebliche Kosten verursachen. Eine Mobilfunkkarte mit UMTS-Flat ist daher zwingend pflicht, um einer Kostenexplosion vorzubeugen.


In den naechsten Tagen werde ich noch einige Bilder bzw. Videos in Youtube hochladen. Hier koennt ihr dann einen Blick auf die Software und auch auf die Cam werfen. Ich schaetze zum Ende der Woche (quasi Sonntag) gibt es die ersten "HowTo"-Videos zu sehen.

Bis dahin!!!
Moegen die bITs mit euch sein ;D

Neue Herausforderung

Nach langer Abstinenz im Bezug auf IT, habe ich nun endlich eine neue Herausforderung gefunden. Als Mitarbeiter im Bereich der Netzwerkadministration betreue ich die gesamte Infrastruktur des Unternehmens angestellt.

Fuer mich ist dieser Bereich etwas ganz besonderes. Die letzten 3 Jahre habe ich primaer mit der Administration und Integration von Systemen verbracht. Nun kann ich mich endlich im Bereich Netzwerk weiterbilden und habe unter anderem mit MPLS/VPLS/MSTP/VRRP und Layer-3 Switching zu tun.

Bis dahin!
Der IT-Spinner xD

Mittwoch, 26. Mai 2010

HowTo: Android 2.1 auf G1 mit CyanoMod v5.0.7+DangerSPL

Jaahhhaaaa :D
Cyanogen hat endlich Android 2.1 fuer das G1 rausgebracht.

Ich habe mein G1 bereits erfolgreich mit Android 2.1 und dem Cyanogen Rom v5.0.7 geflasht.
Es folgt nun eine kleine Anleitung ueber die einzelnen Schritte ab Android 1.0.

Voraussetzungen fuer Cyanogen Mod v5.x.x:
- G1 Handy
- Android Version 1.0 / Version 1.6
- Haykuro's SPL / Danger SPL
- Android SDK

Los gehts.... ^^


Schritt 1 - Downgrade auf RC7(EUROPE)
nur fuer Android die NICHT mit Version 1.0 laufen

Es gibt ein Sicherheitsloch in der RC7-Europe Version (RC29 US). Mit diesem koennen wir in einem unsichtbaren Root-Terminal ALLES mit Rootrechten ausfuehren. Da dieser Bug bereits ausgemerzt, also gefixt wurde muessen wir, sofern kein Android 1.0 auf dem G1 installiert ist, einen Downgrade auf die Version RC7-Europe durchfuehren.

ACHTUNG:
Ihr solltet vorher unbedingt ein Backup eurer Daten machen (Kontakte, SD-Karte, usw.).
Die folgenden Prozesse werden das Handy in den Auslieferungsstand zuruecksetzen -> "Base" Settings.

DOWNGRADE:
1. saemtliche Daten von der SD-Karte auf euren PC kopieren (Backup)
2. SD-Karte auf FAT32 (unter Windows) formatieren -> Rechtsklick auf die SD-Karte und "Formatieren" waehlen
3. das RC7-EUROPE Image herunterladen -> http://android-dls.com/files/upload/uk/DREAIMG.NBH
4. Umbennen der Datei DREAIMG.NBH in DREAMIMG.nbh <-- das ist sehr wichtig!
5. die Datei "DREAMIMG.nbh" auf die soeben formatierte SD-Karte schieben
6. G1 ausschalten
7. das G1 per Druck auf (gleichzeitig) "Auflegen+Kamera" starten (die Knoepfe am Handy sind damit gemeint) -> nun sollte ein regenbogenfarbiger Bootloader zu sehen sein, danach wird nach einem Update gefragt
8. den Updatevorgang per Druck auf "Auflegen" bestaetigen
9. wenn das Update erfolgreich vollzogen wurde, einmal auf den Trackball druecken
10. per Druck auf (gleichzeitig) "Anrufen+Menue+Auflegen" das G1 neustarten

Jetzt solltet ihr nach eurem Carrier-Screen einen Bootvorgang von Android (in gruen) sehen.
Nachdem das G1 hochgefahren ist, meldet ihr euch an eurem Google-Account an. Danach ueberprueft ihr in den "Einstellungen" ob euer G1 nun auf der Firmware-Version 1.0 lauscht.
-> Sollte dies nicht der Fall sein, dann nochmal den o.g. Vorgang wiederholen


Schritt 2 - das G1 "rooten":
Damit wir spaeter Android 2.1 installieren koennen, muss das Telefon gerootet sein. Einfach gesagt schalten wir das Telefon vollstaendig frei.

Rooten:
1. auf den Home-Screen wechseln (per Druck auf das "Heim/Haus-Symbol")
2. Tastatur aufschieben und zweimal die Enter (Return-Taste) druecken
3. dann einfach "telnetd" eingeben und danach mit Enter / Return bestaetigen
4. es oeffnen sich die Kontakte, das ist aber voellig uninteressant
5. nun den "Market" oeffnen und nach "Telnet" suchen -> installiert das kostenlose Telnet-App von ClockworkMod

Soweit so gut ;)

Jetzt haben wir eine Telnet-Verbindung (per t"elnetd" auf unserem G1... mit Hilfe dieser Verbindung tauschen wir nun das standardmaessige Recovery Image mit einem Custom Recovery Image aus.
-> Custom Recovery Images: z.B. Cyanogen Recovery Image, Amon RA Recovery Image


Schritt 3 - Custom Recovery Image flashen:
1. das Custom Recovery Image von Cyanogen herunterladen -> http://cyanogenmod.com/download/recovery/cm-recovery-1.4.img
2. das G1 mit dem PC verbinden (USB)
3. das heruntergeladene Recovery Image (cm-recovery-1.4.img) auf eure SD-Karte kopieren
4. USB-Verbindung trennen und das Telnet-App oeffnen
5. tragt dann im ersten (langen) Feld "localhost" und im zweiten (sehr kurzen) Feld "23" ein
6. per Druck auf "Connect to Server" verbinden wir uns lokal auf unser G1
7. nun tippt ihr folgende Befehle OHNE Anfuehrungszeichen ueber eure G1-Tastatur ein:
"cd /sdcard"
"flash_image recovery cm-recovery-1.4.img"
8. wenn alles erfolgreich geklappt hat, seht ihr nun zwei Doppelkreuz-Symbole "# #"
9. per Druck auf das Heim/Haus-Symbol beenden wir das telnet-App und wechseln zurueck auf den Homescreen

Soo... nun haben wir ein Recovery Image von Cyanogen, inklusive NAND -> Backupprogramm".
Im Firmware-Guide von Cyanogen wird schon an dieser Stelle der Danger SPL installiert, zumindest wenn man das Cyanogen Rom v5.0.7 installieren moechte.

Wir installieren JETZT erstmal das Android 1.6 Image.... immer schoen Schritt fuer Schritt.


Schritt 4 - Android 1.6 auf dem G1 installieren / flashen
Der Cyanogen Mod birgt noch eine kleine Aenderungen in sich... Google hat sich beschwert, dass die Apps von Google (Mail, Market usw.) im Mod von Cyanogen enthalten sind. Die Konsequenz daraus ist / war dass Cyanogen die Google-Apps exkludiert hat. Wir muessen nun also sowohl den Cyanogen Mod als auch die Google Apps installieren.

benoetige Dateien "organisieren" :)
1. herunterladen des Basis-Image von Android 1.6 -> http://dx.infernix.net/DRC83_base_defanged.zip
2. herunterladen des Cyanogen ROMs -> http://download.cyanogenmod.com/update-cm-4.2.15.1-signed.zip
3. beide ZIP-Dateien kopiert ihr nun auf eure SD-Karte (nicht entpacken)
4. herunterladen des Radio Image fuer UMTS, GPS, WiFi, etc -> http://sapphire-port-dream.googlecode.com/files/ota-radio-2_22_19_26I.zip
5. auch diese Datei kopiert ihr auf eure SD-Karte (nicht entpacken)

Ans Eingemachte.... Android 1.6 flashen!

Zuerst installieren wir das Basis-OS, danach die Google Apps und dann das Cyanogen Rom 4.2.15.1

Die nachfolgenden Schritte muessen zwingend eingehalten werden, bitte GENAU lesen!!!

1. das G1 nun ausschalten
2. gleichzeitig die Tasten "Heim/Haus+Auflegen" gedrueckt HALTEN -> damit booten wir in den Recovery Mode
3. im Recovery Menue drueckt ihr nun "ALT+W" auf der Tastatur ODER ihr nutzt den Trackball und navigiert zu "Wipe data / factory reset"-> hiermit wird ein Factory Reset durchgefuehrt, d.h. alle Daten werden geloescht! Dieser Schritt MUSS gemacht werden, da sonst das Cyanogen Rom nicht richtig auf G1 geflasht werden kann!
4. zur Bestaetigung des Factory Reset muesst ihr die Heim/Haus-Taste einmal druecken
5. nach dem Loeschvorgang drueckt ihr "ALT+A" auf der Tastatur oder ihr navigiert mit dem Trackball zu "Apply any zip from sd"
6. waehlt nun die Datei "DRC83_base_defanged.zip" aus bestaetigt die Auswahl mit dem Trackball
7. bestaetigt den Vorgang mit per Druck auf die Heim/Haus-Taste
-> Wenn die Nachricht "Install from sdcard complete" erscheint, dann ist die Installation erfolgreich
8. STOP nicht das G1 neustarten
9. nochmal "ALT+A" bzw. "apply any zip from sd" auswaehlen
10. das Image "update-cm-4.2.15.1-signed.zip" auswaehlen und die Auswahl per Druck auf den Trackball bestaetigen
11. per Druck auf die Heim/Haus-Taste den Flash-Vorgang bestaetigen
-> Wenn die Nachricht "Install from sdcard complete" erscheint, dann ist die Installation erfolgreich
12. STOP nicht das G1 neustarten
13. als naechstes muessen wir das "ota-radio-2_22_19_26I.zip" Image auf dem G1 installieren
14. nochmal "ALT+A" bzw. "apply any zip from sd" auswaehlen
15. das "ota-radio-2_22_19_26I.zip" Image per Druck auf den Trackball auswaehlen
16. per Druck auf die Heim/Haus-Taste den Flash-Vorgang bestaetigen
-> Wenn die Nachricht "Install from sdcard complete" erscheint, dann ist die Installation erfolgreich
17. nachdem die Meldung "Install from sdcard complete" erscheint muessen wir unser G1 neustarten, per Druck auf (gleichzeitig) "Heim/Haus-Taste+Zurueck-Taste"
18. es erscheint eine Message vor dem Neustart "Writing radio image", danach erscheint ein Fenster (kleine Box mit einem Telefon).... dies kann einige Minuten dauern ---> GEDULD!
19. wenn das G1 wieder in den Recovery Mode bootet/startet, dann einfach nochmal (gleichzeitig) auf "Heim/Haus-Taste+Zurueck-Taste" druecken
20. das G1 startet nochmals neu
21. nach dem Netzbetreiber-Screen sollte ein blau animiertes Cyanogen Mod Android Logo erscheinen.
-> Achtung: Der erste Start dauert sehr lange.... nicht die Geduld verlieren

...Kommen wir nun zum kniffeligsten Teil.... Dem Bootloader-Flash.

Um Android 2.1 oder ueberhaupt ein anderes Rom z.B. das Hero-Rom unter dem G1 betreiben zu koennen, muessen wir den Bootloader flashen. Cyanogen hat immer versucht diese Barriere zu umgehen, doch da Speicher-Hacks nicht mehr ausreichend sind blieb der Cyanogen Crew keine andere Wahl.
Also denn mal tau :D


Schritt 5 - Bootloader "Danger SPL" flashen:
WARNUNG:
Wenn ihr bei der Installation des SPLs MIST baut, dann koennt ihr euer G1 als Briefbeschwerer nutzen -> FULL BRICK.... Also bitte, bitte GENAU lesen!

Zunaechst muessen wir unsere Mainboard-Version auslesen:
1. schließt das G1 per USB an euren Computer an
2. geht auf die SD-Karte und entfernt / loescht das "DREAIMG.nbh" Image
3. trennt die USB-Verbindung und schaltet das G1 aus
4. startet das G1 per Druck auf "Kamera-Taste+Auflegen-Taste" (gleichzeitig) um somit in das Bootmenue des SPL zu kommen
5. ihr solltet euch nun in einem regenbogenfarbenen Bootmenue befinden
6. links oben (in der Ecke) steht euer Handymodell "DREAM" und danach eure Mainboard-Version

Es MUSS dort zwingend "PVT" stehen -> z.B. so "DREAM PVT 32B ENG S-OFF". Es darf NICHT "DREAM DVT 32B ENG S-OFF" stehen. G1-Modelle mit einem DVT-Mainboard sollten die Installation des Danger SPLs vermeiden, da die sehr wahrscheinliche Chance besteht, dass ihr euer Handy beim Flash-Vorgang schrottet.

-> wenn ihr "PVT" habt, dann fahrt mit der Anleitung fort, wenn ihr "DVT" habt muesst ihr zum Punkt "Hard SPL Installation" springen

Danger SPL / Haykuro SPL Installation:
1. herunterladen von Haykuro's SPL -> http://sapphire-port-dream.googlecode.com/files/spl-signed.zip
2. kopiert die Datei "spl-signed.zip" auf eure SD-Karte (G1)
3. schaltet euer G1 aus und startet es per Druck auf "Heim/Haus-Taste+Auflegen" (gleichzeitig) um in den Recovery Mode zu booten
4. drueckt nun "ALT+W" oder waehlt per Trackball "wipe data / factory reset" um alles an Daten zu loeschen <- dieser Schritt ist zwingend noetig!
5. anschließend drueckt ihr "ALT+A" oder waehlt per Trackball "apply any zip from sd"
6. waehlt die Datei "spl-signed.zip" aus
7. bestaetigt den Vorgang mit der "Heim/Haus-Taste"
8. nachdem der SPL erfolgreich installiert wurde drueckt ihr "Heim/Haus-Taste+Zurueck-Taste" um das G1 neuzustarten
-> WICHTIG: lasst das G1 komplett durchstarten, sollte das G1 wieder in den Recovery Mode booten, dann startet es nochmals mit Druck auf die "Heim/Haus-Taste+Zurueck-Taste" neu
9. nachdem das G1 erfolgreich neugestartet wurde und hochgefahren ist, koennt ihr das G1 ausschalten
10. startet nun das G1 per Druck auf "Kamera-Taste+Auflegen" um in den SPL-Boot Modus zu starten
11. ihr solltet nun 3 Androide auf weißen Skateboards sehen
-> nun koennt ihr auch mit der Fastboot-Methode arbeiten (Android SDK) ;)
12. passt gut auf welche Tasten ihr im SPL-Boot Modus drueckt, nicht das ihr euch selber wieder auf Version 1.0 runterflasht... das ist mir schon passiert
13. schaltet das G1 aus

Guuuut.... jetzt fehlt nur noch das Cyanogen Mod 5.0.7 Rom, und das flashen/installieren wir jetzt auf dem G1.


Schritt 6 - Android 2.1 mit Cyanogen Mod 5.0.7 auf G1 flashen:
1. startet euer G1 und verbindet es nach dem Start per USB mit eurem Computer
2. herunterladen von Cyanogen Mod 5.0.7 -> http://www.kanged.net/mirror/download.php?file=update-cm-5.0.7-DS-signed.zip
3. herunterladen von Google Apps -> http://kanged.net/mirror/download.php?file=gapps-ds-ERE36B-signed.zip
4. kopiert beide ZIP-Dateien auf die SD-Karte
5. trennt die USB-Verbindung und schaltet das Handy aus
6. startet das G1 per Druck auf "Heim/Haus+Auflegen" um in den Recovery-Mode zu kommen
7. im Recovery Menue drueckt ihr nun "ALT+W" auf der Tastatur ODER ihr nutzt den Trackball und navigiert zu "Wipe data / factory reset"
8. zur Bestaetigung des Factory Reset muesst ihr die Heim/Haus-Taste einmal druecken
9. nach dem Loeschvorgang drueckt ihr "ALT+A" oder waehlt "apply any zip from sd" per Trackball aus
10. jetzt waehlt ihr zuerst das Image "update-cm-5.0.7-DS-signed.zip" aus
11. bestaetigt den Flash-Vorgang per Druck auf "Heim/Haus-Taste"
12. STOP nicht das G1 neustarten
-> Wenn die Nachricht "Install from sdcard complete" erscheint, dann ist die Installation erfolgreich
13. nachdem die Meldung "Install from sdcard complete" erscheint drueckt ihr nochmals auf "ALT+A" oder waehlt nochmals "apply any zip from sd"
14. nun waehlen wir das Image "gapps-ds-ERE36B-signed.zip" aus
15. bestaetigt den Flash-Vorgang wieder per Druck auf die "Heim/Haus-Taste"
-> Wenn die Nachricht "Install from sdcard complete" erscheint, dann ist die Installation erfolgreich
16. nachdem die Meldung "Install from sdcard complete" erscheint drueckt ihr (gleichzeitig) "Heim/Haus-Taste+Zurueck-Taste" um euer Handy neuzustarten
17. das G1 faehrt nun hoch und ihr seht nach eurem Netzbetreiber Logo einen blau animierte Boot-Screen von Cyanogen (sieht aus wie ein blaues X bzw. Kreuz)

Achtung: Der allererste Start von Android 2.1 hat bei mir 15 min gedauert, der Carrier-Screen eueres Netzbetreibers bleibt vielleicht lange stehen, wartet ab und habt Geduld!

Soweit so schick :) jetzt haben wir im Endeffekt alles was wir wollten.

Ich hoffe die Anleitung war soweit verstaendlich....
Es wird von mir noch ein Bilder-Tutorial geben, da ich demnaechst eine Beta-Version von Android 2.2 auf meinem G1 installieren werde.

Danke fuer die Aufmerksamkeit und viele Grueße an die Jungs von
xda-developer und Cyanogen ;)

cya Guys!

~Steven

Grosses Tennis

Hallo allerseits,

wie jedermann in der heutigen Zeit, habe auch ich mich der Blogger-Community angeschlossen...

Ich versuche in diesem Blog meine IT-Kenntnisse zu publizieren, dazu gehoeren u.a. Anleitungen und Tutorials zu saemtlichen Themen innerhalb der Informationstechnologie, Verfassen von Tests und Reviews ueber Geraete / Software innerhalb der IT, meine Erfahrungen in der IT-Welt und Hilfestellungen zu jedem IT-verbundenen Thema.

Das wars auch schon...

~Steven