abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 15:44 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice dnes slaví 6 let od svého oficiálního vzniku. Nadace byla představena 28. září 2010. Formálně ale byla založena až 17. února 2012. Poslední lednový den byl vydán LibreOffice 6.0. Dle zveřejněných statistik byl za dva týdny stažen již cca milionkrát.

Ladislav Hagara | Komentářů: 0
dnes 04:44 | Bezpečnostní upozornění

CSIRT.CZ upozorňuje, že byla vydána nová verze 1.2.3 svobodného routovacího démona Quagga (Wikipedie) přinášející několik bezpečnostních záplat. Při nejhorší variantě může dojít až k ovládnutí běžícího procesu, mezi dalšími možnostmi je únik informací z běžícího procesu nebo odepření služby DoS. Konkrétní zranitelnosti mají následující ID CVE-2018-5378, CVE-2018-5379, CVE-2018-5380 a CVE-2018-5381.

Ladislav Hagara | Komentářů: 0
dnes 00:22 | Pozvánky

V sobota 7. dubna proběhne v Brně na FIT VUT nekomerční konference Security Session '18 věnovaná novinkám a aktuálním problémům v oblasti bezpečnosti mobilních a informačních technologií. Organizátoři vyhlásili CFP. Návrhy přednášek a workshopů lze zaslat do 4. března. Spuštěna byla registrace.

Ladislav Hagara | Komentářů: 0
včera 23:55 | Nová verze

Byla vydána verze 1.10 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání. Zdůraznit lze vylepšené cachování buildů.

Ladislav Hagara | Komentářů: 0
15.2. 22:55 | Komunita

V sobotu 21. dubna proběhne v Bratislavě na Fakultě informatiky a informačních technologií STU konference Bratislava OpenCamp 2018. Organizátoři vyhlásili CFP. Návrhy přednášek a workshopů lze zaslat do 10. března. Spuštěna byla registrace.

Ladislav Hagara | Komentářů: 0
15.2. 21:22 | Nová verze

Byla vydána verze 1.24 programovacího jazyka Rust (Wikipedie). Z novinek vývojáři zdůrazňují nový nástroj rustfmt pro reformátování zdrojových kódů dle požadovaného programovacího stylu a inkrementální překlad. Více v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust By Example.

Ladislav Hagara | Komentářů: 5
15.2. 13:00 | Komunita

Desktopovému týmu Ubuntu by se hodilo více informací o desktopech uživatelů Ubuntu. V diskusním listu ubuntu-devel byl k diskusi předložen návrh řešení a seznam odesílaných informací. Ve výchozím stavu by mělo být odesílaní informací povoleno. Uživatel by měl mít možnost odesílaní kdykoli jednoduše zakázat [reddit].

Ladislav Hagara | Komentářů: 20
15.2. 05:55 | Komunita

V úterý 13. února vypršela platnost posledního patentu US 7,334,248 souvisejícího s MPEG-2 [Hacker News].

Ladislav Hagara | Komentářů: 22
15.2. 04:44 | Komunita

Organizace Electronic Frontier Foundation (EFF) na svém blogu oznámila, že otevřená certifikační autorita Let's Encrypt dosáhla dalšího milníku. Počet platných certifikátů překročil 50 milionů, viz statistiky. Cekově bylo vydáno již přes 217 milionů certifikátů.

Ladislav Hagara | Komentářů: 0
15.2. 00:22 | Pozvánky

Konference SUSE Expert Days 2018 proběhnou mimo jiné také 1. března v Bratislavě a 15. března v Praze.

Ladislav Hagara | Komentářů: 0
Který webový vyhledávač používáte nejčastěji?
 (3%)
 (28%)
 (62%)
 (2%)
 (3%)
 (1%)
 (1%)
 (1%)
Celkem 338 hlasů
 Komentářů: 34, poslední 14.2. 18:44
    Rozcestník

    LiveCD - 1 (úvod, isolinux)

    24. 1. 2006 | Michal Vyskočil | Systém | 19913×

    Pojďte se podívat, jak fungují LiveCD. Po lehkém úvodu se dostaneme k velmi zajímavé problematice bootování počítačů a k zavaděčům. Dozvíte se o rodině zavaděčů syslinux. Nakonec si projdeme isolinux a tvorbu bootovacího CD.

    Úvodem

    Ž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:

    Prezentace
    Buď přímo celého operačního systému, nebo jeho konkrétní distribuce
    Opravné nástroje
    Live systémy jsou velmi užitečné v případě, že je systém nainstalovaný na harddisku poškozen.
    Přenosné pracovní prostředí
    Stejný systém na libovolném počítači

    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.

    Zavaděč

    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:

    Primární (first-stage)
    jsou přímo součástí hardwaru počítače. Ve světě PC se používá poměrně hloupý BIOS od IBM. Společnost Sun vyvinula daleko pokročilejší zavaděč zvaný Open Firmware (nebo OpenBoot) napsaný v jazyce Forth (viz článek OpenBoot prompt). Ten se používá v PowerPC, Sparc, Ibm Power a ostatních systémech.
    Sekundární (second-stage)
    které volá právě primární zavaděč. Určitě znáte programy jako LILO (Linux Loader), Grub (Grand Unified Bootloader), loadlin (aplikace, která je schopná z DOSu zavést Linux). Nebo NTLDR, zavaděč operačních systémů rodiny Windows NT. Dále sem patří některé univerzální bootovací manažery, například XOSL.

    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.

    Syslinux

    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 FAT
    • isolinux, pro bootování z ISO 9660 filesystému, který je používán na CD
    • pxelinux, bootování ze síťového serveru, více najdete v článku Jak nabootovat Linux po síti
    • extlinux, bootování ze souborového systému ext2/ext3
    • memdisk, 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í:

    Floppy Emulation Mode
    V tomto režimu je zaváděcí sekvence uložena v obraze (image file) diskety. Obraz je nahrán z CD a zavádění probíhá stejně jako z klasického pevného disku nebo diskety. Protože souborovým systémem obrazu diskety bývá FAT, používaným zavaděčem je syslinux. Tento režim vznikl z důvodu, že tehdejší BIOSy nenačítaly bootovací sekvence z ISO 9660 systémů.
    No Emulation Mode
    V tomto případě je zaváděcí sekvence uložena přímo na disku CD-ROM a bootování probíhá přímo z něj. Tento režim je vyžadován zavaděčem isolinux a vzhledem k tomu, že všechny BIOSy z posledních dejme tomu 7 až 10 let podporují zavádění z CD-ROM, tak není moc důvodů, proč používat emulační mód.

    Používáme isolinux

    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)

    Vlastnosti a omezení isolinuxu

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

    Závěr

    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.

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

    Jednoduchý linuxový server pro chytrou domácnost v Delphi 10.2 Tokyo
    MapTiler – proměňte obrázek v zoomovatelnou mapu
    Jaderné noviny – 11. 1. 2018: Nové jaderné rozhraní pro dotazování

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

    MapTiler – proměňte obrázek v zoomovatelnou mapu
    Týden na ScienceMag.cz: Kvantová komunikace bez přenosu částic
    Týden na ScienceMag.cz: Proč ani nový Aibo nevypadá jako pes
      všechny statistiky »

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

    LiveCD - 1 (úvod, isolinux) (první díl)
    »—> LiveCD - 2 (komprimované souborové systémy)
    LiveCD - 5 (úprava distribuce Slax) (poslední díl)

    Související články

    LiveCD - 2 (komprimované souborové systémy)
    LiveCD - 3 (podpora pro zápis)
    LiveCD - 4 (linux live, před spuštěním systému)
    LiveCD - 5 (úprava distribuce Slax)
    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

    Odkazy a zdroje

    syslinux
    Extensible Firmware Interface (EFI)
    Specifikace El Torito

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

    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()
    Bootování ze sítě: pxelinux a kořenový adresář na NFS
           

    Hodnocení: 97 %

            š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ář

    24.1.2006 08:00 Papek
    Rozbalit Rozbalit vše Re: LiveCD - 1 (úvod, isolinux)
    Pekny clanok. Dakujem.
    24.1.2006 08:35 Pista
    Rozbalit Rozbalit vše LiveCD + USB kluc
    Aj mne sa clanok paci a cakam na pokracovanie. Zaujimal by ma podobny clanok o vytvoreni bootovacieho USB kluca napr. s distribuciou DEBIAN. Mam zaujem to pouzivat na servisne ucely. Dufam, ze v dalsich dieloch sa budete venovat aj USB klucom.
    24.1.2006 16:59 Marek Rychlý | skóre: 5 | Pohořelicko
    Rozbalit Rozbalit vše Re: LiveCD + USB kluc
    Pripojuji se s pochvalou i s pranim zamereni se na linux na USB flashi (boot s/bez initrd, jaky fs, aby neodesla brzo flash, na co dat ramdisky, kam s logy, apod.).
    Rezza avatar 24.1.2006 18:02 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: LiveCD + USB kluc
    Jj taky chvalim a budu cekat na dalsi dily a porovnavat se zkusenostmi, ktere snad ziskam na bakalarce, zaroven bych rad daval postrehy na swiki - http://rezza.vserver.cz:8000/bsun Potrebuji teze kombinaci live cd+usb+moznost instalace...
    24.1.2006 08:55 HonzaRez
    Rozbalit Rozbalit vše Re: LiveCD - 1 (úvod, isolinux)
    Škoda, že jste zapomněli na XBeOS. Pokud ho opomínají i zkušení borci, znamená to, už je skutečně mrkvý...
    24.1.2006 22:09 Spike | skóre: 30 | blog: Communicator | Praha
    Rozbalit Rozbalit vše Re: LiveCD - 1 (úvod, isolinux)
    O mrkvích jen dobře.
    24.1.2006 09:28 Arno3t | skóre: 23 | Uherské Hradiště
    Rozbalit Rozbalit vše Re: LiveCD - 1 (úvod, isolinux)
    Já si na své univerzální CD dávám i obraz bootovací DOS diskety. Možná by stálo za to uvést do příkladu 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.img
    
    Obč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ě.
    1.2.2006 09:13 Tlamik
    Rozbalit Rozbalit vše Re: LiveCD - 1 (úvod, isolinux)
    jen pro zvyseni efektivity, soubor vytvoreny dd a ulozeny jako .img lze jeste zabalit gzipem - aneb mista neni nikdy dost :-)
    Rezza avatar 24.1.2006 11:54 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: LiveCD - 1 (úvod, isolinux)
    Tak presne s timhle jsem si vcera hral, soucast moji bakalarky ;)
    25.1.2006 17:41 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Rozbalit Rozbalit vše Re: LiveCD - 1 (úvod, isolinux)
    Pěkný článek,už se těším na pokračování :-) Pouze jsem z něj nepochopil, jak se vytvoří soubor isolinux.boot.
    27.1.2006 11:23 Arno3t | skóre: 23 | Uherské Hradiště
    Rozbalit Rozbalit vše Re: LiveCD - 1 (úvod, isolinux)
    Soubor isolinux.boot se vytvori sam, viz man mkisofs (parametr -c je pro bootovaci CD vyzadovan).
    Mikos avatar 25.1.2006 23:04 Mikos | skóre: 34 | blog: Jaderný blog | Praha
    Rozbalit Rozbalit vše UnionFS
    Máte v plánu v některém pokračování čvašeho článku popisovat unionfs? Protože to je na LiveCD IMHO jedna z nejdůležitějších věcí, bez něj si prakticky ani žádné pořádné LiveCD nedovedu představit ;-)

    Navíc bych nějaké lepší vysvětlení a popis jak s unionfs pracovat celkem uvítal, já znam jen základy...
    CETERUM CENSEO DRM ESSE DELENDAM Ostatně soudím, že DRM musí být zničeno!
    26.1.2006 17:58 JirkaK | skóre: 15 | blog:
    Rozbalit Rozbalit vše Re: LiveCD - 1 (úvod, isolinux)
    Taky musim autora pochvalit, zrovna pred par dny jsem byl nucen se s touto problematikou potykat :) Jiz netrpelive cekam na dalsi clanek - jen tak dal ;)
    ** Počítač bez window$, to je jako ryba bez bicyklu... ** echo 'Kdo neskáče, není Čech!'|sed s/Čech/cvičená\ opice/

    Založit nové vláknoNahoru

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