Iniciativa Open Device Partnership (ODP) nedávno představila projekt Patina. Jedná se o implementaci UEFI firmwaru v Rustu. Vývoj probíhá na GitHubu. Zdrojové kódy jsou k dispozici pod licencí Apache 2.0. Nejnovější verze Patiny je 13.0.0.
Obrovská poptávka po plynových turbínách zapříčinila, že datová centra začala používat v generátorech dodávajících energii pro provoz AI staré dobré proudové letecké motory, konvertované na plyn. Jejich výhodou je, že jsou menší, lehčí a lépe udržovatelné než jejich průmyslové protějšky. Proto jsou ideální pro dočasné nebo mobilní použití.
Typst byl vydán ve verzi 0.14. Jedná se o rozšiřitelný značkovací jazyk a překladač pro vytváření dokumentů včetně odborných textů s matematickými vzorci, diagramy či bibliografií.
Specialisté společnosti ESET zaznamenali útočnou kampaň, která cílí na uživatele a uživatelky v Česku a na Slovensku. Útočníci po telefonu zmanipulují oběť ke stažení falešné aplikace údajně od České národní banky (ČNB) nebo Národní banky Slovenska (NBS), přiložení platební karty k telefonu a zadání PINu. Malware poté v reálném čase přenese data z karty útočníkovi, který je bezkontaktně zneužije u bankomatu nebo na platebním terminálu.
V Ubuntu 25.10 byl balíček základních nástrojů gnu-coreutils nahrazen balíčkem rust-coreutils se základními nástroji přepsanými do Rustu. Ukázalo se, že nový "date" znefunkčnil automatickou aktualizaci. Pro obnovu je nutno balíček rust-coreutils manuálně aktualizovat.
VST 3 je nově pod licencí MIT. S verzí 3.8.0 proběhlo přelicencování zdrojových kódů z licencí "Proprietary Steinberg VST3 License" a "General Public License (GPL) Version 3". VST (Virtual Studio Technology, Wikipedie) je softwarové rozhraní pro komunikaci mezi hostitelským programem a zásuvnými moduly (pluginy), kde tyto moduly slouží ke generování a úpravě digitálního audio signálu.
Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 25.10. Podrobný přehled novinek v poznámkách k vydání.
V Londýně probíhá dvoudenní Ubuntu Summit 25.10. Na programu je řada zajímavých přednášek. Zhlédnout je lze také na YouTube (23. 10. a 24. 10.).
Gemini CLI umožňuje používání AI Gemini přímo v terminálu. Vydána byla verze 0.10.0.
Konference OpenAlt 2025 proběhne již příští víkend 1. a 2. listopadu v Brně. Nabídne přibližně 80 přednášek a workshopů rozdělených do 7 tematických tracků. Program se může ještě mírně měnit až do samotné konference, a to s ohledem na opožděné úpravy abstraktů i případné podzimní virózy. Díky partnerům je vstup na konferenci zdarma. Registrace není nutná. Vyplnění formuláře však pomůže s lepším plánováním dalších ročníků konference.
takze souhlasis s tim, ze tu mame vsichni anonymne pomlouvat kazdy clanek/zpravicku?Kvalitní matroš, kde se to shání?
Ale ted vazne, proc dotycny nadava, vzdyt si muze precist original.
Zkuste hádat…
Date: Tue, 1 Apr 2014 10:41:04 -0400
Ano, tohle mě osobně neskutečně vytáčí. Naše konfigurační prostředí je tou naprosto nejhorší částí jádra a není to kvůli tomu, že by Kconfig byl složitý jazyk. Je to kvůli tomu, že odrazuje lidi od sestavování vlastního jádra a testování, jelikož je nesmírně složité odpovídat na naše otázky a vypadá to, že vyzýváme lidi k zapínání funkcí, které jsou zbytečné a jen dělají sestavování pomalejším a obtížnějším.Svatá pravda. I když mě na konfiguraci kernelu nejvíc vadí to, že je to debilní klikaču. Už delší dobu toužím po nástroji, který by dokázal konfigurovat jádro na základě pevně daných (statických) požadavků a nikoliv prolézáním nějakého idiotského menu. Pak by bylo možné tyto požadavky sestavovat například z různých software balíků, které dnes v lepším případě poskytují nástroj pro kontrolu zda je kernel připravený pro použití daného software.
make menuconfig tak trochu mimo téma tohoto vlákna?
protoze nekde v a -> k -> l neni zapnuta volba KLM. Coz samozrejme nikde nezjistim, protoze to jaksi nikde neni napsany.Zvýrazním tu část předchozího příspěvku, kterou jste zjevně minul: ale taky tam jsou vypsane zavislosti.... Stačilo to zkusit.
Ehm ... ja bych rek, ze vedet, ze volba XYZ ma byt nekde v a-> b -> c ... je mi platny ja mrtvymu zimnik, kdyz tam ta polozka neni ... protoze nekde v a -> k -> l neni zapnuta volba KLM. Coz samozrejme nikde nezjistim, protoze to jaksi nikde neni napsany. Ano, muzu zacit zkoumat konfiguracni zdrojak, ja vim ... ... Osobne naprosto nechapu, proc nemuzou byt zobrazeny jednoduse volby vsechny ... a pokud zaskrtnu neco, co je na necem zavisly, tak ocekavam hlaseni, ze je treba taky povolit ... a dotaz, zda to pro me ma konfigurator udelat. A samo, jako bonus nejaky upozorneni pri ukladani, zda je nebo neni konfigurace z pohledu tehle zavislosti validni.No mně osobně vždy pomohlo projít soubory
Kconfig a dohledat si to tam, i když je pravda, že možnost zobrazit skryté volby v omezeném měřítku (například jen ty platné pro danou platformu) by se občas hodila. Ale jinak mi stávající rozhraní pro konfiguraci jádra vyhovuje, i když je pravda, že je to nejspíš z toho důvodu, že to dělám dost často a už mi to ani nepřijde (pamatuju ještě doby, kdy nebyla podpora modulů a vlastní konfigurace jádra byla na PC nutnost).
Osobně považuju za mnohem horší stav, kdy jádro nejde přeložit, protože nějaký kód něco potřebuje, ale nemá to nastavené v KConfigu, nicméně to je něco, s čím se u "normálních" verzí jádra (tj. vanilla a distribučních) naštěstí nesetkáte.
Akurat by tie aplikacie nestihali so zmenami kernelu, kde sa pravidelne premonavavaju tie volby.Zajímavé je, že teď mnohé stíhají poskytovat nástroje na kontrolu, zda je kernel správně nastavený. Netvrdím, že by se to obešlo bez problémů nebo že je to úplně jednoduché. To bych nad tím nepřemýšlel a prostě bych si to napsal a začal to tlačit alespoň v tom Gentoo jako součást balíků.
A po druhe, baliky ako iptables by si zadali poziadavky, napr. na podporu vsetkych protokolov a cielov a funkcii v netfilteri/firewalle v kerneli (ci ako sa to teraz vola). A pritom na konkretnom pocitaci moze admin potrebovat len malo mnozinu. Kernel moze byt zamerne nakonfigurovany len na urcite funkcie, aby aplikacie nedostali vsetko co potrebuju (ked im to admin nechce dat). Takze zase by sa tento system musel nejako dat obist.Nesouhlasím, že je dobrý nápad aby iptables bezpodmínečně záviselo na všech volbách. Nicméně píšeš o problémech, jejichž možná řešení jsem již nastínil.
Takze zase by sa tento system musel nejako dat obist.I na toto už jsem odpověděl, viz druhá věta třetího odstavce.
Jinak problém těch balíků je ale v tom, že ti stejně zbyde hromada voleb, na kterých žádný userspace balík nezávisí nebo je k dispozici víc variant.Popravdě řečeno nepatřím mezi ty, kteří chtějí nastavovat každou poslední volbu jádra. Od toho je rozumné výchozí nastavení, případně volba některého dobře postaveného profilu dle účelu stroje plus těch pár změn, co potřebuju udělat. Už jsem dokonce uvažoval, že kvůli debilitě konfigurace jádra budu používat jádro z nějaké binární distribuce, abych se celému tomu martyriu vyhnul. Osobně bych si kvůli různým experimentům zapnul pár voleb týkajících se sítí a zbytek ať se klidně řídí hardware, balíčky, profilem a výchozí konfigurací.
.
No já jsem na svým domácím počítači vždycky použil .config ze starýho jádra a rychle nastavil nové volby. Je to sice trochu prasárna, ale funguje.Ano, to dělám, a výsledky jsou nevalné a nepředvídatelné.
A i kdyby, tak konfigurace jádra od nuly jednou za rok není zas tak hrozná (projet všechny volby zabere tak jedno odpoledne).Možná jsi génius, ale já osobně nejsem schopný takto vyrobit deterministickou konfiguraci a typicky na první pokus ani plně funkční konfiguraci. Celý ten proces mě natolik zdržuje ještě dlouho po prvotní konfiguraci jádra, že se do nějaké důsledné optimalizace radši ani nepouštím. Věřím tomu, že to mnohé odradí i od celého procesu a vím o lidech, kteří na Gentoo používají distribuční jádro z jiné distribuce.
Nechtěl bych být ten, co bude spravovat databázi například nových USB donglůOny jsou v jádře off by default? A i kdyby, nedá se jejich databáze nějak více či méně deterministicky vyrobit ze zdrojáků jádra?
men to tak fachciNo já jsem na svým domácím počítači vždycky použil .config ze starýho jádra a rychle nastavil nové volby. Je to sice trochu prasárna, ale funguje.Ano, to dělám, a výsledky jsou nevalné a nepředvídatelné.
make oldconfig
no usb mass-storage snad zadnou databazi nepotrebuje jak konkurencni widle jestli myslis usb.ids, to bylo v usbutils a ted je to v hwidsNechtěl bych být ten, co bude spravovat databázi například nových USB donglůOny jsou v jádře off by default? A i kdyby, nedá se jejich databáze nějak více či méně deterministicky vyrobit ze zdrojáků jádra?
Celý ten proces mě natolik zdržuje ještě dlouho po prvotní konfiguraci jádra, že se do nějaké důsledné optimalizace radši ani nepouštím.Tak to já mám taky tunu bordelu, ale některý defaultní věci mě vyloženě štvou (obvykle "M" vs. "Y" nebo tuna nepotřebných driverů zařízení).
Věřím tomu, že to mnohé odradí i od celého procesu a vím o lidech, kteří na Gentoo používají distribuční jádro z jiné distribuce.Na Gentoo? Tak to mě docela překvapilo :-O
. Tam bych naopak čekal lidi, co to budou štelovat i třeba za cenu úpravy zdrojáků
.
Ony jsou v jádře off by default?No právě když už ruční kompilace, tak všechno, co nemám doma vypnout nebo připravit na kompilaci jako modul.
Na Gentoo? Tak to mě docela překvapilo :-OJe z části i tím, že na konfiguraci jádra neexistuje žádná rozumná automatizace, teda pokud nepočítáš genkernel s mrproper a bez ruční konfigurace, ale ani to zřejmě nedává výsledky srovnatelné s distribučními jádry. Jinak nevidím jediný důvod, proč štelovat jádro do posledního detailu, pokud se to dělá takhle blbě a přitom mi to vůbec nic nepřinese.. Tam bych naopak čekal lidi, co to budou štelovat i třeba za cenu úpravy zdrojáků
.
No právě když už ruční kompilace, tak všechno, co nemám doma vypnout nebo připravit na kompilaci jako modul.Ony jsou nějaké USB srágorky ve výchozí konfiguraci zakompilované?
Ony jsou nějaké USB srágorky ve výchozí konfiguraci zakompilované?Ano, v i386_defconfig mám dost zbytečných věcí defaultně zaplých. Jsou tam i usb zařízení, ale přímo DVB-T tam nejsou, protože celý drivers/media je defaultně vyplý. Pokud se zapne, tak se například kompilují všechny tunery a frontendy.
Problém je, že se nelze dohodnout, co je důležité a co ne.V kontextu toho, co jsem psal výše to problém právě není. Výsledkem konfigurace jádra by totiž byla kombinace výchozího nastavení, změn specifických pro hardware a uživatelsky definovaných změn. Pokaždé když dokážeš vyjmenovat dvě nebo tři věci, které bys potřeboval mít zakompilované, lze je bez problémů zapsat do těch uživatelsky definovaných změn, pokud už nejsou součástí hardware profilu.
Aha já ty věci totiž vyjmenovat nedokážu, prostě když konfiguruju jádro, tak si čtu a říkám si: "to by se mi hodilo, tohle a možná tohle...", tedy pro uspokojivou konfiguraci stejně musím prolízt celý jádro. Funguje to tedy jako hledání novinek
. Ale asi by to šlo udělat nějakým obecným diffem pro všechny verze a pak vytříděním novinek. Takže moje představa, co by mohl/měl ten systém splňovat (warning subjektivní, nepřesné a napřeskáčku
):
)
), kompatibilní pro všechny verze
)No nic tak jsem se trochu rozepsal
. Pokud by to chtěl někdo zkusit, tak hodně štěstí, ja na to nemám čas. Ale rád mu pošlu všechny budoucí .configy
(tedy pokud mi to bude fungovat na slacku přes ssh konzoli třeba).
Aha já ty věci totiž vyjmenovat nedokážu, prostě když konfiguruju jádro, tak si čtu a říkám si: "to by se mi hodilo, tohle a možná tohle...", tedy pro uspokojivou konfiguraci stejně musím prolízt celý jádro. Funguje to tedy jako hledání novinekTaky jsem si vyzkoušel LFS a ještě to neznamená, že ho považuju za ideální způsob přípravy linuxové instalace. Tohle mi přijde daleko horší než LFS..
Kompatibilita se starým způsobem konfigurace (moc kritická vlastnost, aby byla zahozena)Triviální, stačí dále používat
.config a z pohledu ostatních nástrojů se nic nemění.
Minimální závislosti na dalším softwaru než kernel, ideálně přímo přes skripty kernelu (tedy limitně nulová závislost na pythonu, perlu, Xek apod.)Osobně považuju za nepodstatné. Všechny konfigurace jádra dělám z plně funkčního systému.
Databáze voleb všech starých verzí a jejich změna na nové (pamatuju si, jak se dělaly velké přesuny USB driverů)Nevidím jako potřebné. Není problém udělat třeba hardware konfiguraci variantní pro více různých verzí, stačí uvádět všechny alternativy.
Detekce hardware (stačí lshw?, lsusb tuším nefunguje vždy - vyžaduje nějakou usb debug vrstvu)Nepovažuju za nutné. Může být řešeno samostatným software s exportem do daného formátu.
Chci povolit celý USB subsystém enablováním jednoho USB driveru (má se po opětném disablování celý subsystém vypnout? co když to tak chtít nebudu)V systému, který jsem popisoval žádné opětovné disablování neexistuje. Existují jen pravidla ze kterých se vytvoří celá konfigurace.
Chci vidět na čem závisí tenhle driver (to umí i nconfig i když dost blbě)Nesmysl. Systém, který jsem popisoval není ani prohlížeč závislostí ani interaktivní editor konfigurace. Ty už existují.
Hlášení všech kolizí a nekompatibilitTo by měla být samozřejmost, ale to zvládne samostatný nástroj. Není už takový k dispozici?
Databáze známých problémů, jinak pomocí globálního nastavení OS nenabootuje a možná bude nutno ručně prolézat volbyNa to by měl teoreticky stačit samostatný nástroj, ale integrace je možná.
Nějak vyřešit podporu 10+ starých MB (třeba moje k7s5a měla (nejen) apic=off problémy a poprvé jsem to nevěděl a musel jsem rekompilovat).Jasně. A jako vedlejší efekt vyřešit všechny problémy světa. Tady opravdu doufám, že si děláš prdel.
Databáze uživatelského nastavení pro věci, co nelze detekovat, odhadnout (?), nejsou v online databázTaké okrajové sračky má smysl řešit teprve kdyby byl nějaký nástroj k dispozici.
Co offline konfigurace?Konfigurace pokud vím už offline probíhá.
No nic tak jsem se trochu rozepsalPředevším mám podle některých poznámek obavu, že jsi popisoval něco zcela jiného než co jsem popisoval. Nesliboval jsem že budu něco takového zkoušet, ale pokud ano, tvým představám to zcela jistě odpovídat nebude..
Tak ideální způsob instalace linuxu je obvykle použití distribučního jádra.To pro mě v Gentoo bohužel neplatí, ledaže bys měl namysli distribuční jádro z jiné distribuce. Ale i tak se ti může stát, že nepovolili nějakou pro tebe důležitou volbu a právě proto jsem se vůbec začal zabývat možností zlaté střední cesty mezi použitím hotového jádra a sraním se s každou jednotlivou volbou, kdy bych si nastavil (a udržoval!) jenom ty volby, které chci skutečně změnit.
Ty navrhuješ, že přidáš něco jako use flagy a seznam závislostí do balíčkovacího systému a to tak, že to bude řídit konfiguraci kernelu a bude to statické.Právě. Díváme se na problémy i možná řešení úplně jinak. Navíc si stále nejsem jistý, zda jsi mému návrhu porozuměl, když máš pořád potřebu kritizovat neúplnost toho řešení. Vzhledem k tomu, že poslední (a tím v podstatě hlavní) instancí konfigurace by byl uživatelský konfigurační soubor, považuju řešení za úplné. Účelem nebylo mít nástroj, který udělá konfiguraci za tebe, ale který ti s konfigurací maximálně pomůže a především je jeho činnost opakovatelná, což se o procházení menuconfigu říct nedá. Můžeš se na to dívat i jinak. Do začátku by mi bohatě stačil třeba pythoní modul na konfiguraci jádra, který by uměl akce typu zapni modul i se závislostmi a já bych si za použití browseru voleb jádra a dokumentace k různým programům a software posbíral hrubý seznam toho, co chci povolit a průběžně ho doplňoval. Volání ve skriptu bych si rozdělil podle toho, zda jsou pro konkrétní hardware, software nebo vlastní volba, která do ničeho nezapadá. Ale nejspíš by mě štvalo to takhle pořád upravovat, takže bych si samotné volby brzo vytáhnul do samostatných souborů v nějaké deklarativní syntaxi. V případě úspěchu u dalších uživatelů by pak šlo části odpovídající konkrétnímu hardware a software zveřejňovat na Gentoo Wiki, případně by se mohly začlenit některé soubory do balíčků a automaticky by se nad nimi spouštěla kontrola, zda jsou splněné, popřípadě by mohl genkernel umět příští konfiguraci jádra upravit tak, aby je splnil. Hledat v tom cokoliv složitějšího je podle mě omyl.
což se o procházení menuconfigu říct nedáOn ještě někdo používá menuconfig a ne nconfig? :-O
by uměl akce typu zapni modul i se závislostmi a já bych si za použití browseru voleb jádra a dokumentace k různým programům a software posbíral hrubý seznam toho, co chci povolit a průběžně ho doplňoval.Ovšem je otázka, zda by se v tom uživatel neztratil. Ty závislosti nejsou jednoznačně definované (=depends on ...). Sice si zapneš usb dvb-t dongle, kterej ti zakompiluje usb a v4l subsystém, ale i tak to nebude fungovat, protože nebudeš mít vybranej usb řadič. To může u něčeho jako "pci řadič → usb řadič → i2c řadič → i2c čip" nastat skoro na všech úrovních.
readv()/writew()
writev()
Jan Kara
Kára
Jestli bude vespod velikost sektoru 512B, 4 kB nebo 64 kB je vcelku jedno.
Na filesystemu prd zalezi, a na tom, jestli je nebo neni soubor ulozen sekvencne taky.Jasně, protože soubor rozházený po celém disku se čte/zapisuje úplně stejně, jako když leží na jednom místě.
Reálně se flashové filesystémy jako JFFS2 používají pro onboard MTD = embedded bootovací disky maličkých zařízení (WiFi APčka, SoHo routery apod.) - velikost pár desítek MB.
Ano, přítomnost mnoha čtečů/zapisovačů na disky se řeší léta. A třeba Solaris na svém nativním ZFS to zřejmě už léta zvládá s noblesou, např. díky efektivnímu využití veliké RAM a bůhví čemu ještě. Linux to pár let zpátky neuměl. Nezáleželo na tom, kolik GB RAMky jste mu dal - při write-backu to prznil I/O scheduler (deadline scheduler na základě timeoutu pod zátěží relativně rychle degradoval do režimu FIFO) a read-ahead byl na blokové vrstvě, nikoli per flow, pak snad byl i per flow, ale nedal se "zvenčí" ladit, v omezené míře to mohla dělat aplikace nějakým ioctl() na otevřeném deskriptoru... Takže jste mohl mít RAMky, kolik jste chtěl, ale nedokázal jste Linux donutit, aby ji efektivně využíval.
Bavím se o ukládání a čtení velkých souborů skrz nějaký filesystém na disky. Databáze jsou odjakživa jiná píseň, DBMS tradičně zcela obcházejí filesystém a VM hostitelského OS a baví se nejraději přímo s disky v "direct" módu. Ale ukládejte soubory o průměrné velikosti několika set MB do relační databáze... databázoviny řeší velikost stránky 4 kB.
Ohledně RAIDů... tady mám takový graf závislosti IOps a MBps na velikosti transakce:
http://www.fccps.cz/download/adv/frr/hdd/perf_vs_tsize.gif
Pro maximální "výtěžnost" MBps z konkrétního disku je potřeba, aby při čtení pokud možno nemusel seekovat. Jako rozumná vychází velikost transakce řádově v megabajtech (minimálně cca 1 MB). Neznám mnoho RAIDů, které se dají přemluvit, aby použily stripe size 1 MB nebo víc. Umí (uměl) to softwarový MD RAID v Linuxu. Pokud čtete sekvenčně soubor z RAIDu, a soubor je na RAIDu sekvenčně alokovaný, a čtecí transakce vyžaduje načtení několika strajpů po sobě, tak to znamená, že musí několik disků prakticky současně seeknout na shodné místo - i v krásném případě RAID0, který se prakticky nepoužívá kvůli provozní stabilitě. To znamená "degradaci disponibilních IOps", o které jsem mluvil. Pro optimální využití IOps disků by bylo třeba, aby pro každou čtecí transakci musel jednou seeknout jeden disk. V RAIDu platí, že čím menší stripe size, tím menší transakce stačí, aby několik disků muselo seekovat synchronně. Zároveň pro optimální "paralelní sekvenční čtenáře" je třeba, aby fungoval inteligentní read-ahead o nějaké nezanedbatelné velikosti, aby se seekování disků dostalo do "sekvenční" oblasti křivky průchodnosti. Takže okamžitě narazíte na kolizi dvou požadavků: read-ahead nad 1 MB, lépe 4 MB nebo víc per disk (sekvenčně v souboru i na disku) a omezeni stripe size typicky na 512 kB max.
A navazuje další problém: aby souborový systém při sekvenčním čtení souboru nemusel seekovat "mimo sekvenci" pro načítání metadat. Struktura metadat např. ext2 a spol. je vysloveně rozdrobená, rozprostřená po ploše disku, navíc standardní velikost FS bloku v Unixu je 1 kB, block group má pár kB.
Nakonec možná líp by se chovaly FS z rodiny FAT (pro velké disky ExFAT) - zejm. při velké alokační jednotce (cluster o velikosti několika MB) by se metadata FAT vešla do RAM, čímž by odpadlo seekování "mimo sekvenci". To jsou ale paradoxy - FAT jako optimální FS
A zbavit se RAIDu = alokovat soubor spojitě v rámci jediného disku. A pokud to má mít redundanci, tak naalokovat jeden soubor víckrát na více discích.
Tu fintu s "jednotlivě mountovanými disky" nemám ze své hlavy, někteří lidé si na tom postavili úložiště "na koleně".
A stejným směrem míří i clusterové systémy pro ukládání souborů víckrát na více fyzických strojích, s lokálními FS. Opět hrozně starý nápad...
Jinak pritomnost mnoha paralelnich ctecu/zapisovaci nad disky ... se resi uz leta ... dostatecnycm mnoztvim RAM. Mam tu trebas cca 200GB databazi ... na stroji se 128GB RAM.OK, a když nemám dat 200 GB, ale několik TB? Takové úložiště vyjde dneska na pár korun, ale stroj s víc než 32 GB RAM už ne.
Tiskni
Sdílej: