<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ADI64 feat. n0stradamus &#187; Archlinux</title>
	<atom:link href="http://adrian.holfter.de/blog/tag/archlinux/feed/" rel="self" type="application/rss+xml" />
	<link>http://adrian.holfter.de/blog</link>
	<description>Reiche Eltern für alle!</description>
	<lastBuildDate>Wed, 04 Jan 2012 22:47:27 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>(English) Solved: Broadcom BCM4306 + ndiswrapper</title>
		<link>http://adrian.holfter.de/blog/2011/12/english-solved-broadcom-bcm4306-ndiswrapper/</link>
		<comments>http://adrian.holfter.de/blog/2011/12/english-solved-broadcom-bcm4306-ndiswrapper/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 12:46:28 +0000</pubDate>
		<dc:creator>ADI64</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[b43legacy]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ndiswrapper]]></category>

		<guid isPermaLink="false">http://adrian.holfter.de/blog/?p=707</guid>
		<description><![CDATA[Leider ist der Eintrag nur auf English verfügbar.]]></description>
			<content:encoded><![CDATA[<p>Leider ist der Eintrag nur auf <a href="http://adrian.holfter.de/blog/en/tag/archlinux/feed/">English</a> verfügbar.</p>
]]></content:encoded>
			<wfw:commentRss>http://adrian.holfter.de/blog/2011/12/english-solved-broadcom-bcm4306-ndiswrapper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(English) go-preload benchmark</title>
		<link>http://adrian.holfter.de/blog/2011/11/english-go-preload-benchmark/</link>
		<comments>http://adrian.holfter.de/blog/2011/11/english-go-preload-benchmark/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 00:35:00 +0000</pubDate>
		<dc:creator>Markus</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[benchmark]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[precache]]></category>
		<category><![CDATA[preload]]></category>
		<category><![CDATA[speed]]></category>

		<guid isPermaLink="false">http://adrian.holfter.de/blog/?p=701</guid>
		<description><![CDATA[Leider ist der Eintrag nur auf English verfügbar.]]></description>
			<content:encoded><![CDATA[<p>Leider ist der Eintrag nur auf <a href="http://adrian.holfter.de/blog/en/tag/archlinux/feed/">English</a> verfügbar.</p>
]]></content:encoded>
			<wfw:commentRss>http://adrian.holfter.de/blog/2011/11/english-go-preload-benchmark/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seagate Dockstar: USB-Stick schrotten vermeiden</title>
		<link>http://adrian.holfter.de/blog/2010/10/seagate-dockstar-usb-stick-schrotten-vermeiden/</link>
		<comments>http://adrian.holfter.de/blog/2010/10/seagate-dockstar-usb-stick-schrotten-vermeiden/#comments</comments>
		<pubDate>Fri, 15 Oct 2010 17:21:29 +0000</pubDate>
		<dc:creator>ADI64</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[do it yourself]]></category>
		<category><![CDATA[Dockstar]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[USB]]></category>

		<guid isPermaLink="false">http://adrian.holfter.de/blog/?p=340</guid>
		<description><![CDATA[Ich hatte ebenfalls eine Plugbox (Archlinux für ARM-Prozessoren) -Installation auf einer Seagate Dockstar, wie im Artikel von n0stradamus hier auch gut beschrieben ist, am Laufen. Für 20€ so ein Powerhouse ist einfach saugeil Mein System lief auf einem 1GB USB-Stick und lief eigentlich ziemlich super. Lief. Ja. Das ist der Knackpunkt: Mein USB-Stick ist ziemlich [...]]]></description>
			<content:encoded><![CDATA[<p>Ich hatte ebenfalls eine Plugbox (Archlinux für ARM-Prozessoren) -Installation auf einer Seagate Dockstar, wie im <a href="http://adrian.holfter.de/blog/2010/09/archlinux-auf-der-seagate-dockstar/">Artikel von n0stradamus hier</a> auch gut beschrieben ist, am Laufen. Für 20€ so ein Powerhouse ist einfach saugeil <img src='http://adrian.holfter.de/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Mein System lief auf einem 1GB USB-Stick und lief eigentlich ziemlich super. Lief. Ja. Das ist der Knackpunkt: Mein USB-Stick ist ziemlich tot.</p>
<p><span id="more-340"></span>Das äußert sich darin, dass plötzlich irgendwelche Befehle nicht mehr tun, ich kryptische Errors um den Kopf geworfen bekomme und das System nicht mehr bootet, weil das ext2-fs so stark beschädigt ist, dass es nicht durch den routinemäßigen Check beim boot repariert werden kann, sondern manuell per e2fsck gefixt werden muss (von einem anderen pc aus).</p>
<p>Die Ursache dafür liegt darin, dass die in USB-Sticks und SD-Karten verbauten Flash-Chips zwar praktisch unendlich viele Lesevorgänge, aber nur ca. 10.000 &#8211; 100.000 Schreibzyklen pro Sektor verkraften. Das ist normalerweise absolut kein Problem, wenn man einfach nur &#8220;Daten&#8221; auf diesen Sticks zwischenspeichert. Außerdem versuchen die Hersteller meist, die Schreibvorgänge auf mehrere Sektoren zu verteilen, um ein Überschreiben von immergleichen Sektoren zu vermeiden. Letzteres kann aber natürlich nicht funktionieren, wenn der Stick quasi voll ist.</p>
<p>Wenn man aber ein Betriebssystem auf dem Stick betreibt, können diese Zyklen relativ schnell erreicht sein, vor allem durch Logfiles, Lockfiles und temporäre Daten. Auf diese Weise hat sich wie eingangs schon erwähnt mein (zugegeben ziemlich billiger und schon länger gebrauchter) USB-Stick verabschiedet.</p>
<p>Da viele Teile dermaßen beschädigt waren, dass das Reparieren verdammt aufwändig geworden wäre, habe ich das System von Neuem hochgezogen. Dabei habe ich mir die Frage gestellt: Wie kann ich vermeiden, dass das System wieder meinen Stick screwed? Als erstes kam mir die Idee, einfach das rootfs read-only zu mounten. Das hat aber zur Folge, sämtliche Schreiboperationen im RAM zu cachen. Da die Dockstar nur 128MB RAM hat, schied diese Möglichkeit aus. Als zweites kam mir die Idee, die ich jetzt auch umgesetzt habe:</p>
<h2>Flüchtige Daten in einer Ramdisk halten</h2>
<p>Das heißt, ich mounte mir einen Teil des spärlich vorhandenen RAMs als Datenträger und mappe ihn als Ersatz für die Verzeichnisse</p>
<ul>
<li>/var/log (Logfiles)</li>
<li>/var/lock (Sperr-Files)</li>
<li>/var/run (Daemon-PIDs)</li>
<li>/var/tmp (Temporäre Dateien)</li>
<li>/tmp (Temporäre Dateien).</li>
</ul>
<p>Dadurch fange ich fast alle Schreibzugriffe ab, welche im Dauerbetrieb eben anfallen. Änderungen an Configfiles etc. werden aber immernoch sofort auf den Stick geschrieben. Falls das System sich aufhängt, abstürzt oder ähnliche Scherze passieren, ist der &#8220;zusätzliche&#8221; Datenverlust also gering (nur die neueren Logfiles). Trotzdem: <strong>Hier werden einige Dateien nur im RAM vorgehalten. Wenn das System crasht oder die Daten vorm Ausschalten nicht von der Ramdisk auf den Stick gesichert werden, sind sie weg!</strong></p>
<p>Bevor ich mit der Anleitung beginne, sei hier die Seite<em> <a href="http://famvdploeg.com/blog/2008/03/putting-var-in-ram/" target="_blank">cat brain.stuff &gt; wordpress</a> </em>als Quelle genannt, da fast alle Informationen von dort stammen. Ich habe es lediglich zu Arch Linux / Plugbox Linux &#8220;geportet&#8221; und an meine Bedürfnisse angepasst.</p>
<h3>Anlegen der Verzeichnisse</h3>
<blockquote><p>mkdir /var/log-bak</p>
<p>mkdir /var/lock-bak</p>
<p>mkdir /var/run-bak</p>
<p>mkdir /var/tmp-bak</p>
<p>mkdir /tmp-bak</p>
<p>mkdir /run-bak</p>
<p>mkdir /mnt/ramdisk</p></blockquote>
<h3>Den Daemon anlegen</h3>
<p>Die Datei <em>/etc/rc.d/ramdisk</em> erstellen und folgendes hineinpasten:</p>
<blockquote><p>#!/bin/bash</p>
<p>. /etc/rc.conf<br />
. /etc/rc.d/functions</p>
<p>case &#8220;$1&#8243; in<br />
start)<br />
stat_busy &#8220;Copying files to ramdisk&#8221;</p>
<p>rm -Rf {/var/log-bak,/var/lock-bak,/var/run-bak,/var/tmp-bak,/tmp-bak,/run-bak}</p>
<p>mount &#8211;move /var/log /var/log-bak<br />
mount &#8211;move /var/lock /var/lock-bak<br />
mount &#8211;move /var/run /var/run-bak<br />
mount &#8211;move /var/tmp /var/tmp-bak<br />
mount &#8211;move /tmp /tmp-bak<br />
mount &#8211;move /run /run-bak</p>
<p>mkdir /mnt/ramdisk/var<br />
mkdir /mnt/ramdisk/var/log<br />
mkdir /mnt/ramdisk/var/lock<br />
mkdir /mnt/ramdisk/var/run<br />
mkdir /mnt/ramdisk/var/tmp<br />
mkdir /mnt/ramdisk/tmp<br />
mkdir /mnt/ramdisk/run<br />
mkdir /mnt/ramdisk/run/lock<br />
chmod 1777 /mnt/ramdisk/tmp<br />
chmod 1777 /mnt/ramdisk/var/lock<br />
chmod 1777 /mnt/ramdisk/var/tmp<br />
chmod 1777 /mnt/ramdisk/run</p>
<p>mount &#8211;bind /mnt/ramdisk/var/log /var/log<br />
mount &#8211;bind /mnt/ramdisk/var/lock /var/lock<br />
mount &#8211;bind /mnt/ramdisk/var/run /var/run<br />
mount &#8211;bind /mnt/ramdisk/var/tmp /var/tmp<br />
mount &#8211;bind /mnt/ramdisk/tmp /tmp<br />
mount &#8211;bind /mnt/ramdisk/run /run</p>
<p>cp -a -v /var/log-bak/* /var/log/ &gt;&gt; /var/log/ramdisk_sync.log<br />
cp -a -v /var/lock-bak/* /var/lock/ &gt;&gt; /var/log/ramdisk_sync.log<br />
cp -a -v /var/run-bak/* /var/run/ &gt;&gt; /var/log/ramdisk_sync.log<br />
cp -a -v /var/tmp-bak/* /var/tmp/ &gt;&gt; /var/log/ramdisk_sync.log<br />
cp -a -v /tmp-bak/* /tmp/ &gt;&gt; /var/log/ramdisk_sync.log<br />
cp -a -v /run-bak/* /run/ &gt;&gt; /var/log/ramdisk_sync.log</p>
<p>echo [`date +"%Y-%m-%d %H:%M"`] Ramdisk synced from HD &gt;&gt; /var/log/ramdisk_sync.log<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
add_daemon ramdisk<br />
stat_done<br />
fi<br />
;;<br />
stop)<br />
stat_busy &#8220;Switching off ramdisk, direct hdd write&#8221;<br />
rsync -av &#8211;delete /var/log/ /var/log-bak/<br />
rsync -av &#8211;delete /var/lock/ /var/lock-bak/<br />
rsync -av &#8211;delete /var/run/ /var/run-bak/<br />
rsync -av &#8211;delete /var/tmp/ /var/tmp-bak/<br />
rsync -av &#8211;delete /tmp/ /tmp-bak/<br />
rsync -av &#8211;delete /run/ /run-bak/</p>
<p># Unmount ramdisk bind<br />
umount /mnt/ramdisk/var/log<br />
umount /mnt/ramdisk/var/lock<br />
umount /mnt/ramdisk/var/run<br />
umount /mnt/ramdisk/var/tmp<br />
umount /mnt/ramdisk/tmp<br />
umount /mnt/ramdisk/run</p>
<p># Unmount move<br />
umount /var/log-bak<br />
umount /var/lock-bak<br />
umount /var/run-bak<br />
umount /var/tmp-bak<br />
umount /tmp-bak<br />
umount /run-bak</p>
<p># Deleting directories<br />
rm -Rf /mnt/ramdisk/*</p>
<p>echo [`date +"%Y-%m-%d %H:%M"`] Ramdisk synced to HD &gt;&gt; /var/log/ramdisk_sync.log<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
rm_daemon ramdisk<br />
stat_done<br />
fi<br />
;;<br />
sync)<br />
echo &#8220;Syncing log and lock files to harddisk&#8221;<br />
rsync -av &#8211;delete /var/log/ /var/log-bak/<br />
rsync -av &#8211;delete /var/lock/ /var/lock-bak/<br />
rsync -av &#8211;delete /var/run/ /var/run-bak/<br />
rsync -av &#8211;delete /var/tmp/ /var/tmp-bak/<br />
rsync -av &#8211;delete /tmp/ /tmp-bak/<br />
rsync -av &#8211;delete /run/ /run-bak/</p>
<p>echo [`date +"%Y-%m-%d %H:%M"`] Ramdisk synced to HD &gt;&gt; /var/log/ramdisk_sync.log<br />
;;</p>
<p>restart)<br />
$0 stop<br />
$0 start<br />
;;</p>
<p>*)<br />
echo &#8220;usage: $0 {start|stop|sync}&#8221;<br />
esac<br />
exit 0</p></blockquote>
<h3>Die /etc/fstab anpassen</h3>
<p>Dort eine Zeile hinzufügen à la</p>
<blockquote><p>tmpfs                   /mnt/ramdisk    tmpfs   size=64m        0       0</p></blockquote>
<p>Ich benutze hier bewusst tmpfs und nicht ramfs, da tmpfs bei akutem Ram-Mangel auf swap ausweicht, ramfs dies aber nicht tut. Weiterhin limitiere ich die Größe für die Ramdisk auf 64MB. Die Ramdisk wächst aber dynamisch, belegt also nur Platz, welchen sie auch braucht. Die 64MB sind nur ein grob geschätzter Maximalwert.</p>
<h3>/etc/rc.conf anpassen</h3>
<p>Hier sollte der Daemon als erster gestartet werden, damit so wenige Applikationen wie möglich den (sehr) kurzen Ausfall der oben genannten Verzeichnisse verkraften müssen. Euer DAEMONS-Array könnte also so aussehen:</p>
<blockquote><p>DAEMONS=(<strong>ramdisk </strong>syslog-ng network openntpd netfs crond sshd)</p></blockquote>
<h3>Logrotate anpassen</h3>
<p>Ein Punkt, der sich erst nach einiger Benutzung als wichtig herausgestellt hat: Die Logfiles können sehr groß werden und damit den RAM füllen. Um das zu verhindern, sollten die Logs in kurzen Zeitabständen rotiert werden.</p>
<p>Dazu passen wir die /etc/logrotate.conf an. Meine sieht so aus:</p>
<blockquote><p>daily</p>
<p>rotate 3</p>
<p>size 16M</p>
<p>create</p>
<p>compress</p>
<p>tabooext + .pacorig .pacnew .pacsave</p>
<p>include /etc/logrotate.d</p>
<p>/var/log/wtmp {</p>
<p>weekly</p>
<p>create 0664 root root</p>
<p>rotate 1</p>
<p>}</p></blockquote>
<h3>Abschließende Worte</h3>
<p>Soweit, so gut. Beim nächsten Neustart sollte euer System also nun den größten Teil der Schreiboperationen im RAM vorhalten. Ganz eilige können auch einfach den Daemon starten, es sollte auch so funktionieren. Was passiert, wenn ein Prozess genau dann der Meinung ist, ein Logfile schreiben zu müssen, wenn der Daemon gerade Verzeichnisse herumschiebt, kann ich absolut nicht vorhersagen.</p>
<p>Wenn ihr Verbesserungsvorschläge, Tipps, Kritik oder sonstigen Senf zum Zugeben habt, immer her damit.</p>
]]></content:encoded>
			<wfw:commentRss>http://adrian.holfter.de/blog/2010/10/seagate-dockstar-usb-stick-schrotten-vermeiden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ArchLinux auf der Seagate DockStar</title>
		<link>http://adrian.holfter.de/blog/2010/09/archlinux-auf-der-seagate-dockstar/</link>
		<comments>http://adrian.holfter.de/blog/2010/09/archlinux-auf-der-seagate-dockstar/#comments</comments>
		<pubDate>Tue, 07 Sep 2010 17:02:33 +0000</pubDate>
		<dc:creator>n0stradamus</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[do it yourself]]></category>
		<category><![CDATA[Dockstar]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Plugbox]]></category>

		<guid isPermaLink="false">http://adrian.holfter.de/blog/?p=312</guid>
		<description><![CDATA[Wer sich letztens eine dieser extrem günstigen Dockingstationen (~20€) gekauft hat, bekommt dafür ordentlich Dampf &#8211; geknechtet von BusyBox und einem nach bestimmter Nutzungsdauer kostenpflichtigen Dienst, nämlich Pogoplug. Hardware: - Marvell 88F6281 SoC mit 1,2 GHz Sheeva CPU - 128MB DDR2 - 256MB NAND-Flash - 3x USB 2.0 Ports - 1x Mini-USB für Seagate Go [...]]]></description>
			<content:encoded><![CDATA[<p>Wer sich letztens eine dieser extrem günstigen Dockingstationen (~20€) gekauft hat, bekommt dafür ordentlich Dampf &#8211; geknechtet von BusyBox und einem nach bestimmter Nutzungsdauer kostenpflichtigen Dienst, nämlich <a href="http://www.pogoplug.com/home-en.html?" target="_blank">Pogoplug</a>.</p>
<p><img class="alignleft size-medium wp-image-336" title="Seagate-FreeAgent-DockStar-Network-Adapter-front-back" src="http://adrian.holfter.de/blog/wp-content/uploads/2010/09/Seagate-FreeAgent-DockStar-Network-Adapter-front-back-284x300.jpg" alt="" width="204" height="216" />Hardware:</p>
<p>- Marvell 88F6281 SoC mit 1,2 GHz Sheeva CPU<br />
- 128MB DDR2<br />
- 256MB NAND-Flash<br />
- 3x USB 2.0 Ports<br />
- 1x Mini-USB für Seagate Go Festplatten<br />
- 100/1000 MBit Ethernet</p>
<p>Wer sich nicht mit den durch den Pogoplug-Dienst gegebenen Einstellungen/Einschränkungen zufriedengeben möchte, kann aber auch mit ein paar Tricks ein vollständig funktionstüchtiges PlugBoxLinux(eine auf Arch basierende Distro) an den Start bringen <img src='http://adrian.holfter.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><span id="more-312"></span>Bevor es losgeht, möchte ich auf die Gefahr hinweisen, dass man mit manchen dieser Schritte das Gerät bricken, also unnutzbar machen kann. Alles geschieht auf eigene Verantwortung.</p>
<p style="text-align: center;">&#8212;&#8212;</p>
<p>Aber no risk, no fun, also los gehts:</p>
<p>1. )Seagate Dockstar ans Netzwerk anschließen, aber darauf achten dass sie <em><strong><span style="color: #ff0000;">keinen</span></strong></em> Zugriff auf das Internet erhält.(Adi64 und ich haben einfach einen kleinen Switch genommen) Noch ist nämlich ein Service aktiv, der Updates installiert. Unter anderem eines, das ssh deaktiviert und das root-Passwort ändert&#8230;</p>
<p>2.)Die IP des Gerätes herausfinden.<br />
Bei uns hat es gereicht, die letzten beiden Byte der MAC-Addresse(steht unten drauf) zu kennen.<br />
Angenommen diese beiden Bytes wären AB(=171) und CD(=205), dann ist die IP <strong><em> </em></strong></p>
<pre style="padding-left: 60px;">169.254.171.205</pre>
<p>Wenn das bei euch nicht so sein sollte, kommt ihr nicht darum, die Dockstar per nmap zu suchen:</p>
<pre style="padding-left: 60px;">nmap -sP 169.254.0.0/16</pre>
<p>3.)Per ssh einlogggen:<em> </em></p>
<pre style="padding-left: 60px;">ssh root@169.254.171.205
root@169.254.171.205's password: stxadmin #ist für alle gleich <img src='http://adrian.holfter.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </pre>
<p>4.)Den Pogoplug-Updateservice abschießen und aus dem Startup rausnehmen: <em><strong> </strong></em></p>
<pre style="padding-left: 60px;">killall hbwd
mount -o remount,rw / #root als writeable remounten
vi /etc/init.d/rcS
#Jetzt die Zeile mit "/etc/init.d/hbmgr.sh start" auskommentieren
mount -o remount,ro /
#Jetzt kann man das Gerät theoretisch gefahrlos ans Netz anschließen</pre>
<p>5.)Backup, Backup, Backup. USB-Stick anschließen und danach die Daten sicher verwahren:</p>
<pre style="text-align: left; padding-left: 60px;">cd /tmp
mkdir usb
mount /dev/sda1 /tmp/usb
wget <a title="http://plugapps.com/os/pogoplug/uboot/nanddump" rel="nofollow" href="http://plugapps.com/os/pogoplug/uboot/nanddump">http://plugapps.com/os/pogoplug/uboot/nanddump</a>
chmod +x nanddump
./nanddump -nf usb/mtd0 /dev/mtd0
./nanddump -nf usb/mtd1 /dev/mtd1
./nanddump -nf usb/mtd2 /dev/mtd2
umount /dev/sda1</pre>
<p>6.)Das U-Boot, den Bootloader, installieren. Das ist an sich der gefährlichste Teil, weil ein Teil der Flash-Speichers bearbeitet wird. Ein Neustart danach ist nicht notwendig, es gibt ja noch nichts Besseres wo man reinbooten könnte <img src='http://adrian.holfter.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<pre style="padding-left: 60px;">cd /tmp
wget <a title="http://plugapps.com/os/pogoplug/uboot/install_uboot_mtd0.sh" rel="nofollow" href="http://plugapps.com/os/pogoplug/uboot/install_uboot_mtd0.sh">http://plugapps.com/os/pogoplug/uboot/install_uboot_mtd0.sh</a>
chmod +x install_uboot_mtd0.sh
./install_uboot_mtd0.sh</pre>
<p>7.)Einen USB-Stick(1GB sollte drin sein) formatieren, mit einer mindestens 512MB großen ext2-Partition. Das Formatieren muss nicht unbedingt auf dem DockStar erfolgen.</p>
<p>8.)PlugBox Linux herunterladen, auf dem USB-Stick speichern:</p>
<pre style="padding-left: 60px;">#cd auf den USB-Stick
wget <a title="http://plugapps.com/os/1.1/Plugbox-Linux-1.1-rootfs.tar.gz" rel="nofollow" href="http://plugapps.com/os/1.1/Plugbox-Linux-1.1-rootfs.tar.gz">http://plugapps.com/os/1.1/Plugbox-Linux-1.1-rootfs.tar.gz</a></pre>
<p>9.)Das heruntergeladene Archiv auf dem USB-Stick extrahieren, danach das Archiv löschen. Dies sollte auf der DockStar erfolgen, sonst drohen Berechtigungsprobleme (Danke an GerhardSchr!)</p>
<pre style="padding-left: 60px;">tar -xzvf Plugbox-Linux-1.1-rootfs.tar.gz # Dauert ein bisschen auf der Plugbox, ~15min
rm Plugbox-Linux-1.1-rootfs.tar.gz</pre>
<p>10.)Den USB-Stick einstecken, falls nicht schon geschehen und die Box neustarten. Auf das Beste hoffen ;D</p>
<pre style="padding-left: 60px;">/sbin/reboot</pre>
<p style="text-align: left;">11.)Nach dem Neustart ist die alte IP natürlich nicht mehr gültig. Die Box bezieht sie über DHCP, sofern ein entsprechender Router/Server vorhanden ist. Bewaffnet mit der MAC könnt ihr ja mal im Listing der auf dem Router angemeldeten Geräte nachschauen. <a href="http://wiki.archlinux.org/index.php/Using_SSH_Keys" target="_blank">Keys</a> und <a href="http://www.dyndns.com/" target="_blank">DynDNS</a> werden Vielnutzer von ssh bestimmt kennen und schätzen. Wenn nicht &#8211; es ist definitiv einen Versuch wert.</p>
<p style="text-align: center;">&#8212;&#8212;</p>
<p style="text-align: left;">Weiterführendes findet ihr <a href="http://www.plugapps.com/index.php5?title=PlugApps:Pogoplug_Setboot" target="_blank">hier</a>. Debian-Fans finden <a href="http://jeff.doozan.com/debian/" target="_blank">hier</a> etwas &#8211; hat bei Adi64 und mir leider nicht funktioniert.</p>
<p style="text-align: left;">Wer Gentoo ausprobieren möchte, wird <a href="http://ahsoftware.de/dockstar/" target="_blank">hier</a> fündig.</p>
<p style="text-align: left;">Diejenigen, die etwas mit ihrer LED tun möchten, werden <a href="http://www.plugapps.com/index.php5?title=DockStar_LED" target="_blank">hier</a> glücklich.</p>
<p style="text-align: left;">Beispiel: Mit folgenden 3 Befehlen blinkt die LED bei jeder ssh-Aktion auf der Box orange:</p>
<pre>modprobe xt_LED #Treiber laden
iptables -A INPUT -p tcp --dport 22 -j LED --led-trigger-id web --led-delay 100
echo netfilter-web &gt; /sys/class/leds/dockstar\:orange\:misc/trigger</pre>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://adrian.holfter.de/blog/2010/09/archlinux-auf-der-seagate-dockstar/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>Begrüßung in der Shell</title>
		<link>http://adrian.holfter.de/blog/2010/07/begrusung-in-der-shell/</link>
		<comments>http://adrian.holfter.de/blog/2010/07/begrusung-in-der-shell/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 13:12:43 +0000</pubDate>
		<dc:creator>ADI64</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[Instant Awesomeness]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://adrian.holfter.de/blog/?p=273</guid>
		<description><![CDATA[Das Programm &#8220;fortune&#8221; gibt (pseudo)zufällige Sprüche zum Besten, die es aus bestimmten Dateien entnimmt. &#8220;cowsay&#8221; nimmt einen Text und zeigt ihn in einer Sprechblase mit einer Kuh (oder eben mit Tux) in ASCII-Art-Manier an. Kombiniert und ans Ende der ~/.bashrc (oder ~/.zshrc oder was ihr eben für eine Shell benutzt) geschrieben gibt es beim Öffnen [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://adrian.holfter.de/zeugs/cowsay-tux.png"><img class="alignright" title="Cowsay" src="http://adrian.holfter.de/zeugs/cowsay-tux.png" alt="" width="314" height="208" /></a>Das Programm &#8220;<a title="fortune (Unix) - Wikipedia" href="http://en.wikipedia.org/wiki/Fortune_%28Unix%29" target="_blank">fortune</a>&#8221; gibt (pseudo)zufällige Sprüche zum Besten, die es aus bestimmten Dateien entnimmt.</p>
<p>&#8220;cowsay&#8221; nimmt einen Text und zeigt ihn in einer Sprechblase mit einer Kuh (oder eben mit Tux) in ASCII-Art-Manier an.</p>
<p>Kombiniert und ans Ende der ~/.bashrc (oder ~/.zshrc oder was ihr eben für eine Shell benutzt) geschrieben gibt es beim Öffnen einer Shell <em>instant Awesomeness!</em></p>
<blockquote><p># Make tux say something<br />
fortune -e sprueche linuxcookie chucknorris archlinux | cowsay -f tux</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://adrian.holfter.de/blog/2010/07/begrusung-in-der-shell/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bootsplash einrichten</title>
		<link>http://adrian.holfter.de/blog/2010/06/bootsplash-einrichten/</link>
		<comments>http://adrian.holfter.de/blog/2010/06/bootsplash-einrichten/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 14:07:09 +0000</pubDate>
		<dc:creator>n0stradamus</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[do it yourself]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[fbsplash]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[n0stradamus]]></category>

		<guid isPermaLink="false">http://adrian.holfter.de/blog/?p=237</guid>
		<description><![CDATA[Nach meinem Wechsel von Ubuntu zu Arch habe ich den Startvorgang etwas aufpeppen wollen und versucht, einen Splash beim Boot anzeigen zu lassen. Zuerst einmal hat man die Wahl zwischen splashy und fbsplash. Ich habe mich für fbsplash entschieden und werde es in diesem Artikel behandeln. fbsplash findet man im AUR und im Wiki eine [...]]]></description>
			<content:encoded><![CDATA[<p>Nach meinem Wechsel von Ubuntu zu Arch habe ich den Startvorgang etwas aufpeppen wollen und versucht, einen Splash beim Boot anzeigen zu lassen.</p>
<p>Zuerst einmal hat man die Wahl zwischen splashy und fbsplash. Ich habe mich für fbsplash entschieden und werde es in diesem Artikel behandeln.</p>
<p>fbsplash findet man im <a href="http://aur.archlinux.org/packages.php?ID=13541" target="_blank">AUR</a> und im <a href="http://wiki.archlinux.org/index.php/Fbsplash">Wiki</a> eine sehr gute Einführung dazu. Ich bin den Leitfaden mehrere Male durchgegangen und immer wieder auf die gleiche Problematik gestoßen:</p>
<ul>
<li>Beim Hochfahren bekomme ich eine Fehlermeldung: &#8216;fbsplash was unable to start&#8230;theme not found&#8217;</li>
<li>Beim Herunterfahren funktioniert der Splash</li>
</ul>
<p>Abhilfe lässt sich mit folgender kleinen Änderung an den Kernelargumenten schaffen:<span id="more-237"></span></p>
<pre>logo.nologo quiet console=tty1 vga=<span style="color: #ff0000;">792</span> splash=silent,fadein,
fadeout,theme:&lt;theme-name&gt;
</pre>
<p>Den oben rot markierten Framebuffer-Wert gilt es nun mit dem gewünschten (und vom  Theme unterstützten!) Auflösungswert zu ersetzen, damit der Framebuffer auf den Wert gesetzt ist für den das Theme in /etc/conf.d/splash konfiguriert wurde &#8211; sonst startet fbsplash einfach nicht und es gibt die bekannte Fehlermeldung. Über diesen gesuchten Wert gibt uns folgender Befehl Aufschluss:</p>
<pre># hwinfo --framebuffer
</pre>
<p style="padding-left: 30px;"><a href="http://aur.archlinux.org/packages.php?ID=14977"><em>hwinfo im AUR</em></a></p>
<p>In meinem Fall sähe die geänderte Argumentzeile folgendermaßen aus:</p>
<pre>logo.nologo quiet console=tty1 vga=0x0324 splash=silent,fadein,
fadeout,theme:archax
</pre>
<p>Natürlich kann man die 0&#215;0324 auch in 804 konvertieren und hinter vga= schreiben, das ist aber reine Geschmackssache.</p>
<p>Ich vermute, dass die Startschwierigkeiten entweder mit meiner x86_64-Version von Arch zusammenhängen oder mit meiner Hardware:</p>
<blockquote><p>AMD Phenom II X4 955 BE</p>
<p>4GB OCZ DDR3-1600</p>
<p>ATI Radeon HD 4870 Vapor-X 2GB von Sapphire</p></blockquote>
<p>Im Wiki ist nämlich auch ein Wikipedia-Artikel mit den Framebuffer-Codes verlinkt, die für 1280&#215;1024 funktionieren sollen &#8211; bei mir tun sie es _nicht_: <a href="http://en.wikipedia.org/wiki/VESA_BIOS_Extensions#Linux_video_mode_numbers">*klick*</a></p>
<p>Nachdem fbsplash nun bei mir startete, flackerte es kurz nach seinem Start und wurde nach links verschoben &#8211; irgenwdie unschön. Die einzige Lösung die ich dafür finden konnte, war folgende Änderung an /etc/mkinitcpio.conf vorzunehmen und damit den Start von fbsplash <em>hinter</em> die Änderung der Bildschirmauflösung durch den Kernel zu legen:</p>
<blockquote><p>HOOKS=&#8221;base udev <span style="color: #ff0000;">fbsplash</span> autodetect pata scsi sata filesystems&#8221;</p></blockquote>
<p>ändern zu</p>
<blockquote><p>HOOKS=&#8221;base udev autodetect pata scsi sata filesystems<span style="color: #ff0000;"> fbsplash</span>&#8220;</p></blockquote>
<p>Es funktioniert, aber man sieht eben mehr von der Konsole und weniger vom Splash.</p>
<p>Für jegliche Lösungsvorschläge bin ich dankbar!</p>
]]></content:encoded>
			<wfw:commentRss>http://adrian.holfter.de/blog/2010/06/bootsplash-einrichten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ArchLinux: &quot;Enter&quot; drücken führt zum Systemabsturz</title>
		<link>http://adrian.holfter.de/blog/2009/12/archlinux-enter-drucken-fuhrt-zum-systemabsturz/</link>
		<comments>http://adrian.holfter.de/blog/2009/12/archlinux-enter-drucken-fuhrt-zum-systemabsturz/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 12:14:18 +0000</pubDate>
		<dc:creator>ADI64</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[workaround]]></category>
		<category><![CDATA[wtf]]></category>
		<category><![CDATA[Xorg]]></category>

		<guid isPermaLink="false">http://adrian.holfter.de/blog/?p=148</guid>
		<description><![CDATA[Seit dem Xorg-Update auf 1.7.3 sorgt ein simpler Druck auf Return hin und wieder für einen kompletten Crash von Gnome. Das Bild friert ein und es ist auch nicht mehr möglich, auf die anderen virtuellen Konsolen zu wechseln. Lokal bleibt einem also nichts anderes über, als das System über SysRQ mit der magischen Kombination &#8220;REISUB&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Seit dem Xorg-Update auf 1.7.3 sorgt ein simpler Druck auf Return hin und wieder für einen kompletten Crash von Gnome.</p>
<p>Das Bild friert ein und es ist auch nicht mehr möglich, auf die anderen virtuellen Konsolen zu wechseln. Lokal bleibt einem also nichts anderes über, als das System über SysRQ mit der magischen Kombination &#8220;REISUB&#8221; halbwegs sicher neuzustarten.</p>
<p>Mit einem zweiten PC kann man sich allerdings auch noch über SSH noch einloggen (so man dies aktiviert hat) und dort manuell X mit einem &#8220;kill -9 $pid&#8221; abschießen. Daraufhin startet GDM den X-Server neu und man kann sich wieder einloggen. Allerdings sind alle Programme beendet, die im X gestartet wurden, was das Ganze extrem nervig macht: Jeder Druck auf die Enter-Taste könnte fatale Folgen für die offenen Dateien haben.</p>
<p>Weder in /var/log/everything.log noch in /var/log/Xorg.0.log.old lässt sich etwas finden, was auf einen Crash hindeutet.</p>
<p>Das Problem ist schon im <a title="ArchLinux Bugtracker" href="http://bugs.archlinux.org/task/17472" target="_blank">ArchLinux Bugtracker vorhanden</a> und es gibt auch einen Workaround dafür: GDM muss als letzter Daemon in der /etc/rc.conf stehen, also als letzter Daemon starten. Seitdem hatte ich keinen Crash mehr. Warum das so ist, ist mir völlig schleierhaft.  Im DAEMONS-Array standen nach gdm nurnoch &#8220;httpd mysqld cups&#8221;, die an sich ja überhaupt nichts mit dem X-Server und noch weniger mit Gnome zu tun haben. Aus irgendeinem Grund funktioniert dies aber&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://adrian.holfter.de/blog/2009/12/archlinux-enter-drucken-fuhrt-zum-systemabsturz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

