Umbau/Update Sun Cobalt Qube3 (very quick & very dirty)
|
|
Pimp my Qube
by McNail -
letzte Änderung: 21.03.2015 20:00:47
Erstmal einige Links zum Qube und wie man ihn umbaut/upgradet. Das meiste der untenstehenden Kurzanleitung
von mir ist ein Auszug aus verschiedenen Links (einige Links betreffen auch die RaQs/Qubes):
Und hier mein Kurz-HOWTO
(c) by McNail 3. Mai 2005 / 12. April 2007
Quick and Dirty Zusammenfassung
Problem ist, dass Sun Cobalt Qube3 im BootPROM einen Bootloader
hat mit einer Grössenbeschränkung der zu bootenden Linux-Kernel
auf Platte, so dass typischerweise nur 2.2er Kernel geladen werden können.
2.4er Kernel sind zu gross. Und damit ist es schwierig neuere Kernel
(2.4er oder 2.6er) mit beispielsweise ext3-Unterstützung von
Platte zu laden. Mit dieser Anleitung wird das BootPROM geflasht
und ein neuerer 2.4er Linux-Kernel mit ext3 von Platte geladen.
Vanila-Kernel müssen erst gepatcht werden, sonst fehlt beispielsweise
die Unterstützung für das LCD-Display. Wenn dies alles erfolgreich
war, läuft der Qube3 mit seiner komplette Funktionaltät mit einem
stabileren Kernel mit ext3-Unterstützung. Allerdings muss man auch
anmerken, dass die installierte Software (sendmail, Apache, bind usw.)
stark veraltet und damit sicherheitskritisch ist. Von daher ist es eigentlich
zu empfehlen, dass komplette System neu zu installieren mit einer
aktuellen Linux-Distribution.
Ich bin leider nicht mehr dazu gekommen, das ganze detaillierter auszuführen
und zu testen, deswegen existiert diese Anleitung auch nur rudimentär
(eben quick & dirty) als flat ascii file schnell mal in HTML zusammengefummelt.
Wenn ich etwas Zeit finde, werde ich versuchen aktuelle
Linux-Distributionen auf so einem Qube3 zu installieren und das
Teil dann vielleicht mit einer grossen Platte als Videoserver für
meine DBox2 betreiben.
Einige URLs, welche mir Hilfestellung geleistet haben:
Und hier meine Anleitung (alles auf eigene Verantwortung, wer seine
Qube3 zersägt ist selbst schuld :-))
Anleitung um Kernel 2.4.25 auf Cobalt Qube zu installieren
- serielle Console aktivieren
- in der Datei /etc/inittab die Zeile
1:12345:respawn:/sbin/consoled /sbin/getty ttyS0 115200
auskommentieren und die Zeile
1:12345:respawn:/sbin/mgetty -s 115200 -r -b ttyS0
aktivieren bzw. einfügen
kill -1 1
um geänderte inittab zu aktivieren
- consoled beenden
kill <pid>
von consoled
- oder alternativ und vielleicht einfacher: reboot
- vorher Terminalprogramm (z.B. minicom) auf 115200 8N1
einstellen. Bootmeldungen sollten im Terminalprogramm
sichtbar sein. Am Schluss sollte ein Login-Prompt sichbar sein:
qube3-1.ms.she.de login:
Password:
- PROM flashen
Dieser Schritt ist nötig, da der alte Bootloader im PROM
keine Kernels grösser 1MB lädt. Da aber aktuelle 2.4er
Kernels grösser sind wie 1MB muss der Bootloader
aktualisiert werden. Netter Nebeneffekt: Im Image
cobalt-2.10.3-ext3-1M.rom befindet sich noch ein bootfähiger
2.4.25er Kernel mit benötigter Minimalunterstützung
- romutils-1.1.tar.bz2 herunterladen
- PROM-Image cobalt-2.10.3-ext3-1M.rom herunterladen
- romutils-1.1.tar.bz2 auspacken und flashtool ausführen:
- Altes PROM-Image sichern:
flashtool -r > orig-qube3-flash.rom
- Neues PROM-Image installieren:
flashtool -v -w cobalt-2.10.3-ext3-1M.rom
- während des Flashvorganges den Qube nicht ausschalten,
da sonst der Qube unbrauchbar wird!
- war der Flashvorgang erfolgreich, muss neu gebootet werden.
Aber Achtung: Das neue Image bootet per default vom Netz (NFS)
- während des Bootvorgangs Space-Taste drücken um in den PROM-Monitor
zu kommen. Hier mit dem Befehl "boot" in die Boot-Konfig
verzweigen und einstellen, dass per default von der Platte
gebootet wird. Hierzu muss die Variable im CMOS/PROM bootdeb gesetzt
werden: set bootdev=/dev/hda
- Anschliessend reboot und Bootvorgang durchlaufen lassen.
Das System sollte nun den alten Kernel von Platte booten.
- Kernel-Sourcen für aktuellen 2.4er Kernel (2.4.25) herunterladen
nach /usr/src/ und auspacken. Alten Softlink linux löschen
und auf die neuen Sourcen setzen:
drwxr-xr-x 8 root root 1024 May 19 09:52 .
drwxr-xr-x 16 root root 1024 May 19 09:28 ..
-rw-r--r-- 1 root root 214797 May 19 09:44 cobalt-2.4.25.patch
-rw-r--r-- 1 root root 10112 May 19 09:52 cobalt-boot-2.4.25.patch
-rw-r--r-- 1 root root 22070 May 18 17:24 config.rna
lrwxrwxrwx 1 root root 12 May 19 09:52 linux -> linux-2.4.25
drwxrwxr-x 15 root root 1024 May 19 10:09 linux-2.2.16C32_III+VPN
drwxr-xr-x 3 root root 1024 Aug 20 2002 linux-2.2.16C7
drwxr-xr-x 15 523 523 1024 Jan 19 2003 linux-2.2.23
drwxr-xr-x 15 root root 2048 May 19 10:55 linux-2.4.25
-rw-r--r-- 1 root root 14807 Apr 26 18:30 linux-2.4.25-ext3.config
drwxr-xr-x 15 root root 1024 May 19 09:44 linux-2.4.25.orig
-rw-r--r-- 1 root root 38081864 May 18 17:28 linux-2.4.25.tar.gz
drwxr-xr-x 2 root root 1024 May 19 09:52 patches-kernel-2.4.25
lrwxrwxrwx 1 root root 12 May 19 09:28 redhat -> /home/redhat
- .config nach /usr/src/linux kopieren
- Kernel + Module übersetzen:
make clean ; make dep ; make vmlinux ; make modules ; make modules_install
- übersetzten Kernel /usr/src/linux/vmlinux nach /boot/vmlinux-2.4.25
kopieren und packen: gzip /boot/vmlinux-2.4.25
Das gleiche nochmal, allerdings diesmal mit bzip packen:
bzip2 /boot/vmlinux-2.4.25
/usr/src/linux/System.map kopieren nach /boot/System.map-2.4.25
- In das Verzeichnis /boot wechseln und alle Symlinks vmlinux.bz2,
vmlinux.gz, System.map. Wenn diese Dateien keine Symlinks sein
sollten, dann diese erst sichern!
Anschliessend neuen Kernel einlinken:
ln -s vmlinux-2.4.25.bz2 vmlinux.bz2
ln -s mlinux-2.4.25.gz vmlinux.gz
ln -s System.map-2.4.2 System.map
Das ganze sollte dann ungefähr so aussehen:
-rw-r--r-- 1 root root 216376 Jan 19 2003 System-2.2.16C32_III+VPN.map
-rw-r--r-- 1 root root 216356 Jan 19 2003 System-2.2.16C32_III+VPN.map.orig
-rw-r--r-- 1 root root 200782 Jan 18 2003 System-2.2.23C32_III+VPN.map
lrwxrwxrwx 1 root root 23 May 26 11:01 System.map -> /boot/System.map-2.4.25
-rw------- 1 root root 318064 May 19 11:00 System.map-2.4.25
-rw-r--r-- 1 root root 651933 Jan 18 2003 original-kernel.bz2
-rw-r--r-- 1 root root 693754 Jan 18 2003 original-kernel.gz
-rw-r--r-- 1 root root 632609 Jan 19 2003 test-kernel-3com.bz2
-rw-r--r-- 1 root root 677731 Jan 19 2003 test-kernel-3com.gz
-rw-r--r-- 1 root root 651933 Nov 10 2001 vmlinux-2.2.16C32_III+VPN.bz2
-rw-r--r-- 1 root root 693754 Nov 10 2001 vmlinux-2.2.16C32_III+VPN.gz
-rw-r--r-- 1 root root 554378 Jan 18 2003 vmlinux-2.2.23C32_III+VPN.bz2
-rw-r--r-- 1 root root 590630 Jan 18 2003 vmlinux-2.2.23C32_III+VPN.gz
-rwxr-xr-x 1 root root 936354 May 19 10:55 vmlinux-2.4.25.bz2
-rwxr-xr-x 1 root root 990397 May 19 10:55 vmlinux-2.4.25.gz
lrwxrwxrwx 1 root root 18 May 26 10:44 vmlinux.bz2 -> vmlinux-2.4.25.bz2
lrwxrwxrwx 1 root root 17 May 19 11:01 vmlinux.gz -> vmlinux-2.4.25.gz
- Damit die übersetzten Module geladen werden können, muss das Paket
modutils neu installiert werden:
modutils-2.4.25.tar.bz2 Sourcen herunterladen (neuere Sourcen machten Probleme
beim übersetzen). Nach /usr/src/ kopieren und auspacken. Installation geht
nach Anweisung in der Datei INSTALL. Vorher altes Paket modutils deinstallieren:
rpm -qa | grep modutil
rpm -e modutils-2.3.9-6C1
und neue modutils beispielsweise mit checkinstall als RPM installieren.
Anschliessend "depmod" aufrufen und neu booten.
- Wenn der Kernel nun erfolgreich von Platte bootet, haben wir ein System
mit einem halbwegs aktuellen Kernel 2.4.25 inklusive ext3fs-Unterstützung.
Allerdings muss nun noch das Paket e2fsprogs ebenfalls aktualisiert werden,
da das alte e2fsprogs-Paket kein ext3fs unterstützt.
- Installation von e2fsprogs
Herunterladen der Sourcen von e2fsprogs-1.32.tar.gz (neuere Versionen machten
beim übersetzen Probleme). Kopieren nach /usr/src/ und auspacken.
Installation geht nach den Anweisungen der Datei INSTALL im
e2fsprogs-1.32-Verzeichnis. Bevor "make install" aufgerufen wird, das
ganze mit checkinstall installieren (vorher natürlich checkinstall
installieren). Hierdurch wird ein RPM-Paket erzeugt, welches gleichzeitig
installiert wird, bzw. das vorhandene e2fsprogs-Paket überschreibt.
Wichtig: Überprüfen, ob die Datei /sbin/e2fsck.ext3 existiert. Wenn
nicht diese anlegen:
cp /sbin/fsck.ext2 /sbin/fsck.ext3
- was nun noch fehlt sind ipchains/iptables und FreSwan (oder Racoon - bei 2.6er Kernel)