Thecus n5200 Debian

From chaoswiki
Jump to navigation Jump to search

Hardwareinfos

lspci

00:00.0 Host bridge: Intel Corporation Unknown device 358c (rev 02)
00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
00:02.0 VGA compatible controller: Intel Corporation Unknown device 358e (rev 02)
00:02.1 Display controller: Intel Corporation Unknown device 358e (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83)
00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03)
01:00.0 SCSI storage controller: Marvell Technology Group Ltd. MV88SX6081 8-port SATA II PCI-X Controller (rev 09)
01:01.0 Ethernet controller: Intel Corporation 82541GI/PI Gigabit Ethernet Controller (rev 05)
01:02.0 Ethernet controller: Intel Corporation 82541GI/PI Gigabit Ethernet Controller (rev 05)
01:03.0 USB Controller: NetChip Technology, Inc Unknown device 2282 (rev 11)

cpuinfo

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 9
model name      : Intel(R) Celeron(R) M processor          600MHz
stepping        : 5
cpu MHz         : 600.000
cache size      : 512 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe up
bogomips        : 1199.08

ttyS0

Verbunden mit dem Seriellen Stecker

ttyS1

Verbunden mit dem Display

OS Installation

Backup

Vor der Installation sollte ein Backup der Daten auf /dev/hda angelegt werden, auf der Partition befinden sich verschiedene praktische Tools für das LCD e.t.c.

cd / && tar -cvz --exclude=proc/* --exclude=sys/* | ssh -l user host "cat > thecus-root.tgz"

und für notfälle kann auch noch ein Image des Flash IDE Laufwerks erstellt werden

dd if=/dev/hda | ssh -l user host "cat > thecus-root.img"

Debian install

mit dem sercon modul von thecus wiki die serielle Console freischalten, auf der Partition /dev/hda1 befindet sich der Grub, man sollte sich nicht vom in dem /boot auf der firmware vorhandenen lilo verwirren lassen.

die menu.lst in /mnt/boot/grub/ wie folgt anpassen:

#boot=/dev/hda
default=0
timeout=10
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
#serial --unit=1
terminal --timeout=3 serial console
#password --md5 $1$E.mPD1$GCz4omwJYBUhV8.Z8TyJE1
#password ThecusN5200x86in2006
fallback 1

title   Debian Linux
        root(hd0,2)
        kernel (hd0,2)/vmlinuz-2.6.18-3-686 root=/dev/sda1 console=tty1 console=ttyS0,115200n8
        initrd (hd0,2)/initrd.img-2.6.18-3-686

title   Debian Install
        root(hd0,2)
        kernel (hd0,2)/linux root=/dev/sda1 console=tty1 console=ttyS0,115200n8
        initrd (hd0,2)/initrd.gz

title Normal
#        kernel /boot/bzv0428 ro root=/dev/ram0 ramdisk=32768 console=tty1 console=ttyS0,115200n8
        root(hd0,1)
#        kernel (hd0,0)/bz5200v1 ro root=/dev/ram0 ramdisk=32768 irqpoll acpi=noirq pci=noacpi
#        getkey
        setlogo Thecus N5200
        setbto 200
#        kernel (hd0,1)/bz5200v1 ro root=/dev/ram0 ramdisk=131072 console=tty1 console=ttyS0,115200n8
        kernel (hd0,1)/bz5200v1 ro root=/dev/ram0  ramdisk=40960 console=tty1 console=ttyS0,115200n8
        initrd (hd0,1)/n5200fs.gz

title Factory
#        kernel /boot/bzv0428_old ro root=/dev/ram0 ramdisk=32768 console=tty1 console=ttyS0,115200n8
        root(hd0,5)
        getkey
        setlogo Fallback to Factory
        setbto 200
        kernel (hd0,5)/bz5200mv1 ro root=/dev/ram0 ramdisk=131072
        initrd (hd0,5)/minifs.gz

In /boot ist kein platz mehr frei für weitere Kernel und die debian initrd, die dateien kann man auf /dev/hda3 ablegen, diese Partition ist im normalfall in /cloopfs gemountet, leider sind die S-ATA Disks nicht über das Bios ansprechbar. für die Debian installation kopiert man am besten die den kernel linux und die initrd.gz aus dem debian-netinstall Archiv. Bei der Debian Installation sollte der Grub _nicht_ auf /dev/hda installiert werden, am besten installiert man ihn auf einer s-ata disk und kopiert den Kernel und die Initrd anschliessend auf /dev/hda3

Hardware monitoring und LCD Display

Die hier genannten Tools kommen aus der Originalfirmware, jeder muss die dort selber rausholen.

uartpkt2

Tool zum anzeigen von statischen? Informationen auf dem LCD, leider kein frei definierbarer text, das Tool kann auch das Display initialisieren.

unterstützte Befehle:

GETKEY

?

Zeigt Thecus N5200 an

SETKEY

?

SETBTO

Zeigt für einige sekunden

Thecus N5200
Booting... 

auf dem display an, danach wechselt das Display wieder auf Self Testing...

HEARTBT

Heartbeat?

STARTWD

Watchdog starten, der watchdog resetet den Host nicht, welchen Sinn hat er?

GETCFG

?

SETCFG

?

OOBM

Zeigt an dass Disk 3 neu gebaut wird

GETSYSINFO

Zeigt statisch im programm definierte Systeminfos an?!

Eigene Scripts

setbo.pl

Das Script geht so leider nicht, ich gehe davon aus dass der serielle Port mit den falschen Parametern initialisiert wird.

#!/usr/bin/perl -w

use Device::SerialPort;

my $file = "/dev/ttyS1";
my $ob = Device::SerialPort->new ($file) || die "Can't open $file: $!";

$ob->baudrate(9600)     || die "fail setting baudrate";
$ob->parity("none")     || die "fail setting parity";
$ob->databits(8)        || die "fail setting databits";
$ob->stopbits(1)        || die "fail setting stopbits";
$ob->handshake("none")  || die "fail setting handshake";
$ob->write_settings     || die "fail write setting";

$ob->write("\2\1\0\2\23\17\3");

foo.pl

Benutzung: ./foo.pl > /dev/ttyS0 zeigt "Disk 2 Rebuilding" auf dem Display an.

#!/usr/bin/perl
print("\2\1\0 \30mdadm\0\1\0\0\3Disk 2 Rebuilding\0\366\267\1\3");

reset51

AVR Microcontroller neu booten

#!/bin/sh

echo "uP reset"
echo "uP_reset 0" > /proc/thecus_io
sleep 1
echo "uP_reset 1" > /proc/thecus_io

Befehle

Heartbeat ein

\2\1\0\1\24\3

Watchdog ein

\2\1\0\1\25\3