Ukulinganisa iLinus Torvalds: Yenza eyakho inkqubo yokusebenza ukusuka ekuqaleni (I)

Okokuqala, phawula ukuba eli nqaku lam lokuqala kwaye ndiyathemba ukuba nonke niyayithanda.

Linus Torvals bonwabile

Kolu luhlu siza kuxelisa Linus Torvalds, Siza kwenza inkqubo yethu yokusebenza ukusuka ku-0. Kulesi siqendu sokuqala siza kubona i-boot kwaye siza kufaka isicatshulwa kwiscreen kwi-kernel yethu.

Kwimeko yam inkqubo yokusebenza ibizwa ngokuba OkulandelayoDivel. Isigqibo sokuqala esimele sisenze ngokukhawuleza xa siqwalasela inkqubo yokusebenza yintoni i-bootloader eya kuba yiyo?

Nazi iindlela ezahlukeneyo, kwaye sinokudala enye ngokwethu; nangona kunjalo kule khokelo ndiza kuyisebenzisa GRUB, kuba uninzi lwazi ngakumbi okanye luyinto encinci ngaye. Sakha ifolda eya kuba yingcambu yenkqubo yethu yokusebenza kwaye apho senza i / boot / grub ifolda

mkdir nextroot && cd nextroot

mkdir -p boot/grub

Apho senza ifayile yegrub.cfg ngolu hlobo lulandelayo:

menuentry "NextDivel" {
echo "Booting NextDivel"
multiboot /next/START.ELF
boot
}

Kule fayile sibonile ukuba njani GRUB siyakulayisha i-kernel yethu, kule meko, kwi /next/START.ELF. Ngoku kufuneka senze i-kernel yethu.

Ngale nto siza kuyidinga GCC y GAS (isihlanganisi seprojekthi GNU, ihlala iza ne-gcc). Ke siza kwenza i-kernel.

Kuqala senza ifayile ebizwa ngokuba yi-kernel.asm. Le fayile iya kuba nenqaku lokuqala le-kernel yethu kwaye iya kuchaza kwakhona i-multiboot (inqaku lezinye i-bootloaders ezinje GRUB). Umxholo we kernel.asm uya kuba:

.text
.globl start
start:
jmp multiboot_entry
.align 4
multiboot_header:
.long 0x1BADB002
.long 0x00000003
.long -(0x1BADB002+0x00000003)
multiboot_entry:
movl $(stack + 0x4000), %esp
call NextKernel_Main
loop: hlt
jmp loop
.section ".bss"
.comm stack,0x4000

Yonke into enxulumene ne-multiboot kukulandela nje imigaqo ayikho enye into. Yonke into iza kuqala ekuqaleni, iya kubiza i-multiboot_entry, siya kuchaza i-multiboot header kwi-4k yokuqala kwaye siza kuyibeka (nge-movl).

Emva kwexesha sibiza i-NextKernel_Main eyi-kernel C yethu yokusebenza. Emngxunyeni siyema ukumisa ikhompyuter. Oku kudityaniswa kunye:

as -o kernel.o -c kernel.asm

Ngoku sizakungena kwinkqubo ku-C. Uyakucinga ukuba ngoku yonke into sisiqwenga sekhekhe, sibeka u ukuprinta en eyona yiyo lonto, siyenzile.

Ewe hayi, kuba ukuprinta y eyona Le yimisebenzi echazwe yinkqubo yokusebenza, kodwa siyayenza! Singasebenzisa kuphela imisebenzi esizichaza ngayo.

Kwizahluko ezizayo ndiza kuthetha ngendlela yokubeka ilayibrari yethu C (glibc, bionic, newlibc) kodwa amaxesha ngamaxesha. Sithethile ukuba sifuna ukubeka isicatshulwa kwiscreen, kulungile ke siza kubona ukuba senza njani.

Zimbini iindlela onokukhetha kuzo, enye kukutsalela umnxeba BIOS kwaye enye kukulawula imemori yesikrini ngokuthe ngqo. Siza kuyenza le yokugqibela kuba icacile kwi-C kwaye iya kusivumela ukuba siyenze xa singena kwimowudi ekhuselweyo.

Senza ifayile ebizwa ngokuba yiNextKernel_Main.c ngalo mxholo ulandelayo:

int NextKernel_Main()
{
char *str = "NextDivel says Hello World", *ch;
unsigned short *vidmem = (unsigned short*) 0xb8000;
unsigned i;
for (ch = str, i = 0; *ch; ch++, i++)
vidmem[i] = (unsigned char) *ch | 0x0700;
return 0;
}

Ngale nto sisebenzisa ngokuthe ngqo inkumbulo VGA kunye nomlinganiswa ngohlobo esilubhalayo. Sihlanganisa ngokukhubaza i-stdlib:
gcc -o NextKernel_Main.o -c NextKernel_Main.c -nostdlib -fPIC -ffreestanding

Ukuba ukwenzile oku, uya kufuna ukuzama inkqubo yakho entsha yokusebenza ngoku, kodwa asikenzi okwangoku. Sifuna ifayile encinci exelela umhlanganisi ukuba yeyiphi kwifayile yokushiya icandelo ngalinye. Oku kwenziwa ngeskripthi sokudibanisa. Sakha ikhonkco.ld:

ENTRY(start)
SECTIONS
{
. = 0x00100000;
.multiboot_header :
{
*(.multiboot_header)
}
.text :
{
code = .; _code = .; __code = .;
*(.text)
. = ALIGN(4096);
}
.data :
{
data = .; _data = .; __data = .;
*(.data)
*(.rodata)
. = ALIGN(4096);
}
.bss :
{
bss = .; _bss = .; __bss = .;
*(.bss)
. = ALIGN(4096);
}
end = .; _end = .; __end = .;
}

Ngale nto sichaza indawo yecandelo ngalinye kunye nendawo yokungena, qala, esiyichaze kwi kernel.asm. Ngoku singamanyanisa yonke le ngqungquthela:

gcc -o START.ELF kernel.o NextKernel_Main.o -Tlink.ld -nostdlib -fPIC -ffreestanding -lgcc

Ngoku sikopa START.ELF ukuya / ngokulandelayo ngaphakathi kwifolda yethu efanisa ingcambu yenkqubo yethu yokusebenza. Siya kwifolda yengcambu yenkqubo yethu entsha yokusebenza kunye nekhonsoli kwaye siqinisekise ukuba kukho iifayile ezimbini: enye / boot / grub / grub.cfg kunye nenye / elandelayo / START.ELF.

Siya kwisikhombisi esingasentla kwaye sibize isixhobo sokwenza i-ISO ngeGRUB ebizwa grub-mkrescue

grub-mkrescue -o nextdivel.iso nextroot

Nje ukuba sikwenze oku siya kuba ne- ISO. Le ISO inokuvulwa kwiikhompyuter x86 (Iibhithi ezingama-64) kunye noomatshini ababonakalayo. Ukuyivavanya, ndiza kuyisebenzisa IQEMU. Siyabiza IQEMU kumgca wokuyalela:

qemu-system-i386 nextdivel.iso

Uya kuqala Ulwandle kwaye kamva siya kuba nazo GRUB. Emva kwexesha ukuba yonke into ichanekile siza kubona ibinzana lethu.
Uya kucinga ukuba kunzima, ndiyaphendula, ewe kunjalo.

Ngokwenene ukwenza inkqubo yokusebenza kunzima kwaye le apha ayenzi nto iluncedo. Kwizahluko ezizayo siza kubona indlela yokuphatha imibala kwiscreen, ukugcina imemori kwaye ukuba ndinako, indlela yokufumana idatha kwikhibhodi.

Ukuba umntu akafuni ukukopa yonke into apha, ndinendawo yokugcina izinto GitHub (ngakumbi ngakumbi) ngenkqubo yokusebenza OkulandelayoDivel. Ukuba ufuna ukudibanisa OkulandelayoDivel kufuneka une-git kunye ne-cmake:

git clone https://github.com/AdrianArroyoCalle/next-divel
cd next-divel
mkdir build && cd build
cmake ..
make
make DESTDIR=next install
chmod +x iso.sh
./iso.sh
qemu-system-i386 nextdivel.iso

Ndiyakukhuthaza ukuba usebenzisane kwi-NextDivel ukuba unexesha kwaye unqwenela ukwenza inkqubo yokusebenza. Mhlawumbi ungaphezulu kweLinux ... ixesha liza kuxela.


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.

  1.   iyeva sitsho

    :O

    1.    kubiwe sitsho

      I-Torvalds yathatha inkqubo ye-Minix (ethathwe kwi-UNIX) yaya ku-Andrew S. Tanenbaum kwaye wayiphucula.

      I-Tanenbaum iye yalwa noLinus, bathuka omnye komnye. UTanenbaum uthi iMicrokernel ikamva (HURD, Minix cone new Microkernel).

      http://www.taringa.net/posts/linux/17215999/Linux-vs-Hurd-Kernel-Monolitico-vs-Microkernel.html

  2.   Eliotime3000 sitsho

    Esi sesona sithuba silungileyo endisibonileyo ukuza kuthi ga ngoku kule bhlog. Sele ndifuna ukwazi enye into emandiyenze.

  3.   UCarlos uGude sitsho

    Chukumiseka

  4.   i-axl sitsho

    Inomdla ngokwenene !!

  5.   yeloya sitsho

    UUUUUUUA!
    Yeyona post ibalaseleyo endakhe ndayibona hehe. Ndiyakuvuyela uAdrián, inqaku lesifebe! hyper umdla !!! 🙂

    1.    Joaquin sitsho

      Ndiyavuma. Ndicinga ngale meko:
      Umsebenzisi wamandla we-GNU / Linux (ngobuso obonwabileyo):
      "Sele ndiyazi indlela yokuhlanganisa iGentoo yam"

      UNerd (ngesimo sokudelela): «pff, ndenze eyam distro ...»

      1.    desikoder sitsho

        Ewe ndingazenzela eyam i-linux distro. Ngapha koko ndiphuhlisa ii-initramfs kunye ne-kernel ye-linux ebekiweyo. Ayifani nokwenza inkqubo yokusebenza kune-linux distro. Eyokuqala inzima kakhulu, phantse ayinakwenzeka, eyesibini, njengoko sele utshilo, inokuba yiyo nantoni na, nkqu noBuntu ophethe ilogo utshintshe i-xD. Ke ndingayishiya ngoluhlobo:

        Umsebenzisi wamandla we-GNU / Linux (ngobuso obonwabileyo)
        -Ndisele ndiyazi indlela yokuhlanganisa iGentoo yam

        Isiqendu-Nerd
        -Pff, ndilandele i-linux ukusuka ekuqaleni kwaye ndiyenzile eyam i-distro

        UNerd (ngesimo sokudelela)
        -pff, kuba ndicwangcise ikernel ngokudibanisa kunye naseC

        Nibuliso!

  6.   Iicronos sitsho

    Oku kunomdla kum, kulindelwe kwizahluko ezilandelayo.

  7.   lumkiso sitsho

    Ndayibona le tutorial ngexesha elithile eladlulayo, yenzelwe i-C ++
    https://github.com/SamyPesse/How-to-Make-a-Computer-Operating-System

    1.    AdrianArroyoStreet sitsho

      Enkosi ngekhonkco, ndiza kujonga kulo.

  8.   UJose Jácome sitsho

    Ndingathanda iNkqubo yokuSebenza eyi-100% ehambelana nemizobo ye-AMD: /

    1.    UIvanLinux sitsho

      Windows

      1.    UJose Jácome sitsho

        hahaha kwiWindows Catalyst ayinayo inkxaso ye-OpenGL, nangona kwi-Linux andikwazi ukusebenzisa onke amandla emizobo ndiya kuhlala ndilinde ukubona ukuba kwenzeka ntoni!

        1.    yenyani sitsho

          linda nje ivalve ukuba isule intengiso

  9.   I-KZKG ^ iGaara sitsho

    Umlingo, ogqibeleleyo, negalelo elihle, kujongeka ngathi luluhlu olukhulu lwezithuba 🙂

  10.   O_Pixote_O sitsho

    Buah, ndingathanda ukwazi ukuba ungayenza njani inkqubo yokukunceda, njengendlela yokuziqhelanisa nolwazi olufundayo, kwaye enye iyanceda. Okwangoku ndikushiyela isiqubulo sokuba utsalele ingqalelo kwiprojekthi nje ukuba uyigqibe "Sebenzisa i-NextDivel, iphonografi ijongeka ngokufanayo (okanye ngcono)."

  11.   kulendlela sitsho

    Mooooooolaaa !!!!

  12.   nordi sitsho

    Inqaku elilunge kakhulu, kodwa unomdla nje wokuba kutheni ungayilandelanga i-Linux Ukusuka ekuqaleni kweprojekthi?

    Phendula nge quote

    1.    AdrianArroyoStreet sitsho

      Ewe, iLinux esuka kwiScratch ilungile, kwaye ungatsho ukuba yeyakho, kodwa inyanzelekile.
      -Khuphela iifonti
      -Zibambe
      -Dibanisa
      -Faka
      -Ukulandela
      Apha, nokuba iziphumo zibi kakhulu ekugqibeleni, ungatsho ukuba uzijongisisile zonke iifayile.

    2.    desikoder sitsho

      Njengoko kucacile kwingcaciso yam yangaphambili, kuba ayinayo inqanaba elifanayo lobunzima. Ngapha koko, i-linux ukusuka ekuqaleni ayisiyiyo kwaphela, iphikisana negama layo, yenza inkqubo ukusuka ekuqaleni.Ukwenza inkqubo ukusuka ekuqaleni kukuzicwangcisa ngokwakho, ubhale eyakho i-kernel, hayi i-linux kernel, ukuba kunokwenzeka nokuba yeyakho i-bootloader endaweni yegrub, lilo, syslinux, njl. Nangona i-LFS ingekho ncinane kwaye iyinkimbinkimbi, ayifuni nokusondela kwi-kernel ...

      Ukongeza, ndiyavuma noAdrianArroyo Calle ukuba ingumatshini kakhulu, ndiyifundile ngamanye amaxesha kwaye uphela unikezela kwiphepha lesithandathu, bakwakuxelele ukuba usebenzise eziphi iinguqulelo zeephakeji kuba kungenjalo imiyalelo ayizukusebenza (leyo ibonisa ukungabikho kokuguquguquka, Ngokombono wam). Ndicinga ukuba kungcono ukuba unento ethile eyoluvo lwakho, qulunqa iipakeji ozifunayo, nkqu nenkqubo ezinye, ukuqokelela i-linux kernel kunye noxolo.

      Nibuliso!

  13.   Cookie sitsho

    uuuoooohh !! Andizange ndibambe iposti njengale.
    Nceda uqhubeke 😀

  14.   umsebenzisi we-linux sitsho

    Andazi ukuba yintoni ingxaki:

    Impazamo: akukho ntloko ye-multiboot ifunyenwe.
    Impazamo kufuneka ulayishe ikernel kuqala

    1.    AdrianArroyoStreet sitsho

      Ukuba kukho induduzo, ndenze impazamo efanayo. Zama ukusebenzisa imithombo ekwiGitHub, apho impazamo sele isonjululwe. Ngapha koko ndicinga ukuba utshintsha umgca wegrub.cfg ukusuka kwi "multiboot /next/START.ELF" uye kwi "kernel /next/START.ELF" inokusebenza. Andazi ngokuchanekileyo.

      1.    mzantsiweb sitsho

        Okokuqala, umnyango omangalisayo 🙂
        Ndinengxaki efanayo yokulayisha i-kernel kwi-grub. Nokuba usebenzisa imithombo yeGitHub okanye ukutshintsha i-multiboot yekernel ...

        Impazamo: akukho ntloko ye-multiboot ifunyenwe.
        Impazamo: akukho kernel ilayishiwe

        1.    AdrianArroyoStreet sitsho

          Ngaba usebenzisa i-clang njengomhlanganisi? Guqula igcc
          Ngaba ukhumbule ukusebenzisa iscript esibhaliweyo? Kuyimfuneko ukuze ikhonkco (ld kwimeko yethu) yazi ukuba yeyiphi kwifayile eza kuthi ibeke into nganye kuyo. Kule meko i-multiboot header kufuneka ibe ekuqaleni.
          Ngaba usebenzisa inkqubo yeCMake? Ukuba uyayisebenzisa ndicinga ukuba ayiphumeleli.
          Ukuba ayisebenzi kuwe, ndiza kuzama ukufumana esinye isisombululo.

  15.   khourt sitsho

    [+ 100]
    Kakhulu nje !!!

  16.   okungabonakaliyo15 sitsho

    Ipholile nyani 🙂

  17.   Itanrax sitsho

    Ndothula umnqwazi wam. Iposi entle. Ndiyakuvuyela.

  18.   Ndoda sitsho

    Yeha!
    Kuya kuba kuhle ukuba unokuvula izicelo ezenziwe kwi-HTML5 kunye neJavascript ngaphandle kokusebenzisa isikhangeli, ngaba kunokwenzeka oko?
    Ndithetha ngabo ngathi bafana nezicelo zemveli.
    Kungaba lula ukwenza le nkqubo yokusebenza 😀

    1.    AdrianArroyoStreet sitsho

      Kule meko andizukuyenza kuba ithatha umsebenzi omninzi ngasemva kwayo kodwa kukho inkqubo yokusebenza ebizwa ngokuba "ngu" eyenza le nto uyithethayo. Ngapha koko umgca wokuyalela yiJavaScript kwaye iifestile zitsaliwe kusetyenziswa imisebenzi ye-Canvas JavaScript. Iinjineli zeNintendo ziyenzile kwaye ngoku ingumthombo ovulekileyo.

      http://code.google.com/p/es-operating-system/

      1.    Ndoda sitsho

        UValla, enkosi ngolwazi 😀
        Ndiza kujonga

  19.   patodx sitsho

    Nabani na onokwenza i-OS yakhe angafa ngoxolo, kuba inqanaba lobukrelekrele kufuneka afezekise ngalo; Kukwenza uhambisane nezulu okanye isihogo.
    Icandelo lokuposa.

    1.    Miguel sitsho

      Ukuza kuthi ga ngoku akukho mntu waziyo ukuba wenze kuphela into ekunokuthiwa yinkqubo yokusebenza enesidima eyenziwe kwasekuqaleni, nditsho neLinux Torvalds njengoko usitsho ekuqaleni, kuba oku kuqale kwimithombo yeUnix nayo yonke enye into ibhaliwe ngokufanayo Kunomntu omnye, ubomi bufutshane kakhulu kwaye ukuqala kwasekuqaleni ayicingeki nakubani na, nokuba kuyafuneka okuphikisanayo, kuyabonakala kwiimpazamo ezininzi ezenziweyo ekukhupheleni nasekuncamathiseni ngeLinux Torvalds

      1.    skarmiglione sitsho

        Imithombo ye-unix ivaliwe, ukusetyenziswa kwe-minix ... yenye into eyenye.

      2.    UFelipe Robaina sitsho

        kwaye abo benza i-QDOS yintoni?
        zazisekwe kwinto ethile?

  20.   tesla sitsho

    Ukusuka kwinto endiyibonayo, ngubani ongenayo eyakhe inkqubo yokusebenza kungenxa yokuba abafuni, hahahaha.

    Ngoku nzulu, inomdla kakhulu! Kuninzi okungaphaya kolwazi lwenkqubo olulinganiselweyo, kodwa ndiza kufunda ezinye iinxalenye zolu ngcelele ngolangazelelo.

    Enkosi ngeposi!

  21.   UManuel R sitsho

    Undishiye nobuso O_O ... ngaphandle kwenjongo yokujongela phantsi igalelo lakhe nabani na, yeyona "pro" ndiyibonileyo mvanje. Imibuliso.

  22.   zekiso_cz sitsho

    Inqaku elilunge kakhulu, uAdrián. Nceda uqhubeke…

  23.   mj sitsho

    Ngaba uyadlala ngoSuku lweziDenge ku-Epreli?, Ungathethi "Ukulinganisa iLinus Torvalds: Yenza eyakho inkqubo yokusebenza kwasekuqaleni." Andicingi ukuba kunzima kwabo baqhubela ikhondo elithile kwitekhnoloji okanye eyunivesithi; kodwa kum ndingumtoli we-novice (kukho abo basibiza "Noob" kodwa ndizithatha njengoNewbie ngakumbi ndonqena) oko kuvakala ngokunganyatheli emhlabeni. Ngapha koko, ELI NQAKU LIDALA UBUNINZI BOKUZIPHATHA KANYE NGAPHANDLE KOKUTHANDABUZWA NOKUHLONIPHA UMHLELI WAKHO, HALALISA; Into yokuqala endiza kuyenza kukuzama ukuqonda ubuncinci kwezi zinto zibalulekileyo.
    ENKOSI U-Adrian Arroyo Calle, umsebenzi ogqwesileyo kunye nokuhanjiswa okubalaseleyo kolwazi.

  24.   UBlaire pascal sitsho

    LEL Iposti egqwesileyo, yigcine.

  25.   f3niX sitsho

    Enjani yona isithuba esihle, yile nto bendiyikhumbula desde linux. Iyamangalisa.

  26.   ilitye elinqabileyo elibomvu sitsho

    Iposti enkulu, enkosi kakhulu.
    Khange ndiyiqonde into eyenziwa yile link.ld, ngaba umntu angandicacisela yona?

    1.    AdrianArroyoStreet sitsho

      Ikhonkco lefayile.ld uxelela ikhonkco (kule meko ld) apho icandelo ngalinye lekhowudi kufuneka libe kwifayile enesiphumo. Sikwachaza indawo yokungena kuba asinayo inkqubo yokusebenza esingakwaziyo ukuyisebenzisa njengesiqhelo, kule meko sikhetha umsebenzi wokuqala.

  27.   maxi sitsho

    Inkulu yonke iposti yakho! Ilinde i-7! Ungathini ukuba ndinamathandabuzo, umzekelo, ukuba bendifuna ukuqhuba ialgorithm kuphela, ngaphandle kwe-OS, ndiyazi njani into endinokuyisebenzisa kunye nengekhoyo u-C?

    1.    AdrianArroyoStreet sitsho

      Ukuba uyisebenzisa ngolu hlobo, ngekhe ukwazi ukusebenzisa nantoni na evela kwi-stdlib, eyinto esetyenziswa ngumntu wonke (akukho malloc, simahla, printf, scanf, strcmp, njl. Yonke into kufuneka yenziwe ngokuthe ngqo kwimemori okanye kwi-ASM. Mhlawumbi kwisahluko esiphezulu ndiza kukubonisa ukuba uyifaka njani ilayibrari yeC yenkqubo yokusebenza. Ukuba usebenzisa i-C ++ awungekhe usebenzise okungafaniyo kunye nabasebenzisi abatsha kunye nokucima (kwaye ngokuqinisekileyo ngaphezulu).

    2.    umtshintshi sitsho

      Ndiyacinga oku inokukunika umbono ongcono wendlela yokwenza.

  28.   Esteban sitsho

    Molo, malunga neminyaka emi-5 eyadlulayo ndalandela upapasho olufanayo kwaye ndenza i-microkernel eqala ngendlela efanayo, inezinto ezithile ekufuneka iziphucule, kodwa inokuba nomdla kuwe, ibaleka kwimowudi ekhuselweyo, yenza umsebenzi omninzi kwaye yenza ukubonwa kwememori, Mva nje ndisebenze kuyo umqhubi wediski kunye ne-cd drive ukuyenza ukuba ifikeleleke kwaye ingaqhubeki kuphela kwi-cd ephilayo ...

  29.   Johan sitsho

    Molo, ndinempazamo xa ndenza lo myalelo:
    I-gcc -o START.ELF kernel.o I-NextKernel_Main.o -Tlink.ld -nostdlib -fPIC -ukubeka indawo -lgcc

    link.ld: 5 impazamo yes syntax
    collect2: Impazamo: ld ibuyise inqanaba elinye lokuphuma

    ikhonkco
    . = 0x00100000;
    .multiboot_header: {
    * (. multiboot_header)
    }

    Kumgca wesi-5 andiyiboni impazamo, ngaba umntu uyafana?

    Ndisebenza ne-debian wheezy ebonakalayo kwibhokisi ebonakalayo

    1.    UJulian Reyes Escrigas sitsho

      Yongeza ";" Ekupheleni kwe * (. multiboot_header)

  30.   U-Eric Orellana Romero sitsho

    Isiluleko esihle kakhulu, ngokuqinisekileyo ndiza kulandela izahluko zale posi, ndizimisele ukufunda lukhulu kuyo. Enkosi kakhulu ngokuthatha ixesha lakho usifundisa. Inkcukacha enye malunga noku, kufanele kuqatshelwe ukuba iLinus Torvalds ayisiyiyo nayiphi na inkqubo yokusebenza, wayila iKernel yenkqubo ye-GNU / Linux (leyo isetyenzisiwe kwenye i-OS), eselungeleleneyo, kodwa kubalulekile ukunika uRichard Stallman ikhredithi eyimfuneko yokudala uninzi lwe-OS.

    Enkosi kakhulu ngokufaka kwaye ndiyathemba ukuba uyakujonga ukubonwa kwam.

  31.   UJulian Reyes Escrigas sitsho

    Kudala ndixakana nomxholo okwexeshana, ndaba nomdla kwakamsinya nje ukuba ndifunde umxholo. kodwa umyalezo uyaqhubeka nokufumana

    Impazamo: akukho ntloko ye-multiboot ifunyenwe.
    Impazamo kufuneka ulayishe ikernel kuqala

    Ndikhuphele into endiyisa kuyo repo kwi-github https://github.com/rkmax/GenyOS

    1.    UMartin Villalba sitsho

      Kwenzeka into efanayo kum. Ngaba usifumene isisombululo?

  32.   Carlos sitsho

    Umbuzo ndiqalisile ukwazisa is syntax kunye nelayini yokutya yokutya indixelela commandnot found who could tell me why
    yile ndiyenzayo

    UMNYAMA @ BLACK-pc: ~ / blackroot $ menuentry «NextDivel» {
    uluhlu lwezinto: umyalelo awufunyenwanga

    1.    AdrianArroyoStreet sitsho

      Umxholo walo mxholo awuzukungeniswa kwilayini yomyalelo, kodwa kwifayile oyenzayo ebizwa ngokuba yi-grub.cfg

  33.   UNodetino sitsho

    Inqaku elihle, enkosi!

  34.   david sitsho

    Umtsalane… !! ifana nekhonkco elilahlekileyo.

  35.   r.garciag sitsho

    Ndiyazithanda ii-Tutorials ze-LInus Torvalds ezikhuthazayo, kodwa linyathelo elinye endingaliqondiyo, oku kulandelayo:
    Ngoku sikopa START.ELF ukuya / ngokulandelayo ngaphakathi kwifolda yethu efanisa ingcambu yenkqubo yethu yokusebenza. Siya kwifolda yengcambu yenkqubo yethu entsha yokusebenza kunye nekhonsoli kwaye siqinisekise ukuba kukho iifayile ezimbini: enye / boot / grub / grub.cfg kunye nenye / elandelayo / START.ELF.

    Siya kulawulo oluphezulu kwaye sibize isixhobo sokudala se-ISO ngeGRUB ebizwa ngokuba yigrub-mkrescue

    Ngaba umntu unokundicacisela: p

    1.    AdrianArroyoStreet sitsho

      Ngokulula ukuvelisa ubuncinci be-ISO enokulayishwa yi-GRUB sikopa ikernel (kwi-ISO, nakweyiphi na ifolda) /next/START.ELF kunye nefayile yoqwalaselo yeGRUB (kwi / ye-ISO, nakweyiphi na ifolda) / boot / grub / grub.cfg. Nje ukuba kwenziwe oko asikayifaki i-GRUB kwi-ISO kwaye kukho into esebenzayo eyenza i-ISO kwifolda kwaye ifake i-GRUB ebizwa ngokuba yi-grub-mkrescue. Emva koko siya kuthi ekugqibeleni sigqibe nge-bootable ye-ISO efake i-GRUB, enokufunda ubumbeko ukuze kamva yenze i-START.ELF ngokufanelekileyo. Andazi ukuba ndizichazile na, kodwa into esiyenzayo luhlobo lwefayile engeyiyo esenza ngayo i-ISO.

  36.   miguel jose guevara ingqalelo sitsho

    Kakhulu

  37.   UMichael Moreno sitsho

    Ewe, jonga inkqubo entsha hayi kangako kodwa ukuba uphucula i-linux umzekelo ngokwenza i-linux exonucleus enecandelo leseva elisebenza njenge-micronucleus ukuba inqweneleka, oko kukuthi, ulwakhiwo lwe-exo olunokuziphatha kwe-micronucleus okuya kuba kuhle kunye ne-linux.

    Enye into kukuba andiyongcali yenkqubo, nje ezimbalwa i-cheesy c ++ kunye ne-java ethile, kunokwanela ukuba ndinike inkqubo ye-linux kernel imodyuli, ukuyigungxula, ukuyiguqula njl.

  38.   UbusikaSoldier53 sitsho

    Ngaphandle kwamathandabuzo sele ndiyenzile ekhefini.

  39.   UFermin sitsho

    Le ilungileyo kwaye yeyiphi inkqubo eyila kunye nekhowudi?
    ndicela undinike impendulo

  40.   Ubumnyama sitsho

    Xa udibanisa kwi-git yakho ndifumana:

    [jmponce @ jar ukwakha] $ cmake ..
    -Ukudala isikhombisi se-NextRoot
    -Ukuvelisa iskripthi se-ISO
    yenza DESTDIR = ngokulandelayo faka
    ./iso.sh
    -Ufumene i-Doxygen: / usr / bin / doxygen (uguqulelo olufunyenweyo "1.8.9")
    -Ukuqwalaselwa kwenziwe
    Ukuvelisa kwenziwe
    -Iifayile zokwakha zibhalelwe oku: / ekhaya / jmponce / next-divel / build
    [jmponce @ jar ukwakha] $ yenza
    Ukuskena ukuxhomekeka kokujolise kuko START.ELF
    [7%] Ukwakha into ye-ASM-ATT src / CMakeFiles / START.ELF.dir / start / boot.asm.o
    [14%] Ukwakha into yeCXX src / CMakeFiles / START.ELF.dir / start / NextShellLite.cpp.o
    [21%] Ukwakha into yeCXX src / CMakeFiles / START.ELF.dir / start / ND_Screen.cpp.o
    [28%] Ukwakha into yeCXX src / CMakeFiles / START.ELF.dir / start / NextKernel_Main.cpp.o
    [35%] Ukwakha into yeCXX src / CMakeFiles / START.ELF.dir / start / ND_Panic.cpp.o
    [42%] Ukwakha into yeCXX src / CMakeFiles / START.ELF.dir / start / ND_Timer.cpp.o
    [50%] Ukwakha into yeCXX src / CMakeFiles / START.ELF.dir / start / ND_Memory.cpp.o
    [57%] Ukwakha into yeCXX src / CMakeFiles / START.ELF.dir / start / ND_Ports.cpp.o
    [64%] Ukwakha into yeCXX src / CMakeFiles / START.ELF.dir / start / ND_GDT.cpp.o
    [71%] Ukwakha into yeCXX src / CMakeFiles / START.ELF.dir / start / ND_ISR.cpp.o
    [78%] Ukwakha into yeCXX src / CMakeFiles / START.ELF.dir / start / ND_String.cpp.o
    [85%] Ukwakha into yeCXX src / CMakeFiles / START.ELF.dir / start / ND_IRQ.cpp.o
    [92%] Ukwakha into yeCXX src / CMakeFiles / START.ELF.dir / start / ND_IDT.cpp.o
    [100%] Ukwakha into yeCXX src / CMakeFiles / START.ELF.dir / start / ND_Keyboard.cpp.o
    Ukuqhagamshela i-CXX ephunyeziweyo START.ELF
    / usr / bin / ld: Akuhambelani / usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/libgcc.a yeqiwe ngelixa ujonge -lgcc
    / usr / bin / ld: ayinakufumana -lgcc
    collect2: Impazamo: ld ubuyise imeko yokuphuma 1
    src / CMakeFiles / START.ELF.dir / build.make: 402: Imiyalelo engaphumelelanga yithagethi 'src / START.ELF'
    yenza [2]: *** [src / START.ELF] Impazamo 1
    CMakeFiles / Makefile2: 106: Imiyalelo engaphumelelanga yokujolisa 'src / CMakeFiles / START.ELF.dir / all'
    yenza [1]: *** [src / CMakeFiles / START.ELF.dir / all] Impazamo 2
    Ifayile: 117: Ukusilela kwemiyalelo yokujolisa kuko 'konke'
    yenza: *** [konke] Impazamo 2

    1.    AdrianArroyoStreet sitsho

      Impazamo ibonakala ngathi ayinakufumana llibgcc kuba unenguqulo engama-64-bit kwaye okwangoku inkqubo yokwakha inyanzelekile ukuba isebenzise i-32-bit. Kuya kufuneka ufake ipakethi yokuhambelana kwi-distro yakho okanye bhetele, sebenzisa inkqubo ye-32-bit.

      1.    URonaldo Rodriguez sitsho

        Ndine-32 bits kwaye kwavela impazamo efanayo, ngaba uthetha ukuba inkqubo yokusebenza okanye uyilo? yeyam i-64 Bit, kodwa ndisebenzisa i-32 bit Ubuntu, sukubuza, iingxaki zemali, ngaloo nto ndiyithetha yonke.

  41.   Jorge sitsho

    Isihloko esihle kakhulu, silinde indawo enkulu. Masinwabe

  42.   Jhon sitsho

    Mkhulu ndiyathemba ngaphezulu

  43.   Soid perez sitsho

    Molo, ndililungu eliselula elifuna ukwenza inkqubo yokusebenza exhasa zonke iinkqubo kunye namaqonga ukuze abaphuhlisi kungafuneki babe noomatshini abanamandla okanye usetyenziso okanye iinkqubo kwi-pc.
    Kungenxa yoko le nto ndinomdla kule post kodwa xa ndikhuphela i-git yakho okanye ndizama ukuyenza, yonke into isebenza ndide ndiphumeze lo myalelo ./iso.sh okanye grub-mkrescue -o nextdivel.iso nextroot ufumana lempazamo.

    Msgstr "Igrub-mkrescue: isilumkiso: IXorriso yakho ayixhasi" - grub2-boot-info ". Ezinye izinto zikhubaziwe. Sebenzisa xorriso 1.2.9 okanye kamva ..
    grub-mkrescue: isilumkiso: I-xorriso yakho ayixhasi "-grub2-boot-info". Umfanekiso wekernel wakho mkhulu kakhulu. Idisk yokukhubazeka ikhubaziwe. Sebenzisa xorriso 1.2.9 okanye kamva .. »
    Andinalwazi kwaphela kuba ndiyazi kakhulu malunga nokusetyenziswa kunye neewebhu kodwa andazi kwanto malunga negrub

    1.    AdrianArroyoStreet sitsho

      Kuya kufuneka uhlaziye inkqubo yeXorriso kwi-distro yakho. Yeyiphi i-distro kunye nohlobo olusebenzisayo?

      1.    Soid perez sitsho

        Ndisebenzisa i-xubuntu 14.04lts kwaye ndizama ukuqhuba i-xorriso kodwa iqokobhe lindixelela ukuba aliyifumani kwaye ndiza kufumana i-xorriso ngokufanelekileyo nangona bendilindele ngokunyanisekileyo impendulo kuba ndinamava amabi okufaka izinto endingazaziyo kwi-linux hehe . Ndizakuyihlaziya ngoku kwaye ndikuxelele okwenzekileyo

      2.    AdrianArroyoStreet sitsho

        Emva koko fakela i-xorriso kwiziko lesoftware okanye ngokusuka nje kwisiphelo sendlela "sudo apt-get install xorriso"

      3.    Soid perez sitsho

        Sele ndiyenzile yonke into ondixelele yona kunye zombini kunye neyam ndifumana le xorriso 1.3.2: RockRidge fileystem manipulator, libburnia projekthi.

        Ukuqhuba okwangoku: -outdev 'stdio: nextdivel.iso'
        Imithombo yeendaba ngoku: ifayile ye-stdio, ebhalwe ngaphezulu
        Imeko yemidiya: ayinanto
        Isishwankathelo seendaba: Iiseshini ezi-0, iibhloko zedatha ezi-0, idatha ezi-0, isimahla ngo-1901m
        Yongezwe kumfanekiso we-ISO: ulawulo '/'='/tmp/grub.OEqSzV'
        xorriso: UPHANDO: Iifayile ezingama-546 zongezwe kwimizuzwana eyi-1
        xorriso: UKUQINISEKA: Ayikwazi ukumisela amanqaku efayile yomthombo '/ media / gaia / Jupiter1 / ShellSystem / nextroot / nextroot': Akukho fayile okanye ulawulo
        xorriso: UPHANDO: Iifayile ezingama-546 zongezwe kwimizuzwana eyi-1
        xorriso: ukurhola: -abort_on 'FAILURE' yafumana 'UKUSILELA'
        kunye ne-corduroy Andiqondi ukuba ubume bam ngu / /

      4.    Soid perez sitsho

        Enkosi, ndikulungele ukuqhubela phambili, umhlobo undincedile wandixelela into endiyenzileyo engalunganga ngumbutho wesikhombisi, ndiye ndayisombulula kwaye kunjalo

      5.    erik sitsho

        Uxolo, ungandixelela ukuba yeyiphi inkqubo oyenzileyo ukusukela ukuba andifumani mpazamo kwibhotile: akukho fayile okanye umkhombandlela

        akukho sixhobo siqalekisayo.

  44.   jose sitsho

    Masinwabe! Ndizokucela ubabalo ukuba ungandithumelela i-imeyile ngale nto uyicacisa apha, ndiye ndabhideka kwaye ndifuna ukuthelekisa endinako nento oyicacisayo, mhlawumbi into engacacanga kum yile yokuba uyilo lwegrub. enkosi kakhulu mfondini!

    1.    AdrianArroyoStreet sitsho

      Uyila ifayile grub.cfg ngawo nawuphi na umhleli wokubhaliweyo kwaye kufuneka uyigcine kwi- PROJECT_FOLDER / boot / grub / grub.cfg

  45.   Jhuazano sitsho

    Molo Adrian, okokuqala, ndiyavuyisana nawe kwaye ndiyabulela ngegalelo lakho.

    Uyazi ukuba ndiyenza le nto kwaye ndiqale ukuyibeka ngokulandela ukufundisa kwakho, nangona kunjalo emva kokuqala ndiyifumene impazamo yokuqala

    $ njenge -o kernel.o -c kernel.asm
    bash: as: command not found ...
    Imiyalelo efanayo yile:
    'sa'
    'ac'

    Ndisebenza kwi-fedora 20, kwaye andifumani sisombululo kule meko, ndingavuya isikhokelo sakho malunga nokuba ndingatshintsha into kwi-gcc okanye kwigesi

    kwangaphambili ukubulela

    1.    AdrianArroyoStreet sitsho

      Kuya kufuneka ufake i-GAS ukuze ndibone ikhowudi yempazamo. Andinayo iFedora ecaleni kodwa ithiyori ukuba uyenza ukufaka i-gcc-c ++ uya kuyifaka yonke i-GCC suite kunye ne-GNU Njengesiqhelo iza nayo.

  46.   UGaston Ramirez sitsho

    Ndikunye nawe, ndiyazi into malunga ne-C ++, C # (nangona le yokugqibela ingaloncedo kulo mbandela) into embi kukuba andinamava, andikaze ndiyiphathe ngolwimi lwe-C, upapasho lwakho lukhulu, Andinanto ingako yokuthetha, ukuba ndinexesha ndiyabona. Enkosi.

  47.   UTeresita del jesus nah sanchez sitsho

    Enkosi kakhulu ngoncedo olukhulu….

  48.   jky sitsho

    Ndiyayithanda i-linux sesona sithili sikhona, inyani yeefestile zam yinkunkuma ku a ndiyazi ukuba umenzi we-linux ngumenzi weewindows

  49.   Ukuhamba sitsho

    Molo ndifumana Impazamo kwi-grub utsho
    Impazamo: ifayile / elandelayo / START.ELF ayifumaneki
    Impazamo: Kuya kufuneka ulayishe ikernel kuqala

    Ungandinceda undigocagoce kodwa andifumani

  50.   U-Enrique Avila sitsho

    Nceda, ndingawenza njani ubonise umyalezo HLOBO LEHLABATHI? Ndingumqali kwaye andazi okwaneleyo

  51.   ICARLOS GUERRERO ALVAREZ sitsho

    Oku kulandelayo kuyenzeka kum:
    I-gcc -o START.ELF kernel.o I-NextKernel_Main.o -Tlink.ld -nostdlib -fPIC -ukubeka indawo -lgcc
    / usr / bin / ld: kernel.o: ukufuduswa kwe-R_X86_64_32 ngokuchasene nesimboli `isitaki 'ayinakusetyenziswa xa usenza into ye-PIE; Buyisela kwakhona -fPIE
    / usr / bin / ld: ikhonkco lokugqibela aliphumelelanga: icandelo elingenakubonakaliswa kwimveliso
    collect2: Impazamo: ld ibuyise inqanaba elinye lokuphuma