Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.
Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.
Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.
V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů
… více »Google Chrome 141 byl prohlášen za stabilní. Nejnovější stabilní verze 141.0.7390.54 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 21 bezpečnostních chyb. Za nejvážnější z nich (Heap buffer overflow in WebGPU) bylo vyplaceno 25 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
eDoklady mají kvůli vysoké zátěži technické potíže. Ministerstvo vnitra doporučuje vzít si sebou klasický občanský průkaz nebo pas.
Novým prezidentem Free Software Foundation (FSF) se stal Ian Kelling.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za září (YouTube).
Vyšla kniha Počítačové programy a autorské právo. Podle internetových stránek nakladatelství je v knize "Významný prostor věnován otevřenému a svobodnému softwaru, jeho licencím, důsledkům jejich porušení a rizikům „nakažení“ proprietárního kódu režimem open source."
Red Hat řeší bezpečnostní incident, při kterém došlo k neoprávněnému přístupu do GitLab instance používané svým konzultačním týmem.
Dlouho jsem řešil následující problém: integrované grafické karty Intel 915 a podobné, které se často nachází v levnějších noteboocích, jsou známé tím, že mají špatně definované rozlišení. To se dá částečně opravit spuštěním utilitky 915resolution PŘED spuštěním aplikace, která toto zařízení využívá, tedy většinou Xorg. Ale nebylo by špatné kdybych mohl v plné míře využít textového režimu ve vysokém rozlišení framebufferu a také gensplash/fbsplash. Ale právě kvůli zmíněnému problému nelze využít plného rozlišení a navíc po spuštění Xorg se na tty rozhází pixely a už s tím vůbec nejde pracovat. Je tedy třeba spustit 915resolution PŘED aktivací framebufferu. To je ale menší oříšek, protože kvůli podpoře fbsplash nelze sestavit framebuffer jako modul, takže není možné spustit 915resolution a pak modprobe. Je nutné spustit 915resolution PŘED startem jádra, což zní dost děsivě. Na různých fórech jsem se pouze dočetl, že se asi budu muset smířit se stávajícím stavem.
Tak jsem si musel poradit sám...
Možná by se zdálo, že není možné spustit něco před startem jádra, ale možné to je. Nikde totiž nebylo řečeno, že to musí být před startem prvního jádra. Stačí sestavit druhé jádro, nemodulární, s minimální konfigurací a BEZ podpory framebufferu (je nustné povolit velmi užitečné systémové volání zvané kexec, které umožní ukončit běh jednoho jádra a spustit jiné bez restartu). Potom pro toto jádro vytvořit initramfs, ve kterém se nachází 915resolution, kexec utilitka a pár základních systémových souborů. Po spuštění tohoto jádra se upraví rozlišení a bez restartu se spustí původní jádro, které (naštěstí) neinicializuje znovu grafickou kartu, takže změna rozlišení je možná PŘED aktivací framebufferu. Takhle jsem zprovoznil framebuffer a fbsplash v plném rozlišení a bez konfliktů s Xorg.
Inicializační ramdisk pro spouštěcí mikrojádro může vypadat například takto:
. ./sbin ./sbin/kexec ./sbin/915resolution ./bin ./bin/sh ./bin/mount ./bin/umount ./bin/cat ./bin/bash ./bin/sed ./bin/cmdline ./lib ./lib/libc.so.6 ./lib/libz.so.1 ./lib/ld-linux.so.2 ./lib/ld-2.4.so ./lib/libdl.so.2 ./lib/libncurses.so.5 ./lib/libreadline.so ./lib/libncurses.so ./lib/libblkid.so.1 ./lib/libuuid.so.1 ./etc ./etc/fstab ./etc/mtab ./init ./dev ./dev/hda ./dev/hda1 ./dev/hda2 ./dev/hda3 ./dev/hda5 ./dev/hda6 ./dev/hda7 ./dev/hda8 ./dev/null ./dev/zero ./dev/mem ./dev/console ./dev/tty ./dev/tty0 ./dev/tty1 ./proc ./boot ./tmp ./varPoužívám následující inicializační skript, který je flexibilní a příjmá spoustu parametrů:
#!/bin/sh set -e echo "Mounting proc" /bin/mount -t proc proc /proc echo "Mounting /boot" /bin/mount -t "`/bin/cmdline fs ext2`" -o ro "`/bin/cmdline dev /dev/hda1`" /boot echo "Changing resolution" /sbin/915resolution "`/bin/cmdline mode 45`" "`/bin/cmdline xres 1280`" "`/bin/cmdline yres 800`" "`/bin/cmdline depth 16`" echo "Loading new kernel" /sbin/kexec --initrd="/boot/`/bin/cmdline initrd initrd`" --append="`/bin/cat /proc/cmdline`" -l "/boot/`/bin/cmdline kernel vmlinuz`" echo "Unmounting /boot" /bin/umount /boot echo "Starting new kernel" exec /sbin/kexec -eCmdline ja malá pomůcka pro čtení parametrů jádra:
#!/bin/sh res=`cat /proc/cmdline |sed -r 's/.*'$1'=([^ ]+).*/\1/'` [ "$res" = "`cat /proc/cmdline`" ] && { echo $2 exit 1 } echo $resParamery jádra:
Název | Význam | Výchozí hodnota |
dev | Oddíl, na kterém se nachází linuxové jádro, většinou /boot | /dev/hda1 |
fs | Souborový systém na oddílu z dev | ext2 |
kernel | Soubor na oddílu určeném parametrem dev, který obsahuje původní linuxové jádro (např. vmlinuz nebo boot/vmlinuz v případě absence /boot oddílu) | vmlinuz |
initrd | soubor s initrd, pravidla stejná jako pro parametr kernel | initrd |
mode,xres,yres,depth | Parametry pro 915resolution | 45, 1280, 800, 16 |
title Gentoo Linux kernel (hd0,0)/vmlinuz-micro splash=silent,theme:regnarg console=tty1 CONSOLE=/dev/tty1 root=/dev/hda5 noapic nolapic pci=routeirq netconf=doma dev=/dev/hda1 fs=reiserfs initrd=gensplash-initrd-regnarg mode=45 xres=1280 yres=800 depth=16 initrd (hd0,0)/initrd-micro
Šílené řešení, že ? Ale doufám, že to bude někomu užitečné. Postup byl testován na notebooku Gigabyte W511U a funguje bez problémů. V případě jakýchkoliv potíží se můžete poradit tady v komentářích nebo se ozvat na moje JID. Také uvítám všechny konstruktivní připomínky (například, že ten initramfs je moc velký, a takové věci jako bash, readline a ncurses tam vůbec nepatří).
Nedokonalou, ale ve většině případů funkční implementaci výše uvedeného řešení najdete na http://regnarg.kx.cz/i915kexec/
Tiskni
Sdílej: