Construirea kernel-ul și posibilele probleme în timpul asamblării.
Și de ce ai nevoie pentru a colecta propriul nucleu? Cu kernel-ul standard, - GENERIC funcționează cele mai multe bucată de fier, toate programele. Dar - în generica nu acceptă un firewall, acesta este un non-optimizate pentru nevoile dumneavoastra. Și glandele suplimentare nu e prea mult, de ce aveți nevoie de o secțiune referitoare la controlerul SCSI dacă nu? Și aproape două duzini de modele de plăci de rețea atunci când pe un server sunt doar două sau trei, și chiar un model? Movilă de procesoare diferite - de la i386 la P-IV și AMD K7 - într-adevăr ceva în valoare de doar un procent. Mai este nevoie să recompilați kernel-ul atunci când noi vulnerabilități. Acest lucru nu se întâmplă atât de des, dar toate greșit. Inclusiv cei care fac FreeBSD.
Da, desigur, nu exclude posibilitatea ca arde mama și să aibă o schimbare greu de la o altă mașină - atunci nu vor fi probleme - daca masina veche a fost P-III și din miez au fost eliminate toate celelalte procesoare, apoi la cealaltă mamă - de exemplu, un frya K7 chiar poate nu boot-eze, să nu mai vorbim de funcționarea normală. Și dacă trebuie să înlocuiți, de exemplu, placa de retea, cu diferite modele - va trebui să recompilați kernel-ul. Dar - nucleul de mașini moderne pentru a reconstruit cu 5 minute, maxim 7. Și pentru a crește viteza mașinii este în valoare de ea pentru a zamorochitsya o dată și de a optimiza miezul.
Deci trebuie să aveți instalat codul sursă recompilarea kernelului. verifica:
Dacă observați o astfel de imagine, e tot acolo. Dacă directorul / usr / src nu este nimic - este necesar să le livreze de pe disc de instalare. Noi facem în acest fel:
Acum, că sursa kodya setul kernel, continuați cu fișierul de configurare a kernel-ului de editare.
În cazul în care i386 configurația mașinii - și acest lucru este 80386, 80486, 80586 (primele trunchiurilor), P-II, P-III, P-IV, AMD K5, AMD K6, AMD K6-II, AMD K6-III, AMD K7 ( Duron, Athlon, Sempron) face același lucru ca și mine. În cazul în care arhitectura este diferit - apoi, în directorul / usr / src / sys / sunt în căutarea pentru arhitectura pe care le aveți și să-l acțiune similară :) Arhitectura poate fi văzut, după încărcare astfel Makar:
Mai multe informații despre arhitectura pot fi găsite pe fișierul www.freebsd.org sau /etc/defaults/make.conf. Pentru el, de altfel, ne vom întoarce. Probabil, a apărut întrebarea, de ce eu sunt atât de pervertit copiat fișierul GENERIC - să nu uite data când am fost o fac. Aici este fișierul meu de configurare kernel-ului:
Când instalarea se uita la /
Nucleul a fost mai mică decât aproape sa triplat. comanda de oprire din Repornirea -r acum. și verificați dacă totul funcționează corect. Trebuie să iau totul este în regulă, cu excepția abuzului de aplicații individuale la protocolul IPv6 lipseste - acest subiect este necesar să se sape configs lor, sau pur și simplu scor (dar aceasta este metoda greșită!).
Acum, ia în considerare posibilitatea ca ai nepoluchilos ceva. În cazuri simple, de exemplu, rețeaua nu funcționează - trebuie doar să modificați configurația și recompilați kernel-ul. Acest lucru se poate face la nivel local, și de a lucra :) mult timp într-o versiune mai sofisticată - frya nu boot deloc - acest lucru este foarte posibil, dacă sunteți pe ceva mână fierbinte amputat util - cum ar poderzhku SCSI-controler pe care atârnă șuruburile, sau sistemul de fișiere chiar amputată de la De multe ori miezuri :) si astfel. Prea, nu pierde capul, problema este rezolvată relativ simplu - este necesar să boot-eze vechiul nucleu reconstrui și reinstalați unul nou. La momentul încărcării, atunci când există o 10 secunde numărătoare inversă (am, de modul în care, 2 secunde :)) este necesar să se facă ceea ce el cere - apăsați orice klavischu cu excepția [Enter], eu, unul, am apăsați pe „Esc“ :
Ca rezultat vom obține o invitație la încărcător. Vă sfătuiesc să faceți cunoștință cu lista de comenzi - acestea sunt destul de mici, iar timpul va dura un pic. Acum, o nouă descărcare de memorie kernel-ul pentru a încărca un GENERIC (sau vechiul nucleu în cazul în care aparatul la un anumit set de fier non-standard), și încărcați sistemul de operare:
După descărcarea unui nou nucleu și încercați din nou.
porstroil 2 servaka mulțumiri lissyare doar înșurubat tot drumul prin ipfw și se rulează acum la somn de noapte bine
#options ATA_STATIC_ID #Static numerotare dispozitiv
nbsp nbsp nbsp nbsp Dispozitivele de numerotare statice nbsp #
nbsp nbsp nbsp nbsp nbsp # (m-am gândit că este întotdeauna
nbsp nbsp nbsp nbsp nbsp # statică)
nu exact. de exemplu, există două șuruburi 1st conectate la primul aparat de comandă de master, 2 la al doilea controler de master.
respectiv primul ad0xx bedet. iar al doilea ad2xx.
Ieri am dat peste un astfel de grebla, l-am făcut în ordine, a devenit ad0xx, ad1xx
și într-un fel șurub. care a fost în loc ad2xx -> ad1xx, nu putea nici mers pe jos primentirovat sau fsck. El a adăugat pe caseta de la miezul, reconstruit, totul a fost OK.
Izvenyayus pentru întrebarea lame. Cum pentru a vedea ce placa de rețea instalată în sistem sau modul în care aceasta corespunde cu configurarea kernel-ului.
Când bootezi alunecat unele PCI Net, dar într-un astfel de fișier hartă nebylo, așa că am zakomentil toate setevuhi. După toate manipulările, acest card este pierdut, iar rețeaua a încetat să funcționeze. Subminată sub VMWare cu 6.2.
Ei bine, de fapt, mona uite ifconfig
pe vmvare MNU lnc0
dar încă o mulțime de lucruri inetersno dmesg display-uri;)
Nevoia de a FreeBSD 6.x încă
Dispozitiv aleatoriu # dispozitiv entropică
plece, deoarece nu va rula ssh
prng nu este însămânțat
> M-am ciocnit cu trabbloy - reconstruit miezul - și el> jură. Vechi nu este încărcat. Sa dovedit că în fișierul fstab> este scris / dev / ad4s1b după recompilarea> a fost / dev / ad0s1b
> #options ATA_STATIC_ID #Static numerotare dispozitiv
> nbsp nbsp nbsp nbsp Dispozitivele de numerotare statice nbsp #
> nbsp nbsp nbsp nbsp nbsp # (m-am gândit că este întotdeauna
> nbsp nbsp nbsp nbsp nbsp # statică)
Aceasta a condus la eroarea descrisă
pornind de la
# PCI Ethernet NIC-uri.
la
Dispozitive # Pseudo - numărul indică cât de multe unități.
Nu toate același card Aironet WiFi. ;)
psm0 dispozitiv la atkbdc? IRQ 12 nbsp nbsp # mouse PS / 2
Este mai bine să se întoarcă și să adăugați
opţiuni de SC_TWOBUTTON_MOUSE
Apoi, mouse-ul în consola poate selecta, copia, și lipiți text.
În articolul din anumite motive nu au specificat modul de a compila kernel-ul dvs., în cazul în care sursa nu este instalat întregul sistem, dar numai kernel-ul.
cd / usr / src / sys / i386 / conf
1.
Rulați config (8) pentru a genera sursa kernel.
Navigați la directorul în care pentru a asambla miezul. Lansat așa cum se arată mai sus, config (8) va afișa numele directorului.
Pentru versiunile anterioare FreeBSD 5.0, utilizați în schimb:
# Asigurați-vă depind
# make
Instalați noul kernel.
# Make install
Luate de la hendbuka, dar acum ei ajunge acolo, din motive necunoscute, deși adevărat. Ei bine, mă simt ca traficul și deșeurile de pe internet pentru a pompa toate sursele, iar al cincilea punct al rupturii scaun la disc pentru a ajunge la pauzele de server.
Am făcut totul așa cum scrie în articol, dar după asamblare:
# Cd / boot
# Ls -l | grep Kern
drwxr-xr-x 2 roți rădăcină 9728 26 iulie 16:57 kernel
drwxr-xr-x 2 roți rădăcină 9728 26 iulie 15:54 kernel.GENERIC
drwxr-xr-x 2 roți rădăcină 9728 26 iulie 12:32 kernel.old
Din anumite motive, nu a diminuat.
Acesta devine mai puțin un factor de 2
> N-am văzut liniile avute în
> Aparate #Pseudo
> Dispozitiv aleatoriu
Procedura este descrisă pentru ramura 4.x
Intamplarea a apărut mai târziu
Pentru a doua ramură pentru a vedea orice caracteristici. A treia zi este o scriere de configurare, citiți mai multe detalii despre unii ar dori să aibă opțiunea, și poate fi văzut ceva nou, nu există nici implicit în GENERIC. ) Poate de referință parts cineva?
Respect și uvazhuha :)))))
Hammer lisyara răcoarea Tipule, mai mult pentru aceste site-uri, iar viata incepe de administrator ar fi mai ușor.
Mă alătur doar rândurile gratuit și site-ul meu este foarte util.
Great doar pentru a compila kernel-ul.
Dare pe lisyara
Sistemul Pereustnavlival de la distanță prin SSH.
Înainte de a merge la repornire, este necesar să se adauge și să configurați reguli de rezolvare a firewall AJ el însuși, bine, eu sunt doar de învățare, astfel încât să înceapă pentru 6.2 rc.conf a făcut-o deschis.
este în cazul în care kernel-ul a fost reconstruit cu sprijinul artificii ..
mai mult ar trebui să acorde o atenție la / etc / fstab
în special, în cazul în care otdetektila ca sistemul după instalarea șuruburilor / dev / ad4 s. după reconstrucție este probabil că vor fi ca / dev / ad0 s.
În ramura 7yu
opțiuni nbsp TCP_DROP_SYNFIN nbsp
deja integrat în mod implicit.
#device atapifd # ATAPI unitate floppy
nbsp nbsp nbsp nbsp nbsp # floppovody conectat la ATA
nbsp nbsp nbsp nbsp controler # nbsp (pentru prima dată pe o astfel
nbsp nbsp nbsp nbsp # Nbsp învățat de la configurarea kernel-ului)
Acest magneto - toate acolo ZIP-uri, etc. Confruntați cu o astfel și să le plante în Phrae (cvartet simulative este pornit).
Cineva de pe placa de rețea în VMWare srpshival - în Phrae 7.0 (poate in 6.3) LNC mai. Acesta a înlocuit Le.
> Kernel pe mașinile moderne refacute cu 5 minute, un maxim de 7
pne4 la 1,5 GHz compilat kernel generic fără a edita uneori mai mult decât acest lucru.
în handbuke spune: „Dacă doriți să actualizați un nucleu mai rapid sau pentru a construi doar module personalizate, ar trebui să editați /etc/make.conf înainte de a începe să construiască kernel-ul.“
în mod evident, este necesar să se sape aici.
unul dintre guru va explica începător în Phra potolkovee.
# Versiunea completa este /usr/share/examples/etc/make.conf
#
#
CFLAGS = -O2 -pipe
#
# MODULES_WITH_WORLD = da
CPUTYPE? = I686
# COMPAT4X = da
#
# Pentru a interzice asamblarea unor părți ale sistemului de bază:
NO_ATM = true # nu a construi programe și biblioteci legate de ATM
NO_BIND = true # nu colectează BIND
# NO_BLUETOOTH = true # nu a construi lucruri legate de Bluetooth
NO_FORTRAN = true # nu a construi G77 și bibliotecile asociate
NO_GAMES = true # nu construi jocuri (jocuri / nosubdir)
NO_I4B = true # nu colectează isdn4bsd pachet
NO_INET6 = true # nu a construi programe și biblioteci legate de IPv6
NO_IPFILTER = true # nu a construi pachet IP Filter
NO_LPR = true # nu a construi programe LPR și conexe
NO_NIS = true # nu a construi sprijin NIS și programe similare
NO_OPENSSL = true # nu a construi OpenSSL (presupune NO_KERBEROS / NO_OPENSSH)
# NO_PF = true # nu construi pachet firewall-PF
# NO_PROFILE = true # Nu compila biblioteci pentru profiler
NO_RCMDS = true # nu a construi sau a instala BSD R * comenzi (RSH, etc).
NO_SENDMAIL = true # nu a construi programe sendmail și conexe
NO_UUCP = true # nu a construi programe uucp și similare
# Utilizați OpenSSL din port, nu de la baza
WITH_OPENSSL_PORT = da
# Set wget în loc de fetch
FETCH_CMD = / usr / local / bin / wget -c --tries = 3 --timeout = 60
# FETCH_CMD = / usr / bin / fetch -a
DISABLE_SIZE = da
Am oferi propria problemă de ce această eroare valiTso
Pomagite cine stie! freebcd 7.0
Oprește în / usr / src.
*** Cod de eroare 1
Adăugați lotiune util pentru a instala kernel-ul (pentru probleme mai mici, pe servere la distanță de lucru)
face installkernel KERNCONF = testul INSTKERNNAME = kernel.test
nextboot -k /boot/kernel.test
pentru a pune miezul într-un /boot/kernel.test/ de lucru nereinscriptibil.
cd / usr / src / sys / amd64 / conf /
cp GENERIC ROUTER
ee ROUTER
bine
cd / usr / src /
PWD
/ Usr / src
bine
face buldkernel KERNCONF = ROUTER
face: nu știu cum să facă buldkernel. stop