Archiv für April, 2007
Markus am 18.04.07 um 9:53 pm Uhr

Howto install debian linux on a headless sun netra t1?

Linux Tools, Server, Toys for Boys

Nachdem in der letzten Woche endlich meine netra angekommen ist, habe ich mir jetzt Zeit genommen sie mit debian linux zu versorgen. Vorher war eine Internetrecherche erforderlich, um eine aprobate Antwort auf die lebenswichtige Frage zu finden: Wie installiert man Linux auf einer headless sun netra t1? Aus all den Schnipseln, die mir über den Weg gelaufen sind, habe ich jetzt ein kleines HowTo gebastelt.

Was benötigt man?

  1. Einen Computer, der das boot-image served.
  2. Einen Computer mit serieller Schnittstelle (kann der gleiche, wie unter Punkt 1 sein)
  3. Ein DB9 - RJ45 - Cisco Consolenkabel
  4. Natürlich eine sun netra t1 :-)
  5. rarpd apt-get install rarpd (Für’s Verteilen einer IP-Adresse an die netra)
  6. tftpd apt-get install tftpd-hpa (Server für das image)
  7. minicom apt-get install minicom (zur Kommunikation über die serielle Schnittstelle)

Erste KommunikationWenn man dieses alles hat, kann man erstmal versuchen eine Kommunikation über die serielle Schnittstelle zur netra herzustellen. Dazu das Cisco-Cable an Serial B / LOM der netra (4.) und an die serielle Schnittstelle des Computers (2.) anschließen.
Im nächsten Schritt das Power-Cable an die netra anstecken, aber nicht einschalten. Dann auf dem Computer (2.) minicom (als root) starten. Der COM-Port muss configuriert werden (Ctrl-A –> z –> P –> 9600 8N1 einstellen). Dann am Command-Prompt von minicom ein ‘#’ eingeben. Jetzt bekommt man den LOM-Prompt der Netra. Jetzt mal ein wenig spielen:

lom>poweron
lom>
LOM event: power on
Netra t1 (UltraSPARC-IIi 440MHz), No Keyboard
OpenBoot 3.10.27 ME, 512 MB memory installed, Serial #16385722.
Ethernet address 8:0:20:fa:6:ba, Host ID: 80fa06ba.

Jetzt sollte die netra anfangen Krach zu machen. Anschließend sollte sie sich mit power-off wieder zur Ruhe begeben.

Bootvorgang

Allgemeines

Man gibt am ok-Prompt (nach dem poweron) ein boot net ein. Die netra macht dann erstmal einen Broadcast, um über rarp Ihre IP zu bekommen.
Achtung! LAN-Kabel in Net0 stecken! netra schreibt nämlich:

Boot device: /pci@1f,0/pci@1,1/network@1,1 File and args

Dann sucht sie über tftp Ihr image und bootet.

Vorbereitung

Das boot-image in den Folder legen, der vom tftpd bedient wird. Zum Beispiel: /srv/tftpd. Einen Softlink auf das image anlegen. Dieser Softlink muß so heißen, wie die “Übersetzung” der ip-Adresse der netra in Hex. Bei mir also: 192.168.178.60 –> C0A8B23C

ln -s boot.img C0A8B23C

Das Config-File (/etc/default/tftpd-hpa ) des tftpd-hpa bearbeiten:

RUN_DAEMON=”yes”
OPTIONS=”-l -s /srv/tftpd”

Die Zuweisung von ip-Adresse an die zugehörige mac-Adresse wird im File: /etc/ethers gemacht. Die mac-Adresse der netra bekommt man während des bootens angezeigt.

08:00:20:fa:06:ba 192.168.178.60
(Mac-Adresse netra –> ip-Adresse netra)

Durchführung

Am ok-Prompt boot net eingeben. Ab dann beginnt die netra ihr image zu holen und der Installationsprozess läuft debian-typisch ab.

Bei mir trat noch ein Problem auf: Als der Installationsprozess beginnen sollte, gab es ständig debootstrap warnings

Couldn’t download package…

Hm, ich vermutete, der dhcp-Server (meine Fritz!Box) hat der netra einen andere ip zugeteilt. Demzufolge hat sie vom tftpd ein anderes file gefordert (HEX-Übersetzung der neuen IP), welches der nicht liefern konnte. Deshalb habe ich während der Installation den dhcp-Server ausgeschaltet und das network von Hand konfiguriert. Und siehe da, es ging.

Nach der Installation und dem Reboot des Systems bekommt man über minicom eine Konsole geliefert. Auf dieser kann man dann noch den ssh nachinstallieren

apt-get install ssh

Und ab sofort kann man also jederzeit das System per ssh erreichen.

Fazit: Das ganze ist eine recht schmerzlose Angelegenheit. Es gab nur zwei Klippen zu umschiffen:

  1. tftpd-hpa anstelle von tftpd verwenden! (zumindest unter debian)
  2. Während der Installation keinen dhcp-Server laufen haben!
Markus am 17.04.07 um 10:02 pm Uhr

Wie lebensnah ist eigentlich Linux?

Ungedingstes

Antwort: Sehr!

Beweis? Here it comes:

mrre@thor:~$ man woman
No manual entry for woman

Schade eigentlich, so ein manual könnte von Zeit zu Zeit, hilfreich sein…

Markus am 17.04.07 um 1:25 pm Uhr

LogFiles lesen - my new hobby

Security

Naja, ganz so einfach ist es doch nicht in mein System einzudringen. Eine gewisse Menge an Hürden habe ich aufgestellt. Und dank der LogFiles sehe ich auch, ob sie funktionieren:

Apr 12 16:06:59 belisama proftpd[7917] belisama.lstr8 (74-129-175-44.dhcp.insightbb.com[74.129.175.44]): no such user ‘Administrator’
.
.
.
Apr 12 16:07:00 belisama proftpd[7917] belisama.lstr8 (74-129-175-44.dhcp.insightbb.com[74.129.175.44]): Maximum login attempts (3) exceeded
Apr 12 16:07:00 belisama proftpd[7917] belisama.lstr8 (74-129-175-44.dhcp.insightbb.com[74.129.175.44]): FTP session closed.

Dank proftpd kann ich hiermit einen lieben Gruß senden:

*lach*@74-129-175-44.dhcp.insightbb.com

Markus am 14.04.07 um 12:37 pm Uhr

Debian and no sound?

Debian

Normalerweise läuft der Sound bei meinen Maschinen out of the box. Aber nachdem ich neulich aus Versehen einige Config-Files gelöscht hatte, ging er auf dem einen Computer nicht mehr. Wie konfiguriert man den nun wieder?

Debian bringt da ein super-Tool mit: alsaconf! Die Installation läuft wie folgt:

apt-get install alsa-base
apt-get install alsa-utils

Anschließend ruft man alsaconf auf, und der Sound wird automatisch konfiguriert.

Aber bekanntlich ist automatisch nur so gut, wie automatisch sein kann. Bei mir hat es aus unerfindlichen Gründen einige nicht-funktionierende Parameter gegeben.

  1. In /etc/modules wurde nix eingetragen
    Also habe ich einen Nachtrag untergebracht: snd-via82xx
    Denn, wenn ich es richtig verstanden habe, werden die Module in /etc/modules beim Start geladen
  2. Seltsamerweise wurden auch in /etc/init.d keine alsa - Startskripte erstellt. Auch ein rekonfigurieren brachte nix. Also habe ich die beiden Files
    /etc/alsa
    /etc/alsa-uti
    ls
    von einem anderen Rechner rüberkopiert.

Und siehe da, jetzt geht alles. Auch wenn mir die Hintergründe noch nicht ganz klar sind. Im Augenblick reicht mir aber, dass es endlich wieder das hier gibt: The Offspring What happened to you.

Markus am 12.04.07 um 7:51 am Uhr

Finally she’s here - my love, my sunshine…

Toys for Boys

Bei eb*y habe ich sie nun endlich ersteigert, eine headless sun netra t1.

arinna.jpg

Ist sie nicht schön?

Aerosmith hat dazu einen recht passenden Song geschrieben:

I could stay awake, just to hear you breathing…

Also ich kann definitiv nicht schlafen, wenn sie “atmet”. Der dritte Weltkrieg dürfte auch nicht lauter sein :-).

  • 3 Lüfter
  • 2 SCSI-Platten

Da geht doch was, geräuschmäßig…

Markus am 09.04.07 um 4:00 pm Uhr

cron.hourly

Linux Tools

Ich wollte mich ja schon lange mal um die cron-Jobs kümmern. Das sind die Jobs, die regelmäßig vom System ausgeführt werden. Bisher habe ich das aber auf die lange Bank geschoben. Und zwar genausolange, bis es mal wehtut. Heute tat es weg: das komplette /etc -Verzeichnis wurde aus persönlicher Dummheit aus Versehen gelöscht. Na, und bis dann die Maschine wieder einigermaßen läuft, da vergeht so einiges an Zeit.

Also habe ich mir Gedanken gemacht, wie ich das /etc - Verzeichnis sichern könnte. Und zwar regelmäßig, und ohne mein Zutun. Jetzt bin ich auf dieIdee verfallen, vom cron.hourly ein tar.gz-File von dem genannten Folder erstellen zu lassen. Als Basis habe ich das ./cron.daily/standard - Skript verwendet und nach cron.hourly kopiert. In /etc/crontab werden die Tasks aufgeführt, die zu bestimmte Zeiten ausgeführt werden. Dazu dient die Zeile: … run-parts /etc/cron.hourly. Sämtliche ausführbare Scripte in /etc/cron.hourly werden dazu ausgeführt. Wichtig ist: Die Filenamen der Skripte dürfen (scheinbar?) keinen “.” enthalten. Das Skript hieß ursprünglich backup_etc.sh. Damit lief es nicht. Seit es backup_etc heißt, geht es.

Here it comes:

#!/bin/bash
#shamelessly copied from /etc/cron.daily/standard
#adapted by mrre
#
# Start in the root filesystem, make SElinux happy
cd /
bak=/var/backups
LOCKFILE=/var/lock/cron.hourly
umask 022

#
# Avoid running more than one at a time
#

if [ -x /usr/bin/lockfile-create ] ; then
lockfile-create $LOCKFILE
if [ $? -ne 0 ] ; then
cat <

Unable to run /etc/cron.hourly/backup_etc.sh because lockfile $LOCKFILE
acquisition failed. This probably means that the previous hours's
instance is still running. Please check and correct if necessary.

EOF
exit 1
fi

# Keep lockfile fresh
lockfile-touch $LOCKFILE &
LOCKTOUCHPID="$!"
fi
#
#tar gz the cplt. /etc-Folder to /var/backups
tar -cvvzf /var/backups/etc_$(hostname)_$(date +%I).tar.gz /etc
#

#
# Clean up lockfile
#
if [ -x /usr/bin/lockfile-create ] ; then
kill $LOCKTOUCHPID
lockfile-remove $LOCKFILE
fi