Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



boot

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: boot

Autor: Zkus toto

17:47:16 14.08.2008

> Spravil som tak ako vravite
> tu je screen ako som to nastavil
> http://img45.@#$%&/my.php?image=screenvu5.jpg
> restartol bootol to cd a zobrazilo to
> Loading Boot Image
> ERROR : Press Any Key to Reboot

Ale to je v pořádku ;). Boot loader zafungoval a nic víc v tom asm zdroj8ku není (pozn. ty hlášky jsou z toho boot loaderu). Musíš si uvědomit, že aby to dělalo něco víc musel bys mít na tom CD ještě navíc jádro nějakého OS apod., protože jen ten samotný boot loader nedělá nic jiného než to, že se snaží zavést nějaké jádro nějakého OS, ale protože na tom CD žádné není tak není co zavádět a proto to končí tou hláškou. Ohledně tvorby minimalistického jádra OS si můžeš stáhnout zdrojáky FritzOS což se tady už probíralo dříve viz odkaz.

http://forum.builder.cz/read.php?28,2344054,2353288#msg-2353288

Teprve po přeložení toho minimalistického jádra si vzniklé soubory nakopíruješ do nějakého podadresáře a ten použiješ jako root adresář při tvorbě toho image pro CD s tím CDIMAGE.EXE jak jsem již uvedl dříve.

Citovat příspěvek

 

Re: boot

Autor: Zkus toto

17:21:08 14.08.2008

Oprava. Je potřeba vytvořit image pro vypálení na CD.

Takže použij třeba CDIMAGE.EXE od Microsoftu, který je ke stažení viz odkaz.

http://unattended.msfn.org/files/global/CDIMAGE.EXE

Popis jak to nastavit a jak vytvořit bootovací image najdeš viz odkaz

http://unattended.msfn.org/unattended.xp/view/web/15/

Jsou tam ukázky dialogů viz nastavení pod záložkou Boot.

Soubor boot.dat je to co ti vyprodukuje asm překladač z toho zdrojáku. ISO soubor pod názvem třeba bootcd.iso vygeneruješ přes záložku Creation. Teprve takto vytvořený ISO soubor můžeš vypálit v NERU na CD a pak z toho CD zkusit bootovat.

Citovat příspěvek

 

Re: boot

Autor: x0_0x0

19:33:21 12.08.2008

h t t p: / / i m g4 5 . i m a g e s h a ck . u s / m y . p h p ?i m a g e = s c r e e n v u 5 . j p g

Ospravedlnujem sa za druhy doublepost ale nejak to blbne

Citovat příspěvek

 

Re: boot

Autor: x0_0x0

19:30:54 12.08.2008

Skusil som to az bez tej emulacie tentoraz ani nenabootoval
A este som v tom asm zakomentoval riadok 76 lebo to neslo skompilovat a myslim ze ten riadok mal byt povodne komentar...
Ten link na screen nejako zdivel tak tu je dobry
http://img45.imageshack.us/my.php?image=screenvu5.jpg

Citovat příspěvek

 

Re: boot

Autor: x0_0x0

19:18:05 12.08.2008

Spravil som tak ako vravite
tu je screen ako som to nastavil http://img45.imageshack.us/my.php?image=screenvu5.jpg restartol bootol to cd a zobrazilo to
Loading Boot Image
ERROR : Press Any Key to Reboot
:(

Citovat příspěvek

 

Re: boot

Autor: Zkus toto

13:08:52 12.08.2008

x0_0x0 Napsal:
-------------------------------------------------------
> No az na to ze nemam disketovu mechaniku:)
> Ale dakujem:)

Buď seš jak jelen a nebo asi vůbec nechápeš, že k tomu disketovku nepotřebuješ. Stačí ti jen CD nebo DVD mechanika, která umí vypalovat na CD ;).

Přeložený binární kód, který ti vyprodukuje asm překladač z toho zdrojáku podhodíš NERU jako boot image a krom toho v NERU nastavíš někde v parametrech při vytváření toho bootovacího CD, že má být zapnuta emulace disketovky. jakmile takto vypálené CD identifikuje BIOS tak se bude tvářit jako bys disketovku měl a přiřadí tomu CD právě pořadí, které by zabírala pomyslná disketovka kdybys ji měl.

Už chápěš ???

A kdybys měl problémy s BIOSEm tj., že by ti to snad nefachalo, tak si prostě na začátku toho zdrojáku ulož hodnotu registru DL do DriveNumber viz červeně zvýrazněno:

