L
lokipoki
Guest
Hallo Zusammen,
wie in einem anderen ausgegliederten Thema habe ich ja erklärt wie man Webmin unter Wheezy / Lenny installiert. Im selbigen Thema habe ich auch erwähnt das ich dies hier zusätzlich auch noch einstellen werde da ich gerade ein wenig Zeit habe.
Ich übernehme keine Verantwortung für Schäden an eurem Pogoplug oder Dateisystem, was bei mir funktioniert muss nicht zwangsläufig bei euch funktionieren. Nachdem ich wie gewohnt auf (Ebay) DEB meinen Pflichtsatz erledigt habe seit Ihr in der Pflicht bevor Ihr etwas ausführt erst das ganze HowTo zu lesen! Ich werde nicht jedes Thema explizit erwähnen mit welcher Tastenkombination man speichert oder weiteres. Minimale Grundkenntnisse seitens Linux/SSH werden daher vorausgesetzt.
Diese HowTo setzt auf die Vorarbeit durch Osprey voraus, solltet ihr dies noch nicht gemacht haben besucht sein HowTo hier: https://www.digital-eliteboard.com/showthread.php?250139-Pogoplug-E02-Debian-Cardserver-mit-IPC
cd /tmp
mkdir usb
mount /dev/sda1 /tmp/usb
wget
chmod +x nanddump
./nanddump -nf usb/mtd0.oob /dev/mtd0
./nanddump -nf usb/mtd1.oob /dev/mtd1
./nanddump -nf usb/mtd2.oob /dev/mtd2
./nanddump -nof usb/mtd0 /dev/mtd0
./nanddump -nof usb/mtd1 /dev/mtd1
./nanddump -nof usb/mtd2 /dev/mtd2
umount /dev/sda1
Ich habe die Anleitung vom Doozan Board übernommen wo auch das Uboot herkommt sowie einige Scripts wie das Debian usw.
Was kann das Recue System eigentlich?
Das wir dies in Debian erledigen müssen versteht sich ja von selbst. Ihr könnt auch hier zusätzlich ein Backup des Systems machen wie oben angegeben. Nun fangen wir einmal an......
holen des Recue Systems:
wget Link ist nicht mehr aktiv.
entpacken:
tar zxvf RescueV2.8.2-10292012.tar.gz
löschen und neubeschreiben von mtd1 und mtd2:
flash_eraseall /dev/mtd1
nandwrite /dev/mtd1 uImage-mtd1.img
flash_eraseall /dev/mtd2
ubiformat /dev/mtd2 -s 512 -f rootfs-mtd2.img -y
und setzen der Werte fürs Uboot:
fw_setenv set_bootargs_rescue 'setenv bootargs console=$console ubi.mtd=2 root=ubi0:rootfs ro rootfstype=ubifs $mtdparts'
fw_setenv bootcmd_rescue 'run set_bootargs_rescue; nand read.e 0x800000 0x100000 0x400000; bootm 0x800000'
fw_setenv bootcmd_pogo 'run bootcmd_rescue'
fw_setenv rescue_installed 1
Damit hätten wir das neue Rescuesystem installiert. Der Default login entspricht root:root - Solltet ihr aus irgendeinen Grund etwas im Rescue System ändern wollen musst ihr es von lese-rechten in schreib rechten mounten:
mount -o remount,rw /
# make whatever changes you want to, such as adding modprobe commands to /etc/init.d/rcS
# then revert to ro
mount -o remount,ro /
Wichtig, immer wieder auf leserechte zurück setzen! Sonst habt ihr den ersten Preis gemacht und könnt das Rescue System erneut installieren!!!
Das war es mit dem Rescue System
Unser Pogo wird leider nicht richtig erkannt, wer dies sehen möchte kann folgende Befehle verwenden um dies selbst zu sehen
fw_printenv | grep arc
dmesg | grep Machine
Unser Pogo wird mit der Archnumber 2XXX (hab sie nicht mehr im Kopf) und als Marvell SheevaPlug Reference Board angeben. Dies stimmt nicht. Um dies zu ändern führen wir folgendes aus und setzen die richtige Arc und MachID
/usr/sbin/fw_setenv arcNumber 3542
/usr/sbin/fw_setenv machid dd6
Wir installieren uns nun den Kernel 3.8.11 der bereits gepatcht wurde um mit dem Pogo einwandfrei zu laufen. Ich kann nicht sagen ob dieser unter Debian 6.0.x läuft da vom Kernel sprung von 2.6.X auf 3.X.X es Probleme mit älteren Programmen gab da diese immer Probleme mit der Versionsangabe hatten und Debian ja bekanntlich auf alte Pakete setzt.
Ein weiterer Grund zum Update wäre ebenfalls noch zu erwähnen das derzeit gereade im Linux Kernel ein Exploit möglich ist um Root Rechte zu erlangen und dieses durch besagten Kernel geschlossen wird. Der eine oder andere wird sich nun Fragen wieso eigenrlich da wir ebenfalls als Root unterwegs sind - stimmt, dennoch werde ich vielleicht noch einmal ein Tut bringen wie wir uns sudo einrichten und einen Benutzer mit beschränkten Rechten haben der nur durch ein Passwort Adminrechte bekommt.
Wir laden uns also folgendes Paket:
wget
entpacken es:
tar -xjf linux-3.8.11-kirkwood-bodhi.tar.bz2
und installieren den Kernel:
dpkg -i linux-image-3.8.11-kirkwood-tld_1.0_armel.deb
Nach den Installation erhalten wir eine Fehlermeldung das er den Kernel nicht flashen kann, einfach ignorieren und wir flashen ihn selbst:
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-3.8.11-kirkwood-tld -d /boot/vmlinuz-3.8.11-kirkwood-tld /boot/uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-3.8.11-kirkwood-tld -d /boot/initrd.img-3.8.11-kirkwood-tld /boot/uInitrd
So, das gröbste wäre nun getan und wir können den Pogo das erste mal neu starten:
sync
shutdown -r now
Nun sollten mir mit dem neunen Kernel unterwegs sein.Ich mache hier jetzt erst mal schluß, das Wetter ist zu schön und ich sitze auch schon eine weile hier. Später geht es Irgendwann mit dem zweiten Teil weiter.
- - - - - - - - - -
Reserviert für spätere Anmerkungen
- - - - - - - - - -
Reserviert für spätere Anmerkungen
wie in einem anderen ausgegliederten Thema habe ich ja erklärt wie man Webmin unter Wheezy / Lenny installiert. Im selbigen Thema habe ich auch erwähnt das ich dies hier zusätzlich auch noch einstellen werde da ich gerade ein wenig Zeit habe.
Worum geht es hier eigentlich?!?
- Wir werden das Originale Pogo System aus mtd1 und mtd2 durch ein erweitertes Arch System ersetzen mit einiger Menge Funktionen
- den Pogo richtig erscheinen lassen da er falsch erkannt wird durch einen Bug im Uboot
- einen neueren Kernel installieren um die LED anzusteuern und eine Sicherheitslücke im Kernel zu schließen
- Netconsole einrichten um beim Bootvorgang Fehlermeldungen sehen (dafür gibts später irgendwann ein anderes Tutorial)
- ein paar kleine fixes am System
- Anmerkungen, weiter Themen die von mir folgen werden, ........
Ich übernehme keine Verantwortung für Schäden an eurem Pogoplug oder Dateisystem, was bei mir funktioniert muss nicht zwangsläufig bei euch funktionieren. Nachdem ich wie gewohnt auf (Ebay) DEB meinen Pflichtsatz erledigt habe seit Ihr in der Pflicht bevor Ihr etwas ausführt erst das ganze HowTo zu lesen! Ich werde nicht jedes Thema explizit erwähnen mit welcher Tastenkombination man speichert oder weiteres. Minimale Grundkenntnisse seitens Linux/SSH werden daher vorausgesetzt.
Diese HowTo setzt auf die Vorarbeit durch Osprey voraus, solltet ihr dies noch nicht gemacht haben besucht sein HowTo hier: https://www.digital-eliteboard.com/showthread.php?250139-Pogoplug-E02-Debian-Cardserver-mit-IPC
- Eine kleine Anmerkung meinerseits, bevor wir wie bei Osprey das Uboot austauschen fertigen wir erst einmal zur Sicherheit eine Kopie des Originalen an. Daher sicher wir mal zusätzlich das ganze System
cd /tmp
mkdir usb
mount /dev/sda1 /tmp/usb
wget
Sie müssen registriert sein, um Links zu sehen.
chmod +x nanddump
./nanddump -nf usb/mtd0.oob /dev/mtd0
./nanddump -nf usb/mtd1.oob /dev/mtd1
./nanddump -nf usb/mtd2.oob /dev/mtd2
./nanddump -nof usb/mtd0 /dev/mtd0
./nanddump -nof usb/mtd1 /dev/mtd1
./nanddump -nof usb/mtd2 /dev/mtd2
umount /dev/sda1
Nun geht es mit dem ersten Punkt los, wir ersetzen das Pogo System durch unser Arch Rescue System
Ich habe die Anleitung vom Doozan Board übernommen wo auch das Uboot herkommt sowie einige Scripts wie das Debian usw.
Was kann das Recue System eigentlich?
Doozan Forum
Kirkwood/*Plug* Recovery System
.......... V2.8.2 : Oct 29 2012
rescue login:
(Status : Test on 4 Mach-Types, awaiting tests on others )Kirkwood/*Plug*/Dockstar Rescue V2.8.2 : GPT support & many other enhancements + full kernel support for GoFlexNet/Home, Zyxel NSA3x0 and many others...
All of the features from Jeff'sV2, plus:
- Well-tested and tuned Linux 3.3.2 kernel w/ lots of modules
- GPT/EFI support in kernel and with the "gdisk" utility
- Bonjour/Zeroconf/Avahi advertising of services: ( use ssh root@rescue.local to log in w/o hunting for the IP address)
- fixes for the "Too Many Bad Blocks" NAND driver problem on GoFlex Net/Home
- tweaks to udev so that SATA devices are handled more nicely, plus proper function in 3.x kernels
- lm-sensors for the Zyxel NSA320 and any other supported Kirkwood device that has sensor on board
- p910nd print server : very lightweight and easy to set up
- fixed an intermittent problem w/ ntpd so that the time sync is more positive
- Kernel support for Dockstar/GoFlexNet arcnumbers
- cleaner 'first-boot' initialization scripts
- sysvinit
- sqlite3
- iptables
- microperl
- udev
- lsof
- socat
- openvpn
The rescue system includes:
Sie müssen registriert sein, um Links zu sehen.- ext2/3/4 create and repair utilities
- ubifs support/utilities
- flash/nand utilities
- md/raid support/utilities
- ntfs-3g
- xfs support/utilities
- reiserfs support
- nfs support
- lvm support/utilities
- ssh/sshfs/openssl
- openvpn
- iptables
- wget/curl/links/ncftp/rsync
- vi/nano
- screen
- sqlite3
Das wir dies in Debian erledigen müssen versteht sich ja von selbst. Ihr könnt auch hier zusätzlich ein Backup des Systems machen wie oben angegeben. Nun fangen wir einmal an......
holen des Recue Systems:
wget Link ist nicht mehr aktiv.
entpacken:
tar zxvf RescueV2.8.2-10292012.tar.gz
löschen und neubeschreiben von mtd1 und mtd2:
flash_eraseall /dev/mtd1
nandwrite /dev/mtd1 uImage-mtd1.img
flash_eraseall /dev/mtd2
ubiformat /dev/mtd2 -s 512 -f rootfs-mtd2.img -y
und setzen der Werte fürs Uboot:
fw_setenv set_bootargs_rescue 'setenv bootargs console=$console ubi.mtd=2 root=ubi0:rootfs ro rootfstype=ubifs $mtdparts'
fw_setenv bootcmd_rescue 'run set_bootargs_rescue; nand read.e 0x800000 0x100000 0x400000; bootm 0x800000'
fw_setenv bootcmd_pogo 'run bootcmd_rescue'
fw_setenv rescue_installed 1
Damit hätten wir das neue Rescuesystem installiert. Der Default login entspricht root:root - Solltet ihr aus irgendeinen Grund etwas im Rescue System ändern wollen musst ihr es von lese-rechten in schreib rechten mounten:
mount -o remount,rw /
# make whatever changes you want to, such as adding modprobe commands to /etc/init.d/rcS
# then revert to ro
mount -o remount,ro /
Wichtig, immer wieder auf leserechte zurück setzen! Sonst habt ihr den ersten Preis gemacht und könnt das Rescue System erneut installieren!!!
Das war es mit dem Rescue System
Setzen der richtigen Arc und MachID
Unser Pogo wird leider nicht richtig erkannt, wer dies sehen möchte kann folgende Befehle verwenden um dies selbst zu sehen
fw_printenv | grep arc
dmesg | grep Machine
Unser Pogo wird mit der Archnumber 2XXX (hab sie nicht mehr im Kopf) und als Marvell SheevaPlug Reference Board angeben. Dies stimmt nicht. Um dies zu ändern führen wir folgendes aus und setzen die richtige Arc und MachID
/usr/sbin/fw_setenv arcNumber 3542
/usr/sbin/fw_setenv machid dd6
Dann machen wir mit dem Kernel weiter
Wir installieren uns nun den Kernel 3.8.11 der bereits gepatcht wurde um mit dem Pogo einwandfrei zu laufen. Ich kann nicht sagen ob dieser unter Debian 6.0.x läuft da vom Kernel sprung von 2.6.X auf 3.X.X es Probleme mit älteren Programmen gab da diese immer Probleme mit der Versionsangabe hatten und Debian ja bekanntlich auf alte Pakete setzt.
Ein weiterer Grund zum Update wäre ebenfalls noch zu erwähnen das derzeit gereade im Linux Kernel ein Exploit möglich ist um Root Rechte zu erlangen und dieses durch besagten Kernel geschlossen wird. Der eine oder andere wird sich nun Fragen wieso eigenrlich da wir ebenfalls als Root unterwegs sind - stimmt, dennoch werde ich vielleicht noch einmal ein Tut bringen wie wir uns sudo einrichten und einen Benutzer mit beschränkten Rechten haben der nur durch ein Passwort Adminrechte bekommt.
Wir laden uns also folgendes Paket:
wget
Sie müssen registriert sein, um Links zu sehen.
entpacken es:
tar -xjf linux-3.8.11-kirkwood-bodhi.tar.bz2
und installieren den Kernel:
dpkg -i linux-image-3.8.11-kirkwood-tld_1.0_armel.deb
Nach den Installation erhalten wir eine Fehlermeldung das er den Kernel nicht flashen kann, einfach ignorieren und wir flashen ihn selbst:
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-3.8.11-kirkwood-tld -d /boot/vmlinuz-3.8.11-kirkwood-tld /boot/uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-3.8.11-kirkwood-tld -d /boot/initrd.img-3.8.11-kirkwood-tld /boot/uInitrd
So, das gröbste wäre nun getan und wir können den Pogo das erste mal neu starten:
sync
shutdown -r now
Nun sollten mir mit dem neunen Kernel unterwegs sein.Ich mache hier jetzt erst mal schluß, das Wetter ist zu schön und ich sitze auch schon eine weile hier. Später geht es Irgendwann mit dem zweiten Teil weiter.
- - - - - - - - - -
Reserviert für spätere Anmerkungen
- - - - - - - - - -
Reserviert für spätere Anmerkungen
Zuletzt bearbeitet von einem Moderator: