Fedora 7 kernel fordítás (help!)

Üdv, kezdő linuxosként szembesültem azzal a problémával hogy Fedora alatt még nem fordítottam kernelt. Azért volna erre szükségem, mert működésbe szeretném helyezni a PCMCIA Wireless Lankártyámat, és úgy olvastam, hogy a kernelben van hozzá natív driver (p54u, ha jól gondolom).

Egyedül nem merek nekiállni, ezért kérnék segítséget ha valaki tud...

Előre is köszi!

Hozzászólások

Szóval... csak hogy biztosan jól értek-e mindent... letöltöm innen
http://download.fedora.redhat.com/pub/fedora/linux/updates/7/SRPMS/

ezt
kernel-2.6.22.4-65.fc7.src.rpm

felteszem, és akkor végre valahára nem lesz üres a /usr/src/ könyvtáram? erről van szó? És onnantól meg make menuconfig stb stb? ...

(Köszönöm az eddigi segítségeket)

Ha a /usr/src még üres, akkor kellenek neked előtte ilyenek:
yum install rpm-build rpm-devel
(Lehet, hogy az rpm-build elég lesz.)

Utána pedig

rpm -i kernel-2.6.22.4-65.fc7.src.rpm
cd /usr/src/redhat/SPECS

[ kernel-2.6.spec buherálása ]

rpmbuild -ba kernel-2.6.spec --target i686

Ha a menuconfig-ban akarsz turkálni, az már macerásabb, fejből csak körülberülre tudom leírni:

rpmbuild -bp kernel-2.6.spec --target i686
cd ../BUILD/kernel.../linux...
make menuconfig
make vmlinuz dep modules install modules-install

.rpm-et csinálni "make menuconfig" után még macerásabb. Azt fejből már nem tudom leírni, pedig én saját kernelt használok, így mindig .src.rpm-ből frissítem.

1. kicsomagolod a /usr/src-be a tar xjf linux-2.6.x.y.tar.bz2-t
2. cd linux-2.6.x.y
3. make menuconfig
4. make { ha többmagos vagy ht procid van akkor -j (CPUk_szama+1) } rpm-pkg
5. cd ../RPM?/_arch_/
6. rpm -i kernel_neve.rpm

/*
kellenek:
gcc
buildessentials
libncurses5-dev
*/

most hirtelen ennyi

Nekem mindig igazam van, ha nem, akkor nincs igazam, szoval megint igazam van hogy nincs igazam.
debian 4.0 - linux-2.6.22.3-pancs1-wifi1 - 2.6.22.3 kernel madwifivel itt

régebben fedora alatt megcsináltam, igaz nem vanilla kernellel, az igaz, hanem gyári forrással, de egy csomó dolgot kiszedtem.

szerk.:
[off]
és akkor Linusék hogy tolják? Mert kötve hiszem, hogy _stock rh_ kernellel tolnák...
[/off]

Nekem mindig igazam van, ha nem, akkor nincs igazam, szoval megint igazam van hogy nincs igazam.
debian 4.0 - linux-2.6.22.3-pancs1-wifi1 - 2.6.22.3 kernel madwifivel itt

az fc6 -on meg nagyjabol igy ment, sztem az f7-en is.

letoltod az fedora mirror SRPM konyvtarbol a kernelsource rpm -et.
rpm --install kernel-2.6.xx.blablabla.src.rpm
cd /usr/src/redhat/spec
rpmbuild -bp --target=i686 kernel-2.6.spec
cd ../BUILD/kernel-2.6.xx
ls -s kernel-2.6.xx.i686 /usr/src/kernels/linux
cd /usr/src/kernels/linux
(szerk) opcionalis :
mv .config .config.old
cd configs
cp kernel-2.6.xx-i686-xen0.config ../.config
cd ..
(/szerk)
make menuconfig
make; make modules; make modules_install; make install

elotte checkeld, a glibc-devel csomag mindenkeppen fentkell legyen.
(rpm --query glibc-devel)

először is köszönöm mindenkinek a hozzászólásokat. Sokan sokfélét mondanak, de megszoktam hogy ez így szokott menni. Kedves tibyke! Igen, olvasok mindent amit írsz és amit mások írnak... elvégre én vagyok az aki választ vár a sz**s kérdésére ami sokak számára talán triviális, szégyenlem hogy nekem nem az.

Megpróbáltam betölteni a modult, de nem tudom pontosan a modul nevét sem... Már elég régóta kutatok azután hogyan is tehetném űködőképessé a WiFi kártyámat, és a következő linkhez jutottam végül: http://prism54.org/
Elvileg ez tartalmazza a drivert ami nekem kell és elvileg része a kernelnek. Úgy tudom a modul neve p54u, de ezt a modprobe nem tölti be.

Meg lehet hogy magának a PCMCIA csatolómhoz is be kellene tölteni valamit, és a lankártyámhoz is... Nem tudom. Sajnos nem tudom.

a csatolóm egyébként Texas Instruments PCIxx21/x512 Cardbus Controller
a lankártya meg amit használni szeretnék AMD Am 1771 MBW

Kedves hokuszpk! Örülök hogy te legalább nem kötekszel azért hogy miért akarok kernelt fordítani. Szeretem mélyen megismerni a dolgokat mégha ez nehéz akkoris. Gentoo alatt már gond nélkül fordítottam kernelt több ízben is, gondolom ezért csodálkozik is sok ember hogy Fedora alatt nem megy, nem tudom, talán lassú a felfogásom... Ubuntu alatt is próbáltam, majdnem sikerült is, de valamiért a modules_install nem futott le.. de ez egy másik történet. Én szeretnék megismerni minél több disztribet, minél alaposabban, és ha választok valamelyik mellett azt szilárd tényekre és konkrét tapasztalatokra szeretném alapozni. Nagyon érdekelnek a UNIX alapú rendszerek, nagyon érdekelnek az operációs rendszerek úgy nagy általánosságba véve, de ennek a megismerésnek csupán a legelején tartok...

Csak ennyit akartam. Mindenkinek köszönöm a türelmét.
Hogyha valaki érdemben szeretne nekem segíteni, esetleg felvehet MSN-en, talán ott gyorsabb és közvetlenebb (pred_master@axelero.hu). De természetesen örömmel várom továbbra is a hozzászólásokat!

Sziasztok.

(U.I.: Sajnos nagyon is valószínűleg tartom hogy az információ miszerint a kártyám megy a Prism54 driverrel fake, de tényleg lövésem sincs hogy üzemelhetném be... Szidom a gyártókat hogy egy nyavajás linuxos drivert nem tudnak kiadni... A gyári CD-n csak windowshoz volt driver, de az is régi (2003) és bugos...)

hali, ha szeretsz beta cuccokkal pöcsölni akkor ezzel a kernellel csináld:
http://git.kernel.org/?p=linux/kernel/git/linville/wireless-2.6.git;a=s…

(ehhez maj fel kell raknod a git-et, amivel le tudod szedni a kernel-t)

Nekem mindig igazam van, ha nem, akkor nincs igazam, szoval megint igazam van hogy nincs igazam.
debian 4.0 - linux-2.6.22.3-pancs1-wifi1 - 2.6.22.3 kernel madwifivel itt

Egyenlőre örülni fogok ha minden úgy működik végre ahogy kellene, de köszönöm majd megpróbálom:) Elsősorban azért szenvedek a kernellel most is, hogy a gépemhez legyen igazítva. A Linuxban pont az az elegáns hogy ezt megtehetem vele... :) (szóval nem puszta passzióból meg kísérletezési vágyból.. nincs semmiféle ilyen irányú perverzióm..:P)

Szia. Szerintem nem lesz nagy szerencséd azzal a kártyával.

Bár az Ndiswrapper oldalán van egy ilyen bejegyzés a támogatott eszközöknél:

#
Card: Sitecom WL-011 v2

*
Chipset: AMD AM1771
*
Driver: http://www.smc.com/files/AQ%5CDR_SMC2602Wv3_2_5.zip
*
Other: This driver works only with 2.6 kernels with preemption enabled (tested with vanilla 2.6.15 and 2.6.16 kernels with preemption enabled). Works with ndiswrpper 1.12 with WPA-PSK + TKIP.

Esetleg még ide is vess egy pillantást.

Ha mégis megpróbálkozol az ndiswrapperrel, és elakadsz, akkor írd meg, mi a probléma.

Pár tipp: én a gyári fedora kernelt nem piszkálnám, ha nem muszáj. (Persze te tudod. Ha tanulni akarsz, arra biztos jó a saját, ha inkább csak használni, akkor javaslom maradj a gyárinál.)

Ha modprobe után beírsz egy (vagy néhány) betűt, és tabot nyomsz, akkor ugyanúgy kiegészíti ha talál illeszkedő modulnevet, mint a parancsoknál vagy a fileneveknél. Érdemes megpróbálni, ha adott modult akarsz, mert fedoráék néha átnevezgetik a modulokat.

Csaba

Hokuszpk!

Megakadtam a leírásodban... itt:

ls -s kernel-2.6.xx.i686 /usr/src/kernels/linux

egyrészt a
/usr/src/redhat/BUILD/kernel-2.6.22/
könyvtárban nincsen
"kernel-2.6.22.i686" fájl vagy könyvtár... helyette van
"linux-2.6.22.i686" , belenéztem, és logikusnak tűnt hogy akkor arra gondoltál...

de a "ls -s ./linux-2.6.xx.i686 /usr/src/kernels/linux parancsra csak kilistázza a linux-2.6.22.i686-ot és nem igazán értem miért. a /usr/src/kernels/linux pedig nem létezik és nem hozza létre... de ha jól vágom akkor most épp azt kellene csinálni hogy létrehozok egy linux nevű softlinket ami a
/usr/src/redhat/BUILD/kernel-2.6.22/linux-2.6.22.i686 -ra mutat?

(közben létrehoztam a szimbolikus linket MC-vel... remélem nem csinálok hülyeséget:D)

Hm.. valami nem stimmel de nem tudom mi... igyekeztem úgy csinálni ahogy hokuszkp írta, de a make menucofig errorral reagál:

[root@trent linux]# make menuconfig
HOSTCC scripts/kconfig/lxdialog/checklist.o
In file included from scripts/kconfig/lxdialog/checklist.c:24:
scripts/kconfig/lxdialog/dialog.h:32:20: error: curses.h: Nincs ilyen fájl vagy könyvtár
In file included from scripts/kconfig/lxdialog/checklist.c:24:
scripts/kconfig/lxdialog/dialog.h:97: error: expected specifier-qualifier-list before ‘chtype’
scripts/kconfig/lxdialog/dialog.h:187: error: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:194: error: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:196: error: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:197: error: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:198: error: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:199: error: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:201: error: expected ‘)’ before ‘*’ token
[..]
stb stb...
[..]
make[1]: *** [scripts/kconfig/lxdialog/checklist.o] Error 1
make: *** [menuconfig] Error 2

Ilyenkor mit szúrtam el?:D :S

igazad van Duri, nekem is feltűnhetett volna hogy az ln akar lenni.. :D de a memóriám nem túl jó... de megoldottam az a lényeg:)

az ncusres fenn volt már, de a devel csomag hiányzott, feltettem és megoldotta a problémám. köszönöm szépen :)

(Amúgy elmesélné valaki mi is ez a két csomag?:D)

Sikeresen megkezdtem a kernel fordítását, bár nem voltam 100%-ig biztos benne hogy megtaláltam a nekem szükséges drivert... mindenesetre kiszedtem mindent ami fix hogy nem kell, Y-t nyomtam mindenre ami fix hogy kell, M-et nyomtam mindenre ami nem fix hogy kell, amiről meg nem értettem helppel sem hogy micsoda, azt meg hagytam úgy ahogy volt...

a
$ make; make modules; make modules_install; make install
parancssorozat biztos hogy frankó lesz?? Emlékeim szerint valaki azt tanácsolta nekem még gentoo alatt hogy a kernel fordítást mindíg kezdjem make clean-el (ha jól emlékszem...) később meg a
$ make all
parancs megoldotta a többit:)

(jah és utána nem jön létre elvileg egy image fájl amit be kell másolnom a boot partícióra, és a grubban valamit konfigolni??? csak mert Gentoonál kellett de ott Lilot használtam és Grubbal nem tudom hogyan megy...)

SEGÍTSÉG A MAKE HIBÁVAL LEÁLL!!4!

[root@trent linux]# make
CHK include/linux/version.h
CHK include/linux/utsrelease.h
CALL scripts/checksyscalls.sh
CHK include/linux/compile.h
CC [M] fs/squashfs/inode.o
fs/squashfs/inode.c: In function ‘squashfs_get_cached_block’:
fs/squashfs/inode.c:372: warning: implicit declaration of function ‘set_current_state’
fs/squashfs/inode.c:372: error: ‘TASK_UNINTERRUPTIBLE’ undeclared (first use in this function)
fs/squashfs/inode.c:372: error: (Each undeclared identifier is reported only once
fs/squashfs/inode.c:372: error: for each function it appears in.)
fs/squashfs/inode.c:374: warning: implicit declaration of function ‘schedule’
fs/squashfs/inode.c:375: error: ‘TASK_RUNNING’ undeclared (first use in this function)
fs/squashfs/inode.c:404: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
fs/squashfs/inode.c: In function ‘release_cached_fragment’:
fs/squashfs/inode.c:500: error: ‘TASK_UNINTERRUPTIBLE’ undeclared (first use in this function)
fs/squashfs/inode.c:500: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
fs/squashfs/inode.c: In function ‘get_cached_fragment’:
fs/squashfs/inode.c:531: error: ‘TASK_UNINTERRUPTIBLE’ undeclared (first use in this function)
fs/squashfs/inode.c:534: error: ‘TASK_RUNNING’ undeclared (first use in this function)
make[2]: *** [fs/squashfs/inode.o] Error 1
make[1]: *** [fs/squashfs] Error 2
make: *** [fs] Error 2

a make install elvileg megcsinalja a grub konfigot, bemasolja a /boot -ba a kernelt, es meg az mkinitrd -t is lefuttatja.
gondolom a make all is jo megoldas, de hat enmar csak ilyen hatulgombolos vagyok.

esetleg egy
rpm -qa |grep devel kimenetet tudnal ide passzintani ? lehet valami devel csomag meg mindig hianyzik, talan kiszurjuk. Esetleg a glibc-kernheaders -t is hianyolhatja.

Én segítséget kértem. És azt hiszem normális módon tettem. Az okosságokat Te írod. Hogyha nem akarsz segíteni, egyszerűen ne írj. Ilyen antiszociális hozzáállással mint a tied, ló***r se lenne a füldön nem hogy GNU...

Sajnos nem... de továbbra is a kernel fordításával próbálkozom... elképzelésem szerint maga a PCMCIA Bus sem funkcionál, így szerintem pusztán a modulok töltögetése kevés...

most azt próbáltam hogy csináltam egy
$ make dep; make clean

parancsot, majd a depre kiírta hogy most nem szükséges, folytatta a make cleannel, lefutott, okés...

ezek után
$ make zImage

ez futott nekem jó sokáig, majd leállt. Ez a vége:

CC net/wireless/nl80211.o
net/wireless/nl80211.c:948: error: variable ‘nl80211_config_mcgrp’ has initializer but incomplete type
net/wireless/nl80211.c:949: error: unknown field ‘name’ specified in initializer
net/wireless/nl80211.c:949: warning: excess elements in struct initializer
net/wireless/nl80211.c:949: warning: (near initialization for ‘nl80211_config_mcgrp’)
net/wireless/nl80211.c: In function ‘nl80211_notify_dev_rename’:
net/wireless/nl80211.c:967: error: invalid use of undefined type ‘struct genl_multicast_group’
net/wireless/nl80211.c: In function ‘nl80211_init’:
net/wireless/nl80211.c:991: warning: implicit declaration of function ‘genl_register_mc_group’
make[2]: *** [net/wireless/nl80211.o] Error 1
make[1]: *** [net/wireless] Error 2
make: *** [net] Error 2

mi lehet a hiba?

kurva sok minden.

De miböl gondolod, hogy a gyári kernel rossz ?

make config -ot csinaltal, make menuconfig, make xconfig .. etc.

Érdemes lehet /proc/config.gz kicsomagolni , vagy a /proc/config ot alapul venni, és bemásolni kernel forrás könyvtárába .config néven. Majd make oldconfig után, belítani azt amit kifelejtettek (ha tényleg kifelejtették).

Biztos vagy benne, hogy pcmcia bus -hoz szügséges modulok nem lesznek kernel forgatás nélkül ? Konkrétan melyik hiányzik ?

http://tuxmobil.org

tényleg turul, prism-hez nem kell fw-t leszedni és bemásolni a megfelelő helyre? (mert egyes kártyáknál kell, csak azt nem tudom, melyikeknél)

Nekem mindig igazam van, ha nem, akkor nincs igazam, szoval megint igazam van hogy nincs igazam.
debian 4.0 - linux-2.6.22.3-pancs1-wifi1 - 2.6.22.3 kernel madwifivel itt

Turul, ha azt kérded milyen kártyám szeretném hogy működjön fentebb már írtam de akkor itt van, ne keresd:)

Advanced Micro Devices [AMD] Am 1771 MBW [Alchemy]

és ő a köv. PCMCIA Busban csücsül:

Texas Instruments PCIxx21/x515 Carbus Controller

Igazság szerint az a tippem hogy egyik se funkcionál jelen pillanatban, szóval nem csak a WiFi driver a hiba. De valójában foggalmam sincs hogy milyen driver való hozzá. Egy haveromtól kaptam a tippet hogy szerinte Prism, hogy honnan szedte azt nem tudom, ezen a fórumon meg van egy másik post ugyan ilyen kártyával és az illető talált 2.4-es kernellel működő drivert, de az oldal nem angol nyelvű, nem értek semmit.

ha igy folytatod, akkor nagyon gyorsan elbreakeled majd a rendszert
you have been warned

vegyel egy mac-et, ha nehez felfogni, hogy eleg betolteni a megfelelo modult es konfogolni

amugy hiaba csinalsz kompaktabb kernelt, nem lesz gyorsabb, csak maga a fajl lesz kissebb a lemezen

--
I think the major good idea in Unix was its clean and simple interface: open, close, read, and write.

Kedves Repleaced

Úgy tanul az ember ha kérdez. Meg ha párszor elbreakeli a rendszert. Ezt még az oktatóm is megmondta az egyetemen...

"Aki meg akar tanulni Unix rendszereket kezelni, az gyalulja le a windowsát és tegyen Linuxot. Ha feltetted a Linuxot, és minden működik... rossz Linuxot tettél fel. Tegyél fel egy régebbit. Olyat amivel sokat kell szenvedni. Mondjuk egy régebbi Debiant, vagy Gentoot. Ne tegyetek SUSE-t. Aki SUSE Linuxot használ, meg-fog-bukni. Előtte persze mentsetek minden fontosat ki egy DVD-re vagy többre, mert bizony az első ami történni fog hogy elszáll majd az egész..."

Körülbelül így hangzott el mindez by Maulis Ádám... És én raktam Gentoot, többízben, és nem is működött elsőre... Másodikra se... Harmadika is csak úgy hogy egy felsőbbéves segített... Aztán mivel akartam valamit amit használhatok is, mert NEM AKAROK windowst, gyűlölöm, látni sem szeretném, ezért raktam fel Ubuntut.. Na a Gentoohoz képest az kb SUSE... feltettem és működött... De a WiFim ott sem, és nem tudom hogy kell megcsinálni mert nem értek hozzá. Kezdő vagyok. És megbuktam Unixból... Kétszer. (szeptemberben az utolsó esélyem.)

Hogy miért buktam meg? Csupán mert nem adtam le időben a bash scriptemet... Első esetben meg sem írtam, második esetben meg 7 órával túlcsúsztam a beadási határidőn... De érdekel. Szeretem a Unixot. Béna vagyok, de szeretem. És meg fogom tanulni. Szóval?

(Bocs ez megint hosszú off volt...)