[code]...
; create stack
mov ax, 0x0000
mov ss, ax
mov sp, 0xFFFF
sti

[b][color=#FF0000]; save boot drive
mov [DriveNumber],dl[/color][/b]

; post message
...[/code]

protože v DL registru BIOS implicitně předává číslo disku z něhož se BOOTuje a pak by to mělo fachat i když to vypálíš na CD bez emulace disketovky ;).

Citovat příspěvek

 

Re: boot

Autor: x0_0x0

22:28:40 11.08.2008

No az na to ze nemam disketovu mechaniku:)Ale dakujem:)

Citovat příspěvek

 

Re: boot

Autor: Zkus toto

22:05:20 11.08.2008

Nezkoušel jsem to. Podle popisu je to sice implicitně pro disketu, ale mělo by to umět i CD když se z toho zdrojáku přeložená binárka vypálí třeba v NERU na bootovací CD s emulací diskety (a to se nastavuje v parametrech NERA pro tvorbu bootovatelného CD tak by to mělo šlapat.

PC Bootstrap Loader Programming Tutorial in ASM
The following tutorial will boot any x86 class PC with a floppy disk drive. USB floppies in legacy mode and El Torrito CDROM images will likely boot successfully as well.
http://www.omninerd.com/articles/PC_Bootstrap_Loader_Programming_Tutorial_in_ASM

El Torito (CD-ROM standard - jem doplnujici informace)
http://en.wikipedia.org/wiki/El_Torito_(CD-ROM_standard)

Citovat příspěvek

 

Re: boot

Autor: x0_0x0

17:20:32 11.08.2008

A neviete o nejakom funkcnom bootloaderi pre cd ? Lebo ja vsade nachadzam len pre diskety a hdd a cd-rom nist:(

Citovat příspěvek

 

Re: CD-rom boot

Autor: F

11:42:27 11.08.2008

http://www.blackhat.com/presentations/bh-usa-05/bh-us-05-soeder.pdf

ja osobne pouzivam CDIMAGE.exe od Microsoftu, diskety se myslim uz nepouzivaji

Citovat příspěvek

 

Re: CD-rom boot

Autor: x0_0x0

22:52:10 10.08.2008

Dakujem:)

Takze ak som spravne pochopil podla tohto navodu
http://wiki.osdev.org/Bootable_CD
tak .iso obraz bootovatelneho cd vytvorim pomocou programu mkisofs z 1.44M obrazu dsikety
ale ako vytvorit ten netusim:(

Citovat příspěvek

 

Re: CD-rom boot

Autor: F

21:50:52 10.08.2008

x0_0x0: viz El Torito

Citovat příspěvek

 

CD-rom boot

Autor: x0_0x0

21:36:55 10.08.2008

Zdravim vidim ze v tomto threade sa venujete bootovaniu s HDD.
Mna ae zaujima ako napisat bootloader pre cd-rom...Absolutne nemam sajnua nic som nikde nenasiel:(

Citovat příspěvek

 

Re: boot

Autor: JiriValerian

13:03:53 21.04.2008

[color=#008000]You Napsal:
-------------------------------------------------------
> moc vám všem děkuji ale po spuštění "hello word"
> to sice funguje ale problém je v tom že nevypíše
> co má ale hotovej maglais:),mohl by ste mi prosím
> někd ukázat jak má vypadat jednoduchý boot?[/color]

Viz odkaz: http://forum.builder.cz/read.php?28,2344054,2497216

Citovat příspěvek

 

Re: boot

Autor: You

8:57:58 21.04.2008

moc vám všem děkuji ale po spuštění "hello word" to sice funguje ale problém je v tom že nevypíše co má ale hotovej maglais:),mohl by ste mi prosím někd ukázat jak má vypadat jednoduchý boot? děkuji.

Citovat příspěvek

 

Re: boot

Autor: vsman

20:56:38 12.03.2008

Nasiel som ten jednoduchy asm kompilator:
http://www.programmersheaven.com/download/2656/download.aspx

Jednoducha struktura asm kodu pre ".com" programy:
[code]
.286c
.MODEL TINY

_TEXT SEGMENT WORD PUBLIC 'CODE'
ORG 100h


mov ax, 1
ret


_TEXT ENDS
END start
[/code]

Predpokladam, ze pre format na boot sector staci prepisat na 'ORG 0000H'.

Citovat příspěvek

 

Re: boot

Autor: vsman

0:12:18 12.03.2008

You:
Na jednoduche vytvaranie asm kodu v DOSe existuje jednoduchy program 'a86'.
Musim ho vyhladat a zajtra ho sem hodim.
Program musis skompilovat do 'bin' formatu.
Do sektoru ho skopirujes napriklad pomocou 'Norton diskedit.exe'.
Musis si nastudovat, jak taky MBR vypada. Jeho struktura je standart.
Je tam napriklad tabulka rozdelenia disku a ich pociatocne adresy.
Podla tej tabulky zavedies do pameti boot konkretneho disku a spustit v pameti.
Tento boot zase do pameti zavedie zakladne obsluhy systemu. Pri DOSe je to int21 a ine...
Potom ten boot sector spusti prvy program, ktory odstartuje uzivatelsky system.
Pri DOSe je to 'command.com'.
Pocitac uz od vyroby ma zakladny program. Vola sa BIOS a je napaleny v ROMke.
Ten obsahuje obsluzne rutiny na pracu s obrazovkou, diskom, ...
Pouziva sa cez sw interrupty, napriklad int13h je obsluha disku.
Na fungovanie vlastneho systemu potrebujes nejaky file system.
V DOSe to je FAT a vo windowse NTFS.
Bez file systemu nemoze system pracovat so subormy, co je zaklad..
Preto na pochopenie fungovania jednoducheho systemu, je dobre pochopit jak funguje FAT.

Takze musis:
Nastudovat BIOS obsluzne programy.
Nastudovat strukturu boot sectoru MBR, ktoru by si mal zachovat.
Natudovat ako funguje FAT a vymysliet vlastny file system.

Toto je zaklad a bez toho si nejaky system neurobis.
Studovanie protect mode CPU je na zaciatku uplne zbytocne.
Najprv urob single task system podobny DOSu.

Vela zdaru... (tu)

Citovat příspěvek

 

Re: boot

Autor: JiriValerian

22:56:00 11.03.2008

[color=#008000]Buksy Napsal:
-------------------------------------------------------
> hm :) co to som prestudoval, viem spravit
> bootovaciu disketu, napisat asm program ktory
> vypise hello world popripade nieco nacita z
> klavesnice, teraz by ma zaujimalo co sa deje dalej
> ? ako spustit nejaky C++ kod?[/color]

Ukázku najdete viz odkaz: http://forum.builder.cz/read.php?28,2344054,2353288#msg-2353288

Citovat příspěvek

 

Re: boot

Autor: Buksy

21:57:08 11.03.2008

hm :) co to som prestudoval, viem spravit bootovaciu disketu, napisat asm program ktory vypise hello world popripade nieco nacita z klavesnice, teraz by ma zaujimalo co sa deje dalej ? ako spustit nejaky C++ kod?

Citovat příspěvek

 

Re: boot

Autor: Buksy

15:47:26 11.03.2008

:) hm .. trochu som sa v tom zacal tiez sturat .. ale moj problem je zatial ze neviem asm tak idem studovat .. no ale chcel som napisat ze diky za tu spustu odkazou co ste tu poposielali :) kopa zaujimavych clankov ... nech zije internet :)

Citovat příspěvek

 

Re: boot

Autor: you

21:33:16 16.12.2007

tak jsem testoval a testoval a podle návodu udělal vše (na rootu) ale bohužel ani boot jednoducheho programu se nekonal ani náznak... :o(

Citovat příspěvek

 

Re: boot

Autor: you

21:00:40 11.12.2007

Díky kluci za spoustu rad jen mám pro vás zřejmě banální problém ale stáhl jsem si jednoduchý program na nahrávání do tech sektoru ale neumim s nim moc teda spíš to není vidět že by mi to šlo :o) muže někdo poradit? je to ten z přispěvku od kolegy nahoře...

Citovat příspěvek

 

Re: boot

Autor: J.

21:36:39 10.12.2007

Kdysi se to delavalo tak, ze si clovek napsal "programek", ktery mu tech 512 bajtu zapsal na zadany sektor.

V Pscalu to vypadalo asi takhle, za spravnost parametru nerucim, najdi si k tomu nekde dokumentaci:

[code]
uses Dos;
var r:Registers;
Buf:Array[$000..$1FF]of Byte;
i:Word;
Target:Text;
begin
if ParamCount=0 then Assign(Target,'c:\bbb.bbb') else Assign(Target,ParamStr(1));
Reset(Target);
for i:=$000 to $1FF do begin
Read(Target,zn);
Buf[i]:=Ord(zn);
end;
Close(Target);
r.ah:=3; (* Zapis sektoru *)
r.dl:=$80; (* Harddisk *)
r.dh:=1; (* Povrch *)
r.ch:=0; (* Stopa *)
r.cl:=1; (* Sektor *)
r.al:=1; (* Pocet sektoru *)
r.es:=Seg(Buf); (* ES:BX *)
r.bx:=Ofs(Buf);
Intr($13,r);
end.
[/code]

Citovat příspěvek

 

Re: boot

Autor: you

10:43:25 09.12.2007

No pochopil jste to ne zcela dobře,věděl jsem že tak to nejde ale netušil jsem "jak to jde" děkuji

Citovat příspěvek

 

Re: boot

Autor: Myroun

18:38:52 08.12.2007

oprava: predposledni prispevek

Citovat příspěvek

 

Re: boot

Autor: Myroun

18:37:18 08.12.2007

you: Ja jsem si jeste jednou precetl vas posledni prispevek a teprve ted mi doslo, kde je zadrhel. Vy mate totiz stale predstavu, ze si ve windowsech vezmete soubor s tim programem a nakopirujete ho ctrl+c ctrv+v do nejakeho adresare na tom flashdisku, ze?

To je prave chyba, protoze potom by se obsah toho souboru ulozil do libovolneho volneho sektoru na flashdisku, nikdy vsak ne prave do toho prvniho.

Na to, abyste nahral program do prvniho sektoru, potrebujete nejaky specialni program, ktery umi primo editovat jednotlive sektory na disku.

Na internetu jsem nasel napr. tento program:
http://www.roadkil.net/Sectedit.html

Citovat příspěvek

 

Re: boot

Autor: you

18:22:28 08.12.2007

spousta informací,za ně děkuji,musím je pomalu vstřebat a pohrabat se v pc,konec koncu co by se mohlo stát že? :o) (nebojte sem si vědom nebezpečí jen mám momentálně problém s PC,nejde mi ve vestě spánek a hybernace jen přes start,tak to musim vyřešit abych si nepokurnil něco víc a pak se to nesečetlo...)

Citovat příspěvek

 

Re: boot

Autor: Myroun

18:08:53 08.12.2007

Jiri Valerian: Nejak vam tam vypadlo G
GENERIC_READ | GENERIC_WRITE

you: Ja jsem to kdysi delal pod dosem. Tam jsem si udelal velmi jednoduchy programek, ktery zapisoval sektory pomoci preruseni biosu int 0x13.
Dneska pod windowsama bych to asi resil stazenim nejakeho programu, ktery to umi udelat za vas. Nebo pokud umite v c++, potom viz priklad Jiriho Valeriana.

Citovat příspěvek

 

Re: boot

Autor: JiriValerian

13:31:28 08.12.2007

[color=#008000]you Napsal:
-------------------------------------------------------
> děkuji ale poslední dotaz jsem asi formuloval
> špatně melo by to znamenat "jak to dostanu do
> prvního sektoru? dá se to ovlivnit kam se program
> nahraje nebo je to pod windows jeho starost?[/color]

Ukázka, kterou jsem zde již pro Windows uvedl viz odkaz

http://forum.builder.cz/read.php?28,2344054,2353754#msg-2353754

demonstruje čtení prvního sektoru viz část pro čtení MBR. V postatě stačí jen doplnit do volání funkce [b]CreateFile[/b] k definici [b]GENERIC_READ[/b] ještě definici [b]ENERIC_WRITE[/b] tj. sdruženě takto:

[b]ENERIC_READ|ENERIC_WRITE[/b]

a samozřejmě si ještě musíte načíst do paměti tj. třeba do toho bafru [b]Sektor[/b] jak je uveden v tom příkladu, soubor obsahující kod přeložený tím překladačem assembleru a pak už se jen namísto funkce [b]ReadFile[/b] zavolá [b]WriteFile[/b]. Podrobnější popisy parametrů atd. už jistě najdete přes [b]Google[/b] apod. Jen dávejte pozor ať si nevymrvíte MBR pevného disku ;).

Citovat příspěvek

 

Re: boot

Autor: you

11:43:05 08.12.2007

děkuji ale poslední dotaz jsem asi formuloval špatně melo by to znamenat "jak to dostanu do prvního sektoru? dá se to ovlivnit kam se program nahraje nebo je to pod windows jeho starost?

Citovat příspěvek

 

Strana výpisu

1

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: