===== Úvod ===== * dokumentace jadra 2.6.34.1 * vychazím z předešlé konfigurace (31.4) * [[http://swift.siphos.be/linux_sea/ch07.html|tady]] jsou dobre VSECHNO vysvetlene.. plne souhlasim se sekcemi: * Enable the Block Layer * General Setup * ostatni sekce aspon hezky popisuji volby :) ===== rucne dohledane ===== ==== Processor Type and Features ==== * [*] Tickless System (Dynamic Ticks) * nová funkce od jádra 2.6.21, dřív se používaly pravidelné tiky, třeba 1000 za sekundu. * Teď je možné používat tiky jen když je třeba. Setří to víc CPU čas. ([[http://www.linux-watch.com/news/NS5286251174.html|více info]]) * [*] High Resolution Timer Support * prej to maj všechny pentium 3 a výš * enables POSIX timers and nanosleep() to be as accurate as the hardware allows (around 1usec on typical hardware) * prej nektere prehravace (pulseaudio) muzou bez toho blbnout... popis detekce [[http://www.linuxquestions.org/questions/linux-software-2/check-for-high-resolution-timer-649530/|zde]] * ted mam v cat /proc/timer_list " .resolution: 999848 nsecs" !! uvidime :) * (65536) Low address space to protect from user allocation * [*] Enable seccomp to safely compute untrusted bytecode * tohle je ochrana pred zlym kodem spustenym v MTR? radeji jsem to tam nechal.. u embded to asi potreba neni, jiank je asi lepsi to tam mit * zvedl jsem z 4096 na 65k, protoze to je tak v navodu a taky doporuceno pro x86 :) * [ ] Reserve low 64K of RAM on AMI/Phoenix BIOSen * tohle jsem vypnul, protoze userspace tam ted nemuze :) aaa.. verim biosu ze si tam nic neulozi - viz help :) ==== Power management and ACPI options ==== * [*] Run-time PM core functionality * nevim estli to muj system podporuje, ale on to mel zapnuty tak proc ne :-D * [*] Deprecated /proc/acpi files * [*] Deprecated power /proc/acpi directories * [*] Future power /sys interface * [*] Deprecated /proc/acpi/event support * radsi jsem zapl stary i nove.. driv jsem prvni dve nepouzival.. ale taky mi nesel suspend pres GUI :) zkusim to ted takhle ==== Bus options (PCI etc.) ==== * [*] Support mmconfig PCI config space access * prej je to na to, ze pci sbernice ma nejakych 256 B konfiguracni prostor a tohle povoluje zpristupnit tento prostor namapovanim do ram :) prej s tim muzou mit problem NVIDIA karty * [ ] Root Port Advanced Error Reporting support * prej nejaky advanced reportovaci system chyb.. asi nepotrebuji. === Block devices === * < > Low Performance USB Block driver * vyhodil jsem to, pouziju ten usb-storage :) * < > SCSI generic support * vyhodil jsem.. je to pro treba scsi scanner ==== Device Drivers ==== * < > ATA/ATAPI/MFM/RLL support (DEPRECATED) ---> * uplne jsem odstranil :) * <*> Serial ATA and Parallel ATA drivers ---> * timto to nahrazuju :) snad :) * <*> NVIDIA SATA support * <*> AMD/NVidia PATA support === IEEE 1394 (FireWire) support === * FireWire driver stack * OHCI-1394 controllers * puzil jsem misto stareho * < > Legacy alternative FireWire driver stack * < > OHCI-1394 controllers * < > raw1394 userspace interface === Graphics support === * < > /dev/agpgart (AGP Support) ---> * tohle asi nemusi byt vubec zaple? :) * < > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> * tohle asi taky ne :) ===== zmeny configu ===== ==== 2.6.36 to 3.2.2 ==== * kvuli Can't open netlink socket 93:Protocol not supported jsem musel zapnout * Netfilter NFQUEUE over NFNETLINK interface * Netfilter LOG over NFNETLINK interface * pridan novy DVB-T tuner sms siano ==== 2.6.35.3 to 36 ==== * vyhodil jsem usb3 podporu v device driveres, nesel kvuli tomu suspend * pridal jsem auditing system calls v tom prvnim .. kvuli readahead fedora * nova verze lepe podporuje suspend :) * device mapper a nejake crypto jsou kvuli truecrypt ==== 38.2 ==== * blbl suspend, vykaslsl jsem se na nej :) ==== 36 -> 39 ==== * mel by konecne uplne odstranit big kernel log * podporuje to automaticke zgrupovani procesu (general setup) - zkusim :) * lze zapnout i nejake IO Block groupovovani :) - nezapinam :) * SLAB -> SLUB - pry lepe vyuziva cache :) ale drive byl pry unstable - mozne problemy :-D * odstranena podpora floppy :) * blbne tunner? ladi desne dlouho, neco nenaladi vubec :) * pokusy o vyreseni: * [x] load and attach frontend... * [x] generate keymap.. ==== 3.2.2 ==== * zapl jsem pci-stup kvuli virtualboxu * zapl jsem block layer SG support v4 * vypnuto network qos off - nepouzivam * vypnuto flopy - nepouzivam * vypnuto hw io ports ps2 key and mouse - nepouzivam * [*] Load and attach frontend and tuner driver modules as needed * prej to usetri loadovani driveru tuneru.. ale vyzaduje module-init-tools v3.2 a novejsi * dvb/atsc adapters .. tam vubec neni ten muj :) podivne :) * a cutom frontiend.. tam jsou vsechny :) * pridal jsem driver pro novy tv tuner * msi tuner od verze 2.6.37 zlobi.. nejak nechce naladit.. ze by spatny signal? * novejsi jadra maji pry problemy se spotrebou * stare jadro melo: 137W tv bez load (cca 10%) ... ==== 3.10.22 ==== * debian prechazi z sysvinit na systemd-sysv ([[https://wiki.debian.org/systemd|link]]) * prechod na systemd jsem vyresil instalaci balicky systemd-sysv, coz vyzadovalo nastaveni [[http://administratosphere.wordpress.com/2011/07/13/putting-debian-packages-on-hold/|"on hold"]] * je potreba pridat: CONFIG_DEVTMPFS=y CONFIG_CGROUPS=y CONFIG_AUTOFS4_FS=[y|m] CONFIG_IPV6=[y|m], optional, but highly recommended CONFIG_FANOTIFY=y, optional, required for systemd readahead. available in Linux kernel >= 2.6.37. * odstranil jsem General setup - Timers Subsystem - Old Idle dynticks config * zapinam General setup - Control Groups Support * zapinam File system - Filesystem wide access notification ==== 3.12.21 ==== * prechod na dalsi longterm * zapnul jsem [[http://blog.scottlowe.org/2013/09/04/introducing-linux-network-namespaces|Networking namespace]] * vyzatoval rtkit-daemon, jinak nenastartoval s chybou ohldne networking (alternativne lze vypnout private networking) * General setup - Namespaces support - Network namespace * zrusil jsem IOMMU * zjistil jsem, ze zadny IOMMU driver neni asi zaveden (vyuziva napriklad vbox pro primy pristup k pci). Momentalne jsou pry v linuxu podporovany pouze velice drahe serverovske intel desky. * Vyzkousel jsem ho aktivovat pomoci intel_iommu=on pri startu jadra. Zkousel jsem Device Drivers - IOMMU Hardware Support - Enable Intel DMA Remapping Devices by default. Pri startu to zacalo vypisovat milion hlasek :/ Z toho duvodu jsem usoudil, ze neni vubec potreba to mit v jadre. ==== 3.14.18 ==== * odstranuji input devices - character devices - mouse a keyboard ps/2 (pouzivam usb) * sound card - preclaime oss device number (chci pouzivat osspd) * jeste zkusim odstranit ostatni oss vecicky :) * pridavam podporu CUSE (kvuli osspd), coz je file system - fuse * pridavam volbu FHANDLE.. bez toho nefunguje novy systemd ==== 3.17.2 ==== * přecházím na něj kvůli tomu, že do řady 3.17 bylo opět vráceno WOL u ALX driveru. V kernelu bylo odstraněného původně kvůli tomu, že to způsobilo double wakeup. Tohle moc dobře znám. To byl dlouhodobý bug :) * u nového jádra jsem odstranil nějaké nové default zapnuté funkce * general settings * OFF uselib syscal .. už netřeba * ON stack protector buffer overflow detection .. zajímavé * processor type and features * OFF Old AMD GART IOMMU support * Power management and ACPI options * x86 CPU frequencz scaling driver * ON Intel P state control (pry pro sandy bridge a novejsi) * The IPv6 protocol * OFF IPv6-in-IPv4 tunnel (SIT driver) * ON IPv6: AH transformation * ON IPv6: ESP transformation * ON IPv6: IPComp transformation v6 * Block devices * OFF RAM block device support (tohle je zastarale :) * Serial ATA and Parallel ATA drivers (libata) * OFF ATA ACPI Support * OFF ATA SFF support (for legacy IDE and PATA) ==== 3.18.21 ==== * Zapnuto rozhraní pro user input, kvůli wejoy * Device Drivers->Input Devices->Miscellaneous devices ->User level driver support (CONFIG_INPUT_UINPUT) ==== 4.xx.xx ==== * Kernel hacking -> Kernel debugging * Device Drivers -> Network device support -> Network console logging support * sys rq magic? ==== 4.4.6 ==== * vyšel nový nvidia [[https://devtalk.nvidia.com/default/topic/925605/linux/nvidia-364-12-release-vulkan-glvnd-drm-kms-and-eglstreams/|364.12]] driver s jakousi podporou DRM KMS * zapnul jsem tedy DRM v jádře (device drivers - graphic...) * chtěl bych se zbavit zastaralého fbdev, ale zatím to asi není pořád reálné * jak přeinstalovat nvidia drivery v text režimu, když se mi odstraní nvidia drv? :D * umí nvidia už vůbec v tom kms txt konzoli? * prý default vypnuto... zkusim zapnout vim /etc/modprobe.d/modesetting.conf options nvidia-drm modeset=1 ==== 4.4.35 ==== * už mě štve být bez textové konzole :D * znovu jsem zapnul ten efi framebuffer, konkrétně * enable video mode handling * enable tile blitting * efi based framebuffer * vůbec nechápu, jak má ten nvidia KMS fungovat, takže DRM jsem nechal zapnutý * navíc jsem v tom modprobe zapnul ten modeset na 1 * nevím proč, ale nějak se mi zasekává pc kvůli grafice * vytuhává to často po probuzení, někdy dokonce po startu * nejspíš za to může aktualizace gnome-shell, ale zkusil jsem změnit i kernel * vyhodil jsem ten DRM a všechno ohledně frame bufferu * ona ta textová EFI konzole stejně nejede, když vytuhne nvidia driver ==== 4.8.15 ==== * mám často problémy s USB... mám je vůbec správně nastavené? * https://wiki.gentoo.org/wiki/USB/Guide * výpis USB řadičů se dělá přes lspci # lspci -v | grep prog-if | grep USB 00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04) (prog-if 30 [XHCI]) 00:1a.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #2 (rev 04) (prog-if 20 [EHCI]) 00:1d.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #1 (rev 04) (prog-if 20 [EHCI]) 06:00.0 USB controller: Etron Technology, Inc. EJ168 USB 3.0 Host Controller (rev 01) (prog-if 30 [XHCI] * odstranil jsem OHCI, ten je podle mě zbytečný * https://forums.gentoo.org/viewtopic-t-949486-start-0.html * zde ještě radí, že může být vhodné zapnout ''Improved Transaction Translator sheduling'' * to by taky stálo za zkoušku, protože se mi teď často stává při zapojení joysticku pozdě toto: # cat /dev/input/js1 cat: /dev/input/js1: Zařízení nebo zdroj jsou používány * a tu chybu ''-28'' * fakt to pomohlo :) už to nepíše, že je zařízení busy ==== 4.9.12 ==== * nová deska * odstraněn Atheros NIC, přidán intel e1000e * coretemp místo it87 * ještě jsem přidal nct6775 kvůli ''Trying family `VIA/Winbond/Nuvoton/Fintek'...Yes'' ==== 4.12.3 ==== * předcházela ji ještě verze 4.11.3 * kterou jsem zavedl kvůli novému skylake procesoru a optimalizacích P-State * pak jsem musel přidat chybějící věci (rfcomm) k bluetooth :) * a taky rfkill ''RF switch subsystem support'' * 4.12.3 má přinést * další optimalizace toho P-State * nové io schedulery BFQ a Kyber, CFG vychází podle mě ale pořád nejlépe * http://www.phoronix.com/scan.php?page=article&item=linux-412-io&num=3 * s novou volbou ''CONFIG_USB_PCI'' si nevím rady * oficiální popis je: //one usage is in embedded system usb host controller is non-PCI based, chooe N in such system will not compile PCI code/function of USB.// * neoficiální * //Why is it needed? It seems to just keep the same functionality that we currently have today, right? We already distinguish PCI/non-PCI based USB host controllers by using the CONFIG_PCI option, why do we need to add another one?// * //The problem that this patch tries to fix arises when you have a system where CONFIG_PCI is enabled for other reasons, but the USB hardware is non-PCI. In that situation, you don't want to build the PCI-based USB drivers unnecessarily.// * raději to nechám zapnuté :D * zjistil jsem **super věc**... když zkopíruji .config z předchozí verze kernelu a dám jen make (nebo make config možná), tak se mě bude ptát jen na nové funkce. Nemusím procházet celý kernel přes menuconfig :) ==== 4.12.12 - 4.12.14 ==== * předtím ještě 4.12.8, ve kterém jsem nedělal ale žádné změny * přidal jsem věci pro dvb-t tuner Astrometa DVB-T2 * musel jsem přidat i podporu RC, jinak nešel vůbec nahrát firmware Device Drivers ---> Remote Controller support [*] Remote Controller support [*] Remote controller decoders ---> Multimedia support ---> [*] Software defined radio support LIRC interface driver Enable IR to LIRC bridge [*] Media USB Adapters ---> Realtek RTL28xxU DVB USB support * zapnul jsem User namespace, protože [[troubleshooting:thumbnails|nefungovalo generování náhledů]] :D * bacha, tohle nepomohlo :) správně by mělo stačit mít všechny namespaces až na ten userspace!! General setup ---> -*- Namespaces support ---> [*] User namespace ==== 4.13.12 ==== * zkusil jsem tu fintu s make a vyskočilo mi * SLAB_MERGE_DEFAULT - Y, prý menší fragmentace paměti kernelu za cenu horšího heap overflow * REFCOUNT_FULL - N, lepší ošetření use-after-free za cenu výrazného zpomalení * PERCPU_STATS - N, nějaké per cpu stats přístupné přes debugfs * TLC - N, podpora TLS přímo v jádře * SDR_PLATFORM_DRIVERS - N, zatím žádné platform specific neptořebuji * ... zkráceno (začal jsem dávat default volbu u nezajímavého a už ani nezapisoval) ... * HID_ITE - N, tohle bylo M a předělal jsem na N, nepotřebuji * TYPEC_UCSI - M, bylo N, protože na desce mám USB-C konektor :) * úprava namespaces kvůli [[troubleshooting:thumbnails|generování thumbs]] * zapnul jsem ještě ''CONFIG_UTS_NS=y'', ''CONFIG_IPC_NS=y'', ''CONFIG_PID_NS=y'' * ten ''CONFIG_USER_NS=y'' podle mě potřeba není, ale nechal jsem ho už zapnutý ==== 4.14.2 ==== * FRAME_POINTER_UNWINDER * 1. Frame pointer unwinder (FRAME_POINTER_UNWINDER) (NEW) * 2. ORC unwinder (ORC_UNWINDER) (NEW) * default prý je první, ale já vybral druhý, který má být novější, rychlejší, ale ještě nekomplexní [[http://www.codeblueprint.co.uk/2017/07/31/the-orc-unwinder.html|zdroj]] ==== 4.14.14 ==== * CONFIG_RETPOLINE * Avoid speculative indirect branches in kernel - N (nechci zpomaleni) * kernel unwinder * netuším, tak beru ORC * PAGE_TABLE_ISOLATION * zapnu, zpomaluje jen trochu ==== 4.19.33 ==== * Device Drivers * NVM Express block device