Az elsõ bootolható programom

Kezdőlap Fórumok Programozás Az elsõ bootolható programom

10 bejegyzés megtekintése - 1-10 / 86
  • Szerző
    Bejegyzés
  • #2061854
    Teati
    Felhasználó

      Gratula!

      #2061855
      Wait
      Felhasználó

        Ha ez egy bootolható valami, akkor a progit a BIOS indítja, és odáig még eljut, hogy kiírja. De nézzük tovább: ha te egy C nyelvû valamit akarsz indítani, ami a lemezen máshol van, ahhoz már kell, hogy ismerje a lemezt a program, sõt, még (meg merem kockáztatni) egy fs is kelleni fog. Akkor most van egy leforgatott C nyelvû valamink. Nézzük tovább: ez nem gépi kód, csak egy gépi kód szerû cucc, aminek indításához kell még néhány dolog. Nem akarok nagyon belemenni, csak tanulmányozásra ajánlanám az uniOS-et, avagy épp a Minix kódját, ha egy kicsit többre vágysz, akkor húzd le a 0.01-es Linux-kernelt, és uccu neki, sok szerencsét! 🙂
        Ui.: mi alapján tanultad az ASM-et? Nekem is kellene :blush:

        #2061856
        goraki
        Felhasználó
          #2061857
          apx
          Felhasználó

            Ui.: mi alapján tanultad az ASM-et? Nekem is kellene blush

            SZTE-n Máté Eörs a saját könyvébõl tanítja, egész klassz kis cucc, ez volna az: http://www.kiskapu.hu/index.php?BODY=BookInfo&OP=details&ID=19480&VISIT=1

            #2061858
            pointux
            Felhasználó

              „A kérdésem az lenne, hogy ASM-bõl hogyan tudok, mondjuk egy befordított C programot meghívni?”
              Ahogy mondták, úgy nem fog sikerülni, de…:
              kód segmens:

              Code:
              extern printf
              push dword [CHAR]
              push dword [FORMAT]
              call printf
              add esp, byte 8

              adat szegmens:

              Code:
              CHAR db ‘A’
              FORMAT db ‘%c’

              Ha viszont C függvényt akarsz írni:

              Code:
              c_func:
              push ebp
              mov ebp, esp
              sub esp, VAR_SIZE
              mov ebx,[ebp+8] <- ez az elsõ paraméter címe

              mov eax, 1 <-visszatérési érték, ha kell (de, ha 0, akkor a xor eax,eax a célszerû)
              mov esp, ebp
              pop ebp
              ret
              #2061859
              str2etboy
              Felhasználó
                Wait wrote:
                Ha ez egy bootolható valami, akkor a progit a BIOS indítja, és odáig még eljut, hogy kiírja. De nézzük tovább: ha te egy C nyelvû valamit akarsz indítani, ami a lemezen máshol van, ahhoz már kell, hogy ismerje a lemezt a program, sõt, még (meg merem kockáztatni) egy fs is kelleni fog. Akkor most van egy leforgatott C nyelvû valamink. Nézzük tovább: ez nem gépi kód, csak egy gépi kód szerû cucc, aminek indításához kell még néhány dolog. Nem akarok nagyon belemenni, csak tanulmányozásra ajánlanám az uniOS-et, avagy épp a Minix kódját, ha egy kicsit többre vágysz, akkor húzd le a 0.01-es Linux-kernelt, és uccu neki, sok szerencsét! 🙂
                Ui.: mi alapján tanultad az ASM-et? Nekem is kellene :blush:

                Ohh.. Már nem is tudom. Neten találtam valami leírást, meg a prog.hu-s assembly rovatokat nézegettem. Miután postoltam az üzimet megnéztem egy honlapot, ahol elég komolyan belemélyedtek ebbe a dologba. Talán a megoldásom a grub, vagy a lilo lesz. Ezek segítségével tudok már bootolni.
                Mondjuk nincsen sok értelme egy új OSt csinálni, csak le akartam nyûgözni a haverokat. De észbe kaptam. A minix forrása megvan és sztem elég áttekinthetõ, de nem szórakoznék, hogy kibogarásszam mi-mit csinál. A linux kernel megértése nagyon nagy munka lenne. Minek álljak neki? Ahh.. Annyira elõrehaladott már minden a sztechben, hogy az elejérõl fölösleges kezdeni, de engem az érdekel a legjobban, de mikor lesz arra szükségem? Nah mind1.

                Megtaláltam: linuxgazette.net/issue77/krishnakumar.html
                inuxgazette.net/issue79/krishnakumar.html
                alapján készítettem egy kicsit egyénre szabva.

                #2061860
                Wait
                Felhasználó

                  Már megint az angoltudás hiánya jön elõ… 🙁

                  #2061861
                  pointux
                  Felhasználó

                    „az ittenieket nem akarom vele õrületbe kergetni”
                    Pedig megnéznénk… de csak, ha valami gépikód. Piti cuccokkal nem foglalkozunk, azon már túl vagyunk. :)))

                    #2061862
                    Wait
                    Felhasználó

                      Pedig ez piti cucc ;D
                      Egyenlõre csak tervek vannak, aztán lehet, hogy semmi sem lesz belõle. A dolog tulajdonképp egy, a rendszer felé Linux kernelként kommunikáló piramis-kernel lenne, ami alapvetõ – monolikus, csak a bootoláshoz ELENGEDHETETLEN – kerneldarabbal van felszerelve, és mellette van a rá épülõ modulos ill. mikrokernel szerû valami. De tényleg nem akarok ide offolni, akit érdekel, írjon egy e-mailt a hbotondzs(a)gmail.com-ra, vagy küldjön egy privit.

                      #2061863
                      pointux
                      Felhasználó

                        „csak le akartam nyûgözni a haverokat”
                        Ha tényleg azt akarod, akkor tenulj, meg egy ilyen a betûs cuccot hexaban… akkor még fordító sem kell :), csak lemented, elindítod, oszt fut. :)))

                      10 bejegyzés megtekintése - 1-10 / 86
                      • Be kell jelentkezni a hozzászóláshoz.