PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : FastTrak TX4310 Treiber Kompilieren. Verstehe die Anleitung nicht!



hermann_77
10.07.06, 09:41
Hallo Leute,
ich habe hier eine SuSE 10.1 Kiste mit einem Promise FastTrak TX4310 Raid Controler. Für diesen gibt es auf der Promise Seite einen Treiber zum selbst Compilieren. Leider verstehe ich teile der Anleitung nicht. Den Treiber gibt es Hier zum Download
http://www.promise.com/support/download/download2_eng.asp?productId=165&category=driver&os=100#
Vieleicht kann mir einer die sachen erklären die ich nicht verstehe. ALles was Grün ist verstehe ich soweit, bzw. funktioniert auch. Das erste Problem ist
# cp arch/$(ARCH)/defconfig.??? .config
Was tut das? Was soll wo hinkopiert werden?

Als nächtes:
# Execute 'make' for a while about 5 sec. and then stop its execution. (Avoid below make menuconfig fail...)
# Execute 'make menuconfig' & exit with configuration save.
# Execute 'make' for a while about 10 sec. and then stop its execution.

Warum soll hie rnur ein paar sekunden kompiliert werden?

Die restlichen Punkte bekomme ich bestimmt wieder hin.

grüsse,
Hermann


/************************************************** ********************************
* PROMISE FastTrak TX4310/579/779 Series Linux Driver Installation Guide
*
* PROMISE Linux support team <support@promise.com.tw> 2006/03/30
************************************************** *********************************/

How to make driver for FastTrak & load it?

1.) Please ensure cc, the source compiler , version is above 3 by issuing Linux command :
# gcc -v
If you do not install the compiler, you will not be able to built Promise driver.

2.) Please ensure linux kernel source directory is "/usr/src/linux".
For SuSE EL9 platform, it always release its kernel source in /usr/src/linux-2.6.7-97.
Please make a link to the appropriate directory, for example:
# ln -s /usr/src/linux-2.6.7-97 /usr/src/linux

For RHEL4 platform, it always release its kernel source in /usr/src/kernels/2.6.9-5.EL.??? which ??? means various kernel images.

3.) Setup Kernel Compile Environment
For SuSE EL9, SuSE 10:
# cd /usr/src/linux/
# make mrproper
# cp arch/$(ARCH)/defconfig.??? .config
# Execute 'make' for a while about 5 sec. and then stop its execution. (Avoid below make menuconfig fail...)
# Execute 'make menuconfig' & exit with configuration save.
# Execute 'make' for a while about 10 sec. and then stop its execution.

For RHEL4:
DO NOTHING.

[1]. $(ARCH) means architecture, which is i386 or x86_64.
[2]. ??? is options to make choose, default, smp and bigmem, depend on your booting image.

4.) Check /lib/modules/$(UTS_RELEASE)/build directy was linked properly to /usr/src/linux.
UTS_RELEASE is the current version of your booting image. You can get it by issuing Linux command :
#uname -r

5.) Goto directory where the PROMISE driver source was located.

5.) Issue Linux command to make FastTrak driver: ftsata2.o
#make clean
#make or #make all

6.) Load PROMISE driver
# modprobe -a sd_mod
# insmod ftsata2.ko or # insmod ftsata2.o

7.) You can copy this module to /lib/modules/$(UTS_VERSION)/kernel/drivers/scsi/ for automatic load when boot system.

Note:
1. Promise partial source can be adapted on kernel 2.4 & 2.6.
2. Different OS may has different kernel source location, please do some modifications of above steps to fit their requirements.

mima
10.07.06, 10:33
Hallo hermann,

das letzte Geheimnis dieser Vorgehensweise habe ich auch noch nicht verstanden.

# cp arch/$(ARCH)/defconfig.??? .config
...
[1]. $(ARCH) means architecture, which is i386 or x86_64.
So weit ich es verstehe, soll im ersten Schritt die Datei arch/i386/defconfig nach /usr/linux/.config kopiert werden (i386 natürlich abhängig von deinem System). Diese defconfig bzw .config soll wohl eine Basisconfiguration für die weiteren Schritte schaffen.


# Execute 'make' for a while about 5 sec. and then stop its execution. (Avoid below make menuconfig fail...)
# Execute 'make menuconfig' & exit with configuration save.
# Execute 'make' for a while about 10 sec. and then stop its execution.
Make bereitet hier zunächst die Konfiguration des Kernels vor und fragt dann neue Konfigurationsmöglichkeiten ab. Ich nehme an, daß hier abgebrochen werden soll. Danach wird die .config durch make menuconfig und speichern zur verbindlichen Konfiguration gemacht.
Beim Starten mit make würde jetzt ein kompletter Kernel gebaut werden. Da ja im Weiteren nur das Modul gebaut werden soll, scheint dies, bis auf das Bilden von einigen Teilen am Anfang nicht erforderlich zu sein, so meine Vermutung.

Probieren geht über Studieren!

Gruß mima

Shutdown
10.07.06, 11:53
Nur ist die große Frage jetzt wohl noch, wie ein Kernelmodul geladen werden soll, wenn es nicht gegen den aktuell laufenden Kernel und dessen Sourcen inkl. Konfiguration kompiliert wurde...

Shutdown

hermann_77
10.07.06, 11:57
@Shutdown
Macht das nicht Punkt 5?

@mima: Ich werd heute Abend einmal ausprobieren. Vieileicht funktioniert es ja . Wenn nicht werde ich mich nochmal melden.

grüsse,
Hermann

mima
10.07.06, 12:18
@Shutdown

Die Anleitung sieht ja vor, daß man zum laufenden Kernel passende Sourcen installiert.
Ob die defconfig eines solchen Sourcepakets angepasst ist, weiß ich auch nicht, aber möglicherweise reicht es aus, wenn die dort vorgenommene Grundkonfiguration, also Modulbauweise, PCI-Support und ähnliches übereinstimmt.
Warum man nicht die aktuelle .config, die bei SuSE (EL9 ?) in den Kernel einkompiliert ist, verwendet, frage ich mich auch.

Gruß mima

stefan-h
07.12.06, 16:07
Hallo Habs für SuSE 9.2 zum laufendem Kernel kompiliert

1. cd /usr/src/linux
make mrproper
cp /usr/src/linux/arch/i386/defconfig.default /usr/src/linux/.config
Hab make ausgeführt bis 20 gezählt und abgebrochen.
4. Symbolic Link /lib/modules/2.6.8-24-default/build -> /usr/src/linux
5. Goto directory where the PROMISE driver source was located. und make

Verstanden hab ich's nicht warum, hat aber funktioniert