Kwaikwayon Linus Torvalds: Createirƙiri tsarin aikinku daga karce (I)

Da farko dai, kuyi tsokaci akan cewa wannan shine labarina na farko kuma ina fatan duk kuna son sa.

Linus Torvals farin ciki

A cikin wannan jerin zamuyi koyi Linus Torvalds, zamu kirkiro tsarin aikin mu daga 0. A wannan karon na farko zamu ga tayar kuma zamu sanya rubutu akan allon daga kwayar mu.

A nawa yanayin ana kiran tsarin aiki NextDivel. Shawara ta farko wacce dole ne muyi shawara da zaran munyi la'akari da tsarin aiki shine menene bootloader zai kasance?

Anan akwai bambance-bambancen da yawa, kuma muna iya ƙirƙirar kanmu da kanmu; duk da haka a cikin wannan darasin zan yi amfani da shi GRUB, saboda yawancin sun san abu kaɗan ko kaɗan game da shi. Muna ƙirƙirar babban fayil wanda zai zama tushen tsarin aikinmu kuma a can muka ƙirƙiri / boot / grub babban fayil

mkdir nextroot && cd nextroot

mkdir -p boot/grub

Anan muke ƙirƙirar fayil ɗin grub.cfg kamar haka:

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

A cikin wannan fayil ɗin mun ga yadda GRUB zai loda kwaya, a wannan yanayin, a cikin /next/START.ELF. Yanzu dole ne mu ƙirƙiri kwaya.

Don wannan zamu buƙaci GCC y GAS (mai tattara aikin GNU, yawanci yakan zo tare da gcc). Don haka zamu kirkiro kwaya.

Da farko zamuyi fayil mai suna kernel.asm. Wannan fayil ɗin zai ƙunshi maɓallin farawa na kwaya kuma zai bayyana ma'anar yawa (fasalin wasu bootloaders kamar GRUB). Abun cikin kernel.asm zai zama:

.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

Duk abin da ya shafi multiboot shine kawai ya bi bayanin ƙayyadadden abu ba ƙari. Komai zai fara a farko, zai kira multiboot_entry, za mu bayyana mahimmin rubutun a farkon 4k kuma za mu sanya shi (tare da movl).

Daga baya zamu kira NextKernel_Main wanda shine aikinmu na kernel C. A cikin madauki muna dakatarwa don dakatar da kwamfutar. Wannan ya tattara tare da:

as -o kernel.o -c kernel.asm

Yanzu za mu shiga shirye-shirye a cikin C. Za ku yi tunanin cewa yanzu komai wani yanki ne na waina, mun sa a bugawa en main kuma shi ke nan, mun yi shi.

To a'a, tunda bugawa y main ayyuka ne waɗanda tsarin aiki ya bayyana su, amma muna ƙirƙirar su! Zamu iya amfani da ayyukan da muka ayyana kanmu kawai.

A cikin surori na gaba zanyi magana game da yadda ake sanya namu ɗakin karatu na C (glibc, bionic, newlibc) amma lokaci zuwa lokaci. Munyi magana cewa muna son sanya rubutu akan allo, da kyau zamu ga yadda zamuyi.

Akwai hanyoyi biyu, daya shine a kira shi BIOS wani kuma shine sarrafa ƙwaƙwalwar allo kai tsaye. Zamuyi na karshen ne saboda yafito fili daga C sannan kuma zai bamu damar yin hakan lokacin da muka shiga yanayin kariya.

Mun ƙirƙiri fayil mai suna NextKernel_Main.c tare da waɗannan abubuwan masu zuwa:

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

Da wannan muke sarrafa ƙwaƙwalwar kai tsaye VGA da halayya ta hali muna rubuta shi. Muna tattarawa ta hanyar kashe stdlib:
gcc -o NextKernel_Main.o -c NextKernel_Main.c -nostdlib -fPIC -ffreestanding

Idan kun sanya shi a yanzu, kuna so ku gwada sabon tsarin aikin ku yanzu, amma ba mu gama ba tukuna. Muna buƙatar ƙaramin fayil wanda zai gaya wa mai tarawa a ina a cikin fayil ɗin ya bar kowane ɓangare. Ana yin wannan tare da rubutun mahaɗi. Mun ƙirƙiri 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 = .;
}

Da wannan muke ayyana matsayin kowane sashe da mashigar shigowa, farawa, wanda muka bayyana a cikin kernel.asm. Yanzu zamu iya haɗuwa da duk wannan haɗuwa:

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

Yanzu mun kwafe START.ELF zuwa / gaba a cikin aljihun mu wanda yayi daidai da tushen tsarin aikin mu. Muna tafiya zuwa babban fayil na sabon tsarin aikinmu tare da na'ura mai kwakwalwa tare da tabbatar da cewa akwai fayiloli guda biyu: daya /boot/grub/grub.cfg da wani /next/START.ELF.

Muna zuwa babban kundin adireshi kuma muna kiran mai amfani da kere kere ta ISO tare da GRUB da ake kira girki-mkrescue

grub-mkrescue -o nextdivel.iso nextroot

Da zarar munyi wannan zamu sami ISO. Ana iya buɗe wannan ISO akan kwamfutoci x86 (Ragowar 64 ma) da injunan kama-da-wane. Don gwada shi, zan yi amfani da shi QEMU. Muna kira QEMU daga layin umarni:

qemu-system-i386 nextdivel.iso

Zai fara SeaBIOS kuma daga baya zamu samu GRUB. Nan gaba idan komai yayi daidai zamu ga jimlar mu.
Za kuyi tunanin cewa wannan yana da wahala, na amsa, haka ne.

Haƙiƙa ƙirƙirar tsarin aiki yana da wahala kuma wannan ɗin a nan baya yin komai mai amfani. A cikin surori na gaba zamu ga yadda ake sarrafa launuka akan allon, adana ƙwaƙwalwar ajiya kuma idan zan iya, yadda ake samun bayanai daga maballin.

Idan wani baya son kwafa komai a nan, ina da wurin ajiyewa a GitHub (ƙarin bayani) tare da tsarin aiki NextDivel. Idan kanaso ka tara NextDivel kawai kuna da git da 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

Ina ƙarfafa ku da ku ba da haɗin kai a kan NextDivel idan kuna da lokaci da sha'awar ƙirƙirar tsarin aiki. Zai yiwu har ma ya fi Linux ... lokaci zai gaya.


Bar tsokaci

Your email address ba za a buga. Bukata filayen suna alama da *

*

*

  1. Wanda ke da alhakin bayanan: Miguel Ángel Gatón
  2. Manufar bayanan: Sarrafa SPAM, sarrafa sharhi.
  3. Halacci: Yarda da yarda
  4. Sadarwar bayanan: Ba za a sanar da wasu bayanan ga wasu kamfanoni ba sai ta hanyar wajibcin doka.
  5. Ajiye bayanai: Bayanin yanar gizo wanda Occentus Networks (EU) suka dauki nauyi
  6. Hakkoki: A kowane lokaci zaka iyakance, dawo da share bayanan ka.

  1.   kari m

    :O

    1.    marianogaudix m

      Torvalds ya ɗauki Minix tsarin aiki (wanda aka samo daga UNIX) zuwa Andrew S. Tanenbaum kuma ya inganta shi.

      Tanenbaum sun yi faɗa da Linus, sun ci mutuncin juna. Tanenbaum ya ce Microkernel shine makomar (HURD, Minix sabon mazugi Microkernel).

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

  2.   lokacin3000 m

    Wannan shine mafi kyawun matsayi da na gani har yanzu akan wannan rukunin yanar gizon. Na riga na so in san abin da zan yi.

  3.   Carlos. Gude m

    Kasance a burge

  4.   axl m

    Da gaske burgewa !!

  5.   Rhochonlinux m

    FUUUUUU!
    ita ce mafi kyawun labarin da na taɓa gani hehe. Taya murna Adrián, labarin karuwa! hyper ban sha'awa !!! 🙂

    1.    Joaquin m

      Na yarda. Ina tunanin wannan yanayin:
      GNU / Linux Power User (tare da fuskar farin ciki):
      "Na riga na san yadda zan harhada na Gentoo"

      Nerd (tare da halayyar raini): «pff, na ƙirƙiri kaina distro ...»

      1.    desikoder m

        Ee, Zan iya ƙirƙirar dina na Linux na kaina. A haƙiƙa a ciki ina haɓaka ƙananan abubuwa da kernel don shigar da Linux. Ba daidai yake bane don ƙirƙirar tsarin aiki fiye da Linux distro. Na farko ya fi wahala, kusan ba zai yiwu ba, na biyu, kamar yadda kuka ce, na iya zama komai, har ma Ubuntu mai tambarin xD an canza shi. Don haka zan bar shi kamar haka:

        GNU / Linux Power User (tare da fuskar farin ciki)
        - Na riga na san yadda ake tattara Gentoo

        Semi Nerd
        - Pff, Na bi wani Linux daga karce kuma na sanya kaina distro

        Nerd (da halin raini)
        - pff, saboda na tsara kernel a cikin mai tarawa da cikin C

        Na gode!

  6.   chronos m

    Wannan abin sha'awa ne a gare ni, har zuwa babi na gaba.

  7.   abimaelmartell m
    1.    AdrianArroyoStreet m

      Godiya ga hanyar haɗin yanar gizon, Zan duba ta.

  8.   Jose Jácome m

    Ina son tsarin aiki 100% ya dace da hotunan AMD: /

    1.    Tsakar Gida m

      Windows

      1.    Jose Jácome m

        hahaha a cikin Windows Catalyst ba shi da tallafi na OpenGL, kodayake a cikin Linux ba zan iya amfani da duk ƙarfin hoto ba zan ci gaba da jiran ganin abin da zai faru!

        1.    syeda_hussain m

          kawai jira don bawul don shafe kasuwar

  9.   KZKG ^ Gaara m

    Sihiri, cikakke, kyakkyawar gudummawa, yana kama da babban jerin sakonni 🙂

  10.   Tsakar Gida m

    Buah Ina so in san yadda ake tsara yadda zan iya taimaka muku, kawai a matsayin hanyar aiki da ilimin da kuke koya kuma ɗayan zai taimaka. A yanzu na bar muku taken don jawo hankali ga aikin da zarar kun gama shi "Yi amfani da NextDivel, batsa iri ɗaya ce (ko mafi kyau).", Za ku share xD.

  11.   wannan sunan m

    Mooooooolaaa !!!!

  12.   arewa m

    Labari mai kyau, amma kawai mai ban sha'awa me yasa baku bi Linux daga rataddamar da aikin ba?

    gaisuwa

    1.    AdrianArroyoStreet m

      Da kyau, Linux daga Scratch yana da kyau, kuma zaku iya gaya naku ne, amma da gaske yana da inji sosai:
      -Dauke rubutun
      -Samu
      -Tattara
      -Saka
      -Bin
      A nan, kodayake sakamakon ya fi muni a ƙarshe, kuna iya cewa kun sake nazarin duk fayilolin.

    2.    desikoder m

      Kamar yadda ya bayyana a tsokacina na baya, saboda ba shi da irin matakin rikitarwa. Bugu da kari, Linux daga karce ba da gaske yake ba, ya sabawa sunan sa, kirkirar tsari daga karce. Kirkirar wani tsari daga karce shine yake shirya shi da kanku, kuna rubuta kwayayen ku, ba kwaron Linux ba, idan zai yiwu ma bootloader naku maimakon grub, lilo, syslinux, da dai sauransu. Kodayake LFS ba ƙaramin aiki bane kuma yana da rikitarwa, bai ma kusanci shirya kwayarku ba ...

      Kari akan haka, na yarda da AdrianArroyo Calle cewa yana da inji sosai, na karanta shi wani lokaci kuma kun daina bayarwa a shafi na shida, sun kuma gaya muku kuyi amfani da wane nau'i na fakitin domin in ba haka ba umarnin ba zai yi aiki ba (wannan yana nuna rashin sassauci, A ganina). Ina tsammanin zai fi kyau ku sami wani abu na ra'ayinku, tattara abubuwan da kuke so, har ma da wasu shirye-shiryen, tattara kernel na Linux kuma cikin kwanciyar hankali.

      Na gode!

  13.   kuki m

    uuuoooohh !! Ban taɓa kama matsayi kamar wannan ba.
    Da fatan za a ci gaba 😀

  14.   mai amfani da Linux m

    Ban san abin da ba daidai ba:

    kuskure: ba a sami rubutun kai da yawa ba.
    Kuskuren kana buƙatar ɗaukar kwaya da farko

    1.    AdrianArroyoStreet m

      Idan wani ta'aziya ne, nayi kuskure daya. Gwada amfani da kafofin da suke cikin GitHub, can an riga an warware kuskuren. Duk da haka dai ina ganin idan kun canza layin grub.cfg daga "multiboot /next/START.ELF" zuwa "kernel /next/START.ELF" yana iya aiki. Ban sani ba daidai.

      1.    mcbanana m

        Da farko dai, babbar hanyar shiga 🙂
        Ina da matsala iri ɗaya na ɗora kernel daga burodi. Ko da amfani da tushen GitHub ko canza yawancin abubuwa don kwaya ...

        kuskure: ba a sami rubutun kai da yawa ba.
        kuskure: babu kwaya da aka ɗora

        1.    AdrianArroyoStreet m

          Shin kuna amfani da ƙwanƙwasa a matsayin mai tarawa? Canja shi don gcc
          Shin kun tuna yin amfani da rubutun mahaɗi? Ya zama dole ne don mahaɗin (ld a wurinmu) ya san inda a cikin fayil ɗin da zai sanya kowane abu. A wannan yanayin maɓallin rubutun mai yawa dole ne ya kasance a farkon.
          Shin kuna amfani da tsarin CMake? Idan kun yi amfani da shi ina ganin ba zai gaza ba.
          Idan bai muku aiki ba, zan yi kokarin neman wata mafita.

  15.   kwari m

    [+ 100]
    Kawai mai girma !!!

  16.   invisible15 m

    Yana da kyau sosai 🙂

  17.   tanrax m

    Na cire hular kaina Matsayi mai ban sha'awa. Barka da warhaka.

  18.   mutumin m

    Waha!
    Zai yi kyau idan za ku iya buɗe aikace-aikacen da aka yi a HTML5 da Javascript ba tare da amfani da mai bincike ba, shin hakan zai yiwu?
    Ina magana ne game da su kasancewa kamar aikace-aikacen ƙasa.
    Don haka zai zama abu mai sauƙi don shirya wannan tsarin aiki 😀

    1.    AdrianArroyoStreet m

      A wannan yanayin ba zan yi ba saboda yana ɗaukar ƙarin aiki a bayansa amma akwai tsarin aiki da ake kira "shine" wanda yake aikata abin da kuka ce. A gaskiya layin umarni JavaScript ne kuma ana zana windows ta amfani da ayyukan JavaScript Canvas. Injiniyoyin Nintendo sunyi shi kuma yanzu ya zama tushen tushe.

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

      1.    mutumin m

        Valla, na gode da bayanin 😀
        Zan duba

  19.   patodx m

    Duk wanda zai iya yin nasa OS zai iya mutuwa cikin lumana, tunda matakin ilimin da dole ne ya cimma shi; Yana sa ka sha wahala da sama ko gidan wuta.
    Yankin aika rubuce rubuce

    1.    Miguel m

      ya zuwa yanzu babu wanda aka sani ya yi wani abu kawai wanda za a iya cewa kyakkyawan tsarin aiki ne wanda aka yi shi daga karce, ba ma Torvalds na Linux ba kamar yadda kuke faɗi a farkon, tunda wannan ya fara ne daga tushen Unix kuma duk abin da aka tsara an gama shi ne don gamawa fiye da mutum ɗaya, rayuwa tana da gajarta kuma farawa daga karcewa ba abu ne da kowa zai iya tsammani ba, ko da kuwa akasin haka ake so, abin nuni ne a cikin kurakurai da yawa da aka yi wajen kwafa da liƙawa ta Linux Torvalds

      1.    skarmiglione m

        An rufe hanyoyin unix, amfani da karamin ... wanda wani abu ne daban.

      2.    Felipe Robina m

        kuma waɗanda suka yi QDOS menene?
        aka dogara ne akan wani abu?

  20.   Tesla m

    Daga abin da na gani, wanda ba shi da tsarin aikin kansa saboda ba sa so, hahahaha.

    Yanzu mai mahimmanci, mai ban sha'awa sosai! Yawancin abu ya wuce iyakacin ilimin ilimin shirye-shirye, amma zan karanta sauran sassan wannan jerin cikin ɗoki.

    Godiya ga post!

  21.   Manuel R. m

    Kun bar ni da fuska ta O_O ... ba tare da niyyar raina gudummawar kowa ba, ita ce "pro" mafi kyau da na gani kwanan nan. Gaisuwa.

  22.   aidan_ m

    Labari mai kyau, Adrián. Da fatan za a ci gaba…

  23.   mj m

    Shin kuna yin raha ne a ranar Afrilu Wawaye?, Kada ku zama ma'ana "Yin koyi da Linus Torvalds: Createirƙiri tsarin aikinku daga karce." Ba na tsammanin yana da wahala ga wadanda ke neman aiki a wata kwalejin fasaha ko jami'a; amma a wurina ni maharbin maharbi ne (akwai waɗanda suke kiranmu "Noob" amma ni na fi ɗaukar kaina sabonbie da ɗan lalaci) wanda yake kamar ba taka ƙasa ba. Duk da haka dai, WANNAN LABARIN YANA KIRKIRAR DA KYAUTA BANDA SHA'AWA DA KYAUTATAWA ITA, TA'AZIYYA; Abu na farko da zan yi shine ƙoƙarin fahimtar aƙalla kaɗan daga wannan abu mai mahimmanci.
    NA GODE Adrian Arroyo Calle, kyakkyawan aiki da isar da ilimi.

  24.   Blaire fasal m

    LEL Kyakkyawan sakon, kiyaye shi.

  25.   f3niX m

    Abin da babban post, wannan shi ne abin da na rasa game da desde linux. Abin al'ajabi.

  26.   Ruby m

    Babban matsayi, na gode sosai.
    Ban fahimci abin da fayil din link.ld ke yi ba, wani zai iya yi min bayani?

    1.    AdrianArroyoStreet m

      Fayil ɗin link.ld yana gaya wa mahaɗin (a wannan yanayin ld) a wane matsayi a cikin fayil ɗin da aka samu kowane ɓangare na lambar ya zama. Hakanan muna bayyana ma'anar shigarwa tunda tunda bamu da tsarin aiki ba zamu iya amfani da babban azaman shiri na yau da kullun ba, a wannan yanayin zamu zaɓi aikin farawa.

  27.   Maxi m

    Mafi girman duk sakonku! Jiran 7! Mene ne idan ina da shakka, alal misali, idan kawai ina so in gudanar da algorithm, ba tare da OS ba, ta yaya zan san abin da zan iya amfani da shi da abin da ba C ba?

    1.    AdrianArroyoStreet m

      Idan kuna amfani dashi kamar haka, baza ku iya amfani da komai daga stdlib ba, wanda shine kusan abin da kowa ke amfani da shi (babu malloc, free, printf, scanf, strcmp, da sauransu). Dole ne a aiwatar da komai kai tsaye daga ƙwaƙwalwa ko ASM. Wataƙila a cikin babin mafi girma zan nuna muku yadda ake girka ɗakin karatu na C don tsarin aiki. Idan kuna amfani da C ++ baza ku iya amfani da keɓaɓɓu da sabo da share masu aiki ba (kuma tabbas ƙari).

    2.    Girma m

      ina tsammani wannan zai iya baka kyakkyawar fahimta game da yadda ake yi.

  28.   Esteban m

    Barka dai, kimanin shekaru 5 da suka gabata na bi irin wannan littafin kuma na kirkiro microkernel wanda yake farawa iri ɗaya, yana da wasu fannoni don ingantawa, amma yana iya baka sha'awa, yana gudana cikin yanayin kariya, yana aiwatar da aiki da yawa kuma yana aiwatar da ƙwaƙwalwar ajiya, kwanan nan nayi aiki a kan direban faifai da CD cd don sanya shi girkawa kuma ba wai kawai a kunna kai tsaye ba cd ... Gaisuwa.

  29.   Johan m

    Masoyi, Ina da kuskure yayin aiwatar da umarnin:
    gcc -o START.ELF kernel.o NextKernel_Main.o -Tlink.ld -nostdlib -fPIC -ffreestanding -lgcc

    link.ld: Kuskuren haɗi 5
    tattara2: kuskure: ld ya dawo da matsayin fita 1

    mahada.ld
    . = 0x00100000;
    .multiboot_header: {
    * (.. mai yawa_maifin kai)
    }

    A layin 5 ban ga kuskuren ba, shin wani ma haka ne?

    Ina aiki tare da ingantaccen debian wheezy a cikin rumfa

    1.    Julian Reyes Escrigas mai sanya hoto m

      theara ";" a ƙarshen * (. multiboot_header)

  30.   Eric Orellana Romero m

    Kyakkyawan shiri, tabbas zan bi babin wannan sakon, ina da niyyar koyan abubuwa da yawa daga gare ta. Na gode sosai da kuka ba da lokacinku don koya mana. Detailaya daga cikin bayanai game da wannan, ya kamata a lura cewa Linus Torvalds ba mahaliccin kowane tsarin aiki bane, ya ƙirƙiri Kernel na tsarin GNU / Linux (wanda aka yi amfani dashi a cikin sauran OS), wanda har yanzu ya cancanci, amma yana da mahimmanci a ba Richard Stallman daraja don ƙirƙirar yawancin OS.

    Na gode sosai da gudummawar kuma ina fatan za ku yi la’akari da abin da na lura.

  31.   Julian Reyes Escrigas mai sanya hoto m

    Na ɗan jima ina wasa da batun, na zama mai sha'awara da zarar na karanta taken. amma sakon yana ci gaba da samun

    kuskure: ba a sami rubutun kai da yawa ba.
    Kuskuren kana buƙatar ɗaukar kwaya da farko

    Na loda abin da zan ɗauka zuwa repo akan github https://github.com/rkmax/GenyOS

    1.    Martin Villalba m

      Haka dai abin yake faruwa dani Shin kun samo mafita kuwa?

  32.   Carlos m

    tambayar da na fara gabatarwa da layin menu tana gaya min cewa ba'a samo wanda zai iya fada min dalilin ba
    wannan shine abin da nake yi

    BLACK @ BLACK-pc: ~ / blackroot $ jerin kayan «« NextDivel »{
    menuentry: ba a samo umarnin ba

    1.    AdrianArroyoStreet m

      Ba za a shigar da abun cikin wannan abun a cikin layin umarni ba, amma a cikin fayil ɗin da kuka ƙirƙiri da ake kira grub.cfg

  33.   Nodetin m

    Labari mai kyau, na gode!

  34.   David m

    Mai ban mamaki… !! kamar dai yadda mahaɗin ya ɓace.

  35.   r.garci m

    Ina son koyarwar LInus Torvalds dinka mai kwazo, amma akwai mataki daya wanda ban gane ba, mai zuwa:
    Yanzu mun kwafe START.ELF zuwa / gaba a cikin aljihun mu wanda yayi daidai da tushen tsarin aikin mu. Muna tafiya zuwa babban fayil na sabon tsarin aikinmu tare da na'ura mai kwakwalwa tare da tabbatar da cewa akwai fayiloli guda biyu: daya /boot/grub/grub.cfg da wani /next/START.ELF.

    Muna zuwa babban kundin adireshi kuma muna kiran mai amfani da kere kere na ISO tare da GRUB da ake kira grub-mkrescue

    Shin wani zai iya bayyana min: p

    1.    AdrianArroyoStreet m

      Kawai don samar da mafi ƙarancin ISO wanda GRUB zai iya ɗorawa sai mu kwafe kwafin zuwa (the / na ISO, kowane babban fayil) /Next/START.ELF da fayil ɗin jigilar GRUB zuwa (na / na ISO, kowane babban fayil) / boot / girki / girkin.cfg. Da zarar an gama wannan, har yanzu bamu girka GRUB akan ISO ba kuma akwai mai amfani wanda ke haifar da ISO daga babban fayil kuma ya girka GRUB da ake kira grub-mkrescue. Sannan a ƙarshe zamu ƙare da bootable ISO wanda aka girka GRUB, wanda zai iya karanta saitin don daga baya aiwatar da START.ELF daidai. Ban sani ba ko na bayyana kaina, amma abin da muke yi shi ne nau'in tsarin fayil ɗin ƙarya wanda muke samar da ISO da shi.

  36.   miguel jose guevara hankali m

    Mai girma

  37.   Michael Moreno m

    Da kyau ku kalli sabon tsari ba sosai ba amma idan inganta Linux misali ƙirƙirar linin exonucleus tare da ɓangaren sabar wanda ke aiki azaman microkernel idan ana so, ma'ana shine tsarin exo tare da yanayin micronucleus wanda zai zama super da Linux.

    Wani abin kuma shine ni ba gwani bane a fannin shirye-shirye, kawai 'yan cheesy c ++ da kuma wasu java, zai ishe ni in baiwa shirin kernel na Linux wani tsari, sa shi, gyara shi da dai sauransu.

  38.   Lokacin Sanyi 53 m

    Ba tare da wata shakka ba tuni na yi hutu.

  39.   Fermin m

    Wannan mai kyau kuma a cikin wane shiri ne yake tsara shi da sanya shi?
    don Allah a ba ni wannan amsa

  40.   Mai duhu m

    Lokacin tattarawa daga git naka na samu:

    [jmponce @ jar gina] $ cmake ..
    - Creatirƙirar littafin NextRoot
    - Samar da rubutun ISO
    yi DESTDIR = shigarwa na gaba
    ./iso.sh
    - Samu Doxygen: / usr / bin / doxygen (samfurin da aka samo "1.8.9")
    - Harhadawa yayi
    - Generating anyi
    - An rubuta fayilolin gini zuwa: / gida / jmponce / gaba-divel / gini
    [jmponce @ jar gina] $ yi
    Binciken dogaro na manufa START.ELF
    [7%] Gina ASM-ATT abu src / CMakeFiles / START.ELF.dir / farawa / boot.asm.o
    [14%] Gina CXX abu src / CMakeFiles / START.ELF.dir / farawa / NextShellLite.cpp.o
    [21%] Gina CXX abu src / CMakeFiles / START.ELF.dir / farawa / ND_Screen.cpp.o
    [28%] Gina CXX abu src / CMakeFiles / START.ELF.dir / farawa / NextKernel_Main.cpp.o
    [35%] Gina CXX abu src / CMakeFiles / START.ELF.dir / farawa / ND_Panic.cpp.o
    [42%] Gina CXX abu src / CMakeFiles / START.ELF.dir / farawa / ND_Timer.cpp.o
    [50%] Gina CXX abu src / CMakeFiles / START.ELF.dir / farawa / ND_Memory.cpp.o
    [57%] Gina CXX abu src / CMakeFiles / START.ELF.dir / farawa / ND_Ports.cpp.o
    [64%] Gina CXX abu src / CMakeFiles / START.ELF.dir / farawa / ND_GDT.cpp.o
    [71%] Gina CXX abu src / CMakeFiles / START.ELF.dir / farawa / ND_ISR.cpp.o
    [78%] Gina CXX abu src / CMakeFiles / START.ELF.dir / farawa / ND_String.cpp.o
    [85%] Gina CXX abu src / CMakeFiles / START.ELF.dir / farawa / ND_IRQ.cpp.o
    [92%] Gina CXX abu src / CMakeFiles / START.ELF.dir / farawa / ND_IDT.cpp.o
    [100%] Gina CXX abu src / CMakeFiles / START.ELF.dir / farawa / ND_Keyboard.cpp.o
    Haɗa CXX zartarwa START.ELF
    / usr / bin / ld: Rashin dacewa / usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/libgcc.a tsallake yayin neman -lgcc
    / usr / bin / ld: ba zai iya samun -lgcc ba
    tattara2: kuskure: ld koma matsayin fita 1
    src / CMakeFiles / START.ELF.dir / build.make: 402: Umurnin da bai yi nasara ba game da manufa 'src / START.ELF'
    yi [2]: *** [src / START.ELF] Kuskure 1
    CMakeFiles / Makefile2: 106: Rashin yin umarni don manufa 'src / CMakeFiles / START.ELF.dir / all'
    yi [1]: *** [src / CMakeFiles / START.ELF.dir / duk] Kuskure 2
    Makefile: 117: Rashin yin umarni don manufa 'duka'
    yi: *** [duk] Kuskure 2

    1.    AdrianArroyoStreet m

      Kuskuren ya zama kamar ba zai iya samun llibgcc ba tunda kuna da sigar 64-bit kuma a halin yanzu tsarin tattarawa ya tilasta yin amfani da 32-bit. Ya kamata ku girka fakitin jituwa a kan distro ɗinku ko mafi kyau, yi amfani da tsarin 32-bit.

      1.    Ronaldo Rodríguez m

        Ina da ragowa 32 kuma daidai kuskure ya bayyana, kuna nufin tsarin aiki ko gine-gine? nawa shine 64 Bit, amma ina amfani da Ubuntu 32 bit, kar a tambaya, matsalolin kuɗi, da wannan na faɗi duka.

  41.   Jorge m

    Kyakkyawan batun, jiran ƙarin girma. Murna

  42.   Jhon m

    Babban ina fatan ƙari

  43.   Pez mai kyau m

    Barka dai, Ni saurayi ne jakada wanda ke son ƙirƙirar tsarin aiki wanda ke tallafawa duk shirye-shirye da dandamali don kada masu haɓaka su sami injina masu ƙarfi ko aikace-aikace ko shirye-shirye akan pc.
    Wannan shine dalilin da ya sa nake sha'awar wannan sakon amma lokacin da na sauke git din ku ko ƙoƙari na ƙirƙira shi, komai yana aiki har sai na zartar da umarnin ./iso.sh ko grub-mkrescue -o nextdivel.iso nextroot kun sami wannan kuskuren

    "Grub-mkrescue: gargaɗi: xorriso ɗinku baya goyan bayan" –grub2-boot-info ". An kashe wasu fasaloli Yi amfani xorriso 1.2.9 ko kuma daga baya ..
    grub-mkrescue: gargadi: xorriso naka baya goyan bayan "–grub2-boot-info". Hoton kwaya ya cika girma. Disk boot an kashe Yi amfani xorriso 1.2.9 ko kuma daga baya .. »
    Ba ni da masaniya tun da na san abubuwa da yawa game da aikace-aikacen yanar gizo da yanar gizo amma ban san komai ba game da lalata

    1.    AdrianArroyoStreet m

      Kuna iya buƙatar sabunta shirin xorriso akan distro ɗinku. Abin da distro da sigar da kuke amfani da ita?

      1.    Pez mai kyau m

        Ina amfani da xubuntu 14.04lts kuma ina kokarin gudanar da xorriso amma harsashi ya gaya min cewa ba zai same shi ba kuma ina samun dacewar samun shigar xorriso kodayake da gaske ina sa ran samun wani martani saboda ina da mummunan kwarewar girka abubuwan da ban sani ba a cikin Linux hehe . Zan sabunta shi yanzun nan kuma in gaya muku abin da ya faru

      2.    AdrianArroyoStreet m

        Sannan sanya xorriso daga cibiyar software ko kuma kawai daga tashar yi "sudo apt-get install xorriso"

      3.    Pez mai kyau m

        Na riga nayi duk abin da kuka gaya mani kuma da duka git da nawa na sami wannan xorriso 1.3.2: RockRidge filesystem manipulator, aikin libburnia.

        Fitar da halin yanzu: -outdev 'stdio: nextdivel.iso'
        Media na yanzu: stdio file, overwriteable
        Matsayin Media: babu komai
        Takaitawa ta kafofin watsa labarai: zaman 0, toshe bayanan bayanai 0, bayanan 0, kyauta 1901m
        Ara zuwa hoton ISO: shugabanci '/'='/tmp/grub.OEqSzV'
        xorikun: UPDATE: Fayiloli 546 da aka kara a cikin dakika 1
        xorriso: KASAWA: Ba za a iya ƙayyade halayen asalin fayil ɗin '/ media / gaia / Jupiter1 / ShellSystem / nextroot / nextroot': Babu irin wannan fayil ɗin ko kundin adireshin
        xorikun: UPDATE: Fayiloli 546 da aka kara a cikin dakika 1
        xorriso: zubar da ciki: -abort_on 'KASAWA' an sami 'KASAWA'
        kuma corduroy Ban fahimci tsarina ba shine /nextroot/boot/grub/grub.cfg da nextroot / next / START.ELF

      4.    Pez mai kyau m

        Na gode, Na shirya don ci gaba, wani aboki ya taimake ni kuma ya gaya mini abin da na yi kuskure shi ne shirya kundin adireshi, don haka na gyara shi kuma shi ke nan

      5.    Erik m

        Gafarta dai, zaku iya gaya mani irin aikin da kuka yi tunda ban sami kuskure ba don kora: babu irin wannan fayil ɗin ko kundin adireshin

        babu bootable na'urar.

  44.   jose m

    Murna! Zan nemi alfarma idan za ku iya turo min da imel da abin da kuka bayyana a nan, na dan shiga rudani kuma ina bukatar in kwatanta abin da nake dauke da shi da abin da kuka bayyana, watakila abin da bai bayyana mini ba shine kirkirar grub. cfg ana yin shi a cikin gcc ko kuma a ina yake daidai? na gode sosai aboki!

    1.    AdrianArroyoStreet m

      Kun ƙirƙiri fayil ɗin grub.cfg tare da kowane editan rubutu kuma dole ne ku adana shi a cikin PROJECT_FOLDER / boot / grub / grub.cfg

  45.   Juwazano m

    Sannu Adrian, da farko dai, ina taya ka murna kuma na gode da gudummawar da ka bayar.

    Ka sani ina yin wannan ne don wani aiki kuma na fara sanya shi tare bayan koyarwar ku, amma bayan farawa na sami kuskuren farko

    $ as -o kwaya.o -c kernel.asm
    bash: as: ba a samo umarni ba ...
    Makamantan umarni sune:
    'sa'
    'ac'

    Ina aiki akan fedora 20, kuma ba zan iya samun mafita game da wannan ba, Ina jin daɗin jagorancinku kan ko zan canza wani abu a cikin gcc ko gas

    a gaba na gode

    1.    AdrianArroyoStreet m

      Dole ne ku girka GAS don haka zan iya ganin lambar kuskure. Ba ni da Fedora a hannu amma a ka'ida idan kayi yum shigar gcc-c ++ zaka girka duka GCC da GNU Kamar yadda yawanci yakan zo da shi.

  46.   Gaston Ramirez m

    Ina tare da ku, na san wani abu game da C ++, C # (duk da cewa wannan na ƙarshe ba shi da fa'ida sosai a cikin wannan al'amarin) mummunan abin shi ne har yanzu ba ni da ƙwarewa, Ban taɓa magana da harshen C ba, littafinku yana da kyau, Ba ni da abin da zan ce da yawa, idan na sami lokaci ina gani. Na gode.

  47.   Teresita del Yesu nah sanchez m

    Na gode sosai da taimako mai girma….

  48.   jky m

    Ina son Linux shi ne mafi kyawun gundumar akwai gaskiya don windows na shara ne ga wani cewa na san cewa mahaliccin Linux shine mahaliccin windows

  49.   Hawa m

    Sannu Na sami Kuskure a cikin ɓacin rai yace
    kuskure: file /next/START.ELF Ba a samo shi ba
    kuskure: kuna buƙatar ɗaukar kwaya da farko

    Za a iya taimaka mani in yi googled amma ban samu ba

  50.   Enrique Avila ne adam wata m

    Don Allah, ta yaya zan sa shi ya nuna sakon BARKA DUNIYA? Ni mai farawa ne kuma har yanzu ban san abin da ya isa ba

  51.   CARLOS GUERRERO ALVAREZ m

    Mai zuwa ya faru da ni:
    gcc -o START.ELF kernel.o NextKernel_Main.o -Tlink.ld -nostdlib -fPIC -ffreestanding -lgcc
    / usr / bin / ld: kernel.o: sakewa R_X86_64_32 akan alamar 'tari' ba za a iya amfani da shi yayin yin abu na PIE ba; sake tattarawa tare da -fPIE
    / usr / bin / ld: mahaɗin ƙarshe bai yi nasara ba: sashin da ba za a iya wakiltar shi ba game da fitarwa
    tattara2: kuskure: ld ya dawo da matsayin fita 1