Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[BSD] Budowa i instalowanie jądra FreeBSD


Xyli

Rekomendowane odpowiedzi

Opublikowano

Budowanie i instalowanie indywidualnego jądra FreeBSD

Rytuał, który każdy użytkownik BSD doświadczyć powinien.

 

Na wstępie pragnę zaznaczyć, że korzystałem tylko i wyłącznie z handbooka (link na końcu tematu).

 

1. Co to jest jądro?

Jądro jest rdzeniem tego systemu operacyjnego. Odpowiedzialne jest za zarządzanie pamięcią, kontrolę dysków, sieci, wymuszanie kontroli bezpieczeństwa. Podczas, gdy coraz więcej elementów FreeBSD jest konfigurowanych dynamicznie, czasem jeszcze może zajść potrzeba przekonfigurowania i przekompilowania jądra np. w wypadku instalacji firewalla IPFW.

 

1.1. Po co budować jądro?

FreeBSD tradycyjnie miał jądro, które nazywa się monolityczne, czyli jeden ogromny program, który wspierał określoną liczbę urządzeń. Jeżeli trzeba było dodać nowe urządzenie trzeba było skompilować nowe jądro i uruchomić z nim ponownie komputer.

Teraz, FreeBSD, funkcjonalność jądra zawiera się w modułach, które można dynamicznie aplikować i usuwać. Umożliwia to jądru szybkie przystosowanie zaraz po rozpoznaniu urządzenia. Pozwala też zwiększyć funkcjonalność, której nie miało oryginalne jądro.

Pomimo tego, czasem trzeba wprowadzić do jądra statyczne zmiany. Na przykład w sytuacjach, gdy kluczowe funkcje jądra zostają zmieniane, nie jest możliwym załadowanie dynamicznie ładowalnego modułu. Możliwe też, że jeszcze odpowiedni, dynamicznie ładowalny moduł, nie został napisany.

 

1.2. Jakie korzyści otrzymamy z budowy jądra?

  • System operacyjny uruchamia się znacznie szybciej od kiedy jądro będzie sprawdzało tylko sprzęt, który mamy.
  • Mniejsze zużycie pamięci RAM (opcja ta przydaje się na komputerach z małą ilością tejże pamięci).
  • Więcej wspieranych sprzętów np. karta muzyczna, która nie jest wspierana przez jądro GENERIC.

2. Budowa nowego jądra.

Wszystkie za chwile omówione czynności będziemy wykonywać w katalogu /usr/src/sys i wyżej.

 

 

2.1. Uwaga! Wykonaj poniższe czynności, jeżeli nie posiadasz źródeł jądra.

 

 

Musimy najpierw zainstalować źródła jądra, jeżeli nie posiadamy powyższego katalogu (/usr/src/sys). Najprostszym sposobem na zainstalowanie źródła jest dogranie ich z płytki instalacyjnej FreeBSD. Z poziomu użytkownika root wchodzimy do sysinstall i wybieramy kolejno

Configure -> Distributions -> src -> sys (zaznaczamy spacją)

Po wybraniu sys klikamy strzałkę w lewo, strzałkę w prawo i klikamy ENTER. Powtarzamy tę czynność jeszcze raz i w Choose Installation Media wybieramy

1	 CD/DVD		 Install from a FreeBSD CD/DVD

Instalacja się rozpocznie i nie trwa długo.

 

 

 

Kopiujemy domyślny plik jądra GENERIC z katalogu /usr/src/sys/i386/conf (Jeżeli korzystasz z systemu 64 bitowego to zamiast i386 wpisujesz amd64) i ustalamy jak ma nasze jądro się nazywać.

# cd /usr/src/sys/i386/conf
# cp GENERIC XYLI

Tam gdzie pisze XYLI podajemy własną nazwę jądra np. MPCFORUM. Przyjęło się tak, że nazwy jąder piszemy dużymi literami.

 

2.2. Edycja pliku konfiguracyjnego.

 

 

Otwieramy edytor z plikiem konfiguracyjnym jądra.

# ee XYLI

Zamiast XYLI wpisz nazwę jądra, którą ustaliłeś/aś.

 

Objaśnienie poszczególnych linii.

machine		 i386

Architektura komputera np. i386, amd64, poweMPC itd.

 

cpu		 I486_CPU
cpu		 I586_CPU
cpu		 I686_CPU

Powyższe wpisy określają typ CPU (procesor) jaki mamy w swoim systemie. Możemy mieć kilka różnych wpisów, ale lepiej zostawić to w spokoju.

 

ident		 GENERIC

GENERIC zmieniamy na nazwę naszego jądra, które ustaliliśmy. W moim przypadku będzie to XYLI.

 

makeoptions	 DEBUG=-g		 # Build kernel with gdb(1) debug symbols

Typowy proces kompilacji FreeBSD wyświetla również informacje diagnostyczne w trakcie budowy jądra z użyciem opcji -g, która włącza wyświetlanie informacji diagnostycznych w gcc.

Ten sam efekt można również osiągnąć poprzez opcję -g w config przy korzystaniu z “tradycyjnej” metody kompilacji jądra.

 

options		 SCHED_4BSD		 # 4BSD scheduler

Tradycyjny i domyślny systemowy zarządca procesów FreeBSD. Nie zmieniajmy tego.

 

options		 PREEMPTION		 # Enable kernel thread preemption

Pozwala na wywłaszczanie wątków w jądrze przez wątki o wyższym priorytecie. Pozwala to na interaktywność i przerywanie wątków, by ukończyć pewne czynności wcześniej i uniknąć oczekiwania.

 

options		 INET			 # InterNETworking

Obsługa sieci. Należ pozostawić ten wpis, nawet jeśli nie planujemy podłączyć się do sieci. Większość programów wymaga przynajmniej urządzenia pętli zwrotnej loopback (np. tworzenie połączeń sieciowych wewnątrz naszego PC), więc jest to wpis bardzo istotny.

 

options		 INET6			 # IPv6 communications protocols

Umożliwia to obsługę protokołu komunikacyjnego IPv6.

 

options		 FFS			 # Berkeley Fast Filesystem

Jest to podstawowy dyskowy system plików. Należy go pozostawić, jeśli startujemy system z dysku twardego.

 

options		 SOFTUPDATES	 # Enable FFS Soft Updates support

Opcja ta umożliwia tzw. Soft Updates w jądrze, co potrafi przyspieszyć czas dostępu do dysku przy zapisie. Jednakże, nawet jeśli funkcja ta jest włączona w jądrze, musi zostać aktywowana dla wybranych dysków. Czy opcja ta jest włączona możemy sprawdzić w wyniku polecenia mount(8). Jeśli przy naszym dysku nie ma oznaczenia soft-updates oznacza to, że musimy ją włączyć wykorzystując polecenie tunefs(8) (dla istniejących systemów plików) bądź newfs(8) (dla nowych systemów plików).

 

options		 UFS_ACL		 # Support for access control lists

Opcja ta włącza w jądrze obsługę list kontroli dostępu do systemu plików. Polega to na wykorzystaniu rozszerzonych atrybutów oraz systemu plików UFS2. Sekcja 14.12 opisuje dokładniej tę funkcjonalność. Domyślnie listy ACL są włączone i nie powinny być wyłączane w jądrze jeśli były wcześniej wykorzystywane w systemie plików, gdyż usunie to listy kontroli dostępu zmieniając metodę ochrony plików w nieprzewidywalny sposób.

 

options		 UFS_DIRHASH	 # Improve performance on big directories

Opcja ta zawiera kod szybszej obsługi dużych katalogów kosztem zużycia dodatkowej pamięci. Możemy pozostawić tę opcję dla dużych serwerów lub dla interaktywnej stacji roboczej a zablokować ją kiedy system jest mało obciążony i posiada mało pamięci, a dostęp do dysków nie jest taki ważny, np. serwer z zaporą ogniową.

 

options		 MD_ROOT		 # MD is a potential root device

Opcja ta włącza obsługę wirtualnego dysku w pamięci RAM, wykorzystywanego jako główne urządzenie.

 

options		 NFSCLIENT		 # Network Filesystem Client
options		 NFSSERVER		 # Network Filesystem Server
options		 NFS_ROOT		 # NFS usable as /, requires NFSCLIENT

Sieciowy system plików. Jeżeli nie planujemy montowania partycji z serwera UNIX® poprzez TCP/IP, możemy zablokować te linie.

 

options		 MSDOSFS		 # MSDOS Filesystem

System plików MS-DOS®. Jeśli nie planujemy montowania dysków lub partycji sformatowanych pod DOS-em podczas startowania systemu, dla bezpieczeństwa zablokujmy tę linię. Automatycznie MSDOSFS będzie ładowane kiedy pierwszy raz zamontujemy DOSową partycje jak opisano powyżej. Również wyśmienity program emulators/mtools umożliwia dostęp do dyskietek DOSowych bez potrzeby ich montowania i odmontowywania (i bynajmniej nie jest potrzebny MSDOSFS).

 

options		 CD9660		 # ISO 9660 Filesystem

System plików ISO 9660 dla płyt CDROM. Jeśli nie posiadamy napędu CDROM możemy zablokować tę linię, lub gdy montujesz dane z CD okazjonalnie (od kiedy zamontujemy dane z CD po raz pierwszy, CD9660 będzie ładowany automatycznie). Płyty audio CD nie potrzebują tego systemu plików.

 

options		 PROCFS		 # Process filesystem (requires PSEUDOFS)

System plików procesów. Jest to system plików “na niby” montowany w /proc, który dla takich programów jak ps(1) posiada więcej informacji o tym jakie procesy są właśnie uruchomione. W większości przypadków wykorzystanie PROCFS nie jest wymagane, gdyż większość narzędzi diagnostycznych i monitorujących zostało zaadaptowanych do pracy bez PROCFS: Domyślne instalacje nie montują tego systemu plików.

 

options		 PSEUDOFS		 # Pseudo-filesystem framework

Jądra 6.X wykorzystujące PROCFS muszą również zawierać obsługę PSEUDOFS.

 

options		 GEOM_GPT		 # GUID Partition Tables.

Opcja ta umożliwia tworzenie dużej ilości partycji na pojedynczym dysku.

 

options		 COMPAT_43		 # Compatible with BSD 4.3 [KEEP THIS!]

Kompatybilność z systemem 4.3BSD. Należy pozostawić ten wpis; niektóre programy będą zachowywać się dziwnie jeśli zablokujemy tę opcję.

 

options		 COMPAT_FREEBSD4 # Compatible with FreeBSD4

Opcja ta potrzebna jest w systemach FreeBSD 5.X i386™ i Alpha do obsługi aplikacji skompilowanych w starszych wersjach FreeBSD, wykorzystujących stary interfejs wywołań systemowych. Zaleca się by wykorzystywać tę opcję we wszystkich systemach i386 i Alpha, w których mogą być wykorzystywane starsze aplikacje; platformy wspierane dopiero od wersji 5.X, jak np. ia64 i Sparc64®, nie wymagają ten opcji.

 

options		 SCSI_DELAY=5000 # Delay (in ms) before probing SCSI

Sprawi to, że jądro zatrzyma się na 5 sekund przed rozpoczęciem rozpoznawania w naszym systemie każdego urządzenia SCSI. Jeśli jednak posiadamy tylko urządzenia IDE, możemy ten wpis zignorować. W innym przypadku możemy zmniejszyć tę wartość i w ten sposób przyspieszyć start systemu. Gdy to zrobimy a FreeBSD będzie miał kłopoty z rozpoznawaniem urządzeń SCSI będziemy musieli zmienić tę wartość na większą.

 

options		 KTRACE		 # ktrace(1) support

Śledzenie procesów przez jądro, co jest użyteczne w diagnozowaniu.

 

options		 SYSVSHM		 # SYSV-style shared memory

Daje to systemom z rodziny V mechanizm współdzielenia pamięci. W działaniu ma to wiele wspólnego z mechanizmem XSHM w X-ach. Znaczna ilość programów obciążająca system graficzny zyska automatycznie na prędkości. Jeśli jesteśmy użytkownikiem X-ów koniecznie pozostawmy tę opcję.

 

options		 SYSVMSG		 # SYSV-style message queues

Wsparcie dla mechanizmu komunkatów w Systemach V. Opcja ta dodaje zaledwie kilkaset bajtów do jądra.

 

options		 SYSVSEM		 # SYSV-style semaphores

Wsparcie dla mechanizmu semaforów w Systemach V. Mniej przydatne w użyciu ale również dodaje tylko kilkaset bajtów do jądra.

 

options		 _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions

Rozszerzenia czasu rzeczywistego dodane w 1993 do POSIX®. Pewne aplikacje z kolekcji portów używają tego mechanizmu (jak np. StarOffice™).

 

options		 KBD_INSTALL_CDEV # install a CDEV entry in /dev

Opcja ta związana jest z obsługą klawiatury. Dodaje ona wpis CDEV w /dev.

 

options		 AHC_REG_PRETTY_PRINT	 # Print register bitfields in debug
								 # output. Adds ~128k to driver.
options		 AHD_REG_PRETTY_PRINT	 # Print register bitfields in debug
									 # output. Adds ~215k to driver.

Pomaga to w diagnozowaniu, wypisując łatwiejsze do odczytania definicje rejestrów.

 

options		 ADAPTIVE_GIANT # Giant mutex is adaptive.

Giant jest nazwą mechanizmu wzajemnego wykluczania (uśpiony mutex) chroniącego znaczną grupę zasobów jądra. Obecnie mechanizm ten stanowi niedopuszczalnie wąskie gardło w wydajności systemu, które jest zastępowane przez blokady zabezpieczające indywidualne zasoby. Opcja ADAPTIVE_GIANT powoduje, że Giant jest dołączany do zestawu adaptacyjnie zapętlanych muteksów. Co oznacza, że w momencie gdy wątek chce zablokować mutex Giant, który jest już zablokowany przez inny wątek bądź procesor, pierwszy wątek będzie pracował i oczekiwał na zwolnienie blokady. Normalnie, wątek przeszedłby do stanu uśpienia i oczekiwał na kolejną okazję uruchomienia. Jeśli nie jesteśmy przekonani, pozostawmy tę opcję włączoną.

 

device		 apic			 # I/O APIC

Urządzenie apic pozwala na wykorzystanie we/wy APIC do dostarczania przerwań. Urządzenie apic może być wykorzystywane zarówno w jądrach UP jak i SMP, przy czym wymagane jest jedynie w przypadku tych drugich. By włączyć obsługę wielu procesorów należy dodać wiersz options SMP.

 

device		 eisa

Należy to włączyć, jeśli posiadamy płytę główną typu EISA. Umożliwia to autodetekcję i konfigurację dla wszystkich urządzeń pracujących na magistrali EISA.

 

device		 pci

Włączmy to, jeśli posiadamy płyte główną typu PCI. Umożliwia to autodetekcję kart PCI i przesyłanie z magistrali PCI do ISA.

 

device		 fdc

Kontroler stacji dyskietek.

 

device		 ata

Sterownik ten obsługuje wszystkie urządzenia ATA i ATAPI. Potrzebujemy tylko tej jednej linijki, aby jądro wykrywało wszystkie urządzenia na współczesnych maszynach.

 

device		 atadisk				 # ATA disk drives

Potrzebne jest to razem z device ata dla dysków ATA.

 

device		 ataraid				 # ATA RAID drives

Potrzebne jest to razem z device ata dla dysków ATA RAID.

 

device		 atapicd				 # ATAPI CDROM drives

Potrzebne jest to razem z device ata dla napędów CDROM ATAPI.

 

device		 atapifd				 # ATAPI floppy drives

Potrzebne jest to razem z device ata dla stacji dyskietek ATAPI.

 

device		 atapist				 # ATAPI tape drives

Potrzebne jest to razem z device ata dla urządzeń taśmowych ATAPI.

 

options		 ATA_STATIC_ID		 # Static device numbering

Powoduje to przydzielanie przez kontroler statycznego numeru, inaczej liczba dyskowa będzie przydzielana dynamicznie.

 

# SCSI Controllers
device		 ahb	 # EISA AHA1742 family
device		 ahc	 # AHA2940 and onboard AIC7xxx devices
device		 ahd	 # AHA39320/29320 and onboard AIC79xx devices
device		 amd	 # AMD 53C974 (Teckram DC-390(T))
device		 isp	 # Qlogic family
#device		 ispfw	 # Firmware for QLogic HBAs- normally a module
device		 mpt	 # LSI-Logic MPT-Fusion
#device		 ncr	 # NCR/Symbios Logic
device		 sym	 # NCR/Symbios Logic (newer chipsets)
device		 trm	 # Tekram DC395U/UW/F DC315U adapters

device		 adv	 # Advansys SCSI adapters
device		 adw	 # Advansys wide SCSI adapters
device		 aha	 # Adaptec 154x SCSI adapters
device		 aic	 # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
device		 bt		 # Buslogic/Mylex MultiMaster SCSI adapters

device		 ncv	 # NCR 53C500
device		 nsp	 # Workbit Ninja SCSI-3
device		 stg	 # TMC 18C30/18C50

Kontrolery SCSI. Należy zablokować te kontrolery, których nie posiadamy w naszym systemie. Jeśli mamy system oparty tylko na IDE możemy pozbyć się całej listy.

 

# SCSI peripherals
device		 scbus	 # SCSI bus (required for SCSI)
device		 ch		 # SCSI media changers
device		 da		 # Direct Access (disks)
device		 sa		 # Sequential Access (tape etc)
device		 cd		 # CD
device		 pass	 # Passthrough device (direct SCSI access)
device		 ses	 # SCSI Environmental Services (and SAF-TE)

Peryferia SCSI. Ponownie, jeśli nie posiadamy takowych możemy je wyłączyć lub jeśli posiadamy tylko sprzęt IDE możemy wszystkie powyższe wpisy usunąć.

 

# RAID controllers interfaced to the SCSI subsystem
device		 amr	 # AMI MegaRAID
device		 arcmsr	 # Areca SATA II RAID
device		 asr	 # DPT SmartRAID V, VI and Adaptec SCSI RAID
device		 ciss	 # Compaq Smart RAID 5*
device		 dpt	 # DPT Smartcache III, IV - See NOTES for options
device		 hptmv	 # Highpoint RocketRAID 182x
device		 rr232x	 # Highpoint RocketRAID 232x
device		 iir	 # Intel Integrated RAID
device		 ips	 # IBM (Adaptec) ServeRAID
device		 mly	 # Mylex AcceleRAID/eXtremeRAID
device		 twa	 # 3ware 9000 series PATA/SATA RAID

 

# RAID controllers
device		 aac	 # Adaptec FSA RAID
device		 aacp	 # SCSI passthrough for aac (requires CAM)
device		 ida	 # Compaq Smart RAID
device		 mfi	 # LSI MegaRAID SAS
device		 mlx	 # Mylex DAC960 family
device		 pst	 # Promise Supertrak SX6000
device		 twe	 # 3ware ATA RAID

Obsługa kontrolerów RAID. Jeśli nie posiadamy żadnych kontrolerów RAID, możemy te wpisy zablokować lub usunąć.

 

# atkbdc0 controls both the keyboard and the PS/2 mouse
device		 atkbdc	 # AT keyboard controller

Sterownik klawiatury (atkbdc) obsługujący porty we/wy dla klawiatur AT i dla urządzeń wskazujących PS/2. Wymagany jest przez sterownik klawiatur (atkbd) i PS/2 (psm).

 

device		 atkbd	 # AT keyboard

Sterownik atkbd razem z kontrolerem atkbdc umożliwiają dostęp do klawiatury AT84 lub do rozszerzonej klawiatury, które podłączone są do kontrolera AT.

 

device		 psm	 # PS/2 mouse

Urządzenie to należy wykorzystać jeśli nasza myszka jest podłączona do portu PS/2.

 

device		 kbdmux	 # keyboard multiplexer

Podstawowa obsługa multipleksacji klawiatury.

 

device		 vga	 # VGA video card driver

Sterownik kart video.

 

device		 splash	 # Splash screen and screen saver support

Obraz tytułowy w trakcie startu! Wymagany również przez wygaszacze ekranu.

 

# syscons is the default console driver, resembling an SCO console
device		 sc

sc jest domyślnym sterownikiem konsoli, przypominający konsolę SCO. Wiele programów pracujących w trybie pełnoekranowym uzyskują dostęp do konsoli poprzez biblioteki bazy danych terminala, takie jak termcap, nie powinno więc być istotne czy używamy właśnie jego czy vt, sterownika zgodnego z VT220. Kiedy logujemy się, a nasz program ma kłopoty podczas uruchamiania spod konsoli, należy ustawić zmienną TERM na scoansi.

 

# Enable this for the pcvt (VT220 compatible) console driver
#device		 vt
#options		 XSERVER		 # support for X server on a vt console
#options		 FAT_CURSOR	 # start with block cursor

Sterowniki konsoli kompatybilnej z VT220 i z wcześniejszymi VT100/102. Dobrze pracują na niektórych laptopach nie posiadających sprzętu kompatybilnego z sc. Również w takim przypadku należy zmodyfikować zmienną TERM na vt100 lub vt220, kiedy się logujemy. Sterownik ten może być również użyteczny kiedy łączymy się z dużą liczbą różnorodnych maszyn w sieci, gdzie termcap lub terminfo często nie posiadają wpisów dla urządzeń sc -- wówczas vt100 powinien być dostępny praktycznie na wszystkich platformach.

 

device		 agp

Należy włączyć tę opcję jeśli posiadamy kartę AGP w systemie. Włączy to obsługę AGP i AGP GART dla płyt głównych obsługujących te funkcje.

 

# Power management support (see NOTES for more options)
#device		 apm

Zaawansowane zarządzanie energią. Użyteczne dla laptopów, chociaż we FreeBSD 5.X i późniejszych opcja ta jest domyślnie wyłączona w jądrze GENERIC.

 

# Add suspend/resume support for the i8254.
device		 pmtimer

Sterownik urządzenia regulatora czasowego dla zarządzania energią, jak np. APM i ACPI.

 

# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
device		 cbb			 # cardbus (yenta) bridge
device		 pccard		 # PC Card (16-bit) bus
device		 cardbus		 # CardBus (32-bit) bus

Obsługa kart PCMCIA. Potrzebna dla laptopów.

 

# Serial (COM) ports
device		 sio			 # 8250, 16[45]50 based serial ports

Są to porty szeregowe nazywane w terminologii MS-DOS/Windows® COM.

Każdy port szeregowy wymaga unikalnego IRQ (z wyjątkiem multiportów gdzie współdzielenie przerwania jest obsługiwane) zatem domyślne IRQ dla COM3 i COM4 nie mają zastosowania.

 

# Parallel port
device		 ppc

Interfejs portu równoległego na magistrali ISA.

 

device		 ppbus	 # Parallel port bus (required)

Umożliwia obsługę portów równoległych.

 

device		 lpt	 # Printer

Obsługa drukarek na porcie równoległym.

 

device		 plip	 # TCP/IP over parallel

Sterownik dla równoległego interfejsu sieciowego.

 

device		 ppi	 # Parallel port interface device

Uniwersalny port we/wy + IEEE1284.

 

#device		 vpo	 # Requires scbus and da

Napęd ZIP firmy Iomega. Wymagane sterowniki scbus i da. Najlepszą wydajność można osiągnąć wykorzystując porty w trybie EPP 1.9.

 

#device		 puc

Opcję tę należy odblokować jeśli posiadamy “niemą” szeregową lub równoległa kartę PCI, obsługiwaną przez sterownik puc(4).

 

# PCI Ethernet NICs.
device		 de		 # DEC/Intel DC21x4x (“Tulip”)
device		 em		 # Intel PRO/1000 adapter Gigabit Ethernet Card
device		 ixgb	 # Intel PRO/10GbE Ethernet Card
device		 txp	 # 3Com 3cR990 (“Typhoon”)
device		 vx		 # 3Com 3c590, 3c595 (“Vortex”)

Różne karty sieciowe na złączu PCI. Należy zablokować lub usunąć te z nich, które nie są obecne w naszym systemie.

 

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device		 miibus	 # MII bus support

Obsługa szyny MII wymagana dla wielu kart sieciowych 10/100 na złączu PCI, wykorzystujących nadajniki-odbiorniki zgodne z MII lub mają wbudowany nadbiornik pracujący jak MII. Dodanie device miibus do jądra pozwoli na obsługę miibus API i wszystkich sterowników PHY, włączając te, które nie wymagają indywidualnych ustawień i sterowników.

 

device		 bce	 # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device		 bfe	 # Broadcom BCM440x 10/100 Ethernet
device		 bge	 # Broadcom BCM570xx Gigabit Ethernet
device		 dc		 # DEC/Intel 21143 and various workalikes
device		 fxp	 # Intel EtherExpress PRO/100B (82557, 82558)
device		 lge	 # Level 1 LXT1001 gigabit ethernet
device		 nge	 # NatSemi DP83820 gigabit ethernet
device		 nve	 # nVidia nForce MCP on-board Ethernet Networking
device		 pcn	 # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
device		 re		 # RealTek 8139C+/8169/8169S/8110S
device		 rl		 # RealTek 8129/8139
device		 sf		 # Adaptec AIC-6915 (“Starfire”)
device		 sis	 # Silicon Integrated Systems SiS 900/SiS 7016
device		 sk		 # SysKonnect SK-984x & SK-982x gigabit Ethernet
device		 ste	 # Sundance ST201 (D-Link DFE-550TX)
device		 ti		 # Alteon Networks Tigon I/II gigabit Ethernet
device		 tl		 # Texas Instruments ThunderLAN
device		 tx		 # SMC EtherPower II (83c170 “EPIC”)
device		 vge	 # VIA VT612x gigabit ethernet
device		 vr		 # VIA Rhine, Rhine II
device		 wb		 # Winbond W89C840F
device		 xl		 # 3Com 3c90x (“Boomerang”, “Cyclone”)

Sterowniki wykorzystujące szynę MII.

 

# ISA Ethernet NICs. pccard NICs included.
device		 cs		 # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
device		 ed		 # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device		 ex		 # Intel EtherExpress Pro/10 and Pro/10+
device		 ep		 # Etherlink III based cards
device		 fe		 # Fujitsu MB8696x based cards
device		 ie		 # EtherExpress 8/16, 3C507, StarLAN 10 etc.
device		 lnc	 # NE2100, NE32-VL Lance Ethernet cards
device		 sn		 # SMC's 9000 series of Ethernet chips
device		 xe		 # Xircom pccard Ethernet

 

# ISA devices that use the old ISA shims
#device		 le

Sterowniki ISA Ethernet. Plik /usr/src/sys/i386/conf/NOTES zawiera szczegółowy opis, która karta jest obsługiwana przez dany sterownik.

 

# Wireless NIC cards
device		 wlan	 # 802.11 support
device		 an		 # Aironet 4500/4800 802.11 wireless NICs.
device		 awi	 # BayStack 660 and others
device		 ral	 # Ralink Technology RT2500 wireless NICs.
device		 wi		 # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device		 wl		 # Older non 802.11 Wavelan wireless NIC.

Obsługa różnych kart bezprzewodowych.

 

# Pseudo devices
device loop		 # Network loopback

Standardowe urządzenie pętli zwrotnej dla TCP/IP. Jeśli łączymy się z localhost (a.k.a. 127.0.0.1) za pomocą telnetu bądź FTP, połączenie powróci do nas za pomocą tego urządzenia. Obecność tego wpisu w konfiguracji jądra jest niezbędna.

 

device random	 # Entropy device

Bezpieczny z kryptograficznego punktu widzenia generator liczb losowych.

 

device ether		 # Ethernet support

ether jest wymagany tylko wówczas, gdy posiadamy kartę Ethernet. Zawiera podstawowy kod protokołu Ethernet.

 

device sl		 # Kernel SLIP

sl służy do obsługi SLIP. Zostało prawie całkowicie wyparte przez PPP, które jest łatwiejsze w obsłudze, lepiej przystosowane do połączeń modem - modem i posiada więcej możliwości.

 

device ppp		 # Kernel PPP

Wsparcie jądra dla PPP przy połączeniach wdzwanianych. Jest również w niej zaimplementowana wersja PPP, dla wielu aplikacji używających tun, oferująca większą elastyczność i funkcjonalności takie jak np. połączenie na żądanie (demand dialing).

 

device tun		 # Packet tunnel.

Używane przez rodzinę aplikacji korzystających z PPP. Więcej informacji na ten temat zawiera rozdział niniejszego Podręcznika poświęcony właśnie PPP.

 

device pty		 # Pseudo-ttys (telnet etc)

Jest to “pseudo-terminal” wykorzystywany przez przychodzące sesje telnet i rlogin, xterm oraz kilka innych aplikacji, jak np. Emacs.

 

device md		 # Memory “disks”

Pseudo urządzenie memory-disk.

 

device gif		 # IPv6 and IPv4 tunneling

Implementacja tunelowania IPv6 przez IPv4, IPv4 przez IPv6, IPv4 przez IPv4 oraz IPv6 przez IPv6. Urządzenie gif posiada cechę “auto-klonowania”, co umożliwia tworzenie wymaganych plików urządzeń.

 

device faith		 # IPv6-to-IPv4 relaying (translation)

To pseudo-urządzenie wyłapuje przesłane do niego pakiety i przekazuje je do demona translacji IPv4/IPv6.

 

# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device bpf		 # Berkeley packet filter

Filtr pakietów rodem z Berkeley. To pseudo-urządzenie pozwala interfejsom sieciowym pracować w trybie nasłuchiwania, wyłapując każdy pakiet wysłany w sieci (np w sieci Ethernet). Pakiety te mogą zostać zapisane na dysku i/lub sprawdzane programem tcpdump(1).

 

# USB support
device		 uhci		 # UHCI PCI->USB interface
device		 ohci		 # OHCI PCI->USB interface
#device		 ehci		 # EHCI PCI->USB interface (USB 2.0)
device		 usb		 # USB Bus (required)
#device		 udbp		 # USB Double Bulk Pipe devices
device		 ugen		 # Generic
device		 uhid		 # “Human Interface Devices”
device		 ukbd		 # Keyboard
device		 ulpt		 # Printer
device		 umass		 # Disks/Mass storage - Requires scbus and da
device		 ums		 # Mouse
device		 urio		 # Diamond Rio 500 MP3 player
device		 uscanner	 # Scanners
# USB Ethernet, requires mii
device		 aue		 # ADMtek USB Ethernet
device		 axe		 # ASIX Electronics USB Ethernet
device		 cdce		 # Generic USB over Ethernet
device		 cue		 # CATC USB Ethernet
device		 kue		 # Kawasaki LSI USB Ethernet
device		 rue		 # RealTek RTL8150 USB Ethernet

Obsługa wielu urządzeń USB.

 

# FireWire support
device		 firewire	 # FireWire bus code
device		 sbp		 # SCSI over FireWire (Requires scbus and da)
device		 fwe		 # Ethernet over FireWire (non-standard!)

Obsługa różnorodnych urządzeń Firewire.

 

 

 

 

Więcej na ten temat znajdziesz w /usr/src/sys/i386/conf/NOTES

 

 

 

 

Którą metodę budowy jądra wybrać?

  • Jeśli zainstalowaliśmy tylko źródła jądra powiniśmy użyć budowy tradycyjnej.
  • Jeśli przebudowujemy jądro powinniśmy użyć budowy nowoczesnej.

 

Budowa jądra w tradycyjny sposób

Generujemy kod źródłowy jądra.

# /usr/sbin/config XYLI

Tam gdzie XYLI piszemy własną nazwę jądra.

 

Przechodzimy do katalogu w którym rozpocznie się kompilacja.

# cd ../compile/XYLI

Tam gdzie XYLI podajemy wlasną nazwę jądra.

 

Kompilujemy jądro

# make depend
# make

 

Instalujemy nowe jądro

# make install

 

Budowa jądra w nowoczesny sposób

Wejdźmy do katalogu /usr/src.

# cd /usr/src

 

Skompilujmy jądro.

# make buildkernel KERNCONF=XYLI

Tam gdzie XYLI podajemy własną nazwę jądra.

 

Zainstalujmy nowe jądro.

# make installkernel KERNCONF=XYLI

Tam gdzie XYLI podajemy własną nazwę jądra.

 

Ta metoda kompilacji jądra wymaga wszystkich plików źródłowych. Jeśli zainstalowaliśmy jedynie źródła jądra, powinniśmy skorzystać z opisanej powyżej metody tradycyjnej.

 

Nowe jądro zostanie skopiowane do katalogu /boot/kernel jako /boot/kernel/kernel , a dotychczasowe zostanie przeniesione do /boot/kernel.old/kernel. Teraz należy ponownie uruchomić komputer.

# shutdown -r now

 

 

Jeżeli pojawiły się jakieś kłopoty sprawdź, czy nie ma go tu

http://freebsd.therek.net/handbook/kernelconfig-trouble.html

 

 

 

Obiecane linki

http://freebsd.therek.net/handbook/kernelconfig-custom-kernel.html
http://freebsd.therek.net/handbook/kernelconfig-building.html
http://freebsd.therek.net/handbook/kernelconfig-config.html
http://freebsd.therek.net/handbook/kernelconfig-trouble.html
http://pl.wikipedia.org/wiki/J%C4%85dro_monolityczne

 

 

PS. Jeżeli nigdy nie instalowałeś systemu FreeBSD, ani nie "bawiłeś" się z nim mocno to odpuść sobie te czynności na razie.

 

 

Przyznaję się do tego, że poradnik jest skopiowany. Więcej informacji znajdziecie w podanych przeze mnie linkach.

 

 

Pozdrawiam, Xyli.

Napisz do mnie, jeżeli potrzebujesz patcher'a.

Opublikowano

Ładnie opisane + ;]

 

Starałem sie, dziękuję. Mam nadzieje, że użytkownicy większych problemów po dokładnym przeczytaniu tego i handbooka nie będą mieli :D

Napisz do mnie, jeżeli potrzebujesz patcher'a.

Opublikowano

"rodem z Berkeley" mało osób co używają BSD nie wiedzą skąd pochodzi tym bardziej co oznacza

BSD - Berkley Software Distribution

 

tut nawet fajny ;D

Opublikowano

"rodem z Berkeley" mało osób co używają BSD nie wiedzą skąd pochodzi tym bardziej co oznacza

BSD - Berkley Software Distribution

 

Jeżeli się ktoś interesuje głębiej systemem na którym stawia serwer Metin2 to się by prędzej czy później tego dowiedział :)

Napisz do mnie, jeżeli potrzebujesz patcher'a.

Bywalec
Opublikowano

Dzięki, w przyszłości mi się przyda - ładnie napisany, +.

Powodzenia przy dalszych poradnikach.

Opublikowano

Dzięki, w przyszłości mi się przyda - ładnie napisany, +.

Powodzenia przy dalszych poradnikach.

 

Dziękuję, ale jeśli chodzi o poradniki to to już raczej koniec :D

Napisz do mnie, jeżeli potrzebujesz patcher'a.

Opublikowano

Dziękuję, ale jeśli chodzi o poradniki to to już raczej koniec :D

Dlaczego to już jest koniec? nie ma już nic:D?

 

btw

BSD musi się rozwijać !!=P

Opublikowano

Dlaczego to już jest koniec? nie ma już nic:D?

 

btw

BSD musi się rozwijać !!=P

 

no BSD będzie, ale ja już nie mam pomysłów ! :D

Napisz do mnie, jeżeli potrzebujesz patcher'a.

Opublikowano

Wyczerpujący poradnik ;)

Skrypty, np konserwacja systemu, fajny skrypt mam :)

logo.png

Wkrocz do świata Fantazji - Azathia.com RELOAD

Opublikowano

Wyczerpujący poradnik ;)

Skrypty, np konserwacja systemu, fajny skrypt mam :)

 

Możesz go udostępnić jak chcesz :D Dziękuję.

 

@ Do moda.

@ Proszę o podpięcie chociaż na trochę.

Napisz do mnie, jeżeli potrzebujesz patcher'a.

Opublikowano

@ Do moda.

@ Proszę o podpięcie chociaż na trochę.

 

Według mnie to jest zwykły Tut i nie powinien być podpięty.

Nigdy nie rozmawiaj z idiotą. Najpierw sprowadzi Cię do swojego poziomu, a później pokona doświadczeniem.

Opublikowano

A poradnik Badara jest podpięty mimo to, że są w nim błędy i więcej mota niż daje wiedzy. :)

Napisz do mnie, jeżeli potrzebujesz patcher'a.

Opublikowano

@up, po co się z nim kłócisz...?

 

 

Nigdy nie rozmawiaj z idiotą. Najpierw sprowadzi Cię do swojego poziomu, a później pokona doświadczeniem.

 

Takie coś ode mnie ;)

 

A tak wgl, nic z tego nie rozumiem ,ale wydaje się być nawet potrzebne :D, bo jak szybciej się włącza to nawet to dobre jest ;p

 

Tylko weź tutaj za dużo nie publikuj, :P

bijons.jpg


Pomogłem daj Lubię To!


Opublikowano

Moim zdaniem na serwer metina nie opłaca się ponieważ to nie jest jakiś ogromny projekt by potrzebował optymalizacji karnelu + do tego w dzisiejszych czasach jak komputer posiada 1GB ddr2-ddr3 ramu++, a są serwery często wykupywane przez "Pseudo" administratorów z 24GB++

 

btw. nom jeżeli ktoś będzie chciał powiększyć sobie wiedzę albo tak go kręci optymalizacja czemu by nie =P

Opublikowano

Kompilacja jądra spisuje się przy komputerach o słabym sprzęcie tj. 512 mb pamięć RAM itd., również mi się wydaje, że każdy kto trochę zapozna się z systemem automatycznie schodzi na temat kompilacji jądra. :)

Napisz do mnie, jeżeli potrzebujesz patcher'a.

Opublikowano

nie zawszę jest tak że tym więcej pamięci tym komputer szybszy.

Dawniej karty graficzne ( tak karty graficzne mają pamięć ram, te nowsze DDR5 mają)

były 32 i 64mb, jak miałeś 64 to mogłeś pokoksić :D

i dużo osób mowili

"o 64 jaki szybki" itp

a niektóre 32mb karty były 2 razy szybsze niż 64.

to nie i ilość chodzi tylko o szybkość, no ale nie mówię o róznicach 1GB a 16GB, bo wiadomo ale o np. 6GB i 8GB a nawet 4GB i 8GB.

Opublikowano

Na metinowskie hamachi'owe realia i wiedzy o emulatorach użytkowników serwery wyglądają tak: 2-3GHz procesor, 512-1024mb ram, a podają specyfikację swojego komputera. Nie wiem czy mnie rozumiesz :D

Napisz do mnie, jeżeli potrzebujesz patcher'a.

  • 4 tygodnie później...
Opublikowano
1        CD/DVD          Install from a FreeBSD CD/DVD

 

Po tym jak klikam enter wyskakuje mi okienko

 

Error mounting /dev/acd0 on /dist: Input/output error (5)

Administrator Serwera Pantheons

Opublikowano
1 CD/DVD Install from a FreeBSD CD/DVD

 

Po tym jak klikam enter wyskakuje mi okienko

 

Error mounting /dev/acd0 on /dist: Input/output error (5)

 

robisz to po przez konsolę ?

  • 4 miesiące temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...