[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Compilar kernel



En/na Josep Molero i Puig ha escrit:
> Hola a tothom, un altre cop.
> 
> Amb la vostra ajuda (i paciència) he pogut fer unes quantes coses
> interessants amb el meu Debian/GNU Linux.
> (Samba, NFS, CUPS, diskets d'arrencada ...)
> 
> Ara volia aprofundir una mica més... Per tot el que he estat llegint, sembla
> que compilar un nou Kernel (o altres fonts) és una cosa que tothom ha fet
> algun cop o altre i he decidit prova-ho.
> 
> He baixat unes fonts de kernel.org per compilar-les, a veure què tal.
> El meu kernel actual és el 2.4.27-2-386; és el kernel que venia amb la
> distribució de Debian que vaig baixar de la WEB.
> Faig servir GRUB com a gestor d'arrencada.
> 
> Les fons descarregades corresponen a la versió 2.6.13.2.
> Els passos que vaig seguir són els que he anat trobat tant al README dels
> sources descarregats com en les meves recerques diverse a Google.
> 
> Si hi veieu que falta alguna cosa, m'ho indiqueu.
> Agraïré qualsevol comentari !!!
> 
> ************** PROCÉS
> ***********************************************************
> 
> 1) Descarregar fonts.
> 
> 2) Descomprimir-les a /usrc/src/linux-2.6.13.2
> 
> 3) Fer un link dins de /usrc/src que apunta a linux-2.6.13.2; el nou link
> creat es diu linux.
> 
> 4) Dins de linux he creat una carpeta anomenada output
> (Això de la carpeta output és una recomanació; pots redirigir el resultat
> dels comandaments make a una carpeta designada a tal efecte... es fa servir
> el nom de carpeta passant-lo al make; així make o=/usr/src/linux/output )
> 
> 5) Entro a linux (o sigui, a /usrc/src/linux-2.6.13.2)
> 
> 6) make mrproper (per netejar no sé ben be què... aquí no vaig fer servir el
> paràmetre o=/usr/src/linux/output )
> 
> 7) make o=/usr/src/linux/output menuconfig (per crear la configuració de l
> kernel; el resultat el col·loca a output)
> 
> 8) make o=/usr/src/linux/output (per compilar el kernel;el resultat el
> col·loca a output)
> 
> 9) make o=/usr/src/linux/output modules_install (per compilar els mòduls;el
> resultat el col·loca a output)
> (Aquí tinc un dubte : en alguns llocs he vist "make modules", en altres
> "make modules_install install".
> NO SÉ ben bé què hauria de posar. Sembla que "make modules_install install"
> té alguna cosa a  veure ?? si fas servir LILO hi vols que te'l modifiqui.
> També he vist que en algun lloc abans del "make modules" feien "make dep".
> NO sé què sobra o què falta.
> 
> 10) Copio el nucli resultant (bzImage) a /boot/vmlinuz-2.6.13.2
> 
> 11) mkinitrd  -o /boot/initrd-2.613.2.img /lib/modules/2.613.2 (creo així un
> ram disk)
> 
> 12) Afegeixo una entrada nova al GRUB i re-inicio el PC.
> 
> 13) Utilitzo el nou nucli.
> 
> RESULTAT
> Diria que el sistema engega força més depressa.
> Veig algun missatge de que té problemes amb el mouse (tot i que el ratolí em
> funciona bé, molt lleuger diria jo)
> Té problemes amb la xarxa; no pot enviar peticions DHCP. (Com si no
> funcionés la targeta)
> Quan engego la sessió KDE, em viu que no pot inicialitzar el só.
> Si faig un cop d'ull a l'arrel i les seves carpetes, em sembla que va més
> lleuger.
> 
> CONFIGURACIÓ DEL NUCLI
> He de dir que el primer cop que vaig provar la compilació vaig fer servir un
> fitxer de configuració del nucli nou de trinca.
> No savia ben bè que era tot el que em demanava durant la configuració, tot i
> que algunes coses les tenia força clares.
> 
> Vaig suposar que els error eren deguts a que m'havia deixat alguna cosa per
> configurar.
> Vaig decidir que podria fer servir el fitxer de configuració del kernel
> actual (2.4.27-2-386) que sí que funciona bé (xarxa, só, ...)
> 
> El segon cop que ho he fet (el darrer) he fet servir el fitxer de
> configuració que portava la distribució Debian/GNU Linux.
> A la carpeta /boot hi ha el fitxer config-2.4.27-2-386; l'he copiat a la
> carpeta  /usrc/src/linux-2.6.13.2/output donant-li el nom de .config.
> Al engegar el programa de configuració del nucli "make o=/linux/output
> menuconfig" li dic que vull carregar un fitxer existent.
> Carrego el .config (que de fet és una còpia del /boot/config-2.4.27-2-386) i
> la única cosa que canvio és que el tipus de processador és un Pentium-4.
> No toco res més.
> Surto guardant els canvis i faig tot el procés de compilació que he detallat
> abans.
> El resultat és el mateix... no tinc xarxa ni só.
> 
A mi al principi també em feia por això de compilar un nucli, però és
molt més fàcil del que sembla.

Jo uso totes les eines que posà a disposició la Debian i que faciliten
molt la tasca.
En primer lloc, s'instal·la un paquet linux-source-2.x.x.x que et
deixarà un fitxer tar.bz2 a /usr/src. Si el descomprimeixes et posarà
les fonts a /usr/src/linux-source-2.x.x.x.

Una vegada tens les fonts descomprimides, les has de configurar. Hi ha
diverses maneres, pots emprar un fitxer de configuració existent que ha
de sobreescriure al fitxer .config de les fonts recent descomprimides, o
pots configurar-ho manualment amb make menuconfig (per interfície de
menú) o amb make xconfig (per interficie kde).

per compilar el make menuconfig necessites les llibreries de
desenvolupament de l'ncurses (libncurses5-dev), i per compilar el make
xconfig necessites les llibreries de desenvolupament del kde (crec que
kdebase-dev hauria de bastar)
Et recomana emprar la darrera ja que es molt més intuïtiva i disposa de
tota la informació necessària per saber quin mòduls triar.

En tercer lloc l'has de compilar, i d'això se n'encarrega automàticament
l'eina make-kpkg. Ara et resumiré les opcions més importants

--initrd (si crees una nucli que necessiti una imatge de ram inicial per
arrancar)
Si no estas incrustant tots els drivers necessaris al nucli, segurament
necessitis aquesta opcio

--append-to-version=
Per posar-hi una marca al nucli, per diferenciar-lo dels oficials, pensa
que per defecte val algo aixi com custom-1.0. Per tant val la pena
canviar-ho per algo més adequat

--revision=
Per assignar una versió (o revisio) al nucli, com 1.2, o les versions
que vagis fent.

Es poden construir 4 paquets a partir d'unes fonts: les capçaleres, els
binaris (aquests dos són dependents de l'arquitectura) i la documentacio
i les fonts(aquests no depenen de l'arquitectura)

Si fas un make-kpkg [opcions] binary-arch et construira els dos paquets
depenents d'arquitectura (el kernel-image i el kernel-headers)
Una vegada creats si els instal·les ja et quedaran integrats al gestor
d'arrancada automàticament.

Espero que t'hagi sigut d'ajuda, si tens qualque dubte torna a preguntar.
> 
> 
> 
> 
> 
> 
> 



Reply to: