abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 19:00 | Zajímavý projekt

    Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.

    Ladislav Hagara | Komentářů: 1
    24.5. 22:22 | Upozornění Ladislav Hagara | Komentářů: 9
    24.5. 17:44 | Nová verze

    Firma Murena představila /e/OS verze 2.0. Jde o  alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).

    Fluttershy, yay! | Komentářů: 0
    24.5. 14:33 | Zajímavý software

    Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.

    Ladislav Hagara | Komentářů: 1
    24.5. 13:33 | Nová verze

    HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 2
    23.5. 23:22 | Zajímavý software

    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.

    Ladislav Hagara | Komentářů: 0
    23.5. 16:55 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 10
    23.5. 12:55 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 0
    22.5. 23:44 | Pozvánky

    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í.

    Ladislav Hagara | Komentářů: 0
    22.5. 16:33 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (82%)
     (4%)
     (7%)
     (7%)
    Celkem 537 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    LiveCD - 5 (úprava distribuce Slax)

    13. 4. 2006 | Michal Vyskočil | Systém | 11526×

    Po předchozích spíše teoretických dílech se pustíme do něčeho více praktického, abyste pak neřekli, že vám tento seriálek k ničemu nebyl. Seznámíme se s různými způsoby úprav distribuce Slax, čímž se vám v budoucnu určitě povede z ní udělat perfektní LiveCD.

    Úvodem

    Myslím, že po přečtení minulých dílů (1, 2, 3, 4) problematiku LiveCD znáte po teoretické stránce. Ovšem co je důležitější, jsou praktické vlastnosti. Proto jsem zařadil díl, v němž nebudete poznávat nové souborové systémy, nebo do detailu zkoumat ten, či onen aspekt nějakého spouštěcího skriptu. Tento díl by vás měl přesvědčit, že úprava Slaxe je velmi jednoduchá a můžete si jej velmi snadno a rychle uzpůsobit k obrazu svému.

    Způsobů, jak upravit Slax, je několik:

    1. Změna některého souboru - díky existenci adresáře rootcopy můžete snadno změnit několik souborů.
    2. Moduly - také si můžete stáhnout nebo vytvořit rozšiřující moduly, a doplnit tak softwarové vybavení.
    3. Skripty Linux Live - s nimi jsme se seznámili už v minulém díle, a pokud chceme provádět opravdu zásadní změny, nebo dokonce vytvořit vlastní distribuci, nezbude nám, než využít jejich služeb.

    Adresář rootcopy

    Pokud si vypíšete seznam souborů v kořenovém adresáři CD, dostanete podobný výpis:

    -rw-r--r--  1 root root 18259 Sep 27 21:28 COPYING
    -r--r--r--  1 root root   339 Sep 27 21:28 LICENSE
    -rw-r--r--  1 root root  1406 Sep 27 21:27 abc.ico
    ...
    -rw-r--r--  1 root root  2546 Sep 27 21:28 requirements.txt
    drwxr-xr-x  2 root root  2048 Sep 27 21:27 rootcopy
    -rw-r--r--  1 root root  3926 Sep 27 21:28 start.html
    drwxr-xr-x  3 root root  2048 Sep 27 21:28 tools
    

    Pokud chceme změnit jeden nebo několik málo souborů, je nejrychlejším způsobem je nahrát přímo do zmíněného adresáře rootcopy. Přijdeme tím sice o kompresi, kterou zajišťuje squashfs, ale pro malé soubory to nevadí. Vlastní překopírování obsahu zařídí startovací skript linuxrc (viz LiveCD - 4 (linux live, před spuštěním systému)). Například chceme-li změnit uvítací zprávu, není nic snazšího, než napsat:

    mkdir -p /cesta/k/cd/rootcopy/etc
    cp uvitaci_zprava /cesta/k/cd/rootcopy/etc/issue
    

    Vytvořit ISO a vypálit. Je na místě podotknout, že tyto soubory jsou omezeny možnostmi souborového systému ISO 9660.

    Skript make_iso.sh

    Tomáš Matějíček napsal skript, který velmi usnadňuje tvorbu ISO. A aby vám to nebylo líto, tak jeho podstatné části okomentuji.

    CDLABEL=""

    Hned na začátek nejdůležitější věc, jméno CD. Pokud nechcete, aby šlo ve vypalovačce poznat, že jde o Slax, zde můžete definovat jméno nové. Doporučuji něco úderného, jako například ABC_Linux_2005.

    # isolinux.bin is changed during the ISO creation,
    # so we need to restore it from backup.
    cp -f boot/isolinux.bi_ boot/isolinux.bin
    

    Jak napovídá komentář, soubor isolinux.bin je během procesu změněn. Proto je na začátku mazaně obnoven ze zálohy a vám doporučuji jej z adresáře boot nemazat. Pokud nevíte, co je to za soubor, pak si přečtěte první díl s názvem LiveCD - 1 (úvod, isolinux).

    mkisofs -o "$1" -v -J -R -D -A "$CDLABEL" -V "$CDLABEL" \
    26 -no-emul-boot -boot-info-table -boot-load-size 4 \
    27 -b boot/isolinux.bin -c boot/isolinux.boot .
    

    Posledním a nejdůležitějším příkazem je mkisofs, který vytvoří bootovatelné CD. Pokud se vám zdá příkaz povědomý, pak máte dobrou paměť, protože byl uveden v prvním díle.

    Použití je pak velmi prosté: ./mkisofs kam/se/ma/ulozit/iso

    Pro ty, kteří nemají zrovna po ruce Linux a pracují na Windows, je k dispozici ješte soubor make_iso.bat se stejnou funkcí. Jen pro zajímavost, ISO se vytvoří příkazem:

    tools\DOS\mkisofs.exe @tools\DOS\config -o "%1" \ 
    -A "%CDLABEL%" -V "%CDLABEL%" .
    

    Moduly

    Moduly jsou základem celého Slaxe, podobně jako je vše ve Smalltalku objekt, nebo vše v Lispu seznam, pak se dá s trochou nadsázky říct, že vše v této distribuci je modul. Pokud mi nevěříte, schválně si vypište obsah adresáře base:

    ls -lh base/
    celkem 178M
    -rw-------  1 root root  12M led 27 21:24 01_kernel.mo
    -rw-------  1 root root  31M led 27 21:24 02_core.mo
    -rw-------  1 root root  21M led 27 21:24 03_xwindow.mo
    -rw-------  1 root root 8,0M led 27 21:24 04_xap_libs.mo
    -rw-------  1 root root  18M led 27 21:24 05_common.mo
    -rw-------  1 root root  37M led 27 21:24 06_kde_base.mo
    -rw-------  1 root root  20M led 27 21:24 07_kde_apps.mo
    -rw-------  1 root root  20M led 27 21:24 08_kde_office.mo
    -rw-------  1 root root  13M led 27 21:24 09_slax.mo
    

    V něm jsou uloženy základní moduly tvořící systém.

    Co je to vlastně modul

    Což je poměrně logická otázka. Jindy všeznalý příkaz file mnoho nenapoví:

    base/01_kernel.mo: writable, regular file, no read permission
    

    Pochopitelně nemáme práva pro čtení, a proto je file němý. Přihlášením jako root zjišťujeme více.

    01_kernel.mo: Squashfs filesystem, little endian, version 3.0, 0 bytes,\
    1835 inodes, blocksize: 65536 bytes, created: Fri Jan 27 20:55:47 2006
    

    Moduly jsou tedy bloky dat komprimované souborovým systémem Squashfs (viz LiveCD - 2 (komprimované souborové systémy)). Proto hned připojíme:

    # nezapomen, ze adresar . i .. jsou na pripojenem obrazu CD,
    # tudiz jsou read-only
    mount -o loop -t squashfs 01_kernel.mo ../../01_kernel
    mount: wrong fs type, bad option, bad superblock on /dev/loop2,
    missing codepage or other error
    In some cases useful info is found in syslog - try
    dmesg | tail  or so
    

    A možná dopadnete jako já, protože mám v jádře starší verzi 2.2, což potvrdil i dmesg:

    Squashfs 2.2 (released 2005/07/03) (C) 2002-2005 Phillip Lougher
    SQUASHFS error: Major/Minor mismatch, filesystem is (3:0),
    I support (1 : x) or (2 : <= 1
    

    Potom nám nezbyde, než si stáhnout patch ze stránek projektu, aplikovat ho (více detailů je v souboru INSTALL) a přeložit jádro.

    cd /usr/src/linux-2.{4,6}.x
    patch -p1 < location-of-squashfs/linux-2.{4,6}.x/squashfs3.0-patch
    

    Potom nám již nic nebrání se podívat do obsahu modulu:

    ls ../../01_kernel/
    boot  etc  lib  sbin  usr  var
    

    Jak jsem již tedy uvedl, modul je jednoduše základ celé distribuce a díky kompresi pomocí Squashfs můžete nosit na 200MB mini CD kompletní systém, včetně KDE a KOffice. Naprosto stejně je zařízena funkce ukládání uživatelského nastavení, kdy se změny ukládají do zapisovací větve (viz LiveCD - 3 (podpora pro zápis)) a nakonec jsou zabaleny do modulu, který je při následném startu přehrán a jeho obsah nahradí staší soubory na CD.

    Rozšiřujeme Slax pomocí modulů

    Na stránkách Slaxe naleznete seznam modulů, které si můžeme stáhnout. Pro mě bývá nutností doinstalovat modul pro Vim, na který jsem si úspěšně vybudoval závislost. V tomto okamžiku máme na výběr dva adresáře, kam modul nahrát:

    • modules/ - obsah tohoto adresáře se nahraje při startu automaticky
    • optional/ - tyto moduly se nahrají, pouze pokud si je zvolíme při startu jako parametr (např. slax load=vim).

    A potom již výše popsaným způsobem vytvoříme ISO a vypálíme.

    Slax také poskytuje nástroje, jak nahrát modul za běhu. Příkazem uselivmod cesta/k/modulu dojde k dynamickému nahrání. Ale stává se, že systém potom úplně vytuhne, takže je lepší se této možnosti vyhnout. Alternativou je kliknutí na modul v Konqueroru, což má stejný efekt (včetně možného zatuhnutí).

    Moduly se díky souborovému systému unionfs dynamicky připojí do systému, bohužel je smutnou skutečností, že právě on bývá nejslabším článkem celého systému a častokrát způsobuje záhadné chyby v systému, anebo přivodí i jeho pád.

    Závěrem

    Dnešní díl obsahoval velmi málo teorie, ale za to byl, doufám, nacpán až k prasknutí informacemi. I když popis malého skriptu makeiso.sh jsem si nemohl nechat ujít. Zároveň byl tento díl (alespoň pro mě jako pro autora) zajímavý v tom, že se odkazoval na znalosti získané ve všech čtyřech předchozích dílech.

    Teď už víte, jak modifikovat ISO distribuce Slax a také, že se nejedná o nic složitého. Naopak, myslím, že je to velice snadné. Jediné, co vám může malinko ztěžovat situaci, je rozhodnutí, do kterého adresáře to mám vlastně nakopírovat. V příštím díle se zaměříme na další praktickou a užitečnou dovednost pro váš spokojenější život se Slaxem a tou je vytváření vlastních modulů.

    Nejčtenější články posledního měsíce

    Událo se v týdnu 17/2024
    Jaderné noviny – přehled za duben 2024
    Týden na ITBiz: Kvalita a přesnost dat generovaných AI rozhodne o důvěře zaměstnanců v umělou inteligenci

    Nejkomentovanější články posledního měsíce

    Týden na ScienceMag.cz: Kosmologové se opět zkouší vypořádat se s problémem Hubbleovy konstanty
    Týden na ITBiz: Platby výkupného za ransomware vzrostly za poslední rok na pětinásobek
    Týden na ScienceMag.cz: Upřesnili limity pro klidovou hmotnost neutrin
      všechny statistiky »

    Seriál LiveCD (dílů: 5)

    LiveCD - 1 (úvod, isolinux) (první díl)
    <—« LiveCD - 4 (linux live, před spuštěním systému)
    LiveCD - 5 (úprava distribuce Slax) (poslední díl)

    Související články

    LiveCD - 1 (úvod, isolinux)
    LiveCD - 2 (komprimované souborové systémy)
    LiveCD - 3 (podpora pro zápis)
    LiveCD - 4 (linux live, před spuštěním systému)
    Exkurze do světa live distribucí
    Vypalování CD - I Slovníček pojmů
    Na co se často ptáme 1: LILO
    Jak na animované LILO
    Jak změnit rozlišení při bootu?
    Jak na duální boot s Windows 2000
    Mandrakemove 2 CZ
    Slackware LiveCD
    Danix
    ProMEPIS 2005
    Jak jsem se poprala s ABC Linuxem

    Další články z této rubriky

    Úvod do Dockeru (1)
    Paralelizace běžných činností v konzoli pomocí GNU Parallel
    Unixové nástroje – 26 (triky pro práci v Bashi)
    Unixové nástroje – 25 ((s,c)fdisk, gdisk, parted a findmnt)
    Linux: systémové volání splice()
           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Mikos avatar 13.4.2006 02:57 Mikos | skóre: 34 | blog: Jaderný blog | Praha
    Rozbalit Rozbalit vše Re: LiveCD - 5 (úprava distribuce Slax)
    Pěkný článek ;-) Nicméně toto už není pravda:
    Ale stává se, že systém potom úplně vytuhne, takže je lepší se této možnosti vyhnout. Alternativou je kliknutí na modul v Konqueroru, což má stejný efekt (včetně možného zatuhnutí).
    V poslední verzi Slaxu (5.1.0) funguje uselivemod již bezproblémově.

    A já jdu už konečně spát :-)
    CETERUM CENSEO DRM ESSE DELENDAM Ostatně soudím, že DRM musí být zničeno!
    13.4.2006 08:59 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: LiveCD - 5 (úprava distribuce Slax)
    Autor přiznává, že poslední verzi Slaxe neměl tu čest podrobněji zkoumat ;-). Pokud už to funguje spolehlivě, je to skvělé.
    When your hammer is C++, everything begins to look like a thumb.
    13.4.2006 08:53 ondracch | skóre: 19 | blog: Mozková kreč
    Rozbalit Rozbalit vše Re: LiveCD - 5 (úprava distribuce Slax)
    Konečně jsem se polopaticky dozvěděl jak přidat moduly natrvalo:-).
    Proč myslíš, že nemůžeš žít jinak? Pořád Tvořím...
    13.4.2006 09:25 Frank J. Tomes | skóre: 29 | Plzeň
    Rozbalit Rozbalit vše Re: LiveCD - 5 (úprava distribuce Slax)
    Ve win si upravenou verzi můžete připravit pomocí programu MySlaxCreator.
    [frank]$ uname -prs FreeBSD 4.11-RELEASE-p25 i386
    14.4.2006 21:13 lamatin
    Rozbalit Rozbalit vše Re: LiveCD - 5 (úprava distribuce Slax)

    Dík moc!
    Trápil jsem se s moduly jak je přidat do .isa :) Používám SLAX jako skvělou Live distribuci pro děti do školy :)

    brozkeff avatar 15.4.2006 23:33 brozkeff | skóre: 13 | blog: Zpátky po 10 letech | Žďár nad Sázavou
    Rozbalit Rozbalit vše Blablabla
    Tak vážení, na přidávání modulů nepotřebujete nic jako mastering vlastního ISO souboru. Stačí originální ISO vypálit, ale NEUZAVŘÍT si disk, a pak normálně přidávat další sekce a do /modules nebo /optional doplňovat moduly. Takto to řeším na nedávno objeveném a trošku postarším Slaxu 5.0.5... funguje to bezchybně, multisession zjevně pro slax není žádnou překážkou... (divil bych se, kdyby byl, v roce 2006, že:))

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.