Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Prv než spustíme samotnú kompiláciu, musíme povedať, čo bude v jadre a čo nie.
Táto informácie je uložená v súbore /usr/src/linux/.config
. Tento
súbor buď musíme vytvoriť, alebo upraviť už existujúci. Ak potrebujete len mierne
upraviť vlastnosti jadra z distribúcie, skúste zistiť, či distributér tento súbor
niekde neponúka. Ak ste na zdrojový kód jadra aplikovali patch na vyššiu verziu,
môžete spustiť príkaz (predpokladám, že sa nachádzate v adresári /usr/src/linux):
# make oldconfig
|
Tento príkaz zistí, aké nastavenia pribudli v novšej verzii a opýta sa vás len na tieto nastavenia. Ostatné zostanú nezmenené.
Ak potrebujeme urobiť kompletnú konfiguráciu alebo meniť pôvodné nastavenia, máme na výber niekoľkoých možností v závislosti od toho, aké prostredie máme k dispozíci:
# make config make[1]: `scripts/fixdep' is up to date. scripts/kconfig/conf arch/i386/Kconfig # # using defaults found in .config # * * Linux Kernel Configuration * * * Code maturity level options * Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) [Y/n/?] Select only drivers expected to compile cleanly (CLEAN_COMPILE) [Y/n/?] ... |
Tento spôsob patrí medzi historické. Stačí nám ľubovoľný textový terminál. Konfigurácia spočíva v tom, že dostávate rad otázok. Za každou otázkou sú v hranatých zátvorkách uvedené možnosti:
Voľba, ktorá bola nastavená v pôvodnom .config
je uvedena veľkým písmenom a bude tiež použitá, keď otázku jednoducho odklepnete klávesou Enter.
# make menuconfig
|
Tento spôsob môžeme použiť, ak má náš systém nainštalovanú knižnicu ncurses
. Tak ako v predchádzajúcom prípade môžete zvoliť medzi Y/n/m/?
# make xconfig
|
Pri jadrách 2.2 a 2.4 budete potrebovať mať nainštalovaný jazyk Tcl/Tk:
Pri jadrách 2.6 budete potrebovať knižnicu Qt:
# make gconfig
|
Dostupné len pri jadrách 2.6:
V prípade, že máte nainštalované prostredie KDE, môžete použiť Control Center:
KDE vo verzii 3.2.2 vie konfigurovať len jadrá do verzie 2.4, ale dá sa predpokladať, že podpora pre 2.6 čoskoro pribudne.
Nech už zvolíte ľubovoľný spôsob, je isté, že nato, abyste správne nastavili konfiguráciu budúceho jadra, je vhodné mať dosť rozsiahle znalosti ako o hardwéri, ktorý máte v počítači, tak aj o rôznych subsystémoch. V tom, či zvládnete tento krok spočíva 99 % úspechu. Ak ho nezvládnete, môžete skončiť s jadrom, ktoré nenabootuje alebo nebude podporovať hardware, ktorý máte, alebo nebude efektívne využívať možnosti tohoto hardwaru. Pri niektorých voľbách je tiež vhodné zvážiť, na aký účel budete potom celý systém používať.
Ako som už spomínal, pri niektorých nastaveniach v konfigurácii možno zvoliť kompilovanie vo forme modulov. To znamená, že príslušná funkcionalita nebude začlenená do výsledného súboru jadra, ale do iného súboru. Meno tohoto súboru sa zvyčajne (no nie vždy) možno dočítať v nápovede pre danú voľbu alebo v dokumentácii.
Rozhodnutie či kompilovať ako modul, či nie, je na vás. Treba ale pamätať na to, že niektoré distribúcie a niektoré podsystémy očakávajú niektoré ovládače vo forme modulov. Priveľa niektoré, takže konkrétne: je zvykom, že ovládače pre sieťové karty sa kompilujú ako moduly, pretože to uľahčuje konfigurovanie systému pre použitie viacerých sieťových kariet kariet naraz. Tiež to uľahčuje odovzdávanie parametrov do ovládača, akými môže byť IRQ, či DMA. Distribúcie ponúkajú štartovacie skripty, ktoré sa pokúšajú nahrať postupne všetky moduly až kým nenájdu ten správny pre vašu sieťovú kartu. Podobne napríklad podsystém pre podporu zvuku - ALSA - očakáva ovládače pre zvukovú kartu vo forme modulov.
Zodpovednosť za automatické nahrávanie modulov môžete prenechať podsystému
jadra nazvanému KMOD - Automatic kernel module loading. Tento podsytém
dokáže automaticky nahrať príslušný modul v čase, keď je podtrebný - napríklad
ovládač pre súborový systém FAT sa nahrá v čase, keď sa vykoná
mount
na takýto súborový systém.
Po nakonfigurovaní nám ostáva len spustiť samotné kompilovanie.
Nástroje potrebné na skompilovanie sú popísané v súbore
/usr/src/linux/Documentation/Changes
spolu so spôsobom,
ako zistiť verziu nástrojov, ktoré máte nainštalované:
o Gnu C 2.95.3 # gcc --version o Gnu make 3.79.1 # make --version o binutils 2.12 # ld -v o module-init-tools 0.9.10 # depmod -V ... |
a tiež informáciu, kde získať aktuálne verzie týchto nástrojov:
o <ftp://ftp.gnu.org/gnu/gcc/>
|
Ak na vašom systéme potrebné nástroje nemáte, môže to byť kvôli tomu, že len nie sú súčasťou typickej inštalácie vašej distribúcie - takže sa najprv pozrite, či sa nedajú doinštalovať.
Ak váš systém má potrebné nástroje, môžeme sa pustiť do kompilácie. Opať je rozdiel medzi verziami 2.6 a nižšími. Ak máte konfiguráciu urobenú správne a chcete skompilované jadro hneď aj nainštalovať, môžete to urobiť takto:
# make dep clean bzlilo modules modules_install
|
# make bzlilo modules_install
|
To, čo nasleduje za príkazom make
, je takzvaný cieľ. Existuje mnoho cieľov, ktoré možete použiť. Tu je ich stručný popis:
dep
clean
/usr/src/linux
.
Táto voľba je nutná pri jadrách do verzie 2.4. bzImage
/usr/src/linux/arch/i386/boot
(za predpokladu, že kompilujete na IBM kompatibilnom PC-čku). Pri tomto cieli sa nekompilujú moduly.modules
modules_install
/lib/modules/{verzia jadra/
bzlilo
To isté ako bzImage
ale výsledné jadro je automaticky
nainštalované pomocou lilo
. Predpokladom je, že lilo je správne nainštalované a očakáva súbor s jadrom na tom istom mieste, ako ho špecifikuje súbor /usr/src/linux/Makefile
na riadku
export INSTALL_PATH=/boot
|
Inými slovami, ak lilo očakáva súbor vmlinuz
inde ako v /boot
, musíte tento riadok upraviť.
mrproper
clean
, ale zmazaný bude aj súbor .config
.Documentation
.
V tomto adresári nájdete súbory popisujúce všeobecné princípy fungovania
jadra, spôsoby konfigurovania rôznych ovládačov, ale aj informácie o tom,
ako začať, ak chcete pridávať do jadra vlastnú funkcionalitu. Do verzie
2.4 sa tu nachádzal aj súbor Configure.help
obsahujúci
popis jednotlivých volieb zobrazovaný pri konfigurovaní jadra. V jadre 2.6
bol obsah tohoto súboru porozdeľovaný do súborov Kconfig
v adresároch obsahujúcich kód zodpovedajúcich ovládačov.uname -r
# uname -r
|
rdev
:
# rdev /boot/vmlinuz
|
V prípade, že informácia v jadre nezodpovedá tomu, kde v skutočnosti máte hlavný súborový systém, jadro pri štarte systému spravidla havaruje s hláškou podobnou tejto:
Kernel panic: VFS: Unable to mount root fs on XX:YY
|
Kde čísla XX
a YY
označujú minor a major číslo zariadenia, na ktorom jadro očakáva hlavný súborový systém.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
rdev
na konci clanku, neni to ekvivalentem k parametru root=...
?
Netreba sa hanbit a ked je na pocitaci Windows, tiez sa tam da kadeco zistit o typoch zvukovych/grafickych/sietovych kariet atd atd.
petr@petrs:~$ cat /etc/lilo.conf # Start LILO global section boot = /dev/hdi #compact # faster, but won't work on all systems. delay = 50 # End LILO global section # Linux bootable partition config begins # image = /boot/vmlinuz root = /dev/hdi3 label = 2.6.7-rc1 append = "video=aty128fb:1024x768-24@75" read-only # image = /boot/vmlinuz-2.6.6-rc1 root = /dev/hdi3 label = 2.6.6-rc1 append = "video=aty128fb:1024x768-24@75" read-only read-only for checking # other = /dev/hdk2 image=/mnt2/boot/vmlinuz-2.4.21-9.EL label=linux-rhel initrd=/mnt2/boot/initrd-2.4.21-9.EL.img read-only append="hdb=ide-scsi root=LABEL=/" # Linux bootable partition config ends #DOS bootable partition config begins other = /dev/hdi1 label = win table = /dev/hdi # DOS bootable partition config ends other = /dev/hdk1 label = win_server table = /dev/hdkPetr
Po druhe: jadro 2.6 okrem inych vylepseni preslo reviziou make-systemu a malo by lepsie fungovat prebuildovanie len zmenenej/pridanej casti jadra. Treba si uvedomit, ze mnozstvo nastaveni je velke a spravne zachytit vsetky zavislosti nemusi byt jednoduche. Takze ak sa ponahlate, skuste vynechat 'clean' a asi to zafunguje.
Napr. /usr/src/linux-2.4.24/Documentation/modules.txt - riadok 27.
Ale je zbytocne sa o tom hadat. Clanok bol mysleny ako startovaci bod pre zaciatocnikov a tym 'clean' neuskodi. Stavali sa chyby, ze nejake zavislosti neboli spravne zachytene makefile-och a bez 'clean' sa neprekompilovali veci, ktore sa mali. Ak si verite a viete identifikovat/vyriesit tento problem ak nastane, tak kludne clean vynechajte.
cd /usr/src/linux make O=/home/uzivatel/... menuconfig make O=/home/uzivatel/... bzImage modules su make O=/home/uzivatel/... modules_install installVyhoda je ze kompilovat muze normalni uzivatel a pritom zdrojaky jsou v /usr/src/linux.
P.S. odpovedas do diskusie starej dobrych par mesiacov. A malokto si to vsimne. Lepsie je polozit otazku do diskusii a dat tam linku na clanok nech vieme o com je rec.