Sikerült a kernelfordításom?

Fórumok

Ezidáig mindig sikerűt megúsznom, elkerülnöm a kernelfordítást.... így semmi tapasztalatom egyedi "bütykölésű" kernellel.

Végül is sikeresen fordult le, működik is. Csak... honnét tudom, hogy ez így a legjobb, "közel hibátlan", és stabil.

Ha megy, működik az amit szerettem volna már kész is?

Hozzászólások

Ez a kérdés engem is érdekel.
Nekem is megy minden, de már egyre kevésbé érdekel, hogy a legjobb-e. Csak az, hogy minden jó.
---
--- A gond akkor van, ha látszólag minden működik. ---
---

10 Csinálnék valamit, azt tapasztalom, hogy a "gyári" (vagyis a disztribúcióval adott) kernel valamit nem tud.

20 Letöltöm a forrást (első körben a disztribúció kernelének forrását pontosan egyező patch szinttel) abban jellemzően egy konfigopciót módosítok, újrafordítom, rábootolok.

30 Megy, akkor elkezdek tesztelni, hogy az általam használt programok futnak-e. Igen, beengedem a felhasználókat (elkezdem használni).

40 Hibába ütközök. GOTO 20

esetleg nem elég egy konfigopciót, vagy feladom, és a gyári kernel helyett vanilla kernellel, azzal prdig a legfrissebbel, aztán ha úgy se megy, akkor belenyúlok.

mintegy 12 éve.

Minden egyes katasztrófális összerohadás és adatvesztés és/vagy betörés nélkül átvészelt nap ajándék :-)

hat ezert szar belenyulni a disztrib kernelebe.

Azt onnantol figyelhetem, hogy melyik vuln es patch erint engem, es ha erint, akkor ujraforditas, ujrateszteles. Ez igaz a pax-anyamkinja-hardened egyedi kernelekre is.

Nagyon sok a localroot jellegu hiba, vagy oops fix. Ezek nehany gepen (nincs local user, csak ismert feladatok) figyelmen kivul hagyhatok, marmint, miutan megallapitottam, hogy figyelmen kivul hagyhato...

"honnét tudom, hogy ez így a legjobb, "közel hibátlan", és stabil"

A fejlesztoknek erre megvan az evek alatt tokelyre csiszolt modszeruk: "ha lefordul, jo, ha bebootol, tokeletes!" :)

--
"You're NOT paranoid, we really are out to get you!"

1. Legújabb kernel letölt... http://kernel.org/
2. Kitömörget
3. make defconfig (Ebben az alapok benne vannak)
4. make; make modules; make modules_install; make install; mkinitramfs -o /boot/initrd.img-/verzio/ /verzio/;
5. bebootol megles megy-e vagy nem ha nem mi nem...

Oykawa Hirohito

Ez világos volt eddig is (nagy vonalakban).
Megy is minden, amit szerettem volna kb. (RTL8188CE bluetooth része nem megy, de ez nem zavar nincs szükségem rá. Igazából nem is én vettem észre.)

Van egy nagy rakás kombináció: modulba vagy bele. Ezeket végig kellene játszanom?
Tudom valahogy stresszezni, stressz tesztelni az általam előállított binárist?
Hagytam valami feleslegest a kernelben? Baj ha az ott van?

Nem bízom a saját bütykölésemben (pusztán csak kétségeim vannak). Viszont kell bütykölnöm, mert másképpen felfüggesztés után nem megy a netbookom.

Ha kernelpeccset készít az ember ugyanezen kernel.org-ról letöltött cuccal, akkor jó ha ezt teszem?

bunzip2 -cd patch-x.y.z.bz2 | patch -p1

...mert nekem ez lefutott, üzenet nélkül. A kérdésem csupán az, hogy ha eltte már volt a /usr/src/linux könyvtárban fordítás és utána adtam ki a peccset, amjd kernel újrafordít (clean nélkül), az jó-e? Vagy mindenképp kell clean, majd utána peccs, és akkor fordít? És akkor jön peccselés-üzenezt, hogy minden ok?

---
--- A gond akkor van, ha látszólag minden működik. ---
---

"amjd kernel újrafordít (clean nélkül), az jó-e?"

Ha csak módosítani akarod a configod,
1 kimented a .config fájlt
2 make clean
3 vissza a config fájlt
4 make menuconfig és itt lehet betölteni a már létező config tartalmát
5 hozzáadod vagy elveszed a kívánt részt és lefordítod, telepíted.

szerk.

ez azért jó, mert nem kell 0-ról kezdeni a confogolást

configot mindig mentem, hiszen végre jó.
A kérdésem inkább a patch-elésre vonatkozott, hogy azt mikor kell tenni és jó-e az, ha mindenféle üzenet nélkül jön egy prompt. Honnan tudom, hogy lefutott? diff-eljem az egész könyvtárstruktúrát?

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Tapasztalatom szerint, általában nincs olyan opció amit ne forgatnának valahogy be, azaz leginkább a kernel boot time paraméterezéssel be lehet állítani a kívánt opciót (lilo/grub).
Akkor merül fel a kernel forgatás, ha olyan eszközöd van, amit az adott kernel még nem tartalmaz. Ilyenkor pedig döntsd el mit akarsz, hogy a vas minden része működjön, vagy tovább "hajszolod" a mítikus biztonságot és vagy megbízhatóságot. Így is úgyis ütközhetsz hibákba, amit egyszer csak, majd így vagy úgy javítanak.
Kernel forgatásban eddig a "Linux kernel in a nutshell" volt a leghasznosabb - letölthető. Pl. amiről eddig nem esett szó, hogy a distrókban (a Debianban tuti) a bináris kernellel jön a .config is, ebből érdemes elindulni. A könyv pedig azt is leírja, hogy lehet egy régebbi, működő kernel konfigurációt alkalmazni az új frissebb kernelbe, hogy csak azzal foglalkozz ami új.
Szóval nézd meg működik-e a vasad, és ha igen használd, ha valami nem stimmel úgy is kiderül.

* Én egy indián vagyok. Minden indián hazudik.

Attól még, hogy működik, nem biztos, hogy optimális a konfig.
Sokat lehet tanulni abból, ha bebootolsz egy LiveCD-t és megnézed, hogy milyen modulokat tölt be meg hozzá a dmesg-et.
Illetve érdemes nézegetni a distro-k alap config-jait és olvasgatni hozzá a kernel opciók helpjeit.

Üdv:
Dw.

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

Gentoo-nál ugye "kötelező" a kernel fordítása. Én mindíg az alap konfigot választom, majd elkezdem kigyomlálni. Amiről nem tudm, hogy mi, de a fejlesztők bekapcsolták úgy hagyom (ami több mint 10 évnyi linuxozás után nem túl sok, és ott a help is). Egyébként többségében a distrok-hoz kitalált kernelekonfigok jó kompromisszumok. Amit érdemes átállítani (azért ne vár sebességduplázást, de némely alkalmazásnál észrevehető) az a cpu-beállítása, mert ha már úgyis újrafordítasz akkor miért ne használná a rá optimalizált részeket. Egyébként amit én elsőnek mindíg kiakpcsolok az a komplett tűzfal. Azért mert nem vagyok semennyire hálózati szakember, és inkább hardveres tűzfalat használok. Egy középkategóriás router tűzfala garantáltan jobb, mint amilyen fw-scriptet én bármikor is összeraknék. Bár a distrok többsége rendelkezik default script-el, de gentoo-ban kézzel kellene, de én inkább rászántam azt a 30eft-t, hogy ne kelljen.

------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.