Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.
Databáze DuckDB (Wikipedie) dospěla po 6 letech do verze 1.0.0.
Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.
Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.
Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
mtd
zapisovat.
Pripravil jsem si k tomu 2 skripty . Prvni nakopiruje pres ssh potrebne soubory a spusti druhy skript na cilovem stroji. V tomto druhem skriptu mam cast, ktera ma provest kontrolu, jestli se jedna o spravny typ routeru a az pak zacne provadet zapis. Zde je cele zneni skriptu, vcetne popisu funkce a toho kde na ni nastava problem:
#!/bin/sh workdir=$PWD firmware=$PWD/firmware.mtd1.bin boardinfo=$(cat /proc/cpuinfo | grep machine) model="Archer C6 v3" ## Kontrola, jestli je pripraven soubor s firmware pro obnovu. if [ -f "$firmware" ]; then echo "Nalezen soubor pro instalaci."; else echo "Soubor nenalezen. Spustte znovu skript router_setup.sh" && exit fi sleep 2 ## Flash samotneho obrazu s konfiguraci a balicky echo "Bude provedena obnova konfigurace." read -p $'Press enter to continue...\n' echo "##################################" echo "### ###" echo "### PROBIHA OBNOVA KONFIGURACE ###" echo "### ! NEVYPINEJTE NAPAJENI ! ###" echo "### ###" echo "##################################" ## Kontrola retezce "Archer C6 v3" v /proc/cpuinfo (testovaci, nedestruktivni cast na overeni spravne funkce kontroly). <-- Selhava na tom, ze tzv. "here redirection <<<" neni v OpenWrt shellu "ash" podporovana. ## Psalo mi to "<<< unknown operand". V BASH na linuxu nebo ZSH na OSX vsak funkce normalne funguje if grep -q "$model" <<< "$boardinfo"; then echo "TEST OK"; else echo "NOT OK" fi ## Kontrola retezce "Archer C6 v3" a flash balicku s upravenym firmware ## if grep -q "$model" <<< "$boardinfo"; then ## mtd write $firmware firmware; else ## echo "Balicek neni urcen pro tento model a revizi" ## echo "Pouzijte odpovidajici balicek" ## fi ## Kontrola retezce "Archer C6 v3" v /proc/cpuinfo pomoci "if []" <-- Taky neni funkcni, dostavam chybu ":: unknown operand". ## Zjisteno ze chyba nastane hned na prvnim radku nasledujici funkce: if [ $boardinfo = $model ]; then echo "TEST OK"; else echo "NOT OK" fiPro jistotu jsem si skript nechal zkontrolovat pomoci utility
shellcheck
, chybu podle nej nemam, myslim si vsak, ze bude nastavat nekde chyba v parsovani vystupu z /proc/cpuinfo. Nicmene i po delsim hledani na google a zkoumani jak napsat test sekvenci, kontrolujici retezec, si dale uz nevim rady a budu rad, kdyz me navedete, kde delam chybu..
Diky za vas cas a odpovedi.
cat /proc/cpuinfo | grep machineked mozem dat rovno:
grep machine /proc/cpuinfoK problemu - skus:
if echo "$boardinfo" | grep "$model" >/dev/null; then ...
UUoC vzniká logicky z „cat soubor... sakra to je dlouhé, ještě potřebuju grep/less - šipka nahoru, |grep aaa“. UUoC je použitelnější, protože „cat soubor|grep foo... sakra potřebuju hledat bar, ne foo - šipka nahoru, ←←←, bar“. UUoC brání překvapivému a nečekanému chování u nástrojů pracujících inplace (gzip a bzip2 co smažou originální soubor pokud si na to člověk nevzpomene a nedá -k). UUoC brání nahodilému přepsání při neoscapování grep "Jenda>" irc.logA jinak je problém v uvozovkách a může snadno nastat i v bashi (si představ že v té proměnné bude napsáno
-o 1 -eq 1
, což bude každý [ interpretovat jako or).
A jinak já do openwrt dávám bash pokud si můžu dovolit spotřebovat asi 300 kB nebo kolik má. Naštěstí máme všude Mikrotiky s 16MB flash, takže můžu.
if [ "$boardinfo" = "$model" ]; then ..
binwalk
nebo Firmware mod kit (https://github.com/openwrt-stuff/firmware-mod-kit), mi v tomto moc nepomohly.
Jinak dnes jsem si overil ze mtd
kontroluje, jestli je image kompletni. Pri dnesnim flashovani jednoho routeru jsem omylem nahral prazdny soubor se jmenem toho firmware a mtd
vyhodil chybu ze soubor je chybny (nevim ted presne cele zneni, ale bylo tam cosi o chybe CRC) a dale odmitl pokracovat, takze toto je osetreno. Co osetreno neni je to, ze pokud by nahodou nekdo flashnul soubor s upravenym FW treba do starsi revize Archer C6, ktera ma Atheros chipset, tak by ji tim bricknul, proto ta kontrola na retezec modelu.
#/bin/bash profile="tplink_archer-c6-v3" target="ramips" subtarget="mt7621" file="openwrt-imagebuilder-${target}-${subtarget}.Linux-x86_64.tar.xz" dir="${file/.tar.xz}" [[ -d ${dir} ]] || { [[ -f "${file}" ]] && rm "${file}" wget "https://downloads.openwrt.org/snapshots/targets/${target}/${subtarget}/${file}" tar xf "${file}" exit } cd ${dir} ln -f bin/targets/${target}/${subtarget} -s OUT mkdir -p ADD package_enable="luci luci-i18n-base-cs luci-theme-material bash openssh-client openssh-server openssh-sftp-server" package_disable="-dropbear" files_add="ADD" make image PROFILE=${profile} PACKAGES="${package_enable} ${package_disable}" FILES="${files_add}" echo "Result image's in ${dir}/OUT dir..."s tim ze do adresare ADD pridas soubory v adresarove strukture jak ma byt v /
Tiskni Sdílej: