Emulating Linus Torvalds: Cruthaigh do chóras oibriúcháin féin ón tús (I)

Ar dtús, trácht gurb é seo mo chéad alt agus gur mian liom go dtaitneoidh gach duine leat.

Linus Torvals sásta

Sa tsraith seo táimid chun aithris a dhéanamh Linus Torvalds, táimid chun ár gcóras oibriúcháin a chruthú ó 0. Sa chéad chlár seo táimid chun an tosaithe a fheiceáil agus cuirfimid téacs ar an scáileán ónár eithne.

I mo chás tugtar an córas oibriúcháin NextDivel. Is é an chéad chinneadh a chaithfimid a dhéanamh a luaithe a mheasfaimid an córas oibriúcháin ná cad a bheidh sa tosaitheoir?

Tá leaganacha iolracha anseo, agus d’fhéadfaimis ceann a chruthú dúinn féin fiú; áfach, beidh mé ag úsáid an teagaisc seo Grub, toisc go bhfuil a fhios ag a bhformhór níos mó nó níos lú faoi. Cruthaímid fillteán a bheidh mar fhréamh dár gcóras oibriúcháin agus ansin cruthaímid an fillteán / tosaithe / grub

mkdir nextroot && cd nextroot

mkdir -p boot/grub

Cruthaímid an comhad grub.cfg mar seo a leanas:

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

Sa chomhad seo chonaiceamar conas Grub luchtúfaidh ár n-eithne, sa chás seo, i /next/START.ELF. Anois ní mór dúinn ár n-eithne a chruthú.

Chuige seo beidh an GCC y GÁIS (cóimeálaí an tionscadail GNU, de ghnáth tagann sé leis an gcc). Mar sin táimid chun an t-eithne a chruthú.

Déanaimid comhad ar a dtugtar kernel.asm ar dtús. Beidh pointe tosaigh ár n-eithne sa chomhad seo agus saineoidh sé freisin an multiboot (gné de roinnt bootloaders mar Grub). Is é a bheidh in ábhar kernel.asm:

.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

Níl i ngach rud a bhaineann le multiboot ach an tsonraíocht a leanúint aon rud eile. Tosóidh gach rud i dtosach, tabharfaidh sé multiboot_entry air, beidh an ceanntásc multiboot sainithe againn sa chéad 4k agus cuirfimid é (le movl).

Níos déanaí tugaimid NextKernel_Main arb é ár bhfeidhm eithne C. Sa lúb déanaimid stad chun an ríomhaire a stopadh. Tiomsaíonn sé seo le:

as -o kernel.o -c kernel.asm

Anois táimid chun cláir a iontráil i C. Shílfeá gur píosa cáca anois é gach rud, chuir muid a printf en príomh- agus sin é, tá sé déanta againn.

Bhuel níl, ó shin printf y príomh- is feidhmeanna iad atá sainithe ag an gcóras oibriúcháin, ach táimid á gcruthú! Ní féidir linn ach na feidhmeanna a shainmhínímid féin a úsáid.

I gcaibidlí níos déanaí labhróidh mé faoi conas ár leabharlann C féin (glibc, bionic, newlibc) a chur ach ó am go ham. Phléamar go dteastaíonn uainn téacs a chur ar an scáileán, bhuel feicfimid conas a dhéanaimid é.

Tá dhá rogha ann, is é ceann glaoch ar an BIOS agus ceann eile is ea cuimhne scáileáin a bhainistiú go díreach. Táimid chun an dara ceann a dhéanamh toisc go bhfuil sé níos soiléire ó C agus ligfidh sé dúinn é a dhéanamh nuair a théimid isteach sa mhodh cosanta.

Cruthaímid comhad darb ainm NextKernel_Main.c leis an ábhar seo a leanas:

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

Leis seo déanaimid an chuimhne a ionramháil go díreach VGA agus carachtar de réir carachtar atá á scríobh againn. Tiomsaímid tríd an stdlib a dhíchumasú:
gcc -o NextKernel_Main.o -c NextKernel_Main.c -nostdlib -fPIC -ffreestanding

Má rinne tú é go dtí seo, beidh tú ag iarraidh do chóras oibriúcháin nua-aimseartha a thriail anois, ach nílimid déanta fós. Teastaíonn comhad beag uainn a insíonn don tiomsaitheoir cá háit sa chomhad gach roinn a fhágáil. Déantar é seo le script nascóra. Cruthaímid nasc.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 = .;
}

Leis seo sainmhínímid suíomh gach rannáin agus an pointe iontrála, tosaigh, atá sainithe againn in eithne.asm. Anois is féidir linn an concoction seo go léir a aontú:

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

Anois cóipeálaimid START.ELF chuig / seo chugainn inár bhfillteán a insamhail fréamh ár gcóras oibriúcháin. Téimid chuig fillteán fréimhe ár gcóras oibriúcháin nua leis an consól agus fíoraímid go bhfuil dhá chomhad ann: ceann /boot/grub/grub.cfg agus ceann eile /next/START.ELF.

Téimid chuig an eolaire uachtarach agus glaoimid fóntais chruthaithe ISO ar a dtugtar GRUB grub-mkrescue

grub-mkrescue -o nextdivel.iso nextroot

Nuair a bheidh seo déanta againn beidh a ISO. Is féidir an ISO seo a oscailt ar ríomhairí x86 (64 giotán freisin) agus meaisíní fíorúla. Chun é a thástáil, tá mé ag dul a úsáid QEMU. Glaoimid QEMU ón líne ordaithe:

qemu-system-i386 nextdivel.iso

Tosóidh SeaBIOS agus níos déanaí beidh againn Grub. Níos déanaí má tá gach rud ceart feicfimid ár n-abairt.
Cheapfaidh tú go bhfuil sé seo deacair, freagraim tú, sea.

Tá sé deacair córas oibriúcháin a chruthú i ndáiríre agus nach ndéanann an ceann seo aon rud úsáideach. I gcaibidlí amach anseo feicfimid conas dathanna a láimhseáil ar an scáileán, cuimhne a chur in áirithe agus, más féidir liom, conas sonraí a fháil ón méarchlár.

Mura bhfuil duine ag iarraidh gach rud a chóipeáil anseo, tá stór agam ag GitHub (níos casta) leis an gcóras oibriúcháin NextDivel. Más mian leat a thiomsú NextDivel níl le déanamh agat ach git agus 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

Molaim duit comhoibriú ar NextDivel má tá an t-am agus an fonn agat córas oibriúcháin a chruthú. B’fhéidir fiú níos fearr ná Linux ... inseoidh am.


Cloíonn ábhar an ailt lenár bprionsabail eitic eagarthóireachta. Chun earráid a thuairisciú cliceáil anseo.

85 trácht, fág mise

Fág do thrácht

Ní thabharfar do sheoladh r-phoist a fhoilsiú. Réimsí riachtanacha atá marcáilte le *

*

*

  1. Freagrach as na sonraí: Miguel Ángel Gatón
  2. Cuspóir na sonraí: SPAM a rialú, bainistíocht trácht.
  3. Legitimation: Do thoiliú
  4. Na sonraí a chur in iúl: Ní chuirfear na sonraí in iúl do thríú páirtithe ach amháin trí oibleagáid dhlíthiúil.
  5. Stóráil sonraí: Bunachar sonraí arna óstáil ag Occentus Networks (EU)
  6. Cearta: Tráth ar bith is féidir leat do chuid faisnéise a theorannú, a aisghabháil agus a scriosadh.

  1.   elav a dúirt

    :O

    1.    marianogaudix a dúirt

      Thug Torvalds córas oibriúcháin Minix (díorthaithe ó UNIX) chuig Andrew S. Tanenbaum agus chuir sé feabhas air.

      Bhí troid ag Tanenbaum le Linus, rinne siad masla ar a chéile. Deir Tanenbaum gurb é an Microkernel an todhchaí (HURD, Microkernel cón nua Minix).

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

  2.   eliotime3000 a dúirt

    Ba é seo an post is fearr a chonaic mé go dtí seo ar an mblag seo. Ba mhaith liom a fháil amach cheana féin cad eile atá le déanamh.

  3.   Carlos.Gude a dúirt

    Bí an-tógtha

  4.   axl a dúirt

    Tá sé go hiontach !!

  5.   rhoconlinux a dúirt

    FUUUUUUUA!
    Is é an post geekiest a chonaic mé riamh hehe. Comhghairdeas Adrián, alt fraochÚn! hyper suimiúil !!! 🙂

    1.    Joaquin a dúirt

      Aontaím. Samhlaím an cás seo:
      Úsáideoir Cumhachta GNU / Linux (le aghaidh sona):
      "Tá a fhios agam cheana féin conas mo Gentoo a thiomsú"

      Nerd (le dearcadh díspeagúil): «pff, chruthaigh mé mo distro féin ...»

      1.    desikoder a dúirt

        Sea, is féidir liom mo distro linux féin a chruthú. Déanta na fírinne táim ag forbairt initramfs agus eithne do linux leabaithe. Ní hionann é agus córas oibriúcháin a chruthú ná distro linux. Tá an chéad cheann i bhfad níos deacra, beagnach dodhéanta, is féidir leis an dara ceann, mar a dúirt tú, a bheith ina rud ar bith, fiú Ubuntu leis an lógó xD athraithe. Mar sin d'fhágfainn mar seo é:

        Úsáideoir Cumhachta GNU / Linux (le aghaidh sona)
        - Tá a fhios agam cheana féin conas mo Gentoo a thiomsú

        Leath-Nerd
        - Pff, lean mé linux ón tús agus rinne mé mo distro féin

        Nerd (le dearcadh díspeagúil)
        - pff, toisc go bhfuil eithne cláraithe agam i gcóimeálaí agus i C.

        Saludos!

  6.   chronos a dúirt

    Tá sé seo suimiúil domsa, ar feitheamh na chéad chaibidlí eile.

  7.   abimaelmartell a dúirt

    Chonaic mé an rang teagaisc seo tamall ó shin, is le haghaidh C ++ é
    https://github.com/SamyPesse/How-to-Make-a-Computer-Operating-System

    1.    AdrianArroyoStreet a dúirt

      Go raibh maith agat as an nasc, féachfaidh mé air.

  8.   Jose Jácome a dúirt

    Ba mhaith liom Córas Oibriúcháin 100% comhoiriúnach le grafaicí AMD: /

    1.    IvanLinux a dúirt

      Windows

      1.    Jose Jácome a dúirt

        níl tacaíocht OpenGL ag hahaha i Windows Catalyst, cé nach féidir liom an chumhacht ghrafach go léir a úsáid i Linux fanfaidh mé ag fanacht le feiceáil cad a tharlóidh!

        1.    beny_hm a dúirt

          ná fan ach an comhla chun an margadh a scriosadh

  9.   KZKG ^ Gaara a dúirt

    Ranníocaíocht draíochta, foirfe, den scoth, tá cuma sraith iontach post air 🙂

  10.   O_Pixote_O a dúirt

    Buah Ba mhaith liom a fháil amach conas clár a dhéanamh chun cabhrú leat, go simplí mar bhealach le cleachtadh leis an eolas go bhfuil tú ag foghlaim agus ag cabhrú le duine. Faoi láthair fágaim an mana duit chun aird a tharraingt ar an tionscadal nuair a chríochnóidh tú é "Úsáid NextDivel, tá an chuma chéanna ar porn (nó níos fearr).", Scuabfaidh tú xD.

  11.   ainmainm seo a dúirt

    Mooooooolaaa !!!!

  12.   nordri a dúirt

    Alt an-mhaith, ach aisteach go leor cén fáth nár lean tú an tionscadal Linux From Scratch?

    Maidir is

    1.    AdrianArroyoStreet a dúirt

      Bhuel, tá Linux ó Scratch go breá, agus is féidir leat a rá gur leatsa é, ach tá sé an-mheicniúil i ndáiríre:
      -Íoslódáil clónna
      -Patch iad
      -Compile
      -Install
      -Follú
      Anseo, fiú má tá an toradh níos measa sa deireadh, is féidir leat a rá go ndearna tú athbhreithniú ar na comhaid go léir.

    2.    desikoder a dúirt

      Mar is léir ó mo thrácht roimhe seo, toisc nach bhfuil an leibhéal castachta céanna aige. Ina theannta sin, níl linux ón tús i ndáiríre, contrártha lena ainm, córas a chruthú ón tús. Ciallaíonn córas a chruthú ón tús é a chlárú duit féin, do eithne féin a scríobh, ní an eithne linux, más féidir fiú do thosaitheoir féin in áit grub, más féidir lilo, syslinux, srl. Cé nach aon ghníomh beag é LFS agus go bhfuil sé casta go leor, ní thagann sé gar do eithne féin a chlárú fiú ...

      Ina theannta sin, aontaím le AdrianArroyo Calle go bhfuil sé ró-mheicniúil, léigh mé é uair éigin agus má chríochnaíonn tú ag tabhairt suas ar an séú leathanach, deir siad leat freisin na leaganacha de na pacáistí a úsáid mar gheall ar shlí eile ní oibríonn na treoracha (sin léiríonn an easpa solúbthachta, Is é mo thuairim). Sílim go bhfuil sé níos fearr rud éigin de do smaoineamh féin a bheith agat, na pacáistí a theastaíonn uait a thiomsú, fiú cuid a ríomhchlárú, eithne linux a thiomsú agus i síocháin.

      Saludos!

  13.   fianán a dúirt

    uuuoooohh !! Níor ghlac mé post riamh an oiread agus a rinne an ceann seo.
    Lean ar aghaidh 😀

  14.   linux_user a dúirt

    Níl a fhios agam cad atá cearr:

    earráid: níor aimsíodh ceanntásc multiboot.
    earráid ní mór duit an t-eithne a luchtú ar dtús

    1.    AdrianArroyoStreet a dúirt

      Más sólás ar bith é, rinne mé an botún céanna. Déan iarracht na foinsí atá i GitHub a úsáid, ansin tá an earráid réitithe cheana féin. Ar aon nós, má athraíonn tú an líne grub.cfg ó "multiboot /next/START.ELF" go "eithne /next/START.ELF" d'fhéadfadh sé a bheith ag obair. Níl a fhios agam go díreach.

      1.    mcplatano a dúirt

        Gcéad dul síos, bealach isteach iontach 🙂
        Tá an fhadhb chéanna agam ag luchtú an eithne as grub. Fiú amháin ag úsáid foinsí GitHub nó ag athrú multiboot le haghaidh eithne ...

        earráid: níor aimsíodh ceanntásc multiboot.
        earráid: gan eithne luchtaithe

        1.    AdrianArroyoStreet a dúirt

          An bhfuil tú ag úsáid clang mar thiomsaitheoir? Athraigh é don gcc
          Ar chuimhnigh tú ar script an nascóra a úsáid? Tá sé riachtanach ionas go mbeidh a fhios ag an nascálaí (ld inár gcás) cá háit sa chomhad a chuirfidh sé gach rud. Sa chás seo ní mór go mbeadh an ceanntásc multiboot ag an tús.
          An bhfuil tú ag úsáid an chórais CMake? Má úsáideann tú é sílim nach dteipeann air.
          Mura n-oibreoidh sé duit, féachfaidh mé le réiteach eile a fháil.

  15.   khourt a dúirt

    [+100]
    Go hiontach ar fad !!!

  16.   invisible15 a dúirt

    Tá sé an-fhionnuar 🙂

  17.   Tanrax a dúirt

    Bainim mo hata as. Post iontach. Comhghairdeas.

  18.   fear a dúirt

    Woha!
    Bheadh ​​sé go hiontach dá bhféadfá feidhmchláir a rinneadh i HTML5 agus Javascript a oscailt gan brabhsálaí a úsáid, an bhfuil sé sin indéanta?
    Táim ag caint orthu a bheith cosúil le feidhmchláir dhúchasacha.
    Mar sin bheadh ​​sé éasca clár a dhéanamh don chóras oibriúcháin seo 😀

    1.    AdrianArroyoStreet a dúirt

      Sa chás seo nílim chun é a dhéanamh toisc go dtógann sé a lán níos mó oibre taobh thiar de ach tá córas oibriúcháin ann ar a dtugtar "is" a dhéanann an méid a deir tú. Go deimhin is é JavaScript an líne ordaithe agus tarraingítear fuinneoga ag úsáid feidhmeanna JavaScript Canvas. Rinne innealtóirí Nintendo é agus anois tá sé foinse oscailte.

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

      1.    fear a dúirt

        Valla, go raibh maith agat as an eolas 😀
        Tógfaidh mé sracfhéachaint

  19.   patodx a dúirt

    Is féidir le gach duine a OS féin a dhéanamh bás a fháil go síochánta, ós rud é go bhfuil an leibhéal intleachtúil atá le baint amach aige; Déanann sé duit neamh nó ifreann a ligean thar ceal.
    Píosa postála.

    1.    Miguel a dúirt

      Go dtí seo is eol d’aon duine nach ndearna sé ach rud is féidir a rá gur córas oibriúcháin réasúnta é a rinneadh ón tús, ní fiú Linux Torvalds mar a déarfá ag an tús, ó thosaigh sé seo ó fhoinsí Unix agus tá gach rud eile scríofa ann is coiteann do níos mó ná duine amháin, tá an saol an-ghearr agus tá sé dochreidte ag tosú ó thús, fiú má theastaíonn a mhalairt, tá sé le feiceáil i go leor botúin a rinne Linux Torvalds maidir le cóipeáil agus pasting.

      1.    skarmiglione a dúirt

        Tá na foinsí unix dúnta, úsáid minix ... rud eile.

      2.    Felipe Robaina a dúirt

        agus iad siúd a rinne QDOS cad é?
        an raibh siad bunaithe ar rud éigin?

  20.   Tesla a dúirt

    Ón rud a fheicim, nach bhfuil a gcóras oibriúcháin féin acu, toisc nach bhfuil siad ag iarraidh, hahahaha.

    Anois dáiríre, an-suimiúil! Tá cuid mhaith thar m'eolas teoranta ar chláir, ach léifidh mé go fonnmhar na codanna eile den tsraith seo.

    Go raibh maith agat as an bpost!

  21.   Manuel R. a dúirt

    D’fhág tú aghaidh O_O orm ... gan rún ranníocaíochtaí aon duine a mheas faoina luach, is é an “pro” is mó a chonaic mé le déanaí. Maidir leis.

  22.   aitor_cz a dúirt

    Alt an-mhaith, Adrián. Lean ar aghaidh le do thoil ...

  23.   mj a dúirt

    An bhfuil tú ag canadh ar Lá Amadán Aibreáin?, Ná bí i gceist "Emulating Linus Torvalds: Cruthaigh do chóras oibriúcháin féin ón tús." Ní dóigh liom go bhfuil sé deacair dóibh siúd atá ag leanúint gairme i institiúid teicneolaíochta nó ollscoile éigin; ach domsa is saighdeoir nua-aoiseach mé (tá daoine ann a thugann "Noob" orainn ach measaim gur Newbie leisciúil mé níos mó) a bhfuil an chuma air nach dtéann mé ar thalamh. Ar aon chaoi, cruthaíonn an AIRTEAGAL SEO A lán CURIOSITY AGUS GAN IONTRÁIL DOUBT AGUS BÍONN LEIS A EAGARTHÓIR, Comhghairdeas; Is é an chéad rud a dhéanfaidh mé ná iarracht a dhéanamh ach beagán den ábhar luachmhar seo a thuiscint.
    Go raibh maith agat Adrian Arroyo Calle, sár-obair agus seachadadh uasal eolais.

  24.   Pascal Blaire a dúirt

    LEL Post den scoth, coinnigh suas é.

  25.   F3niX a dúirt

    Cén post iontach, seo an rud a chaill mé ó Linux. Iontach iontach.

  26.   Ruby a dúirt

    Post iontach, go raibh maith agat.
    Níor thuig mé cad a dhéanann an comhad link.ld, an féidir le duine é a mhíniú dom?

    1.    AdrianArroyoStreet a dúirt

      Insíonn an comhad link.ld don nascóir (ld sa chás seo) cá háit ar chóir go mbeadh gach cuid den chód sa chomhad mar thoradh air. Sainmhínímid an pointe iontrála freisin ós rud é nach bhfuil córas oibriúcháin againn ní féidir linn príomhlíne a úsáid mar ghnáthchlár, sa chás seo roghnaímid an fheidhm tosaigh.

  27.   Maxi a dúirt

    Go hiontach do phost ar fad! Ag fanacht leis an 7! Cad a tharlaíonn má tá amhras orm, mar shampla, mura raibh uaim ach algartam a reáchtáil, gan OS, cén chaoi a mbeidh a fhios agam cad is féidir liom a úsáid agus cad nach C?

    1.    AdrianArroyoStreet a dúirt

      Má úsáideann tú é mar seo, ní bheifeá in ann aon rud a úsáid as stdlib, agus is é sin go praiticiúil a úsáideann gach duine (gan aon malloc, saor in aisce, printf, scanf, strcmp, srl). Caithfear gach rud a chur i bhfeidhm go díreach ón gcuimhne nó ón ASM. B’fhéidir i gcaibidil níos airde taispeánfaidh mé duit conas leabharlann C a shuiteáil don chóras oibriúcháin. Má úsáideann tú C ++ ní féidir leat eisceachtaí agus na hoibreoirí nua a scriosadh agus a scriosadh (agus níos mó cinnte).

    2.    Swicher a dúirt

      Ceapaim seo féadfaidh sé smaoineamh níos fearr a thabhairt duit ar conas é a dhéanamh.

  28.   Esteban a dúirt

    Dia duit, thart ar 5 bliana ó shin lean mé foilseachán den chineál céanna agus d’fhorbair mé micrea-eithne a thosaíonn ar an mbealach céanna, tá roinnt gnéithe aige le feabhsú, ach b’fhéidir go gcuirfeadh sé spéis ionat, ritheann sé i mód cosanta, déanann sé il-thasc agus déanann sé fíorúlú cuimhne, le déanaí d'oibrigh mé air tiománaí diosca agus tiomántán CD chun é a shuiteáil agus ní amháin rith ar CD beo ... Beannachtaí.

  29.   Johan a dúirt

    A chara, tá earráid agam agus an t-ordú á fhorghníomhú agam:
    gcc -o START.ELF eithne.o NextKernel_Main.o -Tlink.ld -nostdlib -fPIC -ffreestanding -lgcc

    link.ld: 5 earráid chomhréire
    collect2: error: d’fhill ld 1 stádas imeachta

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

    I líne 5 ní fheicim an earráid, an dtarlaíonn an rud céanna dó?

    Táim ag obair le rothaí fíorúilithe i mbosca fíorúil

    1.    Íomhá áitribh Julian Reyes Escrigas a dúirt

      cuir an ";" ag deireadh * (. multiboot_header)

  30.   Eric Orellana Romero a dúirt

    Tionscnamh den scoth, is cinnte go leanfaidh mé caibidlí an phoist seo, tá rún agam go leor a fhoghlaim uaidh. Go raibh míle maith agat as do chuid ama a thógáil chun múineadh dúinn. Mionsonra amháin ina leith seo, ba chóir a thabhairt faoi deara nach é Linus Torvalds cruthaitheoir aon chórais oibriúcháin, chruthaigh sé Eithne an chórais GNU / Linux (an ceann a úsáideadh in OS eile), ar fiú go mór é fós, ach tá sé tábhachtach creidiúint a thabhairt do Richard Stallman as an gcuid is mó den OS a chruthú.

    Go raibh míle maith agat as an ionchur agus tá súil agam go ndéanfaidh tú machnamh ar mo bhreathnóireacht.

  31.   Íomhá áitribh Julian Reyes Escrigas a dúirt

    Bhí mé ag praiseach leis an ábhar ar feadh tamaill, chuir mé spéis ann a luaithe a léigh mé an ceannlíne. ach leanann an teachtaireacht ag fáil

    earráid: níor aimsíodh ceanntásc multiboot.
    earráid ní mór duit an t-eithne a luchtú ar dtús

    Tá an méid a thógfaidh mé chuig repo ar github uaslódáilte agam https://github.com/rkmax/GenyOS

    1.    Martin Villalba a dúirt

      Tarlaíonn an rud céanna domsa. An bhfuair tú an réiteach?

  32.   Carlos a dúirt

    ceist a thosaigh mé ag tabhairt isteach an chomhréir agus insíonn an líne roghchláir dom commandnot a fuarthas a d’fhéadfadh a rá liom cén fáth
    seo a dhéanaim

    DUBH @ DUBH-pc: ~ / blackroot $ menuentry «NextDivel» {
    menuentry: ní bhfuarthas an t-ordú

    1.    AdrianArroyoStreet a dúirt

      Níl ábhar an ábhair seo le hiontráil sa líne ordaithe, ach sa chomhad a chruthaíonn tú ar a dtugtar grub.cfg

  33.   Nodetino a dúirt

    Alt den scoth, go raibh maith agat!

  34.   David a dúirt

    Iontach ... !! tá sé díreach cosúil leis an nasc atá in easnamh.

  35.   r.garciag a dúirt

    Is breá liom do ranganna teagaisc Emulating LInus Torvalds, ach tá céim amháin nach dtuigim, mar a leanas:
    Anois cóipeálaimid START.ELF chuig / seo chugainn inár bhfillteán a insamhail fréamh ár gcóras oibriúcháin. Téimid chuig fillteán fréimhe ár gcóras oibriúcháin nua leis an consól agus fíoraímid go bhfuil dhá chomhad ann: ceann /boot/grub/grub.cfg agus ceann eile /next/START.ELF.

    Téimid chuig an eolaire uachtarach agus glaoimid fóntais chun ISOanna a chruthú le GRUB ar a dtugtar grub-mkrescue

    An bhféadfadh duine éigin é a mhíniú dom: lch

    1.    AdrianArroyoStreet a dúirt

      Níl ort ach ISO íosta a ghiniúint ar féidir le GRUB a luchtú cóipeáilimid an eithne chuig (an / an ISO, aon fhillteán) /next/START.ELF agus an comhad cumraíochta GRUB chuig (an / an ISO, aon fhillteán) / tosaithe / grub / grub.cfg. Nuair a bheidh sé sin déanta, níl GRUB suiteáilte againn ar an ISO fós agus tá fóntais ann a ghineann an ISO ó fhillteán agus a shuiteáil GRUB ar a dtugtar grub-mkrescue. Ansin chríochnóimis ar deireadh le ISO bootable a bhfuil GRUB suiteáilte aige, ar féidir leis an gcumraíocht a léamh chun START.ELF a fhorghníomhú i gceart ina dhiaidh sin. Níl a fhios agam ar mhínigh mé mé féin, ach is é an rud a dhéanaimid ná cineál córais chomhaid bhréige a nginimid ISO leis.

  36.   miguel jose guevara atencio a dúirt

    Go hiontach

  37.   Michael Moreno a dúirt

    Bhuel, féach i ndáiríre ar chóras nua nach bhfuil chomh mór sin ach má dhéantar linux a fheabhsú, mar shampla exonucleus linux a chruthú le comhpháirt freastalaí a fheidhmíonn mar mhicrea-eithne más mian leis, is é sin le rá struchtúr exo le hiompar micreathoinne a bheadh ​​sármhaith agus linux .

    Is é an rud eile ná nach saineolaí mé ar ríomhchlárú, ach cúpla cáise c ++ agus roinnt java, ba leor dom modúl a thabhairt don chlár eithne linux, é a bhearradh, a mhodhnú srl.

  38.   WinterSoldier53 a dúirt

    Gan dabht caithfidh mé a dhéanamh cheana féin ar laethanta saoire.

  39.   Fermin a dúirt

    Tá sé seo go maith agus cén clár a ndéanann tú é a dhearadh agus a chódú?
    tabhair dom an freagra sin le do thoil

  40.   DarkMind a dúirt

    Faighim: Agus mé ag tiomsú ó do git:

    [jmponce @ jar build] $ cmake ..
    - Eolaire NextRoot a chruthú
    - Script ISO a ghiniúint
    déan DESTDIR = an chéad suiteáil eile
    ./iso.sh
    - Doxygen Aimsithe: / usr / bin / doxygen (leagan aimsithe "1.8.9")
    - Cumrú déanta
    - Giniúint déanta
    - Scríobhadh comhaid thógála chuig: / home / jmponce / next-divel / build
    [jmponce @ jar build] $ déan
    Spleáchais scanadh na sprice START.ELF
    [7%] Ag tógáil réad ASM-ATT src / CMakeFiles / START.ELF.dir / start / boot.asm.o
    [14%] Ag tógáil réad CXX src / CMakeFiles / START.ELF.dir / start / NextShellLite.cpp.o
    [21%] Ag tógáil réad CXX src / CMakeFiles / START.ELF.dir / start / ND_Screen.cpp.o
    [28%] Ag tógáil réad CXX src / CMakeFiles / START.ELF.dir / start / NextKernel_Main.cpp.o
    [35%] Ag tógáil réad CXX src / CMakeFiles / START.ELF.dir / start / ND_Panic.cpp.o
    [42%] Ag tógáil réad CXX src / CMakeFiles / START.ELF.dir / start / ND_Timer.cpp.o
    [50%] Ag tógáil réad CXX src / CMakeFiles / START.ELF.dir / start / ND_Memory.cpp.o
    [57%] Ag tógáil réad CXX src / CMakeFiles / START.ELF.dir / start / ND_Ports.cpp.o
    [64%] Ag tógáil réad CXX src / CMakeFiles / START.ELF.dir / start / ND_GDT.cpp.o
    [71%] Ag tógáil réad CXX src / CMakeFiles / START.ELF.dir / start / ND_ISR.cpp.o
    [78%] Ag tógáil réad CXX src / CMakeFiles / START.ELF.dir / start / ND_String.cpp.o
    [85%] Ag tógáil réad CXX src / CMakeFiles / START.ELF.dir / start / ND_IRQ.cpp.o
    [92%] Ag tógáil réad CXX src / CMakeFiles / START.ELF.dir / start / ND_IDT.cpp.o
    [100%] Ag tógáil réad CXX src / CMakeFiles / START.ELF.dir / start / ND_Keyboard.cpp.o
    Ag nascadh CXX inrite START.ELF
    / usr / bin / ld: Scipeáil neamh-chomhoiriúnach /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/libgcc.a agus tú ag cuardach -lgcc
    / usr / bin / ld: ní féidir teacht ar -lgcc
    collect2: error: ld stádas scoir 1
    src / CMakeFiles / START.ELF.dir / build.make: 402: Teip ar theip ar an sprioc 'src / START.ELF'
    déan [2]: *** [src / START.ELF] Earráid 1
    Theip ar CMakeFiles / Makefile2: 106: treoracha don sprioc 'src / CMakeFiles / START.ELF.dir / all'
    déan [1]: *** [src / CMakeFiles / START.ELF.dir / all] Earráid 2
    Makefile: 117: Teip sna treoracha don sprioc 'uile'
    déan: *** [uile] Earráid 2

    1.    AdrianArroyoStreet a dúirt

      Is cosúil gurb é an earráid ná nach féidir leis llibgcc a fháil ós rud é go bhfuil an leagan 64-giotán agat agus faoi láthair tá iallach ar an gcóras tógála 32-giotán a úsáid. Ba cheart duit pacáiste comhoiriúnachta a shuiteáil ar do distro nó níos fearr, córas 32-giotán a úsáid.

      1.    Ronaldo Rodriguez a dúirt

        Tá 32 ghiotán agam agus tá an earráid chéanna le feiceáil, an córas oibriúcháin nó an ailtireacht atá i gceist agat? is é 64 giotán mianach, ach tá 32 giotán Ubuntu á úsáid agam, ná fiafraigh, fadhbanna airgeadais, leis sin deirim go léir é.

  41.   Jorge a dúirt

    Ábhar den scoth, ag fanacht le scóip níos mó. Cheers

  42.   Jhon a dúirt

    Go hiontach tá súil agam le níos mó

  43.   Soid perez a dúirt

    Dia duit, is ambasadóir óg mé atá ag iarraidh córas oibriúcháin a chruthú a thacaíonn le gach clár agus ardán ionas nach mbeidh ar fhorbróirí meaisíní nó feidhmchláir nó cláir chumhachtacha a bheith acu ar ríomhaire.
    Sin é an fáth go bhfuil suim agam sa phost seo ach nuair a dhéanaim do git a íoslódáil nó iarracht a dhéanamh é a chruthú, oibríonn gach rud go dtí go ndéanfaidh mé an t-ordú a fhorghníomhú ./iso.sh nó grub-mkrescue -o nextdivel.iso nextroot gheobhaidh tú an earráid seo

    "Grub-mkrescue: rabhadh: Ní thacaíonn do xorriso le" –grub2-boot-info ". Díchumasaíodh roinnt gnéithe. Úsáid xorriso 1.2.9 nó níos déanaí.
    grub-mkrescue: rabhadh: Ní thacaíonn do xorriso le “–grub2-boot-info”. Tá d’íomhá eithne ró-mhór. Díchumasaíodh tosaithe diosca. Úsáid xorriso 1.2.9 nó níos déanaí .. »
    Níl aon smaoineamh agam i ndáiríre mar tá a fhios agam go leor faoi fheidhmchláir agus fíocháin ach níl a fhios agam aon rud faoi grub

    1.    AdrianArroyoStreet a dúirt

      B’fhéidir go mbeidh ort an clár xorriso a nuashonrú ar do distro. Cén distro agus leagan a úsáideann tú?

      1.    Soid perez a dúirt

        Úsáidim xubuntu 14.04lts agus déanaim iarracht xorriso a rith ach deir an bhlaosc liom nach féidir léi é a fháil agus faighim apt-get install xorriso cé go raibh súil agam ó chroí le freagra éigin mar bhí drochthaithí agam rudaí a shuiteáil nach bhfuil ar eolas agam i linux hehe. Déanfaidh mé é a nuashonrú anois agus inseoidh mé duit cad a tharla

      2.    AdrianArroyoStreet a dúirt

        Ansin suiteáil xorriso ón ionad bogearraí nó go simplí ón teirminéal déan "sudo apt-get install xorriso"

      3.    Soid perez a dúirt

        Rinne mé gach rud a dúirt tú liom cheana féin agus le git agus mianach faighim an xorriso 1.3.2 seo: manipulator córas comhaid RockRidge, tionscadal libburnia.

        Tiomáint reatha: -outdev 'stdio: nextdivel.iso'
        Sruth meán: comhad stdio, in-scríofa
        Stádas meán: bán
        Achoimre ar na meáin: 0 seisiún, 0 bloc sonraí, 0 sonraí, 1901m saor in aisce
        Curtha le híomhá ISO: eolaire '/'='/tmp/grub.OEqSzV'
        xorriso: Thabhairt cothrom le dáta: 546 comhad curtha leis i 1 soicind
        xorriso: FAILURE: Ní féidir tréithe an chomhaid foinse '/ media / gaia / Jupiter1 / ShellSystem / nextroot / nextroot' a chinneadh: Níl comhad nó eolaire den sórt sin ann
        xorriso: Thabhairt cothrom le dáta: 546 comhad curtha leis i 1 soicind
        xorriso: ginmhilleadh: -abort_on tháinig 'FAILURE' ar 'FAILURE'
        agus corduroy Ní thuigim gurb é /nextroot/boot/grub/grub.cfg mo struchtúr agus nextroot / next / START.ELF

      4.    Soid perez a dúirt

        Go raibh maith agat, táim réidh le dul ar aghaidh, chabhraigh cara liom agus d’inis dom cad a rinne mé mícheart ná eagrú an eolaire, mar sin shocraigh mé é agus sin é

      5.    erik a dúirt

        Gabh mo leithscéal, an bhféadfá a rá liom cén nós imeachta a rinne tú ós rud é nach bhfaighidh mé an earráid chun tosaithe: gan comhad nó eolaire den sórt sin

        aon ghaireas bootable.

  44.   Jose a dúirt

    Cheers! Bhí mé ag dul a iarraidh an fhabhar ort an bhféadfá ríomhphost a sheoladh chugam leis an méid a mhíníonn tú anseo, tá mearbhall beag orm agus ní mór dom an méid atá agam a chur i gcomparáid leis an méid a mhíníonn tú, b’fhéidir nach bhfuil soiléir domsa an bhfuil an cruthaítear an grub. cfg sa chríochfort gcc nó cá háit go díreach? go raibh míle maith agat a chara!

    1.    AdrianArroyoStreet a dúirt

      Cruthaíonn tú an comhad grub.cfg le haon eagarthóir téacs agus ní mór duit é a shábháil i PROJECT_FOLDER / boot / grub / grub.cfg

  45.   Jhuazano a dúirt

    Comhghairdeas le Dia duit Adrian, ar dtús, agus buíochas a ghabháil leat as do chuidiú.

    Tá a fhios agat go bhfuilim á dhéanamh seo mar chleachtas agus thosaigh mé á chur le chéile tar éis do chuid teagaisc, ach tar éis dom a fháil fuair mé an chéad earráid

    $ as -o eithne.o -c eithne.asm
    bash: as: ní bhfuarthas ordú ...
    Is iad orduithe comhchosúla:
    'sa'
    'ac'

    Táim ag obair ar fedora 20, agus ní féidir liom réiteach a fháil ina leith seo, ba mhaith liom do threoir a fháil ar cheart dom rud éigin a athrú i gcc nó i ngás

    roimh ré buíochas a ghabháil leat

    1.    AdrianArroyoStreet a dúirt

      Caithfidh tú GAS a shuiteáil ionas go bhfeicfidh mé an cód earráide. Níl Fedora agam idir lámha ach go teoiriciúil má shuiteáil tú gcc-c ++, suiteálfaidh tú an tsraith GCC iomlán agus GNU Mar is gnách leis.

  46.   Gaston Ramirez a dúirt

    Tá mé leat, tá rud éigin ar eolas agam faoi C ++, C # (cé nach bhfuil an ceann deireanach seo an-úsáideach san ábhar seo) is é an droch-rud ná go bhfuil easpa taithí agam fós, ní láimhseáilim teanga C riamh, tá d’fhoilseachán iontach, Níl mórán le rá agam, má tá am agam feicim. Go raibh maith agat.

  47.   Teresita del jesus nah sanchez a dúirt

    Go raibh míle maith agat as cabhair mhór….

  48.   jky a dúirt

    Is breá liom linux is é an ceantar is fearr atá ann, is í an fhírinne do mo chuid fuinneoga truflais go dtí go bhfuil a fhios agam gurb é cruthaitheoir linux cruthaitheoir na bhfuinneoga

  49.   Rode a dúirt

    Dia duit faighim Earráid i grub deir
    earráid: file /next/START.ELF Ní bhfuarthas
    earráid: ní mór duit an t-eithne a luchtú ar dtús

    An bhféadfá cabhrú liom agus googled ach ní féidir liom teacht

  50.   Enrique Avila a dúirt

    Le do thoil, conas is féidir liom a chur in iúl dó an teachtaireacht HELLO WORLD? Is tosaitheoir mé agus níl a fhios agam go leor fós

  51.   CARLOS GUERRERO ALVAREZ a dúirt

    Tarlaíonn an méid seo a leanas dom:
    gcc -o START.ELF eithne.o NextKernel_Main.o -Tlink.ld -nostdlib -fPIC -ffreestanding -lgcc
    / usr / bin / ld: kernel.o: ní féidir athlonnú R_X86_64_32 i gcoinne siombail `stack 'a úsáid agus réad PIE á dhéanamh; athmhúnlú le -fPIE
    / usr / bin / ld: theip ar an nasc deiridh: roinn neamh-ionadaíoch ar aschur
    collect2: error: d’fhill ld 1 stádas imeachta