Kudayasho Linus Torvalds: Ka abuur xoqidaada nidaamkaaga qalliinka (I)

Marka hore, ka faallo inaad kani yahay maqaalkeygii ugu horreeyey waxaanan rajaynayaa inaad dhammaantiin jeceshihiin.

Linus Torvals oo faraxsan

Taxanahan waxaan ku dayanaynaa Linus Torvalds, Waxaan ka abuureynaa nidaamkayaga qalliinka laga bilaabo 0. Qeybtan koowaad waxaan arki doonnaa bootka waxaanna shaashadda ku dhejin doonnaa kernelkeena.

Xaaladdayda habka hawlgalka waxaa loo yaqaan Dood. Go'aanka ugu horreeya ee ay tahay inaan qaadanno isla marka aan tixgelinno nidaamka qalliinka waa maxay bootloader-ka uu noqonayaa?

Halkan waxaa jira noocyo badan, oo xitaa waxaan abuuri karnaa nafteena; si kastaba ha ahaatee casharkaan waxaan u isticmaali doonaa GRUB, maxaa yeelay badankood wax badan bay ka yaqaanaan wax isaga ku saabsan. Waxaan abuureynaa fayl gundhig u noqon doona nidaamkayaga qalliinka halkaasna waxaan ku abuureynaa / boot / grub folder

mkdir nextroot && cd nextroot

mkdir -p boot/grub

Halkaas waxaan ku abuureynaa faylka grub.cfg sida soo socota:

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

Faylkan waxaan ku aragnay sida GRUB wuxuu buuxin doonaa kernkeena, kiiskan, gudaha / / Next / START.ELF. Hadda waa inaan abuurnaa jirkeena.

Tan awgeed waxaan u baahan doonaa GCC y GAS (isku-dubaridaha mashruuca) GNU, badanaa wuxuu la yimaadaa gcc). Marka waxaan abuureynaa firida.

Waxaan marka hore sameynaa feyl la yiraahdo kernel.asm. Faylkani wuxuu ka koobnaan doonaa barta bilowga ah ee kernelkeenna sidoo kale wuxuu qeexi doonaa isbadalka badan (waa muuqaal ka mid ah bootloaders-ka qaarkood sida GRUB). Waxyaabaha ku jira kernel.asm waxay noqon doonaan:

.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

Wax kasta oo la xiriira multiboot si fudud ayaa loola socdaa qeexida wax intaa ka badan. Wax walba waxay ku bilaaban doonaan bilowga, waxay u yeeri doonaan multiboot_entry, waxaan ku qeexi doonnaa cinwaanka multibootka 4k ugu horeeya waana dhigi doonaa (movl).

Goor dambe ayaan u yeernaa NextKernel_Main oo ah shaqadeena kernel C. Wareegtada waxaan ku joogsaneynaa joojinta kumbuyuutarka. Tani waxay soo uruurineysaa:

as -o kernel.o -c kernel.asm

Hadda waxaan galaynaa barnaamijyada C. Waxaad u malayn doontaa in hadda wax waliba yihiin xabbad keega ah, waxaan dhignay a printf en ugu weyn ee waana intaas, waanu qabanay.

Waa hagaag maya, tan iyo printf y ugu weyn ee waa hawlo lagu qeexay nidaamka hawlgalka, laakiin waanu abuureynaa! Waxaan kaliya isticmaali karnaa howlaha aan qeexno nafteena.

Cutubyada dambe waxaan ka hadli doonaa sida loo dhigo maktabaddeenna C (glibc, bionic, newlibc) laakiin waqti ka waqti. Waxaan kawada hadalnay inaan dooneyno inaan qoraal ku dhigno shaashadda, si fiican waan arki doonaa sida aan u sameyno.

Waxaa jira laba ikhtiyaar, mid waa inaad wacdo BIOS mid kalena waa in si toos ah loo maareeyo xusuusta shaashadda. Waxaan sameyn doonnaa tan dambe maxaa yeelay way ka cadahay C sidoo kale waxay noo ogolaaneysaa inaan sameyno markaan soo galno qaab ilaalin ah.

Waxaan abuureynaa fayl la yiraahdo NextKernel_Main.c oo leh waxyaabaha soo socda:

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;
}

Tan waxaan si toos ah ugu shaqeynaa xusuusta VGA iyo dabeecad ahaan dabeecad ahaan waxaan u qoreynaa. Waxaan ku soo uruurineynaa curyaaminta stdlib:
gcc -o NextKernel_Main.o -c NextKernel_Main.c -nostdlib -fPIC -ffreestanding

Haddii aad tan ka dhigtay, waxaad u baahan doontaa inaad tijaabiso nidaamkaaga cusub ee hawlgalka hadda, laakiin weli maanaan dhamaysan. Waxaan u baahanahay feyl yar oo u sheegaya isku-duwaha meesha feylalka looga tagayo qayb kasta. Tan waxaa lagu sameeyaa qoraalka xiriiriye. Waxaan abuureynaa link.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 = .;
}

Tan waxaan ku qeexeynaa booska qayb kasta iyo barta laga soo galo, bilow, ee aan ku qeexnay kernel.asm. Hadda waxaan mideyn karnaa dhammaan iskudhafkan:

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

Hadda waxaan ka soo guurineynaa START.ELF illaa / ku xiga gudaha galkayaga oo isku ekaysanaya xididka nidaamkayaga hawlgalka. Waxaan tagnaa galka xididka ee nidaamkayaga cusub ee qalliinka oo aan ku hubinno inay jiraan laba faylal: mid /boot/grub/grub.cfg iyo mid kale /next/START.ELF.

Waxaan aadeynaa galka sare waxaanan ugu yeereynaa utility abuurka ISO oo GRUB la yiraahdo grub-mkrescue

grub-mkrescue -o nextdivel.iso nextroot

Marka aan sidan yeelno waxaan yeelan doonnaa a ISO. ISO-kan waxaa lagu furi karaa kombiyuutarada x86 (64 jajab sidoo kale) iyo mashiinno casri ah. Si aan u tijaabiyo, waan isticmaali doonaa QEMU. Waxaan wacnaa QEMU laga bilaabo khadka taliska:

qemu-system-i386 nextdivel.iso

Bilaabi doonaa SeaBIOS hadhowna waanu yeelan doonnaa GRUB. Goor dambe haddii wax walba sax yihiin waxaan arki doonnaa weedheenna.
Waxaad u maleyn doontaa in tani ay adag tahay, waxaan kuugu jawaabayaa, haa waa.

Runtii abuuritaanka nidaam hawlgal waa adag tahay iyo in kan halkan jooga uusan wax faa'iido ah samaynayn. Cutubyada soo socda waxaan ku arki doonaa sida loo maareeyo midabada shaashadda, keydinta xusuusta iyo haddii aan awoodo, sida xogta looga helo kumbuyuutarka.

Haddii qof uusan rabin inuu koobiyo wax walba halkan, waxaan ku hayaa bakhaar ku yaal GitHub (faahfaahin dheeraad ah) nidaamka hawlgalka Dood. Hadaad rabto inaad uruuriso Dood kaliya waa inaad haysataa git iyo 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

Waxaan kugu dhiirigalinayaa inaad iskaashi la sameyso barnaamijka 'NextDivel' haddii aad waqti hesho oo aad rabto inaad abuurto nidaam hawlgal ah. Waxaa laga yaabaa in xitaa laga sarreeyo Linux ... waqtiga ayaa sheegi doona.


Ka tag faalladaada

cinwaanka email aan la daabacin doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *

*

*

  1. Masuul ka ah xogta: Miguel Ángel Gatón
  2. Ujeedada xogta: Xakamaynta SPAM, maaraynta faallooyinka.
  3. Sharci: Oggolaanshahaaga
  4. Isgaarsiinta xogta: Xogta looma gudbin doono dhinacyada saddexaad marka laga reebo waajibaadka sharciga ah.
  5. Kaydinta xogta: Macluumaadka ay martigelisay Shabakadaha Occentus (EU)
  6. Xuquuqda: Waqti kasta oo aad xadidi karto, soo ceshan karto oo tirtiri karto macluumaadkaaga.

  1.   faahfaahsan dijo

    :O

    1.    marianogaudix dijo

      Torvalds waxay u qaateen nidaamka hawlgalka Minix (oo ka soo jeeda UNIX) Andrew S. Tanenbaum oo ay sii wanaajiyeen.

      Tanenbaum wuxuu dagaal la galay Linus, way is caayeen. Tanenbaum wuxuu leeyahay Microkernel waa mustaqbalka (HURD, Minix cone Microkernel cusub).

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

  2.   Waqti dheer 3000 dijo

    Kani wuxuu ahaa qoraalkii ugu fiicnaa ee aan illaa hadda ku arko balooggan. Waxaan mar hore rabaa inaan ogaado waxa kale ee la sameeyo.

  3.   Carlos Gude dijo

    Layaab

  4.   faas dijo

    Runtii wacdaro !!

  5.   Rhoconlinux dijo

    FUUUUUUA!
    Waa qormadii geekiest ee aan abid arko hehe. Hambalyo Adrián, maqaal dhillo ah! hyper xiiso leh !!! 🙂

    1.    Joaquin dijo

      Waan isku raacsanahay Waxaan qiyaasayaa xaaladdan:
      GNU / Linux Power User (oo leh waji faraxsan):
      "Hore ayaan u aqaanay sida loo ururiyo Gentoo"

      Nerd (oo leh dabeecad quudhsan): «pff, waxaan abuuray distro ii gaar ah ...»

      1.    desikoder dijo

        Haa, waan abuuri karaa lino aniga ii gaar ah. Xaqiiqdii gudaheeda waxaan ku horumarinayaa dhismeyaal iyo xargo loogu talagalay Linux. Maaha isku mid in la abuuro nidaam ka shaqeeya kan Linux distro. Midka hore ayaa aad uga dhib badan, ku dhowaad aan macquul ahayn, tan labaad, sidaad u sheegtay, waxay noqon kartaa wax kasta, xitaa Ubuntu oo leh astaanta beddeshay xD Marka waxaan uga tagi lahaa sidan:

        GNU / Linux Power User (weji faraxsan)
        - Hore ayaan u aqaanay sida loo ururiyo barnaamijkayga 'Gentoo'

        Semi Nerd
        - Pff, waxaan ka raacay layli xoqid ah waxaanan sameeyay diro aniga ii gaar ah

        Nerd (oo leh dabeecad quudhsan)
        - pff, maxaa yeelay waxaan ka sameeyay baruur kulmiyaha iyo C

        Waad ku mahadsan tahay!

  6.   chronos dijo

    Tani waa mid xiiso ii leh, inta aan ka sugayo cutubyada soo socda.

  7.   abimaelmartell dijo

    Waxaan arkay casharradan wakhti hore, waxaa loogu talagalay C ++
    https://github.com/SamyPesse/How-to-Make-a-Computer-Operating-System

    1.    AdrianArroyoStreet dijo

      Waad ku mahadsantahay iskuxirka, waan eegi doonaa.

  8.   Jose Jácome dijo

    Waxaan jeclaan lahaa Nidaam Operating 100% la jaan qaada sawirada AMD: /

    1.    ivanlinux dijo

      Windows

      1.    Jose Jácome dijo

        hahaha kumbuyuutarka Windows ma haysto taageerada OpenGL, inkasta oo Linux aan ku isticmaali karin dhammaan awoodda garaafka waan sugi doonaa si aan u arko waxa dhacaya!

        1.    nacaybtire dijo

          kaliya sug waalka si aad u tirtirto suuqa

  9.   KZKG ^ Gaara dijo

    Sixir ah, kaamil ah, wax ku biirin aad u fiican, waxay umuuqataa taxaneyaal taxane ah posts

  10.   O_Pixote_O dijo

    Buah Waxaan jeclaan lahaa inaan ogaado sida loo sameeyo barnaamij si aan kuu caawiyo, si fudud oo ah habka ugu dhaqanka barashada aqoonta aad baraneyso oo aad caawineyso mid. Hada waxaan kuu daayay halkudhig si aad dareenka ugu soo jeediso mashruuca markaad dhameyso "Isticmaal NextDivel, luuqadu waxay u egtahay mid isku mid ah (ama ka fiican).", Waad xaaqi doontaa xD

  11.   magacan dijo

    Mooooooolaaa !!!!

  12.   nordi dijo

    Maqaal aad u wanaagsan, laakiin kaliya xiiso leh maxaad u raaci weyday mashruuca Linux From Scratch?

    Salaan

    1.    AdrianArroyoStreet dijo

      Hagaag, Linux ka Scratch waa fiicantahay, waadna sheegi kartaa inay taada tahay, laakiin runti waa farsamo badan:
      -Download farriimaha
      -Badh iyaga
      -Usoo uruuri
      -Ku rakib
      -Soo raaca
      Halkan, inkasta oo natiijadu ka sii dartay dhamaadka, waxaad dhihi kartaa inaad dib u eegis ku sameysay dhammaan faylasha.

    2.    desikoder dijo

      Sida ku cad faalladayda hore, sababtoo ah ma laha heer isku mid ah kakanaanta. Intaa waxaa sii dheer, Linux-ka laga soo bilaabo xoqida runti ma ahan, mid lid ku ah magaceeda, abuurista nidaam laga bilaabo xoqidda. Abuuritaanka nidaam laga soo bilaabo xoqidda ayaa adiga laftaada u ah barnaamij, adiga oo qoraya kernel-kaaga, oo aan ahayn kernel-ka Linux, haddii ay suurta gal tahay xitaa bootloader kaaga halkii aad ka xoqi lahayd lilo, syslinux, iwm. In kasta oo LFS aysan aheyn waxqabad yar oo aad u adag, hadana xitaa kuma dhowaato barnaamijka baruurtaada ...

      Intaas waxaa sii dheer, waxaan ku raacsanahay AdrianArroyo Calle inay farsamo aad u wanaagsan tahay, waan aqriyay mararka qaar waxaadna kudhamaaneysaa inaad ka quusato bogga lixaad, waxay sidoo kale kuu sheegayaan inaad isticmaasho noocyada baakadaha maxaa yeelay haddii kale tilmaamaha ma shaqeyn doonaan (taasi waxay muujineysaa yaraanta dabacsanaanta) , Fikradeyda ). Waxaan u maleynayaa inay kafiican tahay inaad haysato wax fikradaada ah, isku duba rido baakadaha aad rabto, xitaa barnaamijka qaar, soo uruuri kernel Linux ah oo nabad ah.

      Waad ku mahadsan tahay!

  13.   cookie dijo

    uuuoooohh !! Weligay kamaan qaban boosto sida tan oo kale qabtay.
    Fadlan sii wad 😀

  14.   linux_user dijo

    Ma aqaan waxa qaldan:

    baadi: lama helin cinwaano badan oo madax ah.
    qalad waxaad u baahan tahay inaad marka hore soo rido kernel

    1.    AdrianArroyoStreet dijo

      Haddii ay tahay wax qalbi qaboojin ah, waxaan sameeyay isla qaladkii. Isku day inaad isticmaasho ilaha ku jira GitHub, halkaa qaladkii horay ayaa loo xaliyay. Sikastaba waxaan u maleynayaa hadaad bedesho qadka ku yaal grub.cfg laga soo bilaabo "multiboot /next/START.ELF" ilaa "kernel /next/START.ELF" way shaqeyn kartaa. Si sax ah uma garanayo.

      1.    mcbanana dijo

        Marka horeba, soo gal aad u wanaagsan 🙂
        Dhibaato isku mid ah ayaa iga haysata inaan ka soo raro burooyinka 'grub'. Xitaa adoo adeegsanaya ilaha GitHub ama u beddelaya multiboot for kernel ...

        baadi: lama helin cinwaano badan oo madax ah.
        cilad: malax la saaray

        1.    AdrianArroyoStreet dijo

          Miyaad u adeegsaneysaa clang isku soo duub? U beddel gcc
          Ma xasuusatay inaad isticmaashay qoraalka isku xiraha? Waxaa lagama maarmaan u ah isku xiraha (ld kiiskeenna) inuu ogaado meesha feylka ay ku ridaneyso shay kasta. Xaaladdan oo kale cinwaanka madax-weynaha badan waa inuu ahaadaa bilowga.
          Ma isticmaaleysaa nidaamka CMake? Haddii aad isticmaasho waxaan u maleynayaa inaysan fashilmin.
          Haddii ay kuu cuntami weydo, waxaan isku dayi doonaa inaan xal kale raadiyo.

  15.   kurt dijo

    [+ 100]
    Just weyn !!!

  16.   aan la arki karin15 dijo

    Runtii waa qabow 🙂

  17.   tanrax dijo

    Koofiyaddii waan iska siibay. Post cajiib ah. Hambalyo.

  18.   lab dijo

    waa yaab!
    Way fiicnaan laheyd in la furo codsiyada laga sameeyay HTML5 iyo Javascript iyadoon loo isticmaalin biraawsar, taasi macquul ma tahay?
    Waxaan ka hadlayaa inay la mid yihiin codsiyada waddaniga ah.
    Marka way fududaan lahayd in barnaamij loogu sameeyo nidaamkan qalliinka 😀

    1.    AdrianArroyoStreet dijo

      Xaaladdan oo kale anigu samayn maayo maxaa yeelay waxay qaadataa shaqooyin badan oo ka dambeeya laakiin waxaa jira nidaam hawlgal oo la yiraahdo "waa" kaas oo sameeya waxaad leedahay Xaqiiqdii qadka amarku waa JavaScript daaqadahana waxaa lagu sawiray iyadoo la adeegsanayo howlaha Canvas JavaScript. Injineerada Nintendo ayaa sameeyay hadana waa isha furan.

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

      1.    lab dijo

        Valla, waad ku mahadsan tahay faahfaahinta 😀
        Waan eegi doonaa

  19.   patodx dijo

    Qof kasta oo samayn kara OS-kiisa gaarka ah wuxuu u dhiman karaa si nabad ah, maadaama heerka aqooneed ee uu leeyahay inuu ku gaaro; Waxay kaa dhigeysaa inaad ku bixiso janno ama cadaab.
    Qeyb dhajinta ah

    1.    Miguel dijo

      ilaa iyo hadda cidna lama oga in ay sameysay kaliya wax la dhihi karo waa nidaam hawlgal hufan oo laga sameeyay xoqan, xitaa Linux Torvalds sida aad ku sheegtay bilowga, maaddaama tan ay ka bilaabatay ilo-wareedka Unix iyo wax kasta oo kale waxaa loo qoraa inay wadaagaan waxyaabo badan In ka badan hal qof, noloshu waa mid aad u gaaban oo laga soo bilaabo xoqida waa wax aan qofna ku fikiri karin, xitaa haddii cagsigeeda la doonayo, waa wax lagu muujiyo khaladaad badan oo laga sameeyay xagga koobiyeynta iyo dhajinta Linux Torvalds

      1.    skarmiglione dijo

        Ilaha unix waa la xiray, isticmaalka minix ... oo ah wax kale.

      2.    Felipe Robina dijo

        iyo kuwa QDOS ka dhigay maxaa sameeyay?
        wax ku saleysnaa?

  20.   Tesla dijo

    Tan aan ka arko, ee aan haysan nidaam hawleedkooda u gaar ah waa sababta oo ah ma doonayaan, hahahaha.

    Hadda si dhab ah, aad u xiiso badan! Inbadan ayaa ka baxsan aqoontayda barnaamij ee kooban, laakiin waxaan si taxaddar leh u aqrin doonaa qaybaha kale ee taxanahan.

    Waad ku mahadsan tahay boostada!

  21.   Manuel R. dijo

    Waxaad iiga tagtay weji O_O ah ... adigoon ujeedo ka lahayn inaad dhayalsato tabarucaadka qof walba, waa "pro" kii ugu dambeeyay ee aan arko dhawaanahan. Salaan.

  22.   xayoo_cz dijo

    Maqaal aad u wanaagsan, Adrián. Fadlan sii wad…

  23.   mj dijo

    Ma kaftameysaa maalinta nacasnimada ee Abril? Uma maleynayo inay ku adag tahay kuwa raadinaya xirfad machad farsamo ama jaamacadeed; laakiin aniga ahaan waxaan ahay qaansoole laylis ah (waxaa jira kuwa dhaha "Noob" laakiin waxaan u arkaa nafsad ahaanteyda inbadan oo Newbie xoogaa caajis ah) taasi waxay u egtahay ineysan dhulka ku talaabsan. Sikastaba QORAALKAN WUXUU SAMEEYAA LACAG LA'AAN BADAN OO AAN SHAQO LOO HELI LAHAYN OO AAN IXTIRAAMIN TAHRIIRKA, HAMBALYO; Waxa ugu horreeya ee aan sameyn doono waa inaan isku dayo inaan fahmo ugu yaraan wax yar oo ka mid ah qalabkan qiimaha leh.
    MAHADSANID Adrian Arroyo Calle, shaqo heer sare ah iyo gaarsiin aqoon leh oo sharaf leh.

  24.   Blaire pascal dijo

    LEL Qoraal aad u fiican, sii wad.

  25.   f3niX dijo

    Waa maxay qoraal weyn, tani waa waxa aan seegay desde linux. Cajiib.

  26.   Ruby dijo

    Farriin weyn, aad baad u mahadsan tahay.
    Waan fahmi waayey waxa feylka link.ld sameeyo, qof ma ii sharixi karaa?

    1.    AdrianArroyoStreet dijo

      Faylka link.ld wuxuu u sheegayaa isku xiraha (kiiskan ld) halka qayb kasta oo koodhku ka mid yahay ay ku taalo faylka keena. Waxaan sidoo kale qeexeynaa meesha laga soo galo maadaama maadaama aanu lahayn nidaam hawlgal ah u isticmaali karin guud ahaan barnaamij caadi ah, kiiskan waxaan ku xulannaa hawsha bilowga.

  27.   Maxi dijo

    Wanaagsan dhammaan qoraalkaaga! Sugaya 7da! Kawaran haddii aan shaki qabo, tusaale ahaan, haddii aan kaliya doonayo inaan ordo algorithm, OS la'aanteed, sidee ku ogaanayaa waxa aan isticmaali karo iyo waxa aan C ahayn?

    1.    AdrianArroyoStreet dijo

      Haddii aad sidan u isticmaasho, ma awoodi doontid inaad wax ka isticmaashid stdlib, taas oo ficil ahaan ah waxa qof walba u adeegsado (malloc, free, printf, scanf, strcmp, iwm). Wax walba waa in si toos ah looga hirgeliyaa xusuusta ama ASM. Waxaa laga yaabaa in cutub ka sareeya aan ku tusi doono sida loo rakibo maktabada C nidaamka qalliinka. Haddii aad isticmaasho C ++ ma isticmaali kartid waxyaabo ka reeban iyo kuwa cusub oo tirtiri kara hawl wadeyaasha (iyo sida xaqiiqada ah in ka badan).

    2.    Ka sii badanaya dijo

      Waxaan qabaa tan waxay kaa siin kartaa fikrad fiican sida loo sameeyo.

  28.   Esteban dijo

    Waad salaaman tahay, qiyaastii 5 sano kahor waxaan raacay qoraal lamid ah waxaanan soosaaray microkernel oo si isku mid ah kubilaabmaya, wuxuu leeyahay qaybo si loo wanaajiyo, laakiin waa laga yaabaa inuu ku xiiseeyo, wuxuu ku socdaa qaab ilaalin ah, wuxuu fuliyaa hawlo badan wuxuuna sameeyaa xasuusta, dhawaanahan waan shaqeeyay wadaha diskiga iyo cd-ga si aad uga dhigto mid la rakibi karo oo aan kaliya ku socon karin cd-ga tooska ah ... Salaan kadib.

  29.   Johan dijo

    Gacaliye, waxaan leeyahay qalad markaan fulinayo amarka:
    gcc -o START.ELF kernel.o NextKernel_Main.o -Tlink.ld -nostdlib -fPIC -frereandanding -lgcc

    link.ld: 5 qalad syntax ah
    ururi2: khalad: ld soo celiyey 1 xaalad bixitaan

    isku xidhka.ld
    . = 0x00100000;
    .multiboot_header: {
    * (. multiboot_header)
    }

    Safka 5aad uma arko qaladka, qof ma isku midbaa?

    Waxaan la shaqeynayaa qoob-ka-ciyaarka maskaxda ee debian-ka ee Virtualbox

    1.    Julian Reyes Escrigas sawir-bixiye dijo

      kudar ";" dhamaadka * (. multiboot_header)

  30.   Eric Orellana Romero dijo

    Dadaal aad u fiican, waxaan hubaa inaan raaci doono cutubyada qoraalkan, anigoo doonaya inaan waxbadan ka barto. Aad baad ugu mahadsantahay waqtiga aad na siisay inaad wax na barto. Faahfaahin hal ah oo arrintan la xiriirta, waa in la ogaadaa in Linus Torvalds uusan ahayn abuuraha nidaam kasta oo hawlgal ah, wuxuu abuuray Kernel-ka nidaamka GNU / Linux (midka loo adeegsaday OS-ka kale), oo weli mudan, laakiin waa Muhiim in lagu amaano Richard Stallman abuurista inta badan OS-ga.

    Aad baad ugu mahadsantahay soo gudbinta waxaanan rajaynayaa inaad tixgaliso indha indhayntayda.

  31.   Julian Reyes Escrigas sawir-bixiye dijo

    Muddo yar baan isha ku hayey mawduuca, waxaan xiiseeyey isla markii aan akhriyey cinwaanka. laakiin farriintu way sii socotaa

    baadi: lama helin cinwaano badan oo madax ah.
    qalad waxaad u baahan tahay inaad marka hore soo rido kernel

    Waxaan soo galiyay waxa aan u qaato repo github https://github.com/rkmax/GenyOS

    1.    martin Villalba dijo

      Isla waxbaa igu dhaca adigu xal ma heshay?

  32.   Carlos dijo

    su'aal aan bilaabay in aan soo bandhigo qaabka loo yaqaan 'syntax' iyo khadadka menu-ka ayaa ii sheegaya inaan la helin cid ii sheegi karta sababta
    tani waa waxa aan sameeyo

    MADOW @ MADOW-pc: ~ / blackroot $ menuentry «NextDivel» {
    menuentry: amar lama helin

    1.    AdrianArroyoStreet dijo

      Waxyaabaha ku jira maaddadan ma aha in lagu galo laynka taliska, laakiin faylka aad samaysato ee la yiraahdo grub.cfg

  33.   Nodetin dijo

    Maqaal aad u fiican, mahadsanid!

  34.   David dijo

    Cajiib ah… !! waa sida linkiga maqan.

  35.   r.garciag dijo

    Waan jeclahay casharradaada jilitaanka ah ee LInus Torvalds, laakiin waxaa jira hal tallaabo oo aanan fahmin, kuwa soo socda:
    Hadda waxaan ka soo guurineynaa START.ELF illaa / ku xiga gudaha galkayaga oo isku ekaysanaya xididka nidaamkayaga hawlgalka. Waxaan tagnaa galka xididka ee nidaamkayaga cusub ee qalliinka oo aan ku hubinno inay jiraan laba faylal: mid /boot/grub/grub.cfg iyo mid kale /next/START.ELF.

    Waxaan aadeynaa galka sare waxaanan ugu yeereynaa utility abuurka ISO oo leh GRUB loo yaqaan grub-mkrescue

    Qof ma ii sharixi karaa: b

    1.    AdrianArroyoStreet dijo

      Si fudud si loo soo saaro ugu yaraan ISO ee GRUB ku shuban karo ayaan nuqul ka soo saari karnaa (kan / ka mid ah ISO, fayl kasta) /next/START.ELF iyo feylka qaabeynta GRUB illaa (kan / ISO, galka kasta) / boot /grub/grub.cfg. Marka taa la dhammeeyo, wali kumaanaan rakibin GRUB-ga ISO-ga waxaana jira utility ka soo saara ISO galka oo ku rakibaya GRUB loo yaqaan grub-mkrescue. Markaa ugu dambayntii waxaan ku dhamaan doonnaa ISO bootable ah oo GRUB lagu rakibay, kaas oo akhrin kara qaabeynta si hadhow loogu fuliyo START.ELF si sax ah. Ma aqaano haddii aan sharraxay naftayda, laakiin waxa aan qabano waa nooc ka mid ah nidaamka faylka beenta ah ee aan ku abuurnay ISO.

  36.   miguel jose guevara dareenka dijo

    Weyn

  37.   Michael Moreno dijo

    Hagaag, runtii fiiri nidaam cusub oo aan sidaa u badnayn laakiin haddii la hagaajiyo Linux tusaale ahaan abuurista linux exonucleus oo leh qayb ka mid ah serverka oo u shaqeysa sida microkernel haddii loo baahdo, taasi waa in la yiraahdo qaab dhismeedka exo oo leh dabeecad micronucleus ah oo noqon laheyd super iyo Linux.

    Tan kale ayaa ah inaanan khabiir ku ahayn barnaamijyada, kaliya inyar oo cheesy c ++ ah iyo xoogaa java ah, way igu filnaan laheyd inaan siiyo barnaamijka kernel-ka ee Linux-ka qayb ka mid ah, xoqitaankiisa, wax ka beddelo iwm.

  38.   Jiilaalkii 53 dijo

    Shaki la'aan waxaan horeyba u lahaa inaan sameeyo fasax.

  39.   Fermin dijo

    Midkan wanaagsan oo barnaamij noocee ah ayuu naqshadeeyaa oo u kodeyaa?
    fadlan jawaabtaas isii

  40.   Maan-madow dijo

    Markaad ka soo ururineyso godkaaga waxaan helayaa:

    [jmponce @ jar dhis] $ cmake ..
    - Abuurista tusaha NextRoot
    - Abuurista qoraalka ISO
    samee DESTDIR = rakib soo socda
    ./iso.sh
    - La helay Doxygen: / usr / bin / doxygen (nooca la helay "1.8.9")
    - Qaybinta ayaa la qabtay
    - Abuuritaan la sameeyay
    - Faylasha dhiska waxaa loo qoray: / guri / jmponce / next-divel / build
    [jmponce @ jar dhis] $ samee
    Tijaabinta ku-tiirsanaanta bartilmaameedka START.ELF
    [7%] Dhisida shayga ASM-ATT src / CMakeFiles / START.ELF.dir / start / boot.asm.o
    [14%] Dhisida CXX shay src / CMakeFiles / START.ELF.dir / bilow / NextShellLite.cpp.o
    [21%] Dhisida CXX shay src / CMakeFiles / START.ELF.dir / bilow / ND_Screen.cpp.o
    [28%] Dhisida CXX shay src / CMakeFiles / START.ELF.dir / bilow / NextKernel_Main.cpp.o
    [35%] Dhisida CXX shay src / CMakeFiles / START.ELF.dir / bilow / ND_Panic.cpp.o
    [42%] Dhisida CXX walax src / CMakeFiles / START.ELF.dir / start / ND_Timer.cpp.o
    [50%] Dhisida CXX walax src / CMakeFiles / START.ELF.dir / bilow / ND_Memory.cpp.o
    [57%] Dhisida CXX shay src / CMakeFiles / START.ELF.dir / bilow / ND_Ports.cpp.o
    [64%] Dhisida sheyga CXX src / CMakeFiles / START.ELF.dir / start / ND_GDT.cpp.o
    [71%] Dhisida CXX walax src / CMakeFiles / START.ELF.dir / start / ND_ISR.cpp.o
    [78%] Dhisida CXX walax src / CMakeFiles / START.ELF.dir / start / ND_String.cpp.o
    [85%] Dhisida CXX walax src / CMakeFiles / START.ELF.dir / start / ND_IRQ.cpp.o
    [92%] Dhisida CXX walax src / CMakeFiles / START.ELF.dir / start / ND_IDT.cpp.o
    [100%] Dhisida CXX shay src / CMakeFiles / START.ELF.dir / bilow / ND_Keyboard.cpp.o
    Isku xidhka CXX fulintiisa START.ELF
    / usr / bin / ld: Lama jaan qaadi karo / usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/libgcc.a waa laga booday iyadoo raadineysa -lgcc
    / usr / bin / ld: ma heli karo -lgcc
    ururi2: khalad: ld soo noqoshada xaaladda bixitaanka 1
    src / CMakeFiles / START.ELF.dir / build.make: 402: Tilmaamaha ku fashilmay bartilmaameedka 'src / START.ELF'
    samee [2]: *** [src / START.ELF] Cilad 1
    CMakeFiles / Makefile2: 106: Tilmaamaha ku fashilmay bartilmaameedka 'src / CMakeFiles / START.ELF.dir / all'
    samee [1]: *** [src / CMakeFiles / START.ELF.dir / dhammaan] Khalad 2
    Sameynta: 117: Ka gaabinta tilmaamaha bartilmaameedka 'dhan'
    samee: *** [dhan] Khalad 2

    1.    AdrianArroyoStreet dijo

      Ciladdu waxay umuuqataa inaysan heli karin llibgcc maadaama aad haysato nooca 64-bit oo hadda nidaamka dhismaha ayaa lagu qasbay inuu isticmaalo 32-bit. Waa inaad ku rakibtaa xirmo iswaafajsan dushaada ama si ka wanaagsan, isticmaal nidaam 32-bit ah.

      1.    Ronaldo Rodríguez dijo

        Waxaan hayaa 32 jajab oo isla qaladkii ayaa soo muuqday, ma waxaad u jeedaa nidaamka qalliinka ama dhismaha? anigaa leh 64 Bit, laakiin waxaan isticmaalayaa 32 bit Ubuntu, ha weydiinin, dhibaatooyinka dhaqaale, intaas ayaan ku dhahayaa.

  41.   Jorge dijo

    Mawduuc aad u fiican, oo sugaya baaxad weyn. Farxad

  42.   Jhon dijo

    Weyn waxaan rajeynayaa inbadan

  43.   Maraqa soid dijo

    Waad salaaman tahay, waxaan ahay safiir dhalinyaro ah oo raba inuu abuuro nidaam hawlgal oo taageera dhamaan barnaamijyada iyo barnaamijyada si aysan horumariyayaashu u haysan mashiinno ama barnaamijyo ama barnaamijyo awood badan kombuyuutarka.
    Taasi waa sababta aan u xiiseynayo qoraalkan laakiin markii aan soo dejiyo qashinkaaga ama aan isku dayo inaan abuuro, wax walba way shaqeeyaan illaa aan ka fulinayo amarka ./iso.sh ama grub-mkrescue -o nextdivel.iso nextroot waxaad heshay qaladkan

    "Grub-mkrescue: digniin: xoriyadaada ma taageerto" –grub2-boot-info ". Astaamaha qaar ayaa naafo noqday Isticmaal xorriso 1.2.9 ama ka dib ..
    grub-mkrescue: digniin: xoriyadaada ma taageerto "–grub2-boot-info". Sawirkaaga yar ayaa aad u weyn. Disk boot waa la damiyay Isticmaal xorriso 1.2.9 ama ka dib .. »
    Runtii wax fikrad ah kama haysto tan iyo markii aan waxbadan ka aqaan barnaamijyada iyo shabakadaha laakiin waxba kama ogi wax ku saabsan xanaaqa

    1.    AdrianArroyoStreet dijo

      Waxaa laga yaabaa inaad u baahan tahay inaad ku cusboonaysiiso barnaamijka xoriyada barnaamijka 'distroor'. Waa maxay nooca 'distro' iyo nooca aad isticmaasho?

      1.    Maraqa soid dijo

        Waxaan isticmaalaa xubuntu 14.04lts waxaanan iskudayaa inaan maamulo xorriso laakiin qolofku wuxuu ii sheegayaa inaanay heli karin waxaanan helayaa apt-get install xorriso in kasta oo aan si daacad ah ufilaayay xoogaa jawaab ah waayo khibrad xun ayaan u lahaa rakibida waxyaabo aanan aqoon oo ku saabsan Linux hehe . Waan cusbooneysiin doonaa hadda waana kuu sheegi doonaa waxa dhacay

      2.    AdrianArroyoStreet dijo

        Ka dib xorriso ka rakibo xarunta softiweerka ama si fudud ka soo qaad qaybta "sudo apt-get install xorriso"

      3.    Maraqa soid dijo

        Horeyba waan usameeyay waxkastoo aad iisheegtay iyo labadaba git iyo tayda waxaan helayaa xorriso 1.3.2: RockRidge filesystem manipulator, libburnia project.

        Kaxee hadda: -outdev 'stdio: nextdivel.iso'
        Xilliga warbaahinta: faylka stdio, waa la qori karaa
        Xaaladda warbaahinta: waa bannaan tahay
        Soo koobida warbaahinta: 0 kal fadhi, 0 xog xayiraad, 0 xog, 1901m bilaash ah
        Lagu daray sawirka ISO: galka '/'='/tmp/grub.OEqSzV'
        xorriso: UPDATE: 546 faylal ayaa lagu daray 1 ilbidhiqsi
        xorriso: FASHIL: Lama go'aamin karo sifooyinka faylka laga soo xigtay '/ media / gaia / Jupiter1 / ShellSystem / nextroot / nextroot': Ma jiro faylkaas ama galkaas
        xorriso: UPDATE: 546 faylal ayaa lagu daray 1 ilbidhiqsi
        xorriso: aborting: -abort_on 'FASHIL' oo la kulmay 'FASHIL'
        Iyo corduroy ma fahmin qaab-dhismeedkaygu waa /nextroot/boot/grub/grub.cfg iyo nextroot / next / START.ELF

      4.    Maraqa soid dijo

        Mahadsanid, waxaan diyaar u ahay inaan horay u socdo, saaxiib ayaa i caawiyay wuxuuna ii sheegay wixii aan khalday inay ahayd abaabulka diiwaanka, markaa waan xaliyay waana intaas.

      5.    Erik dijo

        Iga raali noqo, ma ii sheegi kartaa qaabsocodkii aad samaysay tan iyo markii aan khaladka ku helin wax aan kabaha ku dhajiyo: ma jiro faylkaas ama galkaas

        ma jiro qalab la qaadi karo.

  44.   qabow dijo

    Farxad! Waxaan rabaa inaan ku waydiiyo fadliga haddii aad iisoo diri karto emayl waxa aad halkan ku sharaxayso, xoogaa waan wareeray waxaanan u baahanahay inaan isbarbardhigo waxa aan xambaarsan yahay iyo waxa aad sharaxday, laga yaabee in waxa aan ii cadahay ay tahay abuuritaanka carada. cfg waxaa lagu sameeyaa gcc terminal ama halkee si sax ah? aad baad u mahadsantahay saaxiib!

    1.    AdrianArroyoStreet dijo

      Waxaad ku abuureysaa feylka grub.cfg oo leh tifaftire qoraal kasta waana inaad ku keydisaa PROJECT_FOLDER / boot / grub / grub.cfg

  45.   juuazano dijo

    Hello Adrian, marka hore waan kugu hambalyeynayaa waadna ku mahadsan tahay ka qayb qaadashadaada.

    Waad ogtahay inaan tan ugu sameynayo waxqabad waxaan bilaabay inaan isku soo wada raaco tababarkaaga, si kastaba ha noqotee markii aan bilaabay waxaan helay qaladkii ugu horeeyay

    $ sida -o kernel.o -c kernel.asm
    bash: sida: amar lama helin ...
    Amarada la midka ah waa:
    'sa'
    'ac'

    Waxaan ka shaqeynayaa fedora 20, xalna ugama heli karo arrintan, waan ku qanacsanahay tilmaamahaaga haddii aan wax ka beddelayo gcc ama gaas

    horey u mahadcelineysaa

    1.    AdrianArroyoStreet dijo

      Waa inaad rakibtaa GAS si aan u arko nambarka qaladka. Anigu Fedora kuma haysto laakiin aragti ahaan haddii aad yey rakibto gcc-c ++ waxaad rakibi doontaa dhammaan qaybta GCC iyo GNU Sida caadiga ah ayaa la socota.

  46.   Gaston Ramirez dijo

    Waan kula socdaa, wax baan ka ogahay C ++, C # (in kasta oo kan ugu dambeeya aanu waxtar weyn u lahayn arrintan) waxa xun ayaa ah inaan weli waayo-aragnimo u la’nahay, weligayna ma qaban luqadda C, daabacaaddaadu way weyn tahay, ma haysto wax badan oo aan idhaahdo, hadaan waqti haysto waan arkaa. Mahadsanid.

  47.   Teresita del ciise nah sanchez dijo

    Aad baad ugu mahadsantahay kaalmada weyn….

  48.   xarago dijo

    Waan jeclahay Linux waa degmada ugu fiican ee ay jirto, runta daaqadahayagu waa qashin a in aan ogahay in abuuraha Linux yahay abuuraha daaqadaha

  49.   Waddo dijo

    Waad salaaman tahay waxaan ku helayaa khalad ku jira guruub ayaa leh
    baadi: file /next/START.ELF Lama helin
    khalad: waxaad u baahan tahay inaad marka hore soo rido kernel-ka

    Ma i caawin laheyd oo waan xoqay laakiin ma heli karo

  50.   Henry Avila dijo

    Fadlan, sidee uga dhigi karaa inay muujiso farriinta SALAAMAHA CAALAMKA? Anigu waxaan ahay bilow ah walina ma ogi aqoon ku filan

  51.   CARLOS GUERRERO ALVAREZ dijo

    Kuwa soo socda ayaa igu dhaca:
    gcc -o START.ELF kernel.o NextKernel_Main.o -Tlink.ld -nostdlib -fPIC -frereandanding -lgcc
    / usr / bin / ld: kernel.o: dib udajin R_X86_64_32 oo kadhan ah astaanta 'xidhmooyin' looma isticmaali karo marka la samaynayo shay PIE; ku soo uruuri -fPIE
    / usr / bin / ld: iskuxirkii ugu dambeeyay wuu guuldareystay: qeybta aan laga hadli karin wax soo saarkeeda
    ururi2: khalad: ld soo celiyey 1 xaalad bixitaan