BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.
Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.
Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.
V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.
Společnost Jolla na akci s názvem Jolla Love Day 2 - The Jolla comeback představila telefon se Sailfish OS 5.0 Jolla Community Phone (ve spolupráci se společností Reeder) a počítač Jolla Mind2 Community Edition AI Computer.
LibreOffice 24.8 bude vydán jako finální v srpnu 2024, přičemž LibreOffice 24.8 Alpha1 je první předběžnou verzí od začátku vývoje verze 24.8 v prosinci 2023. Od té doby bylo do úložiště kódu odesláno 4448 commitů a více než 667 chyb bylo v Bugzille nastaveno jako opravené. Nové funkce obsažené v této verzi LibreOffice najdete v poznámkách k vydání.
Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 141 (pdf) a HackSpace 78 (pdf).
Byla vydána verze 2.0.0 programovacího jazyka Kotlin (Wikipedie, GitHub). Oficiálně bude představena ve čtvrtek na konferenci KotlinConf 2024 v Kodani. Livestream bude možné sledovat na YouTube.
Byla vydána nová major verze 27.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Přehled novinek v příspěvku na blogu.
Je tak trochu šílenost, uznávám. Ale přesto je to věc, pro kterou mám svůj use case.
Situace: bootujete z eth0 a chcete tuto síť dále poskytovat na eth1. Používání jiného rozsahu pro eth1 se vám nelíbí.
Hlavním problémem je to, že není dobře možné dát rozhraní eth0 a eth1 do bridge br0 s přesunem síťové adresy z eth0 na br0, aniž by tam byl nějaký krátký moment, kdy nebude kořenový (síťový) souborový systém dostupný. Pokud si myslíte, jako já, že to přece musí dát, tak věřte, že si to vždycky někam sáhne a umře to
Po troše googlení jsem nalezl jedno řešení. Bylo jím ebtables. Pomocí ebtables je možné pozměnit routovací pravidla bridge tak, aby vznikl most mezi eth0 a eth1, ale pakety na IP adresu patřící eth0 se nesměrovaly skrz bridge.
Zde je skript, který jsem nakonec dal do kupy, i když teď si nejsem stoprocentně jist, že toto funguje:
#!/bin/sh NFSIF="eth0" SECIF="eth1" BRIF="br0" set -e nfsmac=$(ip link show "$NFSIF" | awk 'NR==2 { print $2 }') nfsip=$(ip addr show dev "$NFSIF" | awk '$1=="inet" { print gensub(/\/.+/, "", "g", $2) }') for ip in "$nfsip"; do ebtables -t broute -A BROUTING -p ipv4 -i "$NFSIF" --ip-dst "$ip" -j DROP ebtables -t broute -A BROUTING -p arp -i "$NFSIF" --arp-ip-dst "$ip" -j DROP done ebtables -t broute -A BROUTING -p arp -i "$NFSIF" -d "$nfsmac" -j DROP brctl addbr "$BRIF" brctl addif "$BRIF" "$SECIF" ip link set "$BRIF" up brctl addif "$BRIF" "$NFSIF"
Funguje to, až na jeden defekt. IP adresa na rozhraní eth0 není dostupná z druhé strany bridge, tedy z eth1. A celé je to takový hnusný hack, takže jsem hledal řešení jiné.
Nejelegantnějším řešením je nakonec initrd. Vytvořil jsem si dostatečně velký prázdný soubor, naformátoval jsem jej na ext2 a po připojení jsem vytvořil adresáře /bin a /dev. Do /dev jsem umístil null a console. Emergnul jsem si statický busybox a ten jsem strčil do /bin. Tam jsem na něj udělal symlinky sh, ip, brctl. Pak jsem napsal skript /linuxrc:
#!/bin/sh PATH="/bin" MYADDR="10.10.10.2/24" GW="10.10.10.3" #ip addr flush dev eth0 ip link set eth0 up ip link set eth1 up brctl addbr br0 brctl addif br0 eth0 brctl addif br0 eth1 ip addr add $MYADDR dev br0 ip link set br0 up ip route add default via $GW
Na závěr jsem image odpojil a zkomprimoval. A funguje to. Z hlediska nastavení PXE stačilo přidat jádru argument initrd=/tftp-cesta-k-souboru/initrd.img.gz a bylo.
Třeba se to někomu bude hodit
Tiskni Sdílej: