Inhaltsverzeichnis
Raspberry Pi 2
Vorbereitung
am Linux-Rechner in das User-Home-Verzeichnis wechseln, falls nicht schon passiert
cd /home/{user}
herunterladen der benötigten Software
download von ArchLinuxARM-rpi-2-latest.tar.gz
wget http://archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz
linux:scripts:get_device&noheader&nodate&nouser
System aufspielen
im Folgenden ist /dev/sdX durch den wirklichen Gerätenamen zu ersetzen
also zum Beispiel /dev/sdf
zum Benutzer root werden
su
falls schon vorhandene Partitionen von der Micro-SD eingehangen wurde, diese wieder sauber aushängen
umount /dev/sdX1
umount /dev/sdX2 … usw
einen Überblick über die eingehangenen Partitionen und Geräte, erhält man mit dem Befehl
mount
fdisk /dev/sdX
Willkommen bei fdisk (util-linux 2.25.2). Änderungen werden vorerst nur im Speicher vorgenommen, bis Sie sich entscheiden, sie zu schreiben. Seien Sie vorsichtig, bevor Sie den Schreibbefehl anwenden. Befehl (m für Hilfe): p Festplatte /dev/sdg: 29,7 GiB, 31914983424 Bytes, 62333952 Sektoren Einheiten: Sektoren von 1 * 512 = 512 Bytes Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes Festplattenbezeichnungstyp: dos Festplattenbezeichner: 0x9d87697b Device Boot Start End Sectors Size Id Type /dev/sdg1 2048 62332927 62330880 29,7G 83 Linux Befehl (m für Hilfe): o Created a new DOS disklabel with disk identifier 0x4e40beca. Befehl (m für Hilfe): n Partitionstyp p Primär (0 primär, 0 erweitert, 4 frei) e Erweitert (Container für logische Partitionen) Wählen (Vorgabe p): p Partitionsnummer (1-4, Vorgabe 1): 1 Erster Sektor (2048-62333951, Vorgabe 2048): Letzter Sektor, +Sektoren oder +Größe{K,M,G,T,P} (2048-62333951, Vorgabe 62333951): +100M Eine neue Partition 1 des Typs »Linux« und der Größe 100 MiB wurde erstellt. Befehl (m für Hilfe): t Partition 1 ausgewählt Hexadezimalcode (geben Sie L ein, um alle Codes aufzulisten): c WARNUNG: Wenn Sie eine DOS-6.x-Partition angelegt oder verändert haben, dann schauen Sie bitte in die cfdisk-Handbuchseite nach weiteren Informationen. Partitionstyp von »Linux« nach »W95 FAT32 (LBA)« geändert. Befehl (m für Hilfe): n Partitionstyp p Primär (1 primär, 0 erweitert, 3 frei) e Erweitert (Container für logische Partitionen) Wählen (Vorgabe p): p Partitionsnummer (2-4, Vorgabe 2): 2 Erster Sektor (206848-62333951, Vorgabe 206848): Letzter Sektor, +Sektoren oder +Größe{K,M,G,T,P} (206848-62333951, Vorgabe 62333951): Eine neue Partition 2 des Typs »Linux« und der Größe 29,6 GiB wurde erstellt. Befehl (m für Hilfe): p Festplatte /dev/sdg: 29,7 GiB, 31914983424 Bytes, 62333952 Sektoren Einheiten: Sektoren von 1 * 512 = 512 Bytes Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes Festplattenbezeichnungstyp: dos Festplattenbezeichner: 0x4e40beca Device Boot Start End Sectors Size Id Type /dev/sdg1 2048 206847 204800 100M 83 Linux /dev/sdg2 206848 62333951 62127104 29,6G 83 Linux Befehl (m für Hilfe): w
Verzeichnis zum einhängen der root-Partition erstellen
mkdir /mnt/RaspberryPi2
Dateisystem ext4 auf der root-Partition anlegen
mkfs.ext4 -L RaspberryPi2 /dev/sdX2
mkfs.ext4 -L RaspberryPi2 /dev/sdX2
mke2fs 1.42.12 (29-Aug-2014) Ein Dateisystems mit 3863680 (4k) Blöcken und 966656 Inodes wird erzeugt. UUID des Dateisystems: c35ab66e-9346-467a-bba5-90f88dd1d69f Superblock-Sicherungskopien gespeichert in den Blöcken: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208 beim Anfordern von Speicher für die Gruppentabellen: erledigt Inode-Tabellen werden geschrieben: erledigt Das Journal (32768 Blöcke) wird angelegt: erledgt Die Superblöcke und die Informationen über die Dateisystemnutzung werden geschrieben: erledigt
root-Partition einhängen
mount /dev/sdX2 /mnt/RaspberryPi2/
Verzeichnis zum einhängen der boot-Partition erstellen
mkdir /mnt/RaspberryPi2/boot
Dateisystem vfat auf der boot-Partition anlegen
mkfs.vfat -n BOOTRPI2 /dev/sdX1
boot-Partition einhängen
mount /dev/sdX1 /mnt/RaspberryPi2/boot/
aktuelles ArchLinuxArm auf die Micro-SD entpacken
tar -xf ArchLinuxARM-rpi-2-latest.tar.gz -C /mnt/RaspberryPi2/
alle noch gecachten Daten auf die Micro-SD schreiben
sync
die Partition BOOTRPI2
(/dev/sdX1) wieder aushängen
umount /mnt/RaspberryPi2/boot/
und auch die Partition RaspberryPi2
(/dev/sdX2) wieder aushängen
umount /mnt/RaspberryPi2
Einrichtung
Micro-SD in den RaspBerryPi2 stecken, booten und einlogen (entweder remote per SSH oder lokal am RaspBerryPi2, bei remote kann folgendes genutzt werden, ohne dass die automatisch zugewiesene IP des RaspBerry im Router ausgelesen werden muss)
Login per SSH, als Benutzer alarm
- Passwort: alarm
ssh alarm@alarmpi
The authenticity of host 'alarmpi (192.168.55.119)' can't be established. ECDSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx. Are you sure you want to continue connecting (yes/no)? yes
zum Benutzer root
wechseln - Passwort: root
su
als erstes das Passwort von root
ändern
passwd
und auch das Passwort des Benutzers alarm
ändern
passwd alarm
den Schlüsselring von pacman
initialisieren und mit den signierten Schlüsseln befüllen
pacman-key –init
pacman-key –populate archlinuxarm
Datenbank von pacman auf den neuesten Stand bringen und das System updaten
pacman -Syu
den Hostnamen auf rbpi2
setzen
echo rbpi2 > /etc/hostname
beim nächsten login über ssh, kann dann folgendes genutzt werden ssh alarm@rbpi2
schönnen Banner beim Login erstellen (motd - message of the day)
nano /etc/motd
/etc/motd
_____ _ _____ _ ___ | __ \ | | | __ (_)__ \ | |__) |__ _ ___ _ __ | |__ ___ _ __ _ __ _ _| |__) | ) | | _ // _` / __| '_ \| '_ \ / _ \ '__| '__| | | | ___/ | / / | | \ \ (_| \__ \ |_) | |_) | __/ | | | | |_| | | | |/ /_ |_| \_\__,_|___/ .__/|_.__/ \___|_| |_| \__, |_| |_|____| | | __/ | |_| |___/
http://patorjk.com/software/taag/#p=display&f=Big&t=RaspberryPi2
die richtige Zeitzone setzen
ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
oder
timedatectl set-timezone Europe/Berlin
deutsches Tastaturlayout auf der Konsole einstellen
echo KEYMAP=de-latin1 > /etc/vconsole.conf
echo FONT=lat9w-16 >> /etc/vconsole.conf
die zu erzeugende Lokalisierungen (Systemsprache und Formatierung) festlegen
nano /etc/locale.gen
nano /etc/locale.gen
de_DE.UTF-8 UTF-8 de_DE ISO-8859-1 de_DE@euro ISO-8859-15
die Lokalisierung erzeugen
locale-gen
Lokalisierung auf de_DE.UTF8
setzen
echo LANG=de_DE.UTF8 > /etc/locale.conf
noch ein paar nützliche Programme installieren
pacman -S htop lsof wget bash-completion
das System neustarten
reboot
BASH erweitern
arch:bash&noheader&nodate&nouser
Pilight
pacman -S base-devel
pacman -S base-devel
:: Es befinden sich 25 Mitglieder in Gruppe base-devel: :: Repositorium core 1) autoconf 2) automake 3) binutils 4) bison 5) fakeroot 6) file 7) findutils 8) flex 9) gawk 10) gcc 11) gettext 12) grep 13) groff 14) gzip 15) libtool 16) m4 17) make 18) pacman 19) patch 20) pkg-config 21) sed 22) sudo 23) texinfo 24) util-linux 25) which Geben Sie eine Auswahl ein (Voreinstellung=alle):
- einfach >ENTER< drücken
useradd -m -G users,audio,video,wheel -s /bin/bash {username}
passwd {username}
nano /etc/sudoers
nano /etc/sudoers
... ## Uncomment to allow members of group wheel to execute any command %wheel ALL=(ALL) ALL ...
su {username}
cd /tmp && mkdir pilight && cd pilight
wget https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=pilight -O PKGBUILD
makepkg -si
es werden noch Abhängigkeiten zum Ausführen und zum Bauen des Programmes benötigt,
zum Installieren dieser einfach >ENTER< drücken
exit
nano /etc/pilight/config.json
/etc/pilight/config.json
{ "devices": { "reboot_sys": { "protocol": [ "program" ], "id": [{ "name": "reboot" }], "program": "/sbin/init", "arguments": "", "start-command": "", "stop-command": "systemctl start reboot.target", "state": "running", "pid": 1 }, "kodi": { "protocol": [ "program" ], "id": [{ "name": "xbmc" }], "program": "/usr/lib/kodi/kodi.bin", "arguments": "", "stop-command": "systemctl stop kodi", "start-command": "systemctl start kodi", "state": "stopped", "pid": 0 }, "outside": { "protocol": [ "openweathermap" ], "id": [{ "location": "bamberg", "country": "de" }], "humidity": 13.00, "temperature": 20.09, "sunrise": 5.43, "sunset": 21.01, "sun": "rise", "update": 0 }, "rpitemp": { "protocol": [ "cpu_temp" ], "id": [{ "id": 1 }], "temperature": 40.084, "poll-interval": 10 }, "relay0": { "protocol": [ "relay" ], "id": [{ "gpio": 0 }], "state": "off", "default-state": "off" }, "relay2": { "protocol": [ "relay" ], "id": [{ "gpio": 2 }], "state": "off", "default-state": "off" }, "switch1": { "protocol": [ "intertechno_old" ], "id": [{ "id": 0, "unit": 0 }], "state": "off" }, "switch2": { "protocol": [ "intertechno_old" ], "id": [{ "id": 1, "unit": 0 }], "state": "off" } }, "rules": {}, "gui": { "outside": { "name": "Wetter", "group": [ "Temperatur" ], "media": [ "all" ] }, "rpitemp": { "name": "Raspberry Pi CPU Temperatur", "group": [ "Temperatur" ], "media": [ "all" ] }, "kodi": { "name": "KODI starten/stoppen", "group": [ "System" ], "media": [ "all" ] }, "reboot_sys": { "name": "System neustarten", "group": [ "System" ], "media": [ "all" ], "confirm": 1 }, "relay0": { "name": "Relais 1 (GPIO 0)", "group": [ "Schalten" ], "media": [ "all" ], "readonly": 0 }, "relay2": { "name": "Relais 2 (GPIO 2)", "group": [ "Schalten" ], "media": [ "all" ], "readonly": 0 }, "switch1": { "name": "Steckdose 1 (433MHz)", "group": [ "Schalten" ], "media": [ "all" ], "readonly": 0 }, "switch2": { "name": "Steckdose 2 (433MHz)", "group": [ "Schalten" ], "media": [ "all" ], "readonly": 0 } }, "settings": { "log-level": 6, "pid-file": "/var/run/pilight.pid", "log-file": "/var/log/pilight.log", "webserver-enable": 1, "webserver-root": "/usr/share/webapps/pilight", "webserver-http-port": 5001, "webserver-cache": 1 }, "hardware": { "433gpio": { "sender": 1, "receiver": 3 } }, "registry": { "webgui": { "tabs": 0 }, "pilight": { "version": { "current": "7.0" } } } }
Device-Tree
Device-Tree-Blob-Overlay selbst erstellen
pacman -S dtc-overlay
dtc -O dtb -o /boot/overlays/wittypi.dtbo -@ wittypi-overlay.dts
Home Assistant
pacman -S docker jq avahi networkmanager apparamor
systemctl start avahi-daemon
systemctl enable avahi-daemon
systemctl start docker
systemctl enable docker
für RaspBerry Pi 2
curl -sL https://raw.githubusercontent.com/home-assistant/hassio-installer/master/hassio_install.sh | bash -s <nowiki>-- -m raspberrypi2
für RaspBerry Pi 3
curl -sL https://raw.githubusercontent.com/home-assistant/hassio-installer/master/hassio_install.sh | bash -s <nowiki>-- -m raspberrypi3
DeConz
Manuelle Installation
docker pull marthoc/deconz
docker run -d –name=deconz –net=host –restart=always -v /opt/deconz:/root/.local/share/dresden-elektronik/deCONZ –device=/dev/ttyAMA0 marthoc/deconz
oder über Hass.io
- Open the Hass.io menu
- Click ADD-ON STORE
- Enter this URL in the Add new repository by URL box: https://github.com/marthoc/hassio-addons
- Click ADD
- Find marthoc Hass.io Addons in the Add-on Store
- Select the Add-on you wish to install
Snips
ALSA Utitlities installieren
pacman -S alsa-utils
USB Gerät herausfinden
aplay -l
aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) **** Karte 0: ALSA [bcm2835 ALSA], Gerät 0: bcm2835 ALSA [bcm2835 ALSA] Sub-Geräte: 7/7 Sub-Gerät #0: subdevice #0 Sub-Gerät #1: subdevice #1 Sub-Gerät #2: subdevice #2 Sub-Gerät #3: subdevice #3 Sub-Gerät #4: subdevice #4 Sub-Gerät #5: subdevice #5 Sub-Gerät #6: subdevice #6 Karte 0: ALSA [bcm2835 ALSA], Gerät 1: bcm2835 ALSA [bcm2835 IEC958/HDMI] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 1: Set [C-Media USB Headphone Set], Gerät 0: USB Audio [USB Audio] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0
arecord -l
arecord -l
**** Liste der Hardware-Geräte (CAPTURE) **** Karte 1: Set [C-Media USB Headphone Set], Gerät 0: USB Audio [USB Audio] Sub-Geräte: 0/1 Sub-Gerät #0: subdevice #0
nano /etc/asound.conf
/etc/asound.conf
pcm.!default { type asym playback.pcm { type plug slave.pcm "hw:1,0" } capture.pcm { type plug slave.pcm "hw:1,0" } }
Einstellungen vornehmen
alsamixer
<F5> für alle Einstellungen und mit <F6> das USB Gerät auswählen
Einstellungen speichern
alsactl store