Byla vydána nová verze 25.12.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.
Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.
V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.
Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.
FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.
K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.
Yazi je správce souborů běžící v terminálu. Napsán je v programovacím jazyce Rust. Podporuje asynchronní I/O operace. Vydán byl v nové verzi 25.12.29. Instalovat jej lze také ze Snapcraftu.
Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.
Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.
# Terminal on serial lines... # T0:23:respawn:/sbin/getty -8 -h -L ttyS0 115200 vt220 T1:23:respawn:/sbin/getty -8 -L ttyS1 115200 vt220 # COM2 - Rx/Tx only, no hw-flow! T2:23:respawn:/sbin/getty -8 -h -L ttyS2 115200 vt220A když spustím na druhé mašině minicom, tak se normálně přihlásím a vše funguje ok. Potíž je ale s jádrem (a s BIOSem, ale ten upravit by mohlo být snadné), když dám do lilo.conf:
append="console=ttyS0,115200 console=ttyS1,115200 console=ttyS2,115200"tak to bohužel používá konzoli jen na ttyS. V dmesg to taky vypíše jen:
[ 0.000000] Kernel command line: auto BOOT_IMAGE=linux ro root=LABEL=*censored* console=ttyS0,115200 console=ttyS1,115200 console=ttyS2,115200 ... [ 0.000000] Console: colour dummy device 80x25 [ 0.000000] console [ttyS0] enabledCož asi bude tím, že i v dokumentaci píšou:
Note that you can only define one console per device type (serial, video).Co tedy s tím? Docela bych to potřeboval, jednak kvůli hláškám jádra při bootu, jednak pro případ, že by se stroj zasekl při bootu a chtěl do rootovské konzole. Existuje nějaký trik? Nebo patch do jádra? Nebo páka na to, aby si to Linus konečně opravil? [*verzweifelt*]
traditionally, for getty and other login processes, the value of the id field is kept the same as the suffix of the corresponding tty=> ttyS0.. Imho. proc jedna konzole nestaci?
Jen bokem, nemel by byt v /inittab jako id S0,S1,S2 misto T0,T1,T2 viz man
Může být, já jsem jen upravil to, co tam bylo už z distribuce, nad těmito konvencemi jsem nekoumal a fungovalo mi to.
Imho. proc jedna konzole nestaci?
Jedna konzole je pro připojní externího PC (laptopu).
Jsou to dva stroje (PC Engines APU) ve funkci domácího routeru/serveru zapojené tak, aby v případě výpadku bylo možné, aby jeden zastal funkci druhého. Jsou v jedné skříni a interně mají vzájemně propojené ttyS2 <-> ttyS3 (v TTL 3.3V logice), tak aby bylo možné se na dálku vrtat např. v konfiguraci sítě bez rizika, že to člověk už neopraví.
Ještě plánuji připojit raspberryPi, jehož hlavní funkcí bude resetovat obě desky a v případě nutnosti do nich přes SPI nahrát novou verzi BIOSu. Vzhledem k tomu, že desky mají vyvedený ttyS1 na headeru v TTL 3.3V logice, tj. stejně jako RPi, se přímo nabízí ještě pro sichra mít konzoli přístupnou alespoň na jedné desce z toho RPi.
Ale to už by byla jen taková třešnička. Důležité je, aby byl přístup na konzoli vždycky z toho druhého stroje, a pak přes klasický RS232, co ty desky mají vyvedený ven, aby když tam člověk bude fyzicky, aby nemusel všechno rozebírat a shánět převodník na 3.3V TTL logiku..
Jedná se o síť v rodině, kterou mám >500km daleko a chci ji udělat co nejvíce "idiotensicher", aby se s tím na dálku dalo něco udělat v případě výpadků (těch teď bylo několik vinou kolísání napětí v síti, vyřešil jsem to koupí UPS, ale stejně chci co největší redundanci...)
určitě by šel výstup TTYS0 hardwarově "rozdvojit" a poslouchat 2ma sériovkami na tom samém výstupu z desky(drátě), ale s opačným směrem by byl problém, praly by se vysílače, tam to nejde, jedině přepínač...
Jenže o kousek níž je také
Note that you can only define one console per device type (serial, video).
Ale takhle z hlavy nevím, jestli je za tím nějaký hlubší důvod nebo je to jen důsledek implementace. V každém případě by to stejně nebylo moc praktické, už jedna sériová konzole může někdy nepříjemně zdržovat.
The Linux kernel has 2 general types of console drivers. The first type is assigned by the kernel to all the virtual consoles during the boot process. This type will be called 'system driver', and only one system driver is allowed to exist. The system driver is persistent and it can never be unloaded, though it may become inactive.Ještě něco nejasného? Soudruh Grunt vždy rád vysvětlí a zpříjemní den
chceš logovat ještě před inicializováním subsystémůZde si dovolím malé poupravení: Subsystémy inicializované jsou. BIOSem. Doporučuju projít si kód ve složce arch/x86/boot (není toho moc). V podstatě veškerý kód co tam je se umisťuje před rozbalení a spuštění hlavního jádra (je to vlastně nekomprimovaná přímo spustitelná hlavička vmlinuxu). Úplně nejúchvatnější je ovšem main.c:
void main(void)
{
/* First, copy the boot header into the "zeropage" */
copy_boot_params();
/* Initialize the early-boot console */
console_init();
if (cmdline_find_option_bool("debug"))
puts("early console in setup code\n");
/* End of heap check */
init_heap();
/* Make sure we have all the proper CPU support */
if (validate_cpu()) {
puts("Unable to boot - please use a kernel appropriate "
"for your CPU.\n");
die();
}
/* Tell the BIOS what CPU mode we intend to run in. */
set_bios_mode();
/* Detect memory layout */
detect_memory();
/* Set keyboard repeat rate (why?) and query the lock flags */
keyboard_init();
/* Query Intel SpeedStep (IST) information */
query_ist();
/* Query APM information */
#if defined(CONFIG_APM) || defined(CONFIG_APM_MODULE)
query_apm_bios();
#endif
/* Query EDD information */
#if defined(CONFIG_EDD) || defined(CONFIG_EDD_MODULE)
query_edd();
#endif
/* Set the video mode */
set_video();
/* Do the last things and invoke protected mode */
go_to_protected_mode();
}
Inicializace sériové konzoly probíhá jako druhý bod. Tedy před tím než se vůbec zkontroluje jestli je jádro možné spustit na daném CPU, před inicializací klávesnice, VGA módu, před přepnutím do chráněného režimu a před tím než se jádro rozbalí a vlastně spustí. Sem skáče GRUB a v této fázi se toho nedá dělat o moc víc než v běžném DOSu. Vlastně jen volat BIOS (což je přesně co se děje - viz bioscall.S a ano jsou tu segmenty napsané v assembleru!) a přímo zapisovat na porty. Takže otravovat že nejsou inicializované dva sériové porty…hele asi to půjde ale případným zájemcům bych popřál mnoho štěstí ve vlastnoruční implementaci i když bych byl Linus který to očividně psal
} else if (!strncmp(arg + pos, "ttyS", 4)) {
static const int bases[] = { 0x3f8, 0x2f8 };
int idx = 0;
/* += strlen("ttyS"); */
pos += 4;
if (arg[pos++] == '1')
idx = 1;
Jako výstup můžeš použít pouze jednu konzoluCož je přesně ten bug...
dmesg:
[ 2.569637] serial8250: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A [ 2.598223] serial8250: ttyS1 at I/O 0x2f8 (irq = 3, base_baud = 115200) is a 16550A [ 2.626809] serial8250: ttyS2 at I/O 0x3e8 (irq = 4, base_baud = 115200) is a 16550A [ 2.655405] serial8250: ttyS3 at I/O 0x2e8 (irq = 3, base_baud = 115200) is a 16550ATady se není na co vykašlávat. Připojit se po dokončeném bootu na konzoli (getty) není problém, chápeš to? Jedinej problém je s hláškama a konzolí při bootu, jinak vše funguje, jak má...
Tiskni
Sdílej: