[Eisfair] E1 lässt sich nicht installieren

Marcus Roeckrath marcus.roeckrath at gmx.de
Do Okt 30 16:44:35 CET 2014


Hallo Thomas,

Thomas Amborn wrote:

> Das Altsystem hat schon 2 SATA-Platten für Daten dran. Den Treiber für
> den SATA-Controller lade ich am Anfang der /etc/init.d/local mittels
> modprobe sata_sis.

Du kannst auch zusätzliche Treiber in die Base-Konfiguration eintragen, so
mache ich es.

Wenn die Datenplatten auch noch in den neuen Rechner umziehen, könnte man
die auch an die Marvell-Ports hängen; dafür muss dann aber der pata_marvell
(entweder wie bisher der sata_sis oder über die /etc/config.d/base) geladen
werden.

Wenn nicht zwingend notwendig, würde ich die Datenplatten bei der Aktion
erstmal außen vor lassen.

> Was den ahaci-Modus beim ASUS-Board im BIOS betrifft, so gibt es für
> SATA 3 Einstellungen: SATA, Compatible, Disable. Eingestellt ist SATA.
> Als "Unteroption" gibt es nur IDE ohne Auswahlmöglichkeit.

Nehme an, dass für den Sata-Mode dann der ahci-Treiber erforderlich ist.

Wie ich schon schrieb, würde ich zunächst mal eine (halbwegs) passende
Bootkonfiguration für den neuen PC jetzt schon auf dem Altsystem
vorbereiten:

cd /boot
cp initrd.gz initrd-new.gz
cp kernel kernel-new
gunzip initrd-new.gz
mount -o loop initrd-new.gz <irgendein mountpoint>
cd <irgendein mountoint>

Folgende Zeilen für den ahci-Treiber in der Datei linuxrc ergänzen, die die
bislang fehlen:

/sbin/insmod /lib/modules/3.2.54-eisfair-1-PAE/scsi_mod.ko
/sbin/insmod /lib/modules/3.2.54-eisfair-1-PAE/sd_mod.ko
/sbin/insmod /lib/modules/3.2.54-eisfair-1-PAE/libata.ko
/sbin/insmod /lib/modules/3.2.54-eisfair-1-PAE/libahci.ko
/sbin/insmod /lib/modules/3.2.54-eisfair-1-PAE/ahci.ko
/bin/echo -e "\033[32m\033[49mWaiting for SCSI/SATA devices coming up ...

cd lib/modules/<kernel dir>

Dorthin die noch fehlenden Treiber aus dem
Kernelmodulverzeichnis /lib/modules/<kernel dir>/.../ hineinkopieren.

cd /boot

umount <irgendein mountpoint>

gzip initrd-new

Wenn Du - wie oben beschrieben - mit Kopien von kernel und initrd gearbeitet
hast, zerstört das die Bootfähigkeit der bestehenden Installation nicht.

Nun kommt die alte Platte in den neuen PC; die neue Platte an den
Intel-Sata.

Mit systemrescuecd booten:

Mit

fdisk -l feststellen, welche Devices alte und neue Platte haben.

Die neue Platte mit

fdisk <device der neuen Platte>     (vermutlich /dev/sda)

nach Wunschgrößen partitionieren (sda1=boot, sda2=swap, sda3=root), dabei
die korrekten Filesystem-Typen einstellen, Bootflag für sda1.

Danach boot- und root-Partition formatieren (ext4)

mkfs.ext4 -j <Device>

Hallo Thomas (Bork): Welche Formatierungsoptionen benutzt eigentlich der
Installer?

Das swap mit

mkswap <device>

Nun im systemrescuecd-System:

cd /
mkdir -p old/boot
mkdir -p new/boot
mount /dev/<device alte Platte root Partition> /old
mount /dev/<device alte Platte boot Partition> /old/boot
mount /dev/<device neue Platte root Partition> /new
mount /dev/<device neue Platte boot Partition> /new/boot

Mit cp oder wenn vorhanden mc die Daten der alten Platte auf die neue
schaufeln.

Oder folgende tar-Zeile:

cd /old
tar -cSp --numeric-owner --atime-preserve -f - . | ( cd ../new && tar -xSpv
--atime-preserve -f - )

(die letzten beiden Zeilen sind eine Zeile)

Die /etc/fstab ist nun anzupassen; dort steht ja für das Mounten der
Systemplatte noch etwas mit /dev/hdaX (X=1,2,3) drin.

Das ist im neuen System dann ein sd-Device; vermutlich sdaX X=1,2,3 (hoffen
wir mal).

Nun kommt noch die Bootgeschichte dran:

cd /new/boot
rm kernel
rm initrd.gz
mv kernel-new kernel
mv initrd-new.gz initrd.gz

Nun die /new/etc/lilo.conf anpassen:

lba32
disk = /dev/sda

!!! Hier kommt die im Rettungssystem geltende Devicebezeichnung rein

  bios = 0x80
boot = /dev/sda

!!! Hier kommt die im Rettungssystem geltende Devicebezeichnung rein

read-only
prompt
timeout = 50
vga = normal
menu-scheme = Wb:Kw:Wb:Yk
image = /boot/kernel
root = /dev/sda3

!!! Hier kommt die Devicebezeichnung der Platte beim booten rein, kann sich
also von obigem unterscheiden; wenn alles gut geht, muss im laufenden eis
das noch korrigiert werden.

label = eis
initrd = /boot/initrd.gz
append = "raid=noautodetect"

Diese Bootkonfiguration sollte reichen, weitere vorhandene Abschnitte
(old ...) sind nicht auf das neue System angepasst (initrd-...) und können
somit aus der lilo.conf einfach raus.

Nun muss für die ganz anfänglich geschriebene neue lilo-Bootoption noch
aktiviert werden:

chroot /new
/sbin/lilo -t

Das war erstmal ein Test; gibt es Fehlermeldungen?

Wenn nein:

/sbin/lilo

exit

cd /

umount /old/boot
umount /old
umount /new/boot
umount /new

Rettungssystem stoppen, alte Platte raus und neu booten.

Wenn das klappt, in der /etc/lilo.conf die drei Stellen, in denen das Device
der Platte/Partitionen angegeben sind (s. o.) nun korrigieren, damit es bei
einem Kernelupdate kein Theater gibt.

Bevor Du nun das in die Tat umsetzt, würde ich doch bitten, dass hier
erstmal einige genau durchlesen.

Ich gebe keinerlei Garantie, dass mir nicht doch noch ein Fehler unterlaufen
ist, ich etwas vergessen habe, ,...

Warte also noch ein wenig ab, ob es Widerspruch gibt!

-- 
Gruss Marcus


Mehr Informationen über die Mailingliste Eisfair