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 01:44 | Pozvánky

    Přemýšlíte, jak začít prázdniny? Už v úterý 1. července se bude konat Virtuální Bastlírna, tedy online setkání bastlířů, techniků, vědců i akademiků, kde se ve volné diskuzi probírají novinky ze světa techniky, ale i jiných zajímavých témat.

    Za poslední měsíc jsme byli svědky plamenů několika raket. Zatímco malá raketa od Hondy se úspěšně vznesla a opět přistála, raketa od SpaceX se rozhodla letět všemi směry najednou. Díkybohu méně … více »
    Uprdkávač | Komentářů: 0
    včera 23:44 | Komunita

    Linus Torvalds zmínil, že souborový systém Bcachefs zřejmě odstraní z mainline Linuxu v začleňovacím okně pro vydání 6.17. Kent Overstreet mu totiž posílá kód s novou funkcionalitou i pro začlenění do kandidátů na vydání, kdy očekává pouze opravy chyb. Ken Overstreet byl již dříve z vývoje vyloučen kvůli konfliktní komunikaci.

    Fluttershy, yay! | Komentářů: 0
    27.6. 11:55 | IT novinky

    Ministerstvo průmyslu a obchodu propaguje Microsoft. Ten ve spolupráci s Ministerstvem průmyslu a obchodu spouští AI National Skilling Plan v ČR. "Iniciativa Microsoftu přináší konkrétní a praktickou podporu právě tam, kde ji nejvíc potřebujeme – do škol, firem i veřejné správy.", říká ministr průmyslu a obchodu Lukáš Vlček.

    Ladislav Hagara | Komentářů: 25
    27.6. 10:55 | Zajímavý projekt

    Jste český ISP? Vyplněním krátkého dotazníku můžete pomoci nasměrovat vývoj nové generace routerů Turris Omnia [𝕏].

    Ladislav Hagara | Komentářů: 4
    27.6. 01:33 | IT novinky

    Celkové tržby společnosti Canonical za rok 2024 byly 292 milionů dolarů (pdf). Za rok 2023 to bylo 251 milionů dolarů.

    Ladislav Hagara | Komentářů: 1
    27.6. 01:22 | Nová verze

    Byla vydána verze 1.88.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    27.6. 01:11 | Nová verze

    Distribuce Tails specializující se ochranu online soukromí uživatele byla vydána ve verzi 6.17. Mimo jiné aktualizuje Tor Browser (14.5.4) a opravuje několik chyb.

    Fluttershy, yay! | Komentářů: 0
    26.6. 21:11 | Nová verze Ladislav Hagara | Komentářů: 0
    26.6. 13:11 | IT novinky

    Město Lyon posiluje svou digitální suverenitu a postupně nahrazuje software od společnosti Microsoft bezplatnými alternativami, zejména OnlyOffice pro kancelářské aplikace a Linux a PostgreSQL pro systémy a databáze.

    Ladislav Hagara | Komentářů: 9
    26.6. 11:44 | Zajímavý projekt

    Evropská občanská iniciativa Stop Destroying Videogames se snaží o to, aby vydavatelé, kteří spotřebitelům v Evropské unii prodávají videohry nebo na ně udělují licence, měli povinnost tyto hry ponechat ve funkčním (hratelném) stavu i po ukončení podpory ze své strany. Podpořit podpisem tuto iniciativu můžete v Systému pro online sběr podpisů.

    trekker.dk | Komentářů: 5
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (28%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 330 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Jak si napsat vlastní bootloader

    iRed.team zveřejnil článek, jak si napsat vlastní bootloader. Autor k tomu používá NASM (Netwide Assembler).

    2.3.2021 10:52 | Max | Zajímavý článek


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

    Komentáře

    Vložit další komentář

    2.3.2021 11:09 Petr
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    V dnešní době by spíše měli ukázat, jak si napsat EFI bootloader a né tento zastaralý způsob, který bude fungovat jen se zapnutou emulací BIOSu.
    Max avatar 2.3.2021 11:20 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    Jop, jop, je to samozřejmě tak, nicméně i tak mi to přišlo celkem zajímavý :).
    Zdar Max
    Měl jsem sen ... :(
    AraxoN avatar 2.3.2021 11:30 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    Možno pre niekoho EFI má nejakú výhodu, ale ja mám skoro všade Legacy BIOS. Práve preto, že je jednoduchší.
    Jendа avatar 2.3.2021 12:58 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    Mně jednodušší nepřijde - EFI znamená „hodit soubor na FAT32 oddíl“, zatímco u „klasického“ zavlékání je tu celý ten cirkus s instalací do bootsektoru a na začátek disku před první partition.
    Josef Kufner avatar 2.3.2021 14:22 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    Složitosti se nejde zbavit. Buď bude složitější bootloader (+firmware), nebo jeho používání.

    MBR je neskutečně triviální způsob bootování. V prvním bloku (512B) je kód, který se načte do paměti a spustí. To je celé. Nic víc tam není.

    EFI je v podstatě MS-DOS dodaný jako firmware, který má k dispozici key-value úložiště, kam se zapíše seznam bootovacích souborů a pár dalších věcí. V podstatě to je také docela jednoduché, ale obnáší to nějakou tu infrastrukturu navíc. Na oplátku to umožňuje firmwaru poskytovat služby dostupné z operačního systému. Takže ve výsledku se to celkem dobře používá a umí to spoustu věcí, i když je to složitější, tedy spíš právě díky tomu.
    Hello world ! Segmentation fault (core dumped)
    Jendа avatar 2.3.2021 14:29 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    V prvním bloku (512B) je kód, který se načte do paměti a spustí. To je celé.
    Nj, ale protože se do 512B (ve skutečnosti 446) nic rozumného nevejde, tak se to hackuje tak, že se buď něco zapisuje náhodně před první partition, nebo se hardcodují pozice bloků na disku (což se rozbije když nespustíte po změně lilo).
    EFI je v podstatě MS-DOS dodaný jako firmware, který má k dispozici key-value úložiště, kam se zapíše seznam bootovacích souborů a pár dalších věcí.
    Já doufám, že když se napíše grub-install --removable, tak to bude fungovat i bez toho zápisu do firmware, ale zatím jsem to dělal jednou.
    Josef Kufner avatar 2.3.2021 14:35 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    MBR pochází z dob MS-DOSu. Tehdá 512B stačilo.

    Ad Grub: Já bych radši měl Live-EFI (jako Live-CD) s recovery systémem přidané rovnou v EFI boot nabídce.
    Hello world ! Segmentation fault (core dumped)
    AsciiWolf avatar 2.3.2021 15:38 AsciiWolf | skóre: 41 | blog: Blog
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    Až tak jednoduchý to v praxi bohužel není, minimálně v případě UEFI. Viz například bootovací záznamy v efivars.
    Conscript89 avatar 2.3.2021 18:08 Conscript89 | Brno
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    No, celkem je, staci ho dat na fat partition do cesty "\EFI\BOOT\BOOTX64.EFI" v pripade x86_64. Pro jine architektury se bootloader soubor potom jmenuje jinak, napr. BOOTAA64.EFI v pripade aarch64 a BOOTIA32.EFI v pripade i686.
    I can only show you the door. You're the one that has to walk through it.
    AraxoN avatar 2.3.2021 16:00 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    dd bs=440 conv=notrunc count=1 if=/usr/share/syslinux/gptmbr.bin of=/dev/sda
    Hotovo! Ťažká práca, naozaj... a oddiely si na disku spravím ako chcem, nemusím tam mať žiaden patentovaný MS-DOS oddiel a do neho nič nahrávať. Taktiež sa nemusím báť, že som nejak zmrvil podpis jadra, alebo niekam zabudol zaviesť vlastné kľúče a EFI mi preto odmietne nabootovať server tisíc kilometrov ďaleko.
    Jendа avatar 2.3.2021 16:25 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    A v těch 440B je co přesně? Jak to zjistí odkud to má brát třeba jádro?
    Taktiež sa nemusím báť, že som nejak zmrvil podpis jadra, alebo niekam zabudol zaviesť vlastné kľúče
    Nepleteš si EFI a SecureBoot?
    Josef Kufner avatar 2.3.2021 18:36 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    A v těch 440B je co přesně? Jak to zjistí odkud to má brát třeba jádro?
    Je tam právě napsáno, kde (a jak) to má brát jádro (a případně zbytek bootloaderu).
    Hello world ! Segmentation fault (core dumped)
    Jendа avatar 2.3.2021 19:40 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    To je tohle?
    The task of the MBR (Master Boot Record) is to load boot code from an active partition of a drive.
    Tím jsme problém jenom odsunuli o jeden bootsektor dál…
    Josef Kufner avatar 3.3.2021 12:25 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    Ano. Ten první bootsektor je totiž prťavý a moc se tam toho nevejde. Řeší se to různými způsoby. Jeden z nich je, že MBR najde bootovací partition a předá řízení bootovacímu sektoru tam. Další způsob je, že kód v MBR sáhne na sousední volné bloky, ještě před první partition. Ale nemá to smysl už moc řešit (mimo učebnic dějepisu).
    Hello world ! Segmentation fault (core dumped)
    k3dAR avatar 3.3.2021 02:12 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    UEFI a SecureBoot jsou 2 ruzne veci, s vypnutym SecureBoot (coz sice nepovazuju za rozumne, ale dostanes se na (podobnou) uroven jako s Legacy) UEFI samozrejme zadne podpisy ci klice neresi... jinak pokud nechces vlastni klice (coz (to nechces) povazuju opet za nerozumne) tak podepsane jadro se dodava primo v distribucnim balicku(respektive pokud nepouzivas DIY distro), tedy ty (ani tvuj system) jiz nic sam nepodepisuje ;-)
    porad nemam telo, ale uz mam hlavu... nobody
    AraxoN avatar 3.3.2021 09:09 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    Používam prevažne vlastné DIY jadro, ale to nie je pointa. Ešte stále som sa nedozvedel, akú výhodu mi EFI má poskytovať. Čo získam tým, že si vlastné jadro podpíšem a nechám si pri štarte potvrdiť, že som ho naozaj podpísal? Čo získam tým, že sa nechám obmedzovať pri delení disku? Čo získam tým, že si pridám ďalšiu vrstvu zložitosti do deploymentu a bootovania?

    Áno, rozumiem, že pre ľudí, čo používajú inštalátor a vanilla jadrá, to nepredstavuje žiadnu námahu navyše. Ale ani oni tým nič nezískali. Je to zmena len preto, aby bola nejaká zmena.
    Josef Kufner avatar 3.3.2021 12:45 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    EFI Services. Ovladače tím získávají informace a lepší přístup k hardwaru, resp. jeho konfiguraci. Mám zkušenost, že při zapnutém EFI mi mnohem lépe funguje KMS a grafické ovladače k Intel kartě.

    Tato přidaná vrstva naopak deployment i bootování zjednodušuje. Problematický kód, který byl v MBR a všude kolem, se přesunul do firmwaru a poskytuje celkem hezké API pro zavedení operačního systému. Reálně to vypadá tak, že instalátor operačního systému nahraje jádro na EFI oddíl jako běžný soubor a do EFI proměnných nastaví, ze ten soubor je bootovací a má takový popisek a pořadí. Když přijde druhý operační systém, tak si tam přidá svůj záznam a nerozbije ten první. Různé recovery nástroje se tam také mohou přidat (notebooky s Windows tam mají např. schovanou instalačku).

    Z pohledu hardwaru je situace jen minimálně složitější. Hlavně jde o to, že firmware musí implementovat netriviální standardizované API. Fyzicky to však znamená jen trochu větší ROM pro "BIOS" a trochu větší NVRAM (v dobách BIOSu zvaná CMOS) pro EFI proměnné.

    Když si ale uvědomíš, že uvnitř Intel CPU ti běží Minix, na desce je firmware s EFI a teprve někde daleko nad tím běží Linux, …
    Hello world ! Segmentation fault (core dumped)
    Jendа avatar 3.3.2021 13:11 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    Čo získam tým, že sa nechám obmedzovať pri delení disku?
    Fun fact: BIOSy jsou tak zabugované, že bez partition table s označenou jednou partition jako bootovací taky nenajedou. Takže ani v případě „ancient“ booting si nemůžeš disk rozdělit libovolně.
    Čo získam tým, že si pridám ďalšiu vrstvu zložitosti do deploymentu a bootovania?
    Jak jsem psal výše, mně to naopak přijde jednodušší.
    Logout avatar 2.3.2021 11:44 Logout | Praha
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    Je až kupodivu, že o tom ještě píše někdo dneska. Tyhle věci byly popsány už v minulém století, kdy se tím assembleristi bavili. Ale chápu, že každá generace si musí své poznání vybojovat a sama objevit - věřit nějakým dědkům, pche! :-)

    http://mircosoft.mzf.cz/int21h/044-programovani-os.htm
    "Zmáčkni Alt-F4 a pak Viva powerpc!" říká Technomorous.
    2.3.2021 15:55 USC
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    Stačilo by tam hodit zmínku o Windows 10 a odstranit rok 2006 na konci a mohou to vydávat každý rok jako novinku :-D
    2.3.2021 12:12 Meh
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    Pekne svinstvo. Pokud ten web nema pristup ke canvasu, nacte se cela stranka a pak vse zmizne a zustane jen "something went wrong".
    Takze otazka neni, jak si napsat vlastni bootloader, ale zda jeste nekdo umi udelat web bez fingerprintingu.
    Jendа avatar 2.3.2021 13:00 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jak si napsat vlastní bootloader
    Já mám NoScript, nemám v něm nic povoleného, a stránka vypadá normálně načtená (včetně animovaného gifu).

    Založit nové vláknoNahoru


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