Byla vydána nová verze 1.26 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
CrossOver, komerční produkt založený na Wine, byl vydán ve verzi 26. Přehled novinek v ChangeLogu. CrossOver 26 vychází z Wine 11.0, D3DMetal 3.0, DXMT 0.72, Wine Mono 10.4.1 a vkd3d 1.18. Do 17. února lze koupit CrossOver+ se slevou 26 %.
KiCad je nově k dispozici také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit [Mastodon, 𝕏].
Šenčenská firma Seeed Studio představila projekt levného robotického ramena reBot Arm B601, primárně coby pomůcky pro studenty a výzkumníky. Paže má 6 stupňů volnosti, dosah 650 mm a nosnost 1,5 kilogramu, podporované platformy mají být ROS1, ROS2, LeRobot, Pinocchio a Isaac Sim, krom toho bude k dispozici vlastní SDK napsané v Pythonu. Kompletní seznam součástek, videonávody a nejspíš i cena budou zveřejněny až koncem tohoto měsíce.
… více »Byla vydána nová verze 36.0, tj. první stabilní verze nové řady 36, svobodného multimediálního centra MythTV (Wikipedie). Přehled novinek a vylepšení v poznámkách k vydání.
Byl vydán LineageOS 23.2 (Mastodon). LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu.
Od března budou mít uživatelé Discordu bez ověření věku pouze minimální práva vhodná pro teenagery.
Evropská komise (EK) předběžně shledala čínskou sociální síť pro sdílení krátkých videí TikTok návykovým designem v rozporu s unijním nařízením o digitálních službách (DSA). Komise, která je exekutivním orgánem Evropské unie a má rozsáhlé pravomoci, o tom informovala v tiskovém sdělení. TikTok v reakci uvedl, že EK o platformě vykreslila podle něj zcela nepravdivý obraz, a proto se bude bránit.… více »
Offpunk byl vydán ve verzi 3.0. Jedná se o webový prohlížeč běžící v terminálu a podporující také protokoly Gemini, Gopher a RSS. Přibyl nástroj xkcdpunk pro zobrazení XKCD v terminálu.
Promethee je projekt, který implementuje UEFI (Unified Extensible Firmware Interface) bindingy pro JavaScript. Z bootovacího média načítá a spouští soubor 'script.js', který může používat UEFI služby. Cílem je vytvořit zavaděč, který lze přizpůsobit pomocí HTML/CSS/JS. Repozitář se zdrojovými kódy je na Codebergu.
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 $res
Paramery 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:
Nešlo by funkcionalitu té utilitky dostat do kernelu?
Je pravda, že ponechává zařízení inicializovaná, takže s tím jsou dělat všelijaké nechutosti. Tomuhle bych dal cenu "zlaté české ručičky".
(skutocny dovod je, ze namam taky book).