Momo je fenka cavapoo, která svými náhodnými stisky kláves bezdrátové klávesnice vytváří jednoduché počítačové hry. Technicky to funguje tak, že Raspberry Pi s připojenou bluetooth klávesnicí posílá text do Claude Code, který pak v Godotu píše hry a sám je i testuje pomocí screenshotů a jednoduchých simulovaných vstupů. Za stisky kláves je Momo automaticky odměňována pamlsky. Klíčový je pro projekt prompt, který instruuje AI, aby i
… více »GNU awk (gawk), implementace specializovaného programovacího jazyka pro zpracování textu, byl vydán ve verzi 5.4.0. Jedná se o větší vydání po více než dvou letech. Mezi četnými změnami figuruje např. MinRX nově jako výchozí implementace pro regulární výrazy.
Internetový prohlížeč Ladybird ohlásil tranzici z programovacího jazyka C++ do Rustu. Přechod bude probíhat postupně a nové komponenty budou dočasně koexistovat se stávajícím C++ kódem. Pro urychlení práce bude použita umělá inteligence, při portování první komponenty prohlížeče, JavaScriptového enginu LibJS, bylo během dvou týdnů pomocí nástrojů Claude Code a Codex vygenerováno kolem 25 000 řádků kódu. Nejedná se o čistě autonomní vývoj pomocí agentů.
Byl vydán Mozilla Firefox 148.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově lze snadno povolit nebo zakázat jednotlivé AI funkce. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 148 bude brzy k dispozici také na Flathubu a Snapcraftu.
Byla vydána nová verze 22.1.0, tj. první stabilní verze z nové řady 22.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.
X86CSS je experimentální webový emulátor instrukční sady x86 napsaný výhradně v CSS, tedy bez JavaScriptu nebo dalších dynamických prvků. Stránka 'spouští' assemblerovový program mikroprocesoru 8086 a názorně tak demonstruje, že i prosté CSS může fungovat jako Turingovsky kompletní jazyk. Zdrojový kód projektu je na GitHubu.
Po šesti letech byla vydána nová verze 1.3 webového rozhraní ke gitovým repozitářům CGit.
Byla vydána nová verze 6.1 linuxové distribuce Lakka (Wikipedie), jež umožňuje transformovat podporované počítače v herní konzole. Nejnovější Lakka přichází s RetroArchem 1.22.2.
Matematický software GNU Octave byl vydán ve verzi 11.1.0. Podrobnosti v poznámkách k vydání. Vedle menších změn rozhraní jsou jako obvykle zahrnuta také výkonnostní vylepšení a zlepšení kompatibility s Matlabem.
Weston, referenční implementace kompozitoru pro Wayland, byl vydán ve verzi 15.0.0. Přehled novinek v příspěvku na blogu společnosti Collabora. Vypíchnout lze Lua shell umožňující psát správu oken v jazyce Lua.
Živý (Live) systém je operační systém, který je upraven tak, že dokáže běžet z CD-ROM, nebo DVD-ROM média. Některé umí bootovat například i z USB Flash disku. Používají se jako:
Asi nejčastěji bývají LiveCD založeny na upravené distribuci GNU/Linuxu. Příkladem je Knoppix nebo Danix založené na Debianu. Případně Slax, respektive ABC Linux 2005, založené na Slackware. Ale k dispozici je řada LiveCD i ostatních známých operačních systémů, jako OpenSolaris, xBSD, Microsoft Windows, Mac OS. A dokonce i těch méně známých, např. založených na jádru Hurd a podobně.
Seznam některých nelinuxových liveCD:
Předpokládám, že většina čtenářů Abíčka se už v nějaké formě s Live systémy setkala (Exkurze do světa live distribucí), takže předchozí úvod byl tak trochu nošením dříví do lesa. V dalším textu se budu specializovat především na linuxová LiveCD, ale dnešní díl je aplikovatelný i pro jiné systémy.
Vezměme to od Adama, tedy od bootování. První nezbytnou položkou je zavaděč (bootloader), což je program, který zavolá počítač a zavádí (bootuje) vlastní systém. Zavaděče rozdělujeme na dvě kategorie:
V této souvislosti si neodpustím poznámku. Jak Sun Microsystems, tak Apple Computers migrují na PC platformu, proto mě zajímalo, zda jejich intelovské produkty používají BIOS nebo OpenFirmware. Operační systém firmy Sun Solaris (respektive OpenSolaris) může běžet na běžných PC s BIOSem. Společnost Apple sice od používání OpenFirmware odstoupila, ale na rozdíl od Sunu nepodporuje běh na běžných PC. Ve svých Intel-based počítačích používá Extensible Firmware Interface (EFI), který byl vyvinut společností Intel pro architektury IA-32 a Intanium.
Mimo výše zmíněné komplexní zavaděče, jako je třeba GRUB, existuje i velmi jednoduchý bootloader zvaný syslinux. Tedy ve skutečnosti se jedná i balík programů, protože pod označením syslinux se skrývá celá škála jednoúčelových zavaděčů:
syslinux, pro bootování ze souborového systému FATisolinux, pro bootování z ISO 9660 filesystému, který je
používán na CDpxelinux, bootování ze síťového serveru, více najdete v
článku Jak nabootovat
Linux po sítiextlinux, bootování ze souborového systému ext2/ext3memdisk, bootování starších operačních systémůPro nás je pochopitelně nejzajímavější právě zavaděč isolinux. Většina z nás pravděpodobně poprvé viděla toto jméno při spuštění instalačního CD, které spolu s LiveCD bootují právě prostřednictvím tohoto zavaděče.
Samotný proces bootování z CD popisuje El Torito Bootable CD Specification, což je rozšíření specifikace ISO 9660, které umožňuje bootovat z CD-ROM. Z historických důvodů existují dva režimy zavádění:
Následující text je takové mini-howto k isolinuxu. Protože je ten
zavaděč skutečně velmi jednoduchý, tak v podstatě není, o čem psát. K
vytvoření obrazu CD potřebujete program mkisofs verze 1.13 a
vyšší, který je součástí balíku cdrtools.
Nejprve si musíte do některého adresáře zkopírovat věci, které mají
být na vašem LiveCD. Ten se stane kořenovým vašeho CD. Isolinux standardně
hledá konfigurační soubor isolinux.cfg ve třech adresářích
/isolinux, /boot/isolinux nebo v /.
Můžete si vybrat libovolný z nich. V něm potom uvedete umístění dalších
potřebných souborů. Následuje ukázka nastavení z distribuce ABC Linux 2005.
Více podrobností se dočtete v dokumentaci v souboru
syslinux.doc.
display boot/splash.cfg
default linux
prompt 1
timeout 0
F1 boot/splash.txt
F2 boot/license.txt
label abc
kernel boot/vmlinuz
append max_loop=255 initrd=boot/initrd.gz init=linuxrc load_ramdisk=1
prompt_ramdisk=0 ramdisk_size=4444 root=/dev/ram0 rw
label linux
kernel boot/vmlinuz
append max_loop=255 initrd=boot/initrd.gz init=linuxrc load_ramdisk=1
prompt_ramdisk=0 ramdisk_size=4444 root=/dev/ram0 rw
label memtest
kernel boot/memtest
Jak vidíte, formát souboru je poměrně primitivní a nepotřebuje příliš komentářů.
display |
je uvítací zpráva, kterou má zavaděč zobrazit |
default |
je výchozí obraz jádra, který se má zavést |
prompt |
možnost zadávat vlastní bootovací parametry |
timeout |
počet sekund do automatického spuštění, 0 znamená neustálé čekání |
Fx |
soubor, jehož obsah se vypíše po stisku funkční klávesy |
label |
je krátký název jádra |
kernel |
definuje jeho umístnění |
append |
další parametry předané jádru |
Na příkladu rovněž vidíme, že isolinux nezavádí pouze linuxové jádro,
ale kterýkoliv soubor typu x86 boot sector, v našem případě
memtest.
Soubory potřebné pro nabootování:
$ tree boot
boot
|-- initrd.gz
|-- isolinux.bin
|-- isolinux.boot
|-- splash.bmp.gz
|-- splash.cfg
|-- splash.lss
|-- splash.txt
`-- vmlinuz
initrd.gz |
init ram jádra |
isolinux.bin |
vlastní binárka zavaděče |
isolinux.boot |
bootovací data |
splash.lss |
obrázek ve formátu LSS16 (podporuje pouze 4 barvy), lze ho získat
programem ppmtolss16 přímo z balíku syslinux |
vmlinuz |
Linux, jádro systému |
V okamžiku, kdy máme vše připraveno, můžeme vytvořit image příkazem (za předpokladu, že pracovní adresář je kořenovým našeho CD)
mkisofs -o foo.iso \
-b boot/isolinux.bin -c boot/isolinux.boot \
-no-emul-boot -boot-info-table -boot-load-size 4 \
-v -J -R -D -A "LiveCD" -V "LiveCD" \
.
Parametry na předposledním řádku nejsou povinné, nicméně je používá Tomáš Matějíček při tvorbě ISO souborů distribuce Slax. Pohled do dokumentace isolinuxu říká následující:
-b |
bootovací obraz dle standardu El Torito |
-c |
katalog zavaděče (boot catalog) |
-no-emul-boot |
aktivuje neemulační režim bootování |
-boot-info-table |
zapíše El Torito boot info table |
-boot-load-size |
počet virtuálních sektorů které jsou načteny v neemulačním režimu |
-v |
"ukecaný" verbose režim |
-J |
rozšíření Joliet |
-R |
rozšíření Rock Ridge |
-D |
zakáže deep directory relocation |
-A |
název aplikace (application id) |
-V |
název svazku (volume id) |
Isolinux má některá omezení, s nimiž je nutné počítat. Především
používá unixový styl psaní cest, přičemž délka je omezena na 255 znaků.
Podporuje pouze názvy definované v ISO 9660, ale už ne soubory využívající
rozšíření Rock Ridge nebo Joliet. Pod Unixem si můžeme názvy ověřit
připojením obrazu s parametry
-o norockridge, nojoliet. Nicméně isolinux podporuje
dlouhé (level 2) názvy souborů. Takže pokud nepotřebujete podporovat
systémy s omezenou délkou názvů (jako MS-DOS), můžete vygenerovat obraz s
parametrem -l, nebo -iso-level 2. Tím se možná
délka názvu zvýší až na 31 znaků.
V úvodu tohoto dílu jsme se dozvěděli něco o Live systémech. Potom jsme
přešli k bootování a zavaděčům. Nakonec jsme se seznámili se zavaděčem
isolinux, který je používán pro tvorbu bootovatelných CD.
Další díl bude věnován problematice souborových systémů pro LiveCD.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
isolinux.cfg i to jak se disketa volá. Balík syslinuxu obsahuje pro tento účel binární soubor memdisk. Obraz diskety vytvoříme vytvoříme pomocí dd a musíme mu dát příponu .img. Do isolinux.cfg pak přidáme řádky
LABEL DOS KERNEL memdisk APPEND initrd=dosFD.imgObčas si s novým HW potřebuji ve firmě udělat CD s posledními ovladači v jádře. Těším se, že v seriálu najdu nápady, jak takové CD dělat efektivně.
Pouze jsem z něj nepochopil, jak se vytvoří soubor isolinux.boot.
Navíc bych nějaké lepší vysvětlení a popis jak s unionfs pracovat celkem uvítal, já znam jen základy